Autonomous A.I. Robot Navigation Setup & Demo
Вставка
- Опубліковано 19 сер 2024
- Get your first 10 PCBs for free at www.pcbway.com/
It's part 2 of my Really Useful Robot project. This time we're setting up ROS on the robot so it can map and navigate it's environment using the laser scanner. I'm using the ROS navigation stack, but this is dependent on having the Odometry set up properly which is where the main focus of this video is. Hardware includes an NVIDIA Jetson Xavier NX, RP Lidar A2, ODrive 3.6 + brushless motors and 8192 CPR encoders, Teensy 4.1. With thanks to:
robosavvy.com/
www.3dfuel.com/
nvda.ws/3gAmKm9
coolcomponents...
www.theconstru...
Filament from: www.3dfuel.com/
CAD and code for this project: github.com/XRo...
You can support me on Patreon or buy my Merchandise:
***************************
Patreon: / xrobots
Merchandise: teespring.com/...
***************************
Affiliate links - I will get some money of you use them to sign up or buy something:
***************************
Matterhackers 3D printing supplies: www.matterhacke...?aff=7500
Music for your UA-cam videos: share.epidemics...
***************************
Other socials:
***************************
Instagram: / xrobotsuk
Facebook: / xrobotsuk
Twitter: / xrobotsuk
***************************
CAD and Code for my projects: github.com/XRo...
Huge thanks to my Patrons, without whom my standard of living would drastically decline. Like, inside out-Farm Foods bag decline. Plus a very special shoutout to Lulzbot, Inc who keep me in LulzBot 3D printers and support me via Patreon.
HARDWARE/SOFTWARE
Below you can also find a lot of the typical tools, equipment and supplies used in my projects:
Lulzbot 3D Printers: bit.ly/2Sj6nil
Lincoln Electric Welder: bit.ly/2Rqhqos
CNC Router: bit.ly/2QdsNjt
Ryobi Tools: bit.ly/2RhArcD
Axminster Micro Lathe: bit.ly/2Sj6eeN
3D Printer Filament: bit.ly/2PdcdUu
Soldering Iron: bit.ly/2DrNWDR
Vectric CNC Software: bit.ly/2zxpZqv
Why not join my community, who are mostly made up of actual geniuses. There’s a Facebook group and everything: / 287089964833488
XROBOTS
Former toy designer, current UA-cam maker and general robotics, electrical and mechanical engineer, I’m a fan of doing it yourself and innovation by trial and error. My channel is where I share some of my useful and not-so-useful inventions, designs and maker advice. Iron Man is my go-to cosplay, and 3D printing can solve most issues - broken bolts, missing parts, world hunger, you name it.
XRobots is the community around my content where you can get in touch, share tips and advice, and more build FAQs, schematics and designs are also available.
This project is open source and you can find the files on my Github: github.com/XRobots/ReallyUsefulRobot Patrons and UA-cam Channel Members can get my videos up to a week early!
Here we go. One more AI system ua-cam.com/video/3UaH4J91dTE/v-deo.html
Fantastic
good work, will be of use for the lonely elder people , if it can open the door or fetch a glass of water or medicine.
ua-cam.com/video/LKJ4Iy-HxvE/v-deo.html
Another good reason for having an Arduino microcontroller between the Jetson and the motors is that a microcontroller is much more reliable than a computer with an O/S. You can wire the Arduino to a few bump sensors, and use its watchdog timer, so that it can safely halt the robot if it hits anything or if the Jetson stops communicating. I have done this on all my robots as the higher level functions are more prone to fail.
Or just write better software like we do in all sorts of mission critical hardware like guidance computers and flight management systems.
With each new episode I get more and more in over my head.
You have slowly gone from a mechanical genius to a full-stack-integrated mad man...
As always, thank you for sharing James!
-J
Thanks - it's mostly code I didn't write, but it's complicated enough for me!
@@jamesbruton hey James, Software engineer here, you gotta start somewhere! You seem to know what the code does and thats like 70% of the battle. Soon enough you'll be able to write your own code whether you like it or not :P
I have no idea what you are talking about most of the time but really enjoy your content.
Really appreciate your open source efforts James!
I recommend you to make a tutorial series on ros for us
Perhaps James could also include his keys to productivity because he seems to complete at least one mini-project per week and major projects monthly. He really is one of the most incredibly inspirational and undoubtedly fantastic examples of human that we have - the ultimate professor who freely provides instruction and source material.
Seconded. I cannot find any ROS tutorials which I could properly follow.
@@ishraqhasan refer construct
I can't wait to see the robotdogs making map and navigation!!!
12:15 I can only imagine that you programmed the vision system with your socks. Imagine it showing "my master" and boxing your foot when that sock comes into view.
Your content delivery is simply brilliant. Each video is packed with a plethora of information.
Awesome video. Wrapping the whole stack from From the micro controller to path planning, what a ride !
Great video James!
Thanks!
THANK YOU VERY MUCH - this part 2 and the part 1 are very very helpful videos for anyone starting with ROS - cause even when you have started there is a good enough learning curve and there are many pits where one can get stuck.
I hope you add IMU as well in future and integrate that as well in the odom messages.
THANKS.
Took a class in university where we learned the fundamental algorithms behind SLAM: path planning methods and mapping, and Kalman/particle filtering for localization. if you have the time, I highly recommend building it out from the ground-up, you learn so much about the software side without using ROS! My favorite part? You can write it all in python 😆
Awesome build - this reminds me of that robot
You had a couple of years ago, with the PC inside.
Very impressive. So many names and acronyms haha. You're doing a good job of convincing me that I was right to avoid ROS as long as I can get away with (although I'll have to go there eventually for one project). Still, I've gone from knowing nothing about it (other than "it's complicated") to knowing at least something about how it does stuff, which is good so thanks! I can see why it has it's place in the world, as clearly stuff can get complex fast and everyone would end up reinventing the wheel if it didn't exist.
marketing idea => put your humanoid robot on top of the base and have it do some tricks (rolling around while holding a service tray like a waiter, opening doors, using facial recognition to talk to you etc..)
Great Buzz potential!
Love the USB breakout board mount on the orange/blue bot. Finally, a use for those damn purge blocks! LOL
Some people wish for boats or big houses if they hit the lottery, but I wish I could work together on a tracked humanoid project together with you. Thanks for sharing all your work with us.
In move_base, you can disable it being allowed to drive backwards, since your robot can't see backwards properly, I would recommend doing so.
I was considering it, but it seems to work ok, it's only about 5% blind spot
When you said that it will be able to go up and down and pick up stuff, I get Rob for super smash vibes!!
Super inspiring James! Thank you! 👍
wow, this is getting sophisticated !
there is more to go yet!
Awesome project! Looking forward to the nexxt episode :)
Your E-Stop method is nice to see. All too often I have seen e-stop buttons that are suppose to "stop all motion in the machine", but fail to actually cut the power to the motors moving it. You might want to consider a NO motor contactor instead of a relay if you go up much higher in amperage and voltage. They are better than the automotive solenoid you showed.
Great, you've done a very good job, thank you. My version of the ROS robot didn't move as smooth as this one.
It would be nice if you get the chance to explain some of the optimizations, issues you faced and how you solved them. For example, I wasn't able to get my robot to drive backwards until it gets to a place big enough to spin. I also had a tough time with rotating fast enough to keep in sync with the navigation stack...
I mostly used the parameters from NOX RObot Project and Turtlebot, with just a bit of trial and error. I'm still trying to understand all of the parameters myself. I'll be uploading it all to Github soon.
Champ is a repo for navigation with legged robots. It actually has an opendog v2 example
I've seen it, I'm just not ready for it yet. I think also getting accurate Odometry data would be hard because the legs are so springy in real life
Wow, this is awesome!! It would be cool if you had a discord community. Also, thanks for the motivation I picked up an older Nvidia tx1for pretty cheap last week to lear on Thank You
super interesting and well explained!!! thank you sir
As it has several different batteries you should integrate the chargers into the robot and have a dock that it can drive over and get power.
I'd like to, but that is a whole consideration
Omg thank you so much for the reply @James Bruton
20:14 totally ignoring parameters ...............like a boss 😎
some thing tells me this is all leading up to a autonomous open dog with arms and nerf blasters
imagine adding some of these features to the opendog robot. would be so sick
so... ultimately this is gonna be a giant tea/coffee fetcher? ;-) great work, this is impressive for real! :-)
Great video, very cool
James, I think your content is unlike anything else out there. It’s truly top-notch and I really enjoy watching it. However, and it’s possible I’m the only one that notices, but there is a high-pitched hiss in your audio - I’m not certain what frequency but very high - that should be really easy to fix in post processing that would make it so much more enjoyable from an audio perspective. It’s not in every shot - for instance, it’s not in the screen recorded content for the most part, but when you are on screen, it is very noticeable.
Again, not trying to criticize at all. The content is fantastic. Just trying to bring some feedback about the audio
This robot reminds me of the Stretch RE1 from Hello Robot.
can you imagine all that and its not even at the level to fetch you a beer.
replacing a human for even a simple task it such a immense step.
I love your Ros video...
Hi, awesome project! I've you ever considered or tried using PlatformIO ? It's a VSCode extension for programming micro controllers. Seeing people using Arduino IDE for big projects like that just make me feel... impressed :)
Perhaps the Lidar is presuming deployment in a downward - facing installation (eg. under aircraft).
I love this Video. Ros is so freakin awesome
Absolutely amazing. Brilliant.
you do a good job at making the videos slow but not get it over with slow but a nice maybe I'll stay a while slow
You should have it try navigating a corn maze kind of thing.
James you could bring this to investors and start a company, I seen startups with way less getting millions in seed funding
I dont think you understand his stance on open robotics projects
Not selling to investors
Good job on the software! Running code wins.
Cool robot, just to nitpick a bit, this is not AI but rather SLAM, ROS default to gmapping for mapping and localization, and trajectory rollout and dynamic window approaches for path planning.
it's a weak AI ;-)
I think you can get a way more accurate odometry using google cartographer. I've checked your previous youtube videos about navigation using rplidar. I can show you how to configure it without needing imu reading as well if you want. I'm not 100% sure about better results but it'll be interesting to compare the two outputs. Also, your Arduino code will become waaay shorter as it'll only have to control the motors. You could even omit the serial node altogether and directly control it using the jetson; although I'm still exploring this last part...
Your mechanical designs are really improving - nice platform design :)
I‘m building a 6 DOF robot arm at the moment. By seeing this, I think about using ROS. Have you heard about the ROSCube-X? It seems to be a nice system..
Hello James! Great video as usual! I wanted to ask about the navigation stack. Are u running all the software(including the Navigation stack) on the Xavier? From what I have heard, navigation stack needs monstrous amounts of processing power.
The navigation part of it is running on a workstation - but it's a VM running under Windows so there are some issues. More on that in a couple of weeks.
I think yes. He runs the Ros launch-file inside the jetson. There doesnt seem to be any Ros installed on the Workstation. But it would be awesome if sometime in the future any heavy calculations where outsourced to the workstation. Ros is definetly capable of doing that.
@@jamesbruton Oh ok. I wanted to check that. Even I have heard that navigation is so heavy that it needs to run on a seperate Pi or other PC.
So amazing , I wanna build a robot like this
so there is going to be an arm on it, but maybe you could put a spare motor on it for attachments like a blender (it's called really useful, so it should be able to do a lot of stuff right?)
Is the scan of the environment offset and blurring because the laser is rotating at an offset from the center of the laser device itself?
That is taken care of in the transform
Would very much like to see what he looks like now
How will the robot go automatically without the arrows? How to save the different spots/location?
Lets do Michael Reeves + James Bruton + Hacksmith team!
If you drop a sock on the floor, would it be able to navigate around it?
As long as it's higher than the laser
That's awesome dude =D
thanks for the video.
For some reason the “Utility stick” made me laugh
Amazing
why can't i find the robot am looking for the autonomous a57 personal robot
Sir,A request, please show us how to incorporate an IMU sensors (mayb the MPU-6050)into our robots using ros.
Really amazing !
thanks!
Why aren’t linear and rotational brushes made?
(edit) the rotational ones are made.
You use very expensive components for what you’re building. I guess if they are already laying around or being donated it makes sense but a gearhead motor like the 37d form factor from Pololu with integrated encoder would be cheaper and allow you to spend time on the challenging parts like writing software. Or just go big and use a Hayabusa motor? I’ve got one that balances on 2 wheels and I’d be happy to donate my code if you like. Maybe we could trade for some those sweet sweet brushless motors.
hi there! I was thinking of an old robovac that I have( mainboard is bosted), to bring back alive with an Arduino.
is it possible to do with just two Arduino Uno and a motor shield? (with navigation and mapping tech)
perhaps you can make a video of bringing one to live to.
So RUR, Rossum's Universal Robots where the word robot was first made I believe.
I know that the king of AI is you.And I am jealous for that😀😀🤴🤴
TBH, James is still a padawan, but he did just build his first light sabre.
Man I'd love for nvidia to release and msrp enforced new version of the jetson or lower the price of the old Xavier as its on a legacy node now. I can't afford an Xavier to build a robot to teach people
does someone know the reference for the voltmeters?
I just got them from eBay, but it was about 2 years ago and I've been reusing them ever since
If the laser doesn't stay still so where am i wrong ?
imagine when u can buy something like this or similar commercially. and it would your own personally assistant thats used in combination with siri or cortana or others
i would buy it who else would?
I want to know who goes to a video uploaded 4 minutes ago just to dislike it.
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 help me)
Damn basically making ROB
Very Good!
nice.
Hey can you bulid a vacuum cleaning bot using regular objects without using complex 3D printing parts or complex electronics.
A vacuum cleaner without complex electronics is...a vacuum cleaner. :-)
Woo awesome
Make a RoS tutorial series
Hello James, your work is really inspiring. How did you learn this all? How did you learn being a mechanical engineer?
Is it possible to use stm32 blue-pill instead of teensy...?
Probably.
Super late, but could you use a high performance mouse sensor for aiding accurate floor movement data?
Hi! Great work! Will you share XavierNX Disk Image?
Do you have a fuse in series with your batteries?
no!
Thank you so much for your videos I find your work very interesting, would it be possible to have more information on the batteries, did you use 22.2 V ? because I have looked for it, but I cannot find 24 V
Yes it's a 6S LiPo, full charge is around 25V.
@@jamesbruton I'm not very expert in batteries, but would it be possible to choose one with 20000 mhA? or a less powerful one will be better suited?
can you tell me how is the angular precision of a robot like this?
Can I get technical support and answer some questions?
Amazing!
question:
isnt publishing to topics an overhead? i understand the reason for distributing as event based system but it wouldnt make the system less real time ?
sir is it possible to control the flysky transmitter using your laptop in order to control the drone with pc ,please make a video on it
do you ever need to replace you batteries? You seem to use the same batteries often so I guess you just take good care of them
Yep, just keep them on storage charge when they aren't in use
This is great. I just started building based on your design. I have ender3, and build volume does not allow me to print parts in the same size. Do you have any recommendations? I make the size 85% of the current model I can print in Ender3
You really need to use an IMU to get orders of magnitude better motion and rotation data than the stuff you are getting from the motor controllers.
It Will be very usefull
R.U.R. -- I see what you did there! :-)
Hi James, great work! Can you please do a ROS2 version ASAP, it's quite stable now. &/OR Nvidia Isaac
Oh.... I thought the black bar was for a upper human shaped robot
Question for you, James:
Roughly how much of maximum effort are your motors using?
My problem I'm trying to solve: I'd like to make a similar robot, but one that is self-balancing. It needs to be quite fast and have sufficient torque to lift itself up in the event of a crash, but I can't necessarily afford the most expensive motors. And I've got little intuition for units of torque.
Thank you for your videos: They've been much more useful to me than TheConstruct's in learning ROS conceptually.
Hardly any. Check out: ua-cam.com/video/zlucjoYLGi8/v-deo.html - it's pretty much the same setup but on 48v
@@jamesbruton derp, forgot you did that. But in your videos, I don't remember you showing a self-recovery. A couple of falls, and I assumed you manually lifted sonic back up. I'm interested in sufficient "motor oomph" to lift sonic from his face to his
"feet."
(But thank you!) At least watching your sonic robot gives me a place to start from!
Hi James