-
Notifications
You must be signed in to change notification settings - Fork 63
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
IMU in Gazebo Fortress not working #109
Comments
Hi, thanks for the quick reply. Just a quick disclaimer upfront, I am running this in a singularity container. I updated the codebase to the following commit ids/tags: These versions were the ones installed during the update to the mentioned commit of the rosbot_ros repo. For the installation of dependencies and so on I used the following commands in the singularity.def-file:
Using these versions the /rosbot_base_controller/odom/pose -> yaw is normal. But the /odometry/filtered/pose -> yaw is reporting a very low value when the robot is moving (diff between two cycle). When the robot is standing still the pose is 0. I am on holiday in the next couple of days. I will get back to further questions regarding this issue afterwards. Best regards |
Hello @Heenne, Can you remove your workspace and rebuild rosbot_ros repository according to |
Hello @rafal-gorecki,
The /odometry/filtered topic only works if I insert the plugin-description I mentioned above. I will now have a look into the updates of the other dependencies and rebuilding the whole container. Best regards |
Hello @rafal-gorecki Best regards |
Hello @Heenne, |
Thank you very much for the information and the link to the explanation. |
After updating the rosbot_ros repository for our simulation lab I noticed, that the topic /odometry/filtered returns weird values.
But only in the yaw entry, x and y worked fine.
My first test was to let the robot rotate with 0.1 rad/s around its z-axis.
When looking at the filtered odometry values they appeared to have lost the integrating behaviour and only returned the angular velocity commanded divided by 2. So for 0.1 rad/s commanded it results in 0.05 rad/s on the filtered odometry.
After looking a little deeper I found the IMU to be the culprit. When I remove the IMU from the ekf.yaml file the filtered odometry works fine.
I then had the yaw change dynamically to see if there is a change in value on the imu_broadcaster/imu topic. But all values on the topic are static in the new version (unlike in the old one).
As there are no real differences in the ekf.yaml to the old version I was using I found, that the description of the plugin in the rosbot_macro.urdf.xacro is missing.
When I insert the following line into that file in line 144 the IMU and also the filtered odometry is working again:
<plugin filename="ignition-gazebo-imu-system" name="ignition::gazebo::systems::Imu"></plugin>
Here the full IMU description:
I would love to hear some feedback if I have done something wrong when updating and this plugin-tag was deleted intentional or if it is just missing and must be inserted again.
Thanks. Best regards
Heenne
The text was updated successfully, but these errors were encountered: