Hi!
We have a BlueROV2 with a Nortek Nucleus 1000 DVL and are running ArduSub v4.5.3 and BlueOS v1.4.2. We are aiming to use pymavlink to reach goal positions in guided mode. The set control parameters are set following Norteks guide. We are able to set the ROV to guided mode. However, we are not able to get the ROV to react to the set_position_target_local_ned and set_attitude_target messages we are sending. In manual/stabilize/alt_hold mode, however, we are able to control the ROV with RC channels override messages.
Perhaps someone can shed a light on what we are doing wrong?
Code excerpts:
# Called regularly
def goal_callback(self, msg):
self.master.mav.set_position_target_local_ned_send(
int(1e3 * (time.time() - self.boot_time)),
self.master.target_system, self.master.target_component,
mavutil.mavlink.MAV_FRAME_LOCAL_NED,
mavutil.mavlink.POSITION_TARGET_TYPEMASK_VX_IGNORE |
mavutil.mavlink.POSITION_TARGET_TYPEMASK_VY_IGNORE |
mavutil.mavlink.POSITION_TARGET_TYPEMASK_VZ_IGNORE |
mavutil.mavlink.POSITION_TARGET_TYPEMASK_AX_IGNORE |
mavutil.mavlink.POSITION_TARGET_TYPEMASK_AY_IGNORE |
mavutil.mavlink.POSITION_TARGET_TYPEMASK_AZ_IGNORE |
mavutil.mavlink.POSITION_TARGET_TYPEMASK_YAW_IGNORE |
mavutil.mavlink.POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE,
msg.pose.position.x, msg.pose.position.y, msg.pose.position.z,
0, 0, 0, # vx, vy, vz
0, 0, 0, # ax, ay, az
0, 0 # yaw, yaw_rate
)
self.master.mav.set_attitude_target_send(
int(1e3 * (time.time() - self.boot_time)),
self.master.target_system, self.master.target_component,
mavutil.mavlink.ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE,
[msg.pose.orientation.w, msg.pose.orientation.x, msg.pose.orientation.y, msg.pose.orientation.z],
0, 0, 0, 0 # roll rate, pitch rate, yaw rate, thrust
)
# Also sending RC channels override at 10 Hz
def send_rc_channels(self):
if self.mode == "GUIDED":
rc_channels = [65535 for _ in range(18)] # Ignore all channels
self.master.mav.rc_channels_override_send(
self.master.target_system, self.master.target_component,
*rc_channels
)
else:
# Other logic implemented for other modes