Hello. The question is the following.
I send command to thrusters to just rotate:
#!/usr/bin/env python
import rospy
from mavros_msgs.msg import OverrideRCIn
def control_thrusters():
rospy.init_node('bluerov_thruster_control')
rate = rospy.Rate(10) # 10 Hz update rate
# Create a publisher for the RC override topic
rc_pub = rospy.Publisher('/mavros/rc/override', OverrideRCIn, queue_size=10)
while not rospy.is_shutdown():
# Create an instance of the OverrideRCIn message
rc_msg = OverrideRCIn()
# Set the desired PWM values for pitch, roll, and throttle
rc_msg.channels = [1500, 1500, 1500, 1900, 1800, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500]
# Override values for pitch (channel 1), roll (channel 2), and throttle (channel 3)
rc_msg.channels[0] = 2000 # Set pitch to a higher value (Move forward)
rc_msg.channels[1] = 1100 # Set roll to a lower value (Move left)
rc_msg.channels[2] = 1900 # Set throttle to a higher value (Move up)
# Publish the RC message
rc_pub.publish(rc_msg)
rate.sleep()
if __name__ == '__main__':
try:
control_thrusters()
except rospy.ROSInterruptException:
pass
I can see that the values are published to the required topic /mavros/rc/override
However the thrusters don’t react on the received values.
Questions:
- Should I send the values while bluerov2 is in a certain mode (I tried in manual-disarmed mode, manual-armed mode, stabilizing-disarmed mode, stabilizing-armed mode). But the override values don’t make the thrusters rotate.
- Yesterday when I rosrun the node above in the QGroundcontrol in “Analize tool” I found 2 categories “RC_CHANNELS” and “RC_CHANNELS_OVERRIDE” where the “RC_CHANNELS” depicted the current values whereas the “RC_CHANNELS_OVERRIDE” depicted the values received from the node above.
Today I did the same but I can’t see the category “RC_CHANNELS_OVERRIDE” in QGroundcontrol in “Analize tool”. What can I do to be able to see it again? - I also tried to publish to the topics /mavros/rc/in and /mavros/rc/out. When i publish to “/mavros/rc/in” I get an error
[ERROR] [1690219105.893875824]: Client [/rqt_gui_py_node_7946] wants topic /mavros/rc/in to have datatype/md5sum [mavros_msgs/OverrideRCIn/fd1e1c08fa504ec32737c41f45223398], but our version has [mavros_msgs/RCIn/1c3eafdb5efbcda3c334e1788bbcfe39]. Dropping connection.
when I publish to “/mavros/rc/out” I get an error
[ERROR] [1690219559.584209112]: Client [/rqt_gui_py_node_7946] wants topic /mavros/rc/in to have datatype/md5sum [mavros_msgs/OverrideRCIn/fd1e1c08fa504ec32737c41f45223398], but our version has [mavros_msgs/RCIn/1c3eafdb5efbcda3c334e1788bbcfe39]. Dropping connection.
So the question is whether I can publish to the in and out topics to ignore the override topic?