Autonomous Navigation Mobile Robot using ROS | Jetson Nano | RPLidar | Differential Drive Kinematics
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/bandasaikrishna/Au...
rplidar_ros package: github.com/Slamtec/rplidar_ros
my website: www.rosroboticslearning.com/
Пікірлер: 191
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
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.
I'm very happy to give us informative video and support in ROS.
thats a really good demo. i like how you went through all the steps. i am just starting my ros learning journey
That's almost some best precession. Amazing work.
wonderful explanation as always!!! Thank you!!!
Great video sir, I have been researching for a similar project, so far this is one of the best informative sources I found.
@roboticsandroslearning8232
3 жыл бұрын
Thank you ☺️
Thank you for Video! Priceless for me, working on similar project, but with only Stereo Cam (no Lidar) mounted on Quad3DOF.
Thanks again, very informative and easy to follow.
Job well done and thanks for sharing peace and love from San Diego CA!
This was really much informative video indeed 👍👍 .. i am looking forward for more such videos
Thank you very much. This is what I need!
thank you for this awesome video i learned a lot and will be using lidar to our thesis
Incredible work!
Great demo. Thank you for sharing.
I really like your work good job and thank you for sharing info.
Awesome 👍
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
Great work, nice video
Amazing!
very good built and performance
So noice thanks for sharing
Thanks for the informative video
Thank you sir!
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.
Hi Greate Video , I am your fan
@roboticsandroslearning8232
3 жыл бұрын
Thanks a lot. You are senior to me in making great videos :) .
Great work, kindly share the complete wire connection diagram.
Good!!!
Thanks you brother
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?
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?
Thts great tnk u
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.
the first video I saw in my life that have 0 dislikes
@xX12VincEXx
3 жыл бұрын
Not anymore. Joke
@deadyanothaikiropool1chait713
2 жыл бұрын
It will.It will. I pree the like btw.
Thanks for the video, very nice. but can you provide a connection sketch ?
Hi brou. Gerat Work!!!!!!!!!!!!!. What communication protocol did you use? :D
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
Awesome videos man congratulations. Could you create one explaining the ROS hardware Interface?
@roboticsandroslearning8232
3 жыл бұрын
Thank you. I have written a blog on hardware interface node. Below is the link www.rosroboticslearning.com/ros-control
@andresroc1567
3 жыл бұрын
@@roboticsandroslearning8232 Awesome!! Thanks a lot.
awesome videoo thanks, why you use 2 seperate arduino nano istead of just one ?
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
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.
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...
Hello, in which part are you connecting the encoder data with the Odom node?
Hi! Amazing project! I'm building something like that but I want to know if the encoders are 100% necessary?
@roboticsandroslearning8232
3 жыл бұрын
No really. All you need is the odometery data. You can get the odometery data from a tracking camera also.
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
3 жыл бұрын
Using VNC viewer. Follow below link to setup vnc server in jetson nano medium.com/@bharathsudharsan023/jetson-nano-remote-vnc-access-d1e71c82492b
Hi, why do you connect the jetsons pins to arduino nanos. Is it possible to connect the motors directly to the jetson board?
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.
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?
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.
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?
Bro why using arduino nano, can't we sent pwm signal to driver from the jetson Nano..?
Will you please tell me how you tuned the PID values of your DC motors?
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?
@roboticsandroslearning8232
2 жыл бұрын
Arduino is connected via i2c interface to Jetson Nano.
great video but can you explain to me why two specific nano?
Hello sir do you have a step by step of how to install the needed ros packages im a newbie plsss thanks you
Please anyone answer me,after completing the project robot still needs wifi to function the Ros or works offline after?
You have a link to those motors for those of us in the US?
Thank for this great video, but I don’t understand your arduino codes? How’s it relative to ROS?
@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
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
3 жыл бұрын
Connect i2c0 to slave 8 and i2c1 to slave 9
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
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
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
2 жыл бұрын
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
2 жыл бұрын
@@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.
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
what are the specifications of the battery which you used ?
Can you please make a video on how to add landmarks in this map?
good day sir...I just want to ask where can I download the software?
What application did you used to create 3d parts?
@roboticsandroslearning8232
3 жыл бұрын
TinkerCad
any alternatives for the encoder motor?
Hello. Is it possible to use octomap real time instead of building a map a priori?
@roboticsandroslearning8232
3 жыл бұрын
ROS navigation stack needs a map to navigate autonomously. And it works on 2d maps.
How to get the mapping.launch file? Is it related to the robot shape? Thanks.
hi why you use 2 individual arduino for motor
Did you use VNC to remote the screen of jetson nano?
@roboticsandroslearning8232
3 жыл бұрын
Yes
Hi Good Work How to increase the speed of robot? Thanks
hi, i want to run same navigation on arduino + raspberry + ros my map is saved , kindly help me for autonomous navigation (hardware interface node)
Is there a playlist for building this from scratch?
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
I'am a newbie I wonder why this project use 2 power (portable charger + battery pin bonus) can you explain it, pls
Hi! How do I get the value 1856.0 of my motor?
Have u done imu integration for odom?
@roboticsandroslearning8232
3 жыл бұрын
No.
Hi! I wondering with what did you supply the motors and the jetson nano?
@roboticsandroslearning8232
3 жыл бұрын
I have shown the battery in the video
@clementedonosok5434
3 жыл бұрын
@@roboticsandroslearning8232 yeah I know, but You show also a poder bank, did you use it? Or just with the 12V battery you supply the motors and the Jetson nano?
@roboticsandroslearning8232
3 жыл бұрын
I did not use the power bank. The motors and jetson nano are powered with the 12V li-ion battery
@user-wz8rr9el9w
3 жыл бұрын
@@roboticsandroslearning8232 Hello, in the connection diagram you posted on git, the 12v battery is only connected to the motor driver, does both Jetson Nano and Arduino Nano supply power from lithium batteries?
pls send the buying link of the above components used.
How did you connect robot and laptop wirelessly, can you do a video on that?
@roboticsandroslearning8232
Жыл бұрын
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
Nice project and thank you for sharing! i have a question, can I make this robot using incremental rotatory encoders? Hope you answer me, greetings!
@roboticsandroslearning8232
3 жыл бұрын
Yes. The encoder what I used in this project is incremental encoder.
@AlberDroid
3 жыл бұрын
@@roboticsandroslearning8232 wow thank you very much for your answer! And again, thanks for sharing this amazing project
@batoolhamdan3585
2 жыл бұрын
@@roboticsandroslearning8232 plz tell me why u use raspberry pi ?
very informative video as always ! . Can you please provide some sort of contact details
how can I download the ROS software. is it open source?
what type of DC motors used in this....? can you share Specifications
@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
Pleas ,can you give me the link to load the backage form terminal
2gb kit is enough to make this bot?
which version of ubuntu do you install on jetson nano?
@roboticsandroslearning8232
3 жыл бұрын
18.04
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
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
3 жыл бұрын
@@roboticsandroslearning8232 Thank you very much, I will try again.
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
3 жыл бұрын
I just check PID and add it to arduino code but it not work
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)
Your robot has two different arduino. What is the reason of this, can i use a single arduino?
what is the use of seq_of_goals.py file use?
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
Жыл бұрын
file ho up len github bi bo bot file r
hello sir can you help me to doing this project . i need help
Is ROS Kinetic valid even now??
Do you mind sharing github link for your project?
@roboticsandroslearning8232
3 жыл бұрын
The link is present in the description of the video.
i am facing error " could not read from I2C Slave "
Hello sir, Great tutorial but I have a question; how does jetson nano communicate with PC and receive commands ?
@voxelliptic6592
2 жыл бұрын
Network configuration. Roscore of one device must have same IP address as other device.