Building a Self-Driving Go Kart
ฝัง
- เผยแพร่เมื่อ 26 ส.ค. 2023
- I made a self-driving go kart by utilizing a machine learning technique called behavioral cloning.
Please consider supporting my projects on Patreon: / austinblake
The go kart (AKA the Teskart) is equipped with 3 Logitech C920 webcams. All three cameras are used during data collection and only the middle one is used when self-driving. It provides the necessary visual input for the model to analyze and make steering decisions.
The steering motor is from a power wheelchair. The wheelchair motor functions as a giant servo motor which is controlled by an Arduino and a Cytron DC motor driver. Position feedback is achieved through a potentiometer that rotates along with the motor shaft. The Arduino reads the potentiometer value and PWM signal, and uses a PID controller to compute and provide the appropriate output.
A second Arduino is used to receive the predicted steering angle data from Python though serial communication and convert it into a PWM signal to be sent to the first Arduino.
An onboard laptop serves as the brains behind the operation and is used for recording data, training the model, and evaluating its performance.
The Complete Self-Driving Car Course - Applied Deep Learning (This course always goes on sale so do not pay full price if you plan on purchasing):
www.udemy.com/course/applied-...
How to Make an R/C Servo from a Wiper Motor | James Bruton:
• How to Make an R/C Ser...
Build a Custom Servo Motor with a DC Motor | DroneBot Workshop:
• Build a Custom Servo M...
Music by Karl Casey @ White Bat Audio
Music also from Epidemic Sound & TH-cam Audio Library
Pixel Art by Fabled Frame:
www.artstation.com/fabledframe
Follow Me:
Instagram: / austiwawa - วิทยาศาสตร์และเทคโนโลยี
I'd love to see an improved version of this. Like I'd like to see it get good enough that it can drive itself on paths like this that it's never seen before. That'd be sick.
For those wondering, looks like about $250 for the cameras, $75 for the motor controller, $40 for the steering motor itself, $30 for the Arduino Nanos, $120 for the batteries, and probably another $20-30 for the various other electronics & wiring pieces. All-in I'm guessing a bit over $500 to add self-driving. Huge cost savings by not using LIDAR and having a laptop be the brains instead of an embedded system like Nvidia Drive. Very impressive!
How on earth does this not have more views!? Amazing work!
Thanks so much :)
What a brilliant project, it had every element of engineering, especially the ever so dreadful equivalent to “ah for got the semicolon”. I loved every second of this video and even considering doing something similar for my capstone project, hope to see more content from you in the near future
Thanks a lot! More content to come!
It's a perfect re-creation of tesla, random crashes and all. 😂
I hope the algorithm picks up this video soon, very underrated, great stuff
Thanks so much. I appreciate it!
I cannot imagine how over the head that course you took would be for me 😅 superbly done!!! 👍👍👍
Thank you!
Great job! This was my intro to your channel. You’re really easy to listen to and have a nice calm approach. I can 100% relate to a simple single coding error throwing you off in a relatively complex project such as this one.
New sub here. Great job, you explain things well, I'm sure a lot of people see the value in you sharing your learning experience. Keep it up.
This is such an underrated video! I don't know why I didn't get this recommended earlier. Great work!
Awesome project!! 😁
You did it! It is educational, informative and entertaining. Excellent work!!!
Thanks Hyuk! I really appreciate it!
That Tesla kart you made was so cool Lmao
Amazing job! I hope to put something like this together one day.
Very juicy project indeed, thanks for sharing!
You inspired me to "re-engineer" my old Volvo 740.. 😃
Amazing project!
Wow, you made this really easy to understand. I am surprised by the lack of views. Truly awesome video.
Wow! man such an awesome projects, well done!
Thats an amazing project good work!
Cool! I'm thinking self driving wheelchairs...
Nice man, I just found you yesterday and I'm had a good time watching all your videos. Can't wait to see what else you create!!
Thanks so much! Happy to hear that!
Amazing work my friend. This is so far beyond me. A++
Very motivating..You nailed it.
The project itself is really impressive and the video is great as well.
hi askill, have you become a flat earther yet?
It is awesome.I love these exciting works and projects.I appreciate you
Dammm thats so cool, now make it drive everywhere 🤣
I love this project..!!! Nice work..
Bravo Blake, this is so huge work. I am amazed with patience... 🎉
Thanks!
Broo, well-done. I came from your Instagram and I'm super amazed man, well done bro
What an absolutely fun and challenging project. What models did you train for this?
Junk yards have many asian made cars with electric steering assist i got one for my prius and i only paid $20 great for that type of application
Hell ya! Amazing work Austin!!
Love it!
Thanks Jay!
Love it. I am working on mine and yours project is such an inspiration 😊
Amazing work! If you’re looking for some ground truthing on your accuracy, let me know, I would love to collaborate. 😉
What a great idea
This is really motivating me to do one of my projects that would use CV for navigation. I was wanting to buy the unitree go1 and do something similar around my town, have a manipulator arm and such. Take it to the store, grab a bag of chips, then leave. Something I have always wanted to do, but havent been able to since moving houses frequently for uni.
Watching this video has really motivated me to push for that, as this is why I am in university right now doing mechatronics, despite the wavering motivation to push on from the flood of assignments and exams.
Well done mate, your video is a real inspiration. If I do get around to my project over summer break, you would of been a major contributor to keeping my head up in my studies and pushing for that goal. Your stuff is legendary and I look forward to seeing what you do next.
My first thought when it turned into the grass was that you flipped a sign 😋
Great content
Austin this is insane. Kudos!
ABSOLUTELY AWESOME!!! This project was so involving well done!
This is really cool! Only thing is, I can't see why adding 2 additional angles would help the model if you arent going to use those for prediction. I work on computer vision with convolutional neural networks for my job and my gut instinft would tell me that adding the 3 cameras should actually make the model perform worse.. unless you are doing some kind of preprocessing to simulate data as it would appear from the center camera.
Like, if you took this to the extreme scenario, and the cameras on the side were pointing 90 degrees from the center camera and training a model on that to say "if the center camera sees this, you should just continue straight".. I mean your model would just want to drive into the side of the walkway. As a matter of fact, when I am training my models, one of the important things we try to ensure is that training data angles are as close as possible to angles used at prediction.
Other stuff I'd point out is that, the laptop is a nice solution, however you can buy a special purpose SoC like a google coral board or nvidia agx that would use less power and take up significantly less space. I think the google coral TPU is only like 100 bucks. For a model this simple, it would probably be sufficient.. and since your model is so simple (just stay on the road essentially) and your dataset is so small, you could probably scale your images (and model) down really small for really fast predictions. The military actually trained a simple self driving model back in the 90s or something.. I think it wasnt even really a neural network.. just an SVM with something like 100x100 images as input. Maybe even smaller.
This would be a really cool project to have worked on.. although if it was me I probably would take it too far and half something like a route selector, where the current route segment is an input into the model.. or maybe use gps and give a vector delta from the desired location. Assuming this sidewalk is in google maps you might even be able to integrate that
A better approach might also be to make the model attempt to center the vehicle in the lane and collect data by going through phases of collection where you drive too close to the lane in either direction and then another phase where you center it. Then the model could say "im too far right" and you could have logic to correct.. kinda like you do for adjusting the wheel position with a feedback loop
Fantastic work, Austin! Really well done! 😃
Stay safe there with your family! 🖖😊
Thanks MC! I appreciate it!
Very cool, im impressed! If i had any of the tools you have id try to recreate this but on a full sized car
Brilliant project 🎉🎉🎉🎉🎉
Glad I found this
Favourite video so far!! 😁👏🏼 the smartest guy 🤓🥰💗
Smartest AND handsomest. 😊❤️
You are the real deal! 👊🏽
This was freaking amazing. Thank you!
Talk about leveling up. Awesome project. Well done.
Thank you very much!
Too much engineering ❤❤❤
30 dollars per camera 90 dollars in web cams for self driving. Also it would need a bit more work to make it go on other paths by processing all roads in real time. Amazing video, I really want more!!
nice project
Use wider angle cameras, you'll get a better more reliable result.
Also look into RTK navigation and integrate each sessions path into an averaged path as that's what all these self driving companies are doing.
The really special sauce is in real time navigation using computer vision fusion of RGB, Depth, Laser, Radar, and other sensors.
Good job. Yeah, it's easy to overlook something very simple and it throws everything off.
Good to see you again. Fantastic video
Thanks a lot!
You sir are dedicated and I congratulate your effort and what you made here!
Thanks so much!
Awesome project.
Can't wait to see the ai learn how to drive itself without any help from you.
Once you perfect this, you should program it into a home security patrol unit.
Maybe you can also arm it with an air soft rifle or gun, and or bear spray lol. That would insane! Lol.
Great job!
Bravo little engineer.
Turned out great! Was a pleasure to do the work for you.
Amazing!!
So cool! This guys a genius 🎉
Thanks Mike!
Hell yeah, that was amazing!!!!!!!!!
You're a genius!❤
Thanks Foxxyy 😎
@@austiwawa I've been following you since the alternator go kart project and I'm loving to see bigger and better projects like this one
@@foxxyytofficial I remember you commenting on the alternator videos! I really appreciate the support and I am happy that you enjoyed this project!
Fantastic work!
Thanks!
Nice work.
What about the Autonomous braking system, how you implemented it.
Great job
Perfect 🚗💻📷
Did you reconfigure the neural network for a single camera input or was it expecting 3 different cameras but receiving the same came at different times?
This too good well done for your achievement. Keep up up with experimentation!!!!!
Which python library did you use to interface/connect the Arduino to your main python program?
So sick, inspires me to try something similar of my own
Great job. Love the project. !!!! Some RC car hobbiest did Donkey Car using TensorFlow I believe - Good resource.
This is awesome! Have you considered adding pathfinding? It’d be super cool to be able to mark a point on a map and have the cart drive you there!
hi realdotty, have you become a flat earther yet?
Super cool project
Great project!
Thanks!
Frig yea brother
Awesome project!
Thank you!
Hi, great work there.
I am wondering what kind of PID controller did you use. I am looking for one too.
gosh, very cool! ❤
Thank you!
All hail the algorythum 👍👍👍
Instead of a switch to disengage, maybe use a force sensor to calculate how many nm should be applied to the wheel before it lets you take control. In the same manner, you can have the motor turn with to keep the force within a range.
Other thought is to use progressive memory mapping with predictive path to guestimate the corner angle and adjust the maximum speed before loss of traction.
My experience with this (specifically potentiometers and Arduino) Your measured potentiometer results may very as the potentiometer ages, and ... If voltage can change or spike - that will change the reading of the potentiometer. Its a frustrating dynamic to debug. I would recommend a digital encoder, stepper motor... Or a verification step to the potentiometer results. Keep up the good work - Love it!!!!
Needs ArduPilot
For your next project. Perhaps making a rocket land on it's tail?
Put your tech on a riding mower. Make it mow perfect lawns!
Did you get into 3d mapping or was it based on 2d segmentation?
Do you lose energy efficiency through all the micro-adjustments the software makes?
This is gonna be awesome
I love your mind and your essence/ Beautiful stuff my friend 🙂
Warm wishes from Perth, Western Australia.
Yeah!!!! I saw this video on both LinkedIn and Facebook but I was searching your TH-cam channel and finally got it. Really great job 🤩. Keep going, bro...
I hope Elon doesn't sue this guy! What a great project!
Thank you!
he would hire him@@austiwawa
This project has nothing to do with the software used in Tesla's so there's no problem.
@@mrfrog8502 I was being sarcastic
He wouldn't sue him he would hire him
Hi Austin, Do you have a GitHub repository for your Arduino code?
I have 3 0:24 Ackerman steering cars at 1/10 scale. ROS1 and. ROS2 versions with nvidia sbc’s. I also built a pixhawk controlled gps 1/10 scale with LiDAR avoidance. I can’t crack the nut on path planning outside. Issues gps gets near tree. I can’t effectively fuse camera data for sidewalk segmentation and gps. I like your approach of training on the path. I know enough that the devil is in the details even if you have the code.
best project ....
Why did you use 2 arduinos? nano has 3 timers on board which can handle everything you need - adc reading, uart receiving and generate pwm signal.
I’m curious if the car would be able to drive on other paths in this park which it has not been trained on
💪👏👏👏👏👏
I loved this project, well done
Hey austin, what a great project man. I am doing my masters in AI autonomous Electric cars and i can tell how tough this project is. Making Deep learning algo, electronics & mechanical parts too. Its astonishing that you have done this alone. May i know how much money and time it took? I'd love to have some insights
What did you major in as undergrad?
your a wizard
All the successful tries were with mostly shadows (the golden hour). You need more training in harsh lighting conditions to be able to handle the shadows.
Brilliant! I'm sure this only captures 1% of how hard this project must have been😅
May I ask, do you have an engineering/masters degree?
This is like 4 different masters
What version of FSD is this?
1e-1 😆