ROS Developers Live-Class #51: How to fuse Odometry & IMU using Robot Localization Package

Поділитися
Вставка
  • Опубліковано 1 сер 2024
  • One way to get a better odometry from a robot is by fusing wheels odometry with IMU data. We're going to see an easy way to do that by using the robot localization package, an amazing ROS package that allows to mix any sensor information into a more stable and exact localization data by using Kalman Filters. Even if robot_localization allows to mix many sensor data, in this class we are going to concentrate on mixing odometry with IMU only. We'll use a simulation of the Summit XL robot. But also, we'll test our algorithms in a real Summit XL robot that Robotnik company has sent to us for preparing the classes. Some selected attendants to the class will get access to the robot during the class in a remote way through the ROSDS platform, so you will connect with a real robot located in Barcelona from anywhere in the world. notebook with instructions and ROS code. If you missed the class, you can find the ROSject files and full-code used in the class at the Robot Ignite Academy: www.robotigniteacademy.com
    ROSject link: www.rosject.io/l/8b7777a/?utm_...
    Related Course:
    Mastering with ROS: SUMMIT XL: app.theconstructsim.com/Cours...
    ROS Navigation: app.theconstructsim.com/Cours...
    Fuse Sensor Data to Improve Localization: app.theconstructsim.com/Cours...
    =============== =============
    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 rosds.online and create an account prior to the class.
    // RELATED LINKS
    ▸ ROS Development Studio, to develop and test ROS programs on the cloud: rosds.online
    ▸ Robot Ignite Academy, to learn everything about ROS in a useful guided manner: www.robotigniteacademy.com
    ▸ The Construct, the company behind this Live Class: www.theconstruct.ai
    ▸ Robotnik, the company that created Summit XL robot (and others): www.robotnik.es
    ▸ ROS Components shop, the online shop were to buy your sensors and actuators for your ROS based robots.
    All the components are certified to work with ROS from minute 1: www.roscomponents.com
    #ros #OdometryIMU #RobotLocalization
  • Наука та технологія

