I am Integrating ArduRover V4.0.0 with ROS navigation stack I followed the instructions from this link https://ardupilot.org/dev/docs/ros-object-avoidance.html
the ros planner trajectory is displayed correct in rviz map but the rover is not moving in the correct directions I checked the ENU->NED conversions in mavros and they exist .I appreciate if anyone can help
Are /cmd_vel generated by controller? (edit: sorry, probably they are because rover is moving, nevertheless it’s worth to check if they are correct, you can also try rostopic pub some cmd_vels)
Ok, then maybe check all the options of mav_frame service in /setpoint_velocity and compare what you’re setting with mavlink message sent. If that doesn’t work, post all your launch files here, maybe someone will have time to verify. In general this kind of mismatch should be easy to debug, at least if you already know that this is somewhere between mavros and ardupilot
@soldierofhell thank you for your advice I changed the mav_frame for setpoint_velocity in apm_config.yaml file to BODY_NED and the velocities conversions are as I expect however sometimes the rover still drifts from the actual planner path do you have any idea of what could causing this issue
You mean drift from local planner not from global? Is this Ackermann rover? What local planner are you using? Maybe also read about rover controller in Ardupilot dev guide
No its not an Ackermann rover . I am using Trajectory planner as my local planner and for the drift it drifts from both local and global planners’ plans . I appreciate if you can share the rover controller in Ardupilot link you mean
@soldierofhell , I found this discussing it mention the steering/throttle rates tuning do you think it might could help the ardupilot to control the rover better ?