ROS Developers LIVE Class #2: Merging Odometry & IMU data for Robot Localization
The Construct Robotics Institute 1:02:30
36,352 views · 350 likes Watch on YouTube ↗
Today we deal with the problem of how to merge odometry and IMU data to obtain a more stable localization of the robot. We will show how to use the robot_localization package for that.
➡️ ROSject link: http://www.rosject.io/l/1910a102-1f85-4eb9-880d-0e4c4b2fa212/?utm_source=youtube_openclass2&utm_medium=youtube_openclass2_description&utm_campaign=youtube_openclass2_description_rosjectlink
📚 Related Course: ROS Basics (C++) https://app.theconstructsim.com/Course/56?utm_source=youtube_openclass2&utm_medium=youtube_openclass2_description&utm_campaign=youtube_openclass2_ros_basics_c_courselink
If you missed the class, you can find the ROSject files and full-code used in the class at the Robot Ignite Academy: https://www.robotigniteacademy.com
--
QUESTIONS FROM THE CHAT:
* Min9 Kim questions:
1) I want to use this to try SLAM with a self-driving car indoors. How can I use IMU information if I don't have package in ROS wiki?
I think that you mean that you have an IMU which has no driver for ROS. In that case you have to build the driver. How to build the driver? You need to know how to communicate with the IMU vendor interface from a program. Then create a ROS node that, communicates with the vendor interface from one side, gets the info from the sensor, and then publishes it in a topic in ROS format. Quite a work. If you don't have experience, start looking at how others have done their drivers for other IMUs.
A list of IMUs that are compatible with ROS (have a ROS driver) can be found here: http://wiki.ros.org/imu_drivers
A vendor that sells certified ROS enabled hardware is: https://www.roscomponents.com
2) can you recommend a cheap IMU sensor which already is on ROS wiki that I can make a good performance with a self-driving car?
I cannot tell you a specific one for your application. Check the page above for a list of them. You will have to take into account that IMUs are affected by electric interferences, so the performance of an IMU can be decreased depending on where you mount it.
* miguelvidex question
1) How can we show an ArrayPosewithCovariance message in Rviz?
You can show on rviz only ArrayPose messages. If you want to include the Covariance values in some graphical way, you need to implement your rviz marker for that. We have a course that teaches how to create your own markers. Check it out here: http://www.theconstructsim.com/construct-learn-develop-robots-using-ros/robotigniteacademy_learnros/ros-courses-library/ros-rviz-advanced-markers/
* Rui Zhuang question
1) How can we simulate human movement in ROS?
That is a tricky thing. Hopefully, the guys of Gazebo have solved this. Check Gazebo 8, which includes human movement. Check the link where they explain how to use it: http://gazebosim.org/tutorials?tut=actor&cat=build_robot
RELATED LINKS TO WHAT WE TALK AT THE SHOW:
- Robot Localization node: http://docs.ros.org/lunar/api/robot_localization/html
- ROS Bridge: http://wiki.ros.org/rosbridge_suite
- Robot Web Tools: http://robotwebtools.org/
- ROS Navigation in 5 days online course: http://www.theconstructsim.com/construct-learn-develop-robots-using-ros/robotigniteacademy_learnros/ros-courses-library/ros-courses-ros-navigation-in-5-days/
- OpenSLAM algorithms: http://www.openslam.org
- A very nice Gazebo simulation of a car: https://cps-vo.org/group/CATVehicleTestbed
- The OSRF Gazebo simulation of a car: https://github.com/osrf/car_demo
- How to import into Gazebo a beautiful model from Sketchup: https://www.youtube.com/watch?v=aP4sDyrRzpU
- 3d Warehouse: https://3dwarehouse.sketchup.com
- Subprocess: https://docs.python.org/3/library/subprocess.html#subprocess.check_output
- Ugo Cupcic ROS expert and remote worker: https://twitter.com/ugocupcic
- How to do TDD with ROS: http://wiki.ros.org/UnitTesting
- GUI for programming ROS with blocks (by Erle Robotics): https://github.com/erlerobot/robot_blockly
============================
Every Tuesday at 18:00 CET/CEST.
This is a LIVE Class on how to develop with ROS. In Live Classes, you will practice with me at the same time that I explain, with the provided free ROS material.
IMPORTANT: Remember to be on time for the class because at the beginning of the class we will share the code with the attendants for free.
IMPORTANT 2: In order to start practicing quickly, we are using the ROS Development Studio for doing the practice. You will need a free account to attend the class. Go to http://rosds.online and create an account prior to the class.
// RELATED LINKS
▸ ROS Development Studio http://rosds.online
▸ Robot Ignite Academy http://www.robotigniteacademy.com
▸ The Construct: http://www.theconstructsim.com
#RobotLocalization #Odometry #ROS
➡️ ROSject link: http://www.rosject.io/l/1910a102-1f85-4eb9-880d-0e4c4b2fa212/?utm_source=youtube_openclass2&utm_medium=youtube_openclass2_description&utm_campaign=youtube_openclass2_description_rosjectlink
📚 Related Course: ROS Basics (C++) https://app.theconstructsim.com/Course/56?utm_source=youtube_openclass2&utm_medium=youtube_openclass2_description&utm_campaign=youtube_openclass2_ros_basics_c_courselink
If you missed the class, you can find the ROSject files and full-code used in the class at the Robot Ignite Academy: https://www.robotigniteacademy.com
--
QUESTIONS FROM THE CHAT:
* Min9 Kim questions:
1) I want to use this to try SLAM with a self-driving car indoors. How can I use IMU information if I don't have package in ROS wiki?
I think that you mean that you have an IMU which has no driver for ROS. In that case you have to build the driver. How to build the driver? You need to know how to communicate with the IMU vendor interface from a program. Then create a ROS node that, communicates with the vendor interface from one side, gets the info from the sensor, and then publishes it in a topic in ROS format. Quite a work. If you don't have experience, start looking at how others have done their drivers for other IMUs.
A list of IMUs that are compatible with ROS (have a ROS driver) can be found here: http://wiki.ros.org/imu_drivers
A vendor that sells certified ROS enabled hardware is: https://www.roscomponents.com
2) can you recommend a cheap IMU sensor which already is on ROS wiki that I can make a good performance with a self-driving car?
I cannot tell you a specific one for your application. Check the page above for a list of them. You will have to take into account that IMUs are affected by electric interferences, so the performance of an IMU can be decreased depending on where you mount it.
* miguelvidex question
1) How can we show an ArrayPosewithCovariance message in Rviz?
You can show on rviz only ArrayPose messages. If you want to include the Covariance values in some graphical way, you need to implement your rviz marker for that. We have a course that teaches how to create your own markers. Check it out here: http://www.theconstructsim.com/construct-learn-develop-robots-using-ros/robotigniteacademy_learnros/ros-courses-library/ros-rviz-advanced-markers/
* Rui Zhuang question
1) How can we simulate human movement in ROS?
That is a tricky thing. Hopefully, the guys of Gazebo have solved this. Check Gazebo 8, which includes human movement. Check the link where they explain how to use it: http://gazebosim.org/tutorials?tut=actor&cat=build_robot
RELATED LINKS TO WHAT WE TALK AT THE SHOW:
- Robot Localization node: http://docs.ros.org/lunar/api/robot_localization/html
- ROS Bridge: http://wiki.ros.org/rosbridge_suite
- Robot Web Tools: http://robotwebtools.org/
- ROS Navigation in 5 days online course: http://www.theconstructsim.com/construct-learn-develop-robots-using-ros/robotigniteacademy_learnros/ros-courses-library/ros-courses-ros-navigation-in-5-days/
- OpenSLAM algorithms: http://www.openslam.org
- A very nice Gazebo simulation of a car: https://cps-vo.org/group/CATVehicleTestbed
- The OSRF Gazebo simulation of a car: https://github.com/osrf/car_demo
- How to import into Gazebo a beautiful model from Sketchup: https://www.youtube.com/watch?v=aP4sDyrRzpU
- 3d Warehouse: https://3dwarehouse.sketchup.com
- Subprocess: https://docs.python.org/3/library/subprocess.html#subprocess.check_output
- Ugo Cupcic ROS expert and remote worker: https://twitter.com/ugocupcic
- How to do TDD with ROS: http://wiki.ros.org/UnitTesting
- GUI for programming ROS with blocks (by Erle Robotics): https://github.com/erlerobot/robot_blockly
============================
Every Tuesday at 18:00 CET/CEST.
This is a LIVE Class on how to develop with ROS. In Live Classes, you will practice with me at the same time that I explain, with the provided free ROS material.
IMPORTANT: Remember to be on time for the class because at the beginning of the class we will share the code with the attendants for free.
IMPORTANT 2: In order to start practicing quickly, we are using the ROS Development Studio for doing the practice. You will need a free account to attend the class. Go to http://rosds.online and create an account prior to the class.
// RELATED LINKS
▸ ROS Development Studio http://rosds.online
▸ Robot Ignite Academy http://www.robotigniteacademy.com
▸ The Construct: http://www.theconstructsim.com
#RobotLocalization #Odometry #ROS
Category (YouTube): Science & Technology
Playback is via YouTube's official embedded player. Data from YouTube; Exumo is not affiliated with YouTube.