A week ago my follow me program was working fine. Suddenly it started showing unexpected behavior.
Only positive x velocity and positive yaw is working fine
All other commands showing unexpected circular movement at a position.
def send_movement_command_YAW(heading):
global vehicle
speed = 0
direction = 1 #direction -1 ccw, 1 cw
#heading 0 to 360 degree. if negative then ccw
print("Sending YAW movement command with heading: %f" % heading)
if heading < 0:
heading = heading*-1
direction = -1
#point drone into correct heading
msg = vehicle.message_factory.command_long_encode(
0, 0,
mavutil.mavlink.MAV_CMD_CONDITION_YAW,
0,
heading,
speed, #speed deg/s
direction,
1, #relative offset 1
0, 0, 0)
# send command to vehicle
vehicle.send_mavlink(msg)
#Vehicle.commands.flush()
def send_movement_command_XYA(velocity_x, velocity_y, altitude):
global vehicle
#velocity_x positive = forward. negative = backwards
#velocity_y positive = right. negative = left
#velocity_z positive = down. negative = up (Yes really!)
print("Sending XYZ movement command with v_x(forward/backward): %f v_y(right/left): %f " % (velocity_x,velocity_y))
msg = vehicle.message_factory.set_position_target_local_ned_encode(
0,
0, 0,
mavutil.mavlink.MAV_FRAME_BODY_NED, #relative to drone heading pos relative to EKF origin
0b0000111111100011, #ignore velocity z and other pos arguments
0, 0, altitude,
velocity_x, velocity_y, 0,
0, 0, 0,
0, 0)
vehicle.send_mavlink(msg)
#Vehicle.commands.flush()
A week ago my follow me program was working fine. Suddenly it started showing unexpected behavior. Only positive x velocity and positive yaw is working fine All other commands showing unexpected circular movement at a position.
def send_movement_command_YAW(heading): global vehicle speed = 0 direction = 1 #direction -1 ccw, 1 cw
def send_movement_command_XYA(velocity_x, velocity_y, altitude): global vehicle