Issue with Rover Control in Guided Mode Using MAVROS

Hello ArduRover Community,

I am encountering a control issue with my Rover when operating in Guided mode using MAVROS. Specifically, the problem arises when I publish velocity commands to /mavros/setpoint_velocity/cmd_vel_unstamped. I’ve observed that the Rover does not correctly interpret angular speeds unless the joystick is centered. Additionally, unless the joystick is fully down, linear speeds are not correctly executed. I’m using the FS-i6 RC controller, with the left stick controlling the Rover’s movements, but the Rover only moves forward. This behavior is unexpected as, in Guided mode, the Rover’s movements should not be influenced by the RC controller’s trim settings.

Setup Details:

  • ROS Version: Noetic
  • Controller: FS-i6

Steps to Reproduce:

  1. Ensure the Rover is set to Guided mode and confirm that both set home and EKF home are properly configured.
  2. Remap and publish velocity commands via /mavros/set_velocity/cmd_vel_unstamped to cmd_vel.
  3. Use rqt_robot_steering to control cmd_vel, which should allow for adjustments in both linear and angular speeds.

Expected Behavior: The Rover should accurately follow MAVROS commands in Guided mode, independent of the joystick’s position.

Actual Behavior: The Rover only processes angular speeds correctly when the joystick is centered; otherwise, it moves forward continuously. Similarly, correct linear speed processing only occurs when the joystick is down; otherwise, the Rover moves forward without stopping.

I have verified the joystick calibration and updated all software and firmware. Could I be missing a configuration setting, or might this be indicative of a bug? Any insights or suggestions you could provide would be greatly appreciated.

Thank you for your assistance!

Mohamad,

I am experiencing exactly the same behavior with regard to linear and angular speeds.

I’m using ROS Noetic with Rover v4.5.2 in Guided mode on a Pixhawk (orange cube). I am also sending commands with rqt_gui and moving the sliders accordingly to publish messages to the /mavros/set_velocity/cmd_vel_unstamped topic.

Were you able to find a solution?

Very best regards,

Jeff

Dear jiff,
The issue was on the type of motor driver parameter that I use , I build my robot with using L298M motor driver and putm MOT_PWM_MODE as relay with bruched this make the movement of robot is totally wrong , when I change it to bipolar with bruched, the behavior has been normal, then I change motor driver to good quality one which used RC PWm and use normal mode with body_ned as rover fram and it work as well with me

Regardless,
Mohammed