Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The real-time angular velocity obtained by summit xl steel in the simulation is not consistent with the speed we released. #35

Open
Oscar-qi opened this issue Nov 30, 2021 · 6 comments

Comments

@Oscar-qi
Copy link

When the angular velocity of the robot is sent to the robot 1rad/s in the form of rostopic pub, the robot in the simulation does not reach the angular velocity we sent it. Looking at the odom, it is found that the angular velocity is 0.781rad/s. What is the reason for this?

The command he runs is:
roslaunch summit_xl_sim_bringup summit_xls_complete.launch

and the Gazebo world is launched with use_sim_time = true

@robert-ros
Copy link
Contributor

Hi Oscar!

I tested the topics and I could replicate the issue.

The Summit XL uses the gazebo ros planar move plugin in order to move the robot in simulation and it seems a problem related with that plugin. Probably, the SetAngularVel function of the file gazebo_ros_planar_move.cpp is not working as expected.

This issue only affects the applied velocity in the simulation, the odometry works well. In addition, move_base should not be affected, since it applies a velocity command depending on the velocity of the odometry. So, if the velocity odometry is lower than expected, move_base will apply a velocity command higher.

By the other hand, you can use the robotnik_forced_based_move plugin instead of the ros_planar_move_plugin. I tested it and the robot can achieve the velocity command with less error.

Just add in you workspace (where the summit_xl_sim and the other packages are) these packages:

git clone https://github.com/RobotnikAutomation/robotnik_gazebo_plugins.git
git clone https://github.com/RobotnikAutomation/robotnik_elevator_interface.git

Compile the workspace and source it

catkin build
source devel/setup.bash

Then, set the robotnik_forced_based_move as default plugin. For this, in summit_xl_base.gazebo.xacro replace ros_force_based_move with skid_steering

@872643150
Copy link

Hi
I can really solve the problem according to your method .But there will be a lot of warnings about the cost map. like
[ WARN] [1638275727.751962306, 15.586000000]: Costmap2DROS transform timeout. Current time: 15.5860, global_pose stamp: 1.9820, tolerance: 0.3000.
At the same time, the navigation package and 2D Nav Goal cannot be used . In this way, other packages will not work properly .
So, I still want to use the ros_planar_move_plugin . Can you solve the problem of angular velocity error whithout replacing ros_planar_move_plugin, can you slove. Thank you!

@robert-ros
Copy link
Contributor

robert-ros commented Nov 30, 2021

Hi 872643150

The ros_planar_move_plugin is maintained by OSRFoundation, and they use several functions of the Gazebo API like SetAngularVel Feel free to open an issue from https://github.com/ros-simulation/gazebo_ros_pkgs/issues.

On the other hand, are you working with the last packages of the melodic-devel?

Keep in mind if you are going to use a omnidirectional configuration you have to replace ros_force_based_move with omni_steering whereas if you want a differential configuration you must replace ros_force_based_move with skid_steering

@872643150
Copy link

Hi robert-ros

Thank you for your reply!I use the summit_xl_sim_bringup summit_xls_complete.launch of melodic-devel.

I bought the Mecanum wheel car. So I use the omnidirectional configuration, and I‘m sure to use omni_steering.

So I replace ros_force_based_move with omni_steering instead of skid_steering. But even still, When I roslaunch the launch file,there will be a lot of warnings about the cost map. like [ WARN] [1638275727.751962306, 15.586000000]: Costmap2DROS transform timeout. Current time: 15.5860, global_pose stamp: 1.9820, tolerance: 0.3000.

In this way, Although I solved the problem of z-axis angular velocity, other packages will not work properly . I don't know how to solve this problem better.

Looking forward to your reply!

@robert-ros
Copy link
Contributor

Hi 872643150

We have just added the ros_force_based_move plugin into the default simulation of the standard Summit XL. Please, install this repository again (melodic-devel) in order to install the dependencies of that plugin. Secondly, launch the robot using the ros_planar_move_plugin_force_based param:

roslaunch summit_xl_sim_bringup summit_xl_complete.launch ros_planar_move_plugin_force_based:=true

@robert-ros
Copy link
Contributor

For the summit_xls:

roslaunch summit_xl_sim_bringup summit_xls_complete.launch ros_planar_move_plugin_force_based:=true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants