Autonomous Navigation Mobile Robot using ROS | Jetson Nano | RPLidar | Differential Drive Kinematics

Поделиться
HTML-код
  • Опубликовано: 4 окт 2024
  • In this video I have shown the working of Autonomous mobile navigation robot using ROS navigation stack. I have 3D printed this robot. This video covers the concepts of ROS navigation stack, kinematics of differential drive, configuring ROS differential drive controller, mapping using slam_gmapping node, localization using AMCL node and mobile robot in action autonomously going to the goal location using move_base node.
    Full code of this project is uploaded in my git.
    My project Package: github.com/ban...
    rplidar_ros package: github.com/Sla...
    my website: www.rosrobotic...

Комментарии • 190

  • @SanjeevKumar-lx6ci
    @SanjeevKumar-lx6ci 3 года назад +5

    I'm very happy to give us informative video and support in ROS.

  • @thalanayarmuthukumar5472
    @thalanayarmuthukumar5472 3 года назад +10

    Great video. No nonsense with no extraneous information. Very motivating as well. Something I will aspire to build. Possibly, in the initial phase will try to create a simulation. Thanks very much for creating this excellent video

  • @ahmetsaglam8852
    @ahmetsaglam8852 2 года назад +9

    From zero to hero!!! This is an amazing and complete tutorial for anyone new to robotics! Thanks for your time and effort putting this together! I hope you provide another project based on a robot navigation with only a depth camera.

  • @real-1982
    @real-1982 3 года назад +8

    the first video I saw in my life that have 0 dislikes

  • @ramanabotta6285
    @ramanabotta6285 3 года назад +4

    Brother you explained great,but could not grasp all of it. Could you make another video on navigation stack and explain it from a beginner point of view please.
    Thank for your efforts

  • @furkanedizkan7202
    @furkanedizkan7202 3 года назад +1

    Great video sir, I have been researching for a similar project, so far this is one of the best informative sources I found.

  • @antonwinter630
    @antonwinter630 3 года назад

    thats a really good demo. i like how you went through all the steps. i am just starting my ros learning journey

  • @johnalejano5625
    @johnalejano5625 3 года назад +1

    thank you for this awesome video i learned a lot and will be using lidar to our thesis

  • @sablezubshruz9811
    @sablezubshruz9811 3 года назад

    Thank you for Video! Priceless for me, working on similar project, but with only Stereo Cam (no Lidar) mounted on Quad3DOF.

  • @srinivasasatya6797
    @srinivasasatya6797 3 года назад

    That's almost some best precession.
    Amazing work.

  • @vikingsraven
    @vikingsraven 3 года назад +1

    Thanks again, very informative and easy to follow.

  • @Kp61dude_
    @Kp61dude_ 3 года назад

    Job well done and thanks for sharing peace and love from San Diego CA!

  • @ThangNguyen-ss7dq
    @ThangNguyen-ss7dq 3 года назад +1

    Thank you very much. This is what I need!

  • @rajmeetsingh1625
    @rajmeetsingh1625 3 года назад +2

    Great work, kindly share the complete wire connection diagram.

  • @keyurborad8550
    @keyurborad8550 3 года назад

    This was really much informative video indeed 👍👍 .. i am looking forward for more such videos

  • @Dhananjay-IITBHILAI
    @Dhananjay-IITBHILAI 10 месяцев назад

    Sir please provide a detailed tutorial on how you implemented this with ROS along with hardware integartion with jetson nano, it will be great help to us for understanding autonomous navigation concepts.

  • @yaup21c
    @yaup21c 3 года назад

    I really like your work good job and thank you for sharing info.

  • @GurpreetSingh-bh3wk
    @GurpreetSingh-bh3wk 3 года назад

    very good built and performance

  • @MakerTutor101
    @MakerTutor101 3 года назад +1

    Hi Greate Video , I am your fan

  • @youarecreators369
    @youarecreators369 3 года назад +2

    Bro why using arduino nano, can't we sent pwm signal to driver from the jetson Nano..?

  • @audricsaragih
    @audricsaragih 3 года назад

    Great demo. Thank you for sharing.

  • @suryamohithmaddi2
    @suryamohithmaddi2 8 месяцев назад

    Great video, I'd like to learn ROS from scratch and i'm currently working on these types of projects, please help me out regarding ROS, Lidars, Autonomous Navigations

  • @Ruhgtfo
    @Ruhgtfo 3 года назад +1

    So noice thanks for sharing

  • @SanjeevKumar-lx6ci
    @SanjeevKumar-lx6ci 3 года назад +1

    Thank you sir!

  • @mks8884
    @mks8884 3 года назад +2

    Thanks for the video, very nice.
    but can you provide a connection sketch ?

  • @ramanabotta6285
    @ramanabotta6285 3 года назад +1

    Thanks you brother

  • @gabip265
    @gabip265 3 года назад

    Incredible work!

  • @praneethp8269
    @praneethp8269 3 года назад +1

    Awesome 👍

  • @KK-fh1ds
    @KK-fh1ds 3 года назад

    Thanks for the informative video

  • @balogunkabiruolawale4754
    @balogunkabiruolawale4754 Год назад

    Great work, nice video

  • @suleymankara1122
    @suleymankara1122 Год назад

    Thank you very much. I implemented your project with some modifications. It is running very well. Only issue is drift in odometry while robot rotates. I used two arduino m0 samd21 instead of arduino nano. I used as5600 absolute encoders instead of incremental ones with i2c communication. In samd21 there are more than one i2c ports. I don’t understand why you use this code in Robot_hardware_interface_node.cpp
    if(left_prev_cmd!=velocity)
    {
    result = left_motor.writeData(wbuff,2);
    //ROS_INFO("Writen successfully result=%d", result);
    left_prev_cmd=velocity;
    }
    I couldnot run without cancel if part.
    Can you explain why you dont send speed value to arduino if it is same as previous one?
    Another issue in arduino part, i can not understand how you send negative speed value to arduino from ros. I did some change to run it. I modified code as, 0 255 full speed forward. 255 255 full speed backward. How did you design it? Thanks for your answer

  • @lolkaph4738
    @lolkaph4738 3 года назад +1

    Hello sir do you have a step by step of how to install the needed ros packages im a newbie plsss thanks you

  • @dorukyazici395
    @dorukyazici395 11 месяцев назад

    Hello Sir, awesome project. I have a question. Can I use a Raspberry Pi instead of a NVIDIA Jetson Nano? My budget is very limited but I loved the project.

  • @akumal5819
    @akumal5819 3 года назад +1

    Please anyone answer me,after completing the project robot still needs wifi to function the Ros or works offline after?

  • @muhammadyousufeisa3982
    @muhammadyousufeisa3982 9 месяцев назад

    Are you also including sensor noise in it and filtering it. If not then can you help me out how to include it and then use a filter like kalman to show how the noise is reduced

  • @Hunter-o5s
    @Hunter-o5s Год назад

    Such an excellent video and good explanation. Actually at the moment I'm working on the similar project which it might help me a lot if you can share the schematic connection and the list of components that has been used. is that possible to get it?

  • @hmraja201
    @hmraja201 Год назад

    Hi sir , your tutorials are amazing. But Iam getting confused with one topic i.e interfacing the urdf model with the real robot hardware which I have. Can u please guide me to do this??I have a urdf model working separately and a real robot working separately.

  • @arhaangarg1482
    @arhaangarg1482 3 года назад

    Hi, great video. Helped me a lot. The next thing I want to do is to publish the directions like turn right, turn left. Could you please help me with that? Thank you hoping for A reply

  • @adarshgouda847
    @adarshgouda847 3 года назад

    Any particular reason why two separate Arduino for each motor? And you are publishing only wheel velocities from Arduino and publish /odom on Jetson nano? There was no mention of an IMU... how did you manage to get the encoders very accurate? very good PID tuning I suppose? or are you using laser scan matching and fuse it with wheel odometry...

  • @OZtwo
    @OZtwo 3 года назад

    Great video. I have been looking at getting a Vector Robot to play with the AI but finding it may not be up to speed. I'm simply looking for something like a Vector robot that can explore the area, charge itself, and more where the AI comes in, be able to collect small objects and take it home. For this why I picked the vector since the base design is perfect yet with too many limitations. A perfect robotic mouse which I am so shocked I can't find anything close to it.

  • @marcoantonioaguilargonzale2334
    @marcoantonioaguilargonzale2334 3 года назад

    Hi brou. Gerat Work!!!!!!!!!!!!!. What communication protocol did you use? :D

  • @truonglaptrinh7972
    @truonglaptrinh7972 Год назад

    I'am a newbie
    I wonder why this project use 2 power (portable charger + battery pin bonus)
    can you explain it, pls

  • @erolchelik
    @erolchelik 10 месяцев назад

    Thts great tnk u

  • @mechatronicsindia5603
    @mechatronicsindia5603 3 года назад +1

    On running back your package I found issue with" Could not read from i2c slave 0x8". Although my jetson is detecting the MCU with same adress. What am I missing?

    • @vijaybande916
      @vijaybande916 3 года назад

      Connect i2c0 to slave 8 and i2c1 to slave 9

  • @divyaprakashbiswas8781
    @divyaprakashbiswas8781 2 года назад

    Amazing video!! Thanks for sharing. I am little confused about the lower level PID controllers that you wrote for the individual motors. Why did you choose to implement the controllers using Arduino library? You could have use ros_control package to do that. Is there any specific reason?

  • @yahinjose4036
    @yahinjose4036 Год назад

    Hello i made the robot using your package with a different body, but i don't know why, the robot is not moving while using teleop

  • @Primus19961225
    @Primus19961225 2 года назад

    Great video and explanation, but I am still wondering how there is no ROS topics being subscribed by the Arduino Nano. Am I missing something?

  • @robotos319
    @robotos319 Год назад

    Will you please tell me how you tuned the PID values of your DC motors?

  • @alronnegabrieltumasis7251
    @alronnegabrieltumasis7251 3 года назад

    Does the LiDAR Autonomous Self-driving car needs to have training on localization for it to work? This would be my thesis. Hoping I would receive a reply from you.

  • @nosejaja
    @nosejaja 3 года назад

    Hi, why do you connect the jetsons pins to arduino nanos. Is it possible to connect the motors directly to the jetson board?

  • @ibrahimmemon9340
    @ibrahimmemon9340 3 года назад

    great video but can you explain to me why two specific nano?

  • @raphaellmsousa
    @raphaellmsousa 3 года назад

    Amazing!

  • @SAMETELMACI
    @SAMETELMACI 2 года назад

    awesome videoo thanks, why you use 2 seperate arduino nano istead of just one ?

  • @gigawatt99
    @gigawatt99 Год назад

    Is it possible then to write a program that divides the map into car parking spots and provides the robot with a paint unit and the robot paints the specified places

  • @Vaishnavi-w4i
    @Vaishnavi-w4i Год назад

    Is there a playlist for building this from scratch?

  • @andresroc1567
    @andresroc1567 3 года назад

    Awesome videos man congratulations. Could you create one explaining the ROS hardware Interface?

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  3 года назад +1

      Thank you. I have written a blog on hardware interface node. Below is the link
      www.rosroboticslearning.com/ros-control

    • @andresroc1567
      @andresroc1567 3 года назад

      @@roboticsandroslearning8232 Awesome!! Thanks a lot.

  • @YagoCastro-b4l
    @YagoCastro-b4l 8 месяцев назад

    How to use the navigation stack with the Pioneer robot (with rosary) and the rplidar a3 sensor (Hector Slam or Gmapping library)
    Hey,
    My question is how to use the ros Navigation Stack library to perform autonomous navigation on the pioneer robot that I am using the rosaria library for control, I am also using the rplidar_03 sensor with the hector slam library in the project. If anyone can help me

  • @Aliye727
    @Aliye727 2 года назад

    hi why you use 2 individual arduino for motor

  • @asdasd60
    @asdasd60 2 года назад

    Your robot has two different arduino. What is the reason of this, can i use a single arduino?

  • @GamerEngineer1345
    @GamerEngineer1345 2 года назад +1

    Hello sir, Great tutorial but I have a question; how does jetson nano communicate with PC and receive commands ?

    • @voxelliptic6592
      @voxelliptic6592 2 года назад +1

      Network configuration. Roscore of one device must have same IP address as other device.

  • @razakazmi8545
    @razakazmi8545 2 года назад

    Hi Good Work
    How to increase the speed of robot?
    Thanks

  • @tanawinsiriwan453
    @tanawinsiriwan453 3 года назад

    Good!!!

  • @giraftw2002
    @giraftw2002 3 года назад

    may i know if register the jointLimitsHandle in the h/w interface and the joint_limits.yaml are required since velocity and acceleration limits are already specified in controllers.yaml?

  • @alexahehe7671
    @alexahehe7671 3 года назад

    what are the specifications of the battery which you used ?

  • @weplaygames4891
    @weplaygames4891 3 года назад +2

    Thank you so much Sir, I have a question, what do I need change when I change a other motor. Please help me!! I just change 1856 to 616 for my motor but it run so strange

    • @weplaygames4891
      @weplaygames4891 3 года назад

      I just check PID and add it to arduino code but it not work

  • @Marco-fj1dy
    @Marco-fj1dy 2 года назад

    Hello, in which part are you connecting the encoder data with the Odom node?

  • @nguyenien4896
    @nguyenien4896 3 года назад +1

    I cannot connect I2C between 2 arduino nano with jetson nano. I have error address 09. Hope you can help with the method of connecting hardware and software?

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  3 года назад

      I have upload the connection diagram for reference. Hope this help.
      github.com/bandasaikrishna/Autonomous_Mobile_Robot/blob/main/mobile_robot_autonomous_navigation/Connection_Diagram.jpg

    • @nguyenien4896
      @nguyenien4896 3 года назад

      @@roboticsandroslearning8232 Thank you very much, I will try again.

  • @leninsingharam.g6708
    @leninsingharam.g6708 Год назад

    pls send the buying link of the above components used.

  • @clementedonosok5434
    @clementedonosok5434 3 года назад +1

    Hi! Amazing project! I'm building something like that but I want to know if the encoders are 100% necessary?

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  3 года назад +4

      No really. All you need is the odometery data. You can get the odometery data from a tracking camera also.

  • @ssaniljainn
    @ssaniljainn 2 года назад

    Hey, I recently decided to switch to ROS Noetic in my new OS of Ubuntu 20.04. Do you think your repo can be functional in the new versions of ROS?

  • @rajmeetsingh1625
    @rajmeetsingh1625 3 года назад

    hi, i want to run same navigation on arduino + raspberry + ros
    my map is saved , kindly help me for autonomous navigation (hardware interface node)

  • @ssaniljainn
    @ssaniljainn 3 года назад +1

    Can you explain the structure of the files that are useful and along with the components? And also, is it possible to use RPi4 instead of Jetson Nano?

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  3 года назад +1

      I have shared the source code, list of components and connection diagram in my git hub. The link to the git is present in the description. Yes you can go with RPi4 instead pf Jetson Nano.

    • @ssaniljainn
      @ssaniljainn 3 года назад +1

      @@roboticsandroslearning8232 Thanks! Also, I needed to know if encoders are absolutely necessary to determine the state of the wheels? I currently do not have it and looking for an alternative.

  • @JashDoshi
    @JashDoshi 3 года назад

    Can you please make a video on how to add landmarks in this map?

  • @unknown_known-oi9ni
    @unknown_known-oi9ni 8 месяцев назад

    what is the use of seq_of_goals.py file use?

  • @pramodkeshav7314
    @pramodkeshav7314 3 года назад

    Hi. Amazing tutorial. I have a small doubt. How did you run the Jetson Nano without a cable connected to the laptop for Display. I presume you used VNC for teleop_twist_keyboard. Can I use a wifi module on the Jetson and connect it to the same wifi network as VNC? Thanks

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  3 года назад

      Using VNC viewer. Follow below link to setup vnc server in jetson nano
      medium.com/@bharathsudharsan023/jetson-nano-remote-vnc-access-d1e71c82492b

  • @321zerhou4
    @321zerhou4 Год назад

    any alternatives for the encoder motor?

  • @andulkadiralomari966
    @andulkadiralomari966 Год назад

    Pleas ,can you give me the link to load the backage form terminal

  • @hmraja201
    @hmraja201 2 года назад

    Hi sir, Iam a robotics student of 2 na year Iam very much interested in learning slam and navigation , I know the basics of ros and I even have a differential drive robot working with teleop keyboard , if u are free will u please teach me slam and navigation sir , Iam ready to pay you sir

  • @frostycarbon270
    @frostycarbon270 2 года назад

    You have a link to those motors for those of us in the US?

  • @sulaiman-hd8pz
    @sulaiman-hd8pz 4 месяца назад

    can this be used with flying Drone in 3D environment?

  • @niyassalim4933
    @niyassalim4933 2 года назад

    How did you connect robot and laptop wirelessly, can you do a video on that?

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  2 года назад

      Using VNC viewer. It is simple you just have to enter the wlan ip adress in vnc viewer. If you face any problem follow below link
      medium.com/@bharathsudharsan023/jetson-nano-remote-vnc-access-d1e71c82492b

  • @顾梁
    @顾梁 3 года назад

    How to get the mapping.launch file? Is it related to the robot shape? Thanks.

  • @rajmeetsingh1625
    @rajmeetsingh1625 3 года назад

    i am facing error " could not read from I2C Slave "

  • @ashwinks3487
    @ashwinks3487 2 года назад

    Is ROS Kinetic valid even now??

  • @rcarrasquel.u
    @rcarrasquel.u 3 года назад

    Hi! How do I get the value 1856.0 of my motor?

  • @edupedika
    @edupedika 5 месяцев назад

    Is this support noetic

  • @VLSystems
    @VLSystems 3 года назад

    Hi ))
    Why if i start only move_base node my robot all work, move_base subscribe on /scan
    But if i start amcl with move_base amcl subscriber on /scan, but move_base not subscribe on /scan, and robot dos not work
    Pls helm me please)

  • @aakashmuthaiya2624
    @aakashmuthaiya2624 3 года назад

    what type of DC motors used in this....? can you share Specifications

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  3 года назад

      robokits.co.in/motors/rhino-gb37-12v-dc-geared-motor/dc-12v-encoder-servo-motors/rhino-gb37-12v-60rpm-10.4kgcm-dc-geared-encoder-servo-motor

  • @vuongnguyenphuc382
    @vuongnguyenphuc382 3 года назад

    Thank for this great video, but I don’t understand your arduino codes? How’s it relative to ROS?

    • @huytran-sd1kr
      @huytran-sd1kr 3 года назад

      hi bạn, bạn còn chạy project này ko cho mình hỏi vài thứ, mình cảm ơn

  • @shantanubhavsar1369
    @shantanubhavsar1369 2 года назад

    2gb kit is enough to make this bot?

  • @tranphituandu2251
    @tranphituandu2251 4 месяца назад

    Hey bro, My Rviz keep fixing as the robot it's self. The map is updated every time the robot rotates. Can you help me please

    • @roboticsandroslearning8232
      @roboticsandroslearning8232  4 месяца назад

      Chek the global fixed frame in rviz, that should be set to robots base link in your case. Change the fixed frame to /map frame.

    • @tranphituandu2251
      @tranphituandu2251 4 месяца назад

      @@roboticsandroslearning8232 i already done that but it's not working

  • @jamesniano9659
    @jamesniano9659 3 года назад

    good day sir...I just want to ask where can I download the software?

  • @tuanhero91
    @tuanhero91 2 года назад

    Hi bro
    Please help me
    - When I roslaunch controller_check.launch
    Is not run
    - Does this project have catkin_make ?
    Because I catkin_make then error "Could not find amcl (missing:amvl_dir)
    - I looking for internet then just only sudo apt install ros_moetic-amcl
    I already run but sill can not catkin_make

    • @TESTIOT
      @TESTIOT Год назад

      file ho up len github bi bo bot file r

  • @paridiparidi3869
    @paridiparidi3869 2 года назад

    Hello bro why are you not explain about yml file

  • @RicardoRodrigues-bc2ud
    @RicardoRodrigues-bc2ud 3 года назад

    Hello. Is it possible to use octomap real time instead of building a map a priori?

  • @santhosh1387
    @santhosh1387 Год назад

    does this work on ROS melodic ? , if not which ROS should i install to do this project .... please help me anyone

  • @hussainsaleh4246
    @hussainsaleh4246 3 года назад

    Hello Sir, My project this year is about Autonomous Mobile Robot , I have to learn ROS because I don't have any background about this field so can you send me a good resource which helps me from Zero , please

  • @profCEObasi
    @profCEObasi 2 года назад

    how can I download the ROS software. is it open source?

  • @subhadipmaiti6513
    @subhadipmaiti6513 Год назад

    hello sir can you help me to doing this project . i need help

  • @khiemvu2024
    @khiemvu2024 3 года назад

    Did you use VNC to remote the screen of jetson nano?