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

Some transforms are not published by gazebo #6

Open
niconti opened this issue Aug 17, 2022 · 0 comments
Open

Some transforms are not published by gazebo #6

niconti opened this issue Aug 17, 2022 · 0 comments

Comments

@niconti
Copy link

niconti commented Aug 17, 2022

Hi, today I was playing with the gazebo simulation and it appears that front_wheel_left->base_link and front_wheel_right->base_link transforms are not published by gazebo.
I noticed it when I added a RobotModel panel in rviz2 to show the robot, and it started to complain repeatedly about it:

[rviz2-6] Warning: Invalid frame ID "front_wheel_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-6]          at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-6] Warning: Invalid frame ID "front_wheel_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-6]          at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-6] Warning: Invalid frame ID "front_wheel_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-6]          at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-6] Warning: Invalid frame ID "front_wheel_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-6]          at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-6] Warning: Invalid frame ID "front_wheel_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-6]          at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-6] Warning: Invalid frame ID "front_wheel_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-6]          at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp

Looking to the nanosaur.gazebo.xacro file and in nanosaur_description package I saw that it depends on how it was implemented the diff_drive_emulation; basically rearranging some robot frames to match a differential drive steering model.

I think that we can solve it better by simply taking advantage of the libgazebo_ros_diff_drive support for skid steering drive. To do this we just need to pass the right distance between the front sprockets and rear wheels in wheel_separation argument and then increase the rear wheels torsional coefficients mu1,mu2 so that they don't simply slip while rotating.

I've already tested it sending some inputs with the nanosaur teleop command and it seems working fine:

ezgif com-gif-maker

Do you think its a good solution? If so I can do a pull request so you can check my code.

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

1 participant