КОМЕНТАРІ • 38

  • @juliosanchezmiron3070
    @juliosanchezmiron3070 4 роки тому +2

    Hello, one question.
    ¿ How do you check that the info provided by the IMU is following REP-103 convention (ENU instead of NED)? ¿ How could I convert it from one to another?
    Thank you very much

  • @nkai8246
    @nkai8246 4 роки тому

    Hi, one question. If i want to fuse the global pose such as amcl_pose, which topic can publish the pose? Still odometry/filtered?
    hope someone can answer me, thanks

  • @tamimhasan2370
    @tamimhasan2370 3 місяці тому

    Is the summit xl robot not available on the simulation dropdown anymore? I could not find it. @TheConstruct

  • @danielzidner
    @danielzidner 3 роки тому +2

    @The Construct I think the problem is an extra comma at the end of each matrix

  • @deepaku
    @deepaku Рік тому

    have you found the issue? I am facing the same issue

  • @dineswaran2108
    @dineswaran2108 Рік тому

    hai sir, where to find the source code of imu.cpp and odometry.cpp?

  • @rahul122112
    @rahul122112 4 роки тому

    Hello Rick @The Construct
    Thanks for the great demo! I would appreciate your help with a few questions:
    1. Does the localization node automatically handle topics that are being published at different frequencies ? For example, Odometry node could be being published at 10 Hz and the IMU at 100 Hz
    2. Will the UKF work with the same .yaml file ?

    • @TheConstruct
      @TheConstruct  4 роки тому +2

      1. The localization node doesn't care about the frequency of publication. It will work the same way independently of the differences in frequencies. However the results obtained may not be what you expect if you have threads publishing at a low frequency. It all depends on what needs to be measured. If you need to detect very fast changes in order to provide a very good control, then you need to have a high frequency loop.
      Having said that, you may not need to have the IMU thread so fast if you are going to use it only in combination with odometry, and the odometry is a lot slower.
      2. Yes. You only have to change the EKF by UKF

    • @raphaelkhangmate3215
      @raphaelkhangmate3215 4 роки тому

      Hello, can you help me with the zip of this project, when i try to fork in " robotic ingnite ", the folder is not the good one. the conf of robot in rviz the robot like in the video. Can you help me, i want to work on localization using robot_localization (Odometry and IMU)

    • @rahul122112
      @rahul122112 4 роки тому

      @@raphaelkhangmate3215 Hmm not sure what you exactly want or whether your question is for me. Regardless, I don't have the files. But you can install the localization package and follow the steps from the video in order to fuse your own odometry and imu. That is how I did it.

    • @raphaelkhangmate3215
      @raphaelkhangmate3215 4 роки тому

      @@rahul122112 Thank you for your response. i solve it.

  • @luisfernandomendezrodrigue6881
    @luisfernandomendezrodrigue6881 4 роки тому

    Can this fusion of wheel encoders and imu be used with Cartographer?
    The thing i want to reach is to switch between Visual odometry and encoders and IMU.

    • @TheConstruct
      @TheConstruct  4 роки тому +1

      Yes the package robot_localization can be used to fuse any source of odometry to obtain and improved odometry that later can be injected into a SLAM system (for example, Cartographer).
      Check our online course to learn how to fully use it: www.theconstructsim.com/robotigniteacademy_learnros/ros-courses-library/ros-robot-localization-package/

  • @JohnBrown-ct7mg
    @JohnBrown-ct7mg 3 роки тому

    Hi there, does the rosject for this live class still exist? When I click on the link, it doesn't work.

    • @not_ever
      @not_ever 2 роки тому

      It is working today. So it does still exist

  • @rahul122112
    @rahul122112 4 роки тому

    Hi I was trying to figure out the price for the Summit XL. I have requested a quote from robotnik, but would you be able to provide a price ?

    • @TheConstruct
      @TheConstruct  4 роки тому +1

      No idea about the price. You should ask Robotnik. Highly recommended robot!

    • @rahul122112
      @rahul122112 4 роки тому

      @@TheConstruct ah ok. Thanks for your prompt response. I have already sent out a query to them.

  • @Orl242424
    @Orl242424 4 роки тому +1

    So was the issue in the end ever resolved????

    • @canofpulp
      @canofpulp 2 роки тому

      The next live class #52.

  • @shrijank522
    @shrijank522 5 років тому +1

    Can this fusion of wheel encoders and imu be used with Hector SLAM?

    • @alanxu7533
      @alanxu7533 5 років тому

      hector just need laser

    • @shrijank522
      @shrijank522 5 років тому

      @@alanxu7533 Yeah that's true...but hector SLAM will fail in case of a long narrow tunnel with less features. In that case I wanted to use Odometry, that's why I was wondering whether it is possible to include odometry as well.

    • @kostas-flou
      @kostas-flou 5 років тому

      Sadly, it is not possible to input nav_msgs/Odometry, into the Hector SLAM package.

  • @danieldaza1895
    @danieldaza1895 4 роки тому

    Im getting a problem where my robot start drifting in the map when it start to move, without the ekf it works perfectly but when i used ekf everthing goes wrong and i need it to introduce an IMU

    • @jashmota5054
      @jashmota5054 4 роки тому

      Try calibrating your imu first. Which mpu are you using?

    • @danieldaza1895
      @danieldaza1895 4 роки тому

      @@jashmota5054 I'm not using an IMU yet that test was only with the Odometry

    • @cryptovibes5600
      @cryptovibes5600 4 роки тому

      i am also having a similar problem.there is drift when i visualize in rviz..is ur problem solved ??

    • @jashmota5054
      @jashmota5054 4 роки тому

      @@danieldaza1895 it's a very common issue. Which values are you using from the odometry?

    • @raphaelkhangmate3215
      @raphaelkhangmate3215 4 роки тому

      Hello, can you help me with the zip of this project, when i try to fork in " robotic ingnite ", the folder is not the good one. the conf of robot in rviz the robot like in the video. Can you help me, i want to work on localization using robot_localization (Odometry and IMU)

  • @makineegitim3960
    @makineegitim3960 3 роки тому +1

    I think problem's solution is just adding the each line of xxx_config's definition
    In the video, all config matrices' end comma were deleted while making copy - paste.
    example configuration :
    odom0_config: [false, false, false, # x y z
    false, false, false, #roll pitch yaw
    true, true, false, #x_dot y_dot z_dot
    false, false, true, #roll_dot pitch_dot yaw_dot
    false, false, false] #x_ddot y_ddot z_ddot

  • @cloudmodyt4502
    @cloudmodyt4502 4 роки тому

    Is it possible to only fuse the IMU data with SLAM and leave out the rotary encoder? If so, please do tell and give me a tutorial explaining how to do so. Much thanks! =)

  • @vishalsirsat4114
    @vishalsirsat4114 4 роки тому

    can we fuge the odometry and slam localization?

    • @RicardoTellez_journey
      @RicardoTellez_journey 4 роки тому

      Yes you can. Just apply the same method of the video substituing the input of the IMU by the localization provided by the AMCL

  • @bruhnowayy
    @bruhnowayy 11 місяців тому +1

    This guy talks too much. Just come to the point already omg