Can you suggest the Gazebo plugin for the Mecanum wheel robot ? Because planar move and ros force based move don't work for me
Hi, I am quite new to ROS and Gazebo. I have try the planar move plugin for my Mecanum robot. It seem to be good except that the this plugin override physics. That means even I change mass, inertia, friction in URDF of my robot. There is no effect. When I move robot 1000 kg or 1 kg it yield the same results. Therefore I use ros force based plugin for my multiple Mecanum robots instead of the planar move. refer to https://answers.ros.org/question/2128...
You can check the ros_force_based_move plugin here
https://github.com/tu-darmstadt-ros-p...
However, I still found a problem here.
- When I spawn the robot, there are always offset of robot position in my map and also the yaw direction offset for 90 degrees. Hence, I have to edit the arguments for static transform node in order to solve this problem. Here are some parts of my launch file to call a single robot with the namespace.
<node pkg="tf" type="static_transform_publisher" name="odom_map_broadcaster" args="0 0 0 0 0 0 /map $(arg robot_name)/odom 10" />
Note that when I set to 0 0 0 0 0 0 the robot will offset in Rviz when compare to the Gazebo So I have to change the offset here. But when I use the original planar move there is no problem.
- When I move robot sideways in the y-axis, the odometry in Rviz does not change even though in gazebo it has change position already. For move straight and backward in X-axis, there is no problem.
Here is the part of my URDF file to call the plugin in
<gazebo>
<plugin name="ros_force_based_controller" filename="libgazebo_ros_force_based_move.so">
<commandTopic>cmd_vel</commandTopic>
<odometryTopic>odom</odometryTopic>
<odometryFrame>odom</odometryFrame>
<odometryRate>100.0</odometryRate>
<robotBaseFrame>base_link</robotBaseFrame>
<publishOdometryTf>true</publishOdometryTf>
<yaw_velocity_p_gain>500</yaw_velocity_p_gain>
<x_velocity_p_gain>1000</x_velocity_p_gain>
<y_velocity_p_gain>1000</y_velocity_p_gain>
<cmdVelTimeOut>0.25</cmdVelTimeOut>
</plugin>
</gazebo>
Finally, I have studied from ridgeback robot simulation from Clearpath robotics. It seems that they modify the ros force based move to not publish odometryTF. But they use this information from "gazebo_ros_control" instead. This simulation is work for me. But I can't migrate code to make multiple Mecanum robots. So I still looking for the best solution plugin for my multiple mecanum robot.
The link of Ridgeback robot URDF is here