Building the FASTEST Self Driving RC Car
HTML-код
- Опубликовано: 6 апр 2023
- I built a self-driving RC Car that can follow racing lines and then tried to race it as fast as possible without crashing it. This time, it is WAY faster than anything you've seen in the previous video.
If you haven't seen the 1st video featuring this self-driving RC Car, you can check it out here: • I Made a Self Driving ...
Also, I'm looking for a Fall 2023 software internship, so if you're hiring, would love to get in touch. I built this entire self-driving car myself, imagine what I can do for your company 👀
Raceline Optimization Code: github.com/CL2-UWaterloo/Race...
Code ran on the RC Car: github.com/CL2-UWaterloo/f1te...
My notes:
- stevengong.co/notes/F1TENTH
- stevengong.co/notes/Raceline-...
Credits
Thank you to Venkat’s group at Clemson University for providing the F1TENTH vehicle: sites.google.com/view/armlab-...
My professor’s lab: yashpant.github.io/group/
----------
MY SOCIALS
🌐 Website: stevengong.co
✍️ Blog: blog.stevengong.co
📸 Instagram: / stevengongg
📱 Twitter: / stevengongg
☕ Buy me a coffee: ko-fi.com/stevengongg
----------
Subscribers at the time of uploading: 5,371
----------
ABOUT ME
I'm Steven, a university student currently studying Software Engineering at the University of Waterloo. I like to build cool things with code. I started this RUclips channel to share my love for learning and engineering with the world. I do everything ranging from electronics, CAD, control theory, programming, 3D printing, physics, and design.
My ultimate goal is to be able to make anything that I want. I'm working towards this by building increasingly difficult engineering projects that push the limits of my knowledge. Consider subscribing if you would like to follow my journey and learn alongside me as a student of the universe!
#stevengong #selfdrivingcar #fpvracing #rccar Развлечения
Thank you all for the support this past month, I really appreciate it! I got loads of exciting projects planned, so make sure to subscribe and turn on the notification bell so you don't miss out on my new videos :))
this is so cool. next up: add a ramp, see how far you can safely jump it inside and land it smoothly. math it out my man, you got it!
So glad you introduced racing lines!!
i am so glad that you are making evolution in racing robots !!! Love your memes in your video keep them in😂😂pls !!!
I have seen, how AI in trackmania, adjust it own track line to make fast lap, maybe try to train, your own ai in trackmania, and then move it to rc ? :)
There are some "driving style" issues with your programming. I'm a driving instructor, so if you want to make it even faster let me know.
i’d love to see this self driving car race against some hobbyists on an actual track
Exactly what I was thinking!!
That would be awesome lol
This is a thing or at least was
The class of car might be a problem. This type of RC truck races on carpet or dirt which includes jumps. Onroad (racing without jumps) cars are very light and low. Could easily find a pro driver or hobbyist to race against this but I imagine you'd need a handicap as the equipment on this thing will make it very top heavy by comparison.
@@TheFatAssCat I've seen videos of dirt RC buggy racing so I guess that would be the competition, but yeah this thing is outclassed as a platform already sadly
If you really want to hate fine tuning, you could even start introducing slip angle, as on lower grip surfaces like polished concrete it can be faster to be putting power down earlier into corners and letting the tail of the car kick out a little bit. It would require gyros (which could also help with the oscillations at high speeds) but could also increase corner entry and exit speeds a fair bit
i was thinking the same thing with powerslides as in some cases it increases speeds quite a bit
this is not just fine tuning this is transforming a mid-tier problem into an insane problem
What I love most about these types of videos is that its pretty impressive already, but there's always a way to improve it, and more often than not, its a heavily explored topic
@@lagule just use ML lol.
jokes aside, that seems like an "easy" problem to solve with ml, simulate the car, then use the pre-optimized program control of the car with some securities and let correct for the delta between simulation and reality. (by easy I mean it's only a couple months of work)
OH YEA SIDEWAYS
In the last few clips, the gear mesh sounds awfully tight. Also you can get better tires for it, so it does not slide as much. Final advice, the stock Traxxas servo sucks in keeping position imo, it's the first thing I advice people to change.
I'm new to programming, so no idea how that part works (yet). But been racing and working on rc cars for the last 15 years. Love these video's, gets me excited
I agree with this, i was hoping it would already be in the comments!
Yea that gear mesh was sounding spicy
Yea you definitely don’t need that much tread on such a smooth surface, braking and acceleration would be much better
Get an INJORA servo for a great price point performer. That aside, I suggest the mesh was not getting tighter but rather we’re hearing some tooth wear. He is bashing, after all.
If Steven ripped out the guts of the servo and replaced it with something that could output the steering torque and actual position, it would be possible to feed the controller a "force feedback" that could be used to "feel" the track as well as allow the servo control loop to be tuned dynamically through software.
To be fair to you, people have other senses to rely on when driving. You just have the LIDAR. People can feel when a car is losing grip or how hard they're accelerating or braking or how close they are to something. You've done a really great job with limited sensors on your vehicle.
Exactly, this problem is nowhere near as trivial as it might look, literally years of research have gone into driving simulators only to get the grip formulas right, apparently there are pretty good models for dry and high grip situations but when traction is lost is not yet solved (assetto corsa devs have videos talking about this in depth).
A pilot is getting A TON of information from G-Forces applied to their body, so that would be a great sensor to add to the car and formulas.
Absolutely epic! This motivates me to start a similar project
Go for it!
The $1600 LIDAR sensor motivates me not starting it 😄
@@Talaxianer could always go the musk method of 2 cameras for depth perception and pray your model doesn't floor it into a overturned box truck
@@StuckOnAFireHydrant everyone knows self driving needs LiDAR except Musk 🤣🤣🤣
@@Talaxianer use a lidar from robot vacuums. They are 150.
Dope project! I'll be on the lookout for follow ups.
An unwarranted thought: You can probably squeeze out more performance from your controller with something like a model predictive controller with constraints for following the racing line, vehicle dynamics and local obstacle avoidance in your lidar map
You might not even need to run the MPC in real time: Just use the existing optimizer with starting conditions close to the racing line, and linearize the necessary controller output around the optimum. Calculate and store the parameters for every point on the path, then use them to get an optimal linear controller at every point along the track.
@@Christian-mf4jt With slight deviations accumulating, eventually it would get out of sync with the pre computed inputs. There are hybrid approaches, where one MPC generates an upper velocity bound offline and a second MPC tries to reach that limit online.
@@VulpeculaJoy The missile knows where it is, thusly… ruclips.net/video/c94bALAgENM/видео.html …so yeah, a map if one can generate one.
As an engineer. I absolutely love this and I am inspired to make my own.
UWaterloo! Those new buildings have a lot more windows than the previous uh... 'aesthetic'. This is such a cool project. I remember trying to write the firmware for a fully autonomous drag racer one year in-between exams. It didn't go well! Your results are awesome!
This is probably one of the coolest projects I've seen showcased on youtube. Editing for the video is fantastic too! Keep it coming!
Maybe it's worth making a "safety square" around the car so that it avoids obstacles in priority over the trajectory of the track
I'm making a racing game, your notes are a LIFESAVER my man. Love the videos, I'll be following and not just to scoop more insight.
If the government had been able to understand how fascinating this is, they would no doubt have taxed it. Thanks a lot for the ride!
You should totally make a drone that follows it around like a third person view racing game
Stoopid
RF tag babeeeee!
You don't need a drone, just a 360 camera.
Also! A great addition would be slick tires for more grip on this smooth floor
As someone who works in the field of autonomous vehicles, I have to say you did a banger of a job with the localization/mapping, and programming the annotations for the RC car to be able to race around the hallways like a pro. I can't wait to see it do more though, like detecting and avoiding obstacles.
For those floors I’d recommend slicks they have a higher contact patch than gridded tyres although slicks aren’t great for anything other than smooth surfaces. Also reducing the sensitivity or speed of steering to reduce instability
Also, wiping tires down with simple green adds some tack to the rubber.
Gotta go fast
Totally my kind of project!! Awesome stuff man
Fabulous job on both the engineering and the video! Thanks for posting it!
Congrats!!! First thing, in my opinion, would have been to change the stock tires. There are some that are so much grippier then those, and would make the car feel much more precise.
Steven, I'm wondering if the LIDAR is doing anything during your speed runs, or if it's just used to help build the map? It seems to me you are doing autonomous driving via a sort of multi-stage process where the vehicle doesn't have any capacity to respond to obstacles, changing track conditions, changing internal mechanical (like gears eroding or tire wear.) Don't get me wrong, it *STILL* looks damned hard and we're enjoying the details you're sharing! I think it might be helpful to spell out for the viewers that this is (self)-mapped autonomous rather than real-time autonomous driving.
Also, if that LIDAR is a snap-on module and isn't doing anything during racing, maybe pull it off and save your $1500. :)
Please let me know if I've misinterpreted your process. It looks super fun either way. Glad you had some friends to help out with the 2am laps.
The car is actually using the LiDAR sensor to localize itself as its racing, which is why it's needed. The code for that is from this repository: github.com/f1tenth/particle_filter
You are right that it doesn't have any obstacle avoidance or can adapt to changing track conditions, so this is definitely something that I want to work on in the near future :)) one step at a time is my focus
If the car was only following a preset line and not the lidar data to define it's position along the circuit, any slipping would offset it from the planned line and very quickly it would be on a collision course with an obstacle.
@@stevengongg this would be great to see. Specifically, how narrow of a gap that hasn't previously been mapped can you get the car to drive through at speed! i.e. you add a few barriers around the course that the car needs to drive between in order to complete the loop. You are totally right though - start simple first. Good luck
@@stevengongg at least implement some emergency braking if it's about to go into something or if it's getting out of control. later on you can turn that into collision avoidance based on previous knowledge of the area.
@@stevengongg REALLY COOL PROJECT! I'm not a racer, engineer, or coder, but I thought a cool idea, using what you presented, would be comparing optimal drive lines on existing tracks.
you could take an existing track with Ariel photos, sometimes they have track data, and compare your code for the optimal drive line vs center line vs recommended lines from the different race teams.
you could hop on that AI learning train and see if an AI can spit out anything that beats your program or existing lines for the track.
if you really wanted, you could go down the rabbit hole and start scaling the rc car to comparable race cars that have driven on the track and you can build the track at scale (somewhere idk? space would be an issue)
I love this video.. I assigned one the interns that we have in my company to modify an RC car (looks pretty similar like yours!) and make it autonomous.. that was two years ago... Project was abandoned due to other commitments... But the idea of modifying RC cars or anything RC and make it smart is the best approach..
Seeing the progression of the build and the progression of his talent in editing makes this series a must watch
Man this is such a great content! Im currently doing the same project with a go-kart using Stereo Visual SLAM. Good luck bro!
omggg lucky! i wanna do the same with a gokart, but those things are EXPENSIVE
I think you need an accelerometer to determine the G forces in corners, so you can adjust the steering and acceleration to prevent under/oversteer. Nice results by the way!
Your first video got me interested.
Your follow up got me subbed.
Keep it up G!
Really cool video! Congrats!
Your videos are amazing! Nice to know how you manage to get over all the problems you found and all the solutions you made for this. Do you know the existance of the AWS DeepRacer League? It's more like image-processing more than LiDAR (also used for the obstacle racing) but you can find hours of fun out there
So hilarious watching robot vids lmao. I remember building a mapping robot when i studied, we only had ultrasonic sensors, which were garbage in comparison to lidar. But still nice to see your robot crash randomly :), just like ours did
Ultrasonic sensors might have mapped the glass sections more effectively
Really nice video! You earned a sub :)
This is really awesome!
OMG I LOVE your videos man :D
i noticed in your optimization parameters you didn't include the car mass/inertia, that can help reduce the unplanned overshoots (if your PID is optimal anyways)
yeah it feels like there is a bunch of low hanging fruit that could improve the overall performance quite a bit, I understand they might not want to sink insane amounts of time and money on it though
Man, you have a great channel, I like to witness interesting and non-trivial ideas being brought to life! Keep it up like this and pretty soon you'll gonna be big!
This was so cool to watch! Took me back to my late night mechatronics days, in the lab till 6AM trying to figure out why my motors where going the wrong way and replacing H-Bridges haha!
Dude! Do more of this! I love it!!!
Wow, that is so cool. I built something similar 10 years ago after I took a class from Sabastian Thrun from the Google Self driving car project. I couldn't afford lidar back then, the cheapest I could find was 30,000 dollars so I'm excited to see that there is now a semi-affordable lidar unit. Way to go. Keep going! Here is the video of the one I built back then. Yes, I'm using an Iphone to get a compass heading and a GPS location signal. ruclips.net/video/sPwyYF9dGX0/видео.html
Bro u basically copied this entire thing from the MIT 6.141 class on robotics (now titled 6.4200). Please mention that.
Great Video and really cool data representation! Keep it up! Greetings from Switzerland!
Amazing project dude! I'm in engineering and am still blown away you made this entire thing! Love your editing style too, very entertaining!
This is definitely better than tesla
Extremely impressive! Great job.
This is awesome, thanks so much for sharing. It’s inspiring me as I begin my journey into robotics :)
This might be the best RUclips content I've ever seen. Thank you, so much for making it
I like your channel man! I went back and watched some of your other stuff too. Glad you're getting some recognition. Hope your stuff keeps growing.
By the way, your website is full of great resources. Thank you for sharing!
That's really impressive!! Good work!! I will be definitely taking a look at your code
Even the victory donuts is on point. Bravo
I'm glad I found your video. Loved it! I hope your professors do as well.
Great video, reminds me so much of being back in EE school.
Absolutely awesome dude, great job! new subscriber. Greetings from Argentina!!
Fraking outstanding! 😍
2:16 I liked the Bionicle reference, when you showed Mata Nui )
Love it. Great stuff
oh my god this is so good! this was my little dream when i was at school! i can't wait for the next video!
Amazing project, excellent work friends!❤🎉😊
Super cool! Would love to do something like that on a micro scale at home. Looks like one could spend A LOT of time with a project like this. Thaks for sharing and great work!
the editing really completes the video
Hello Steven. I just wanted to let you know that I watched your first video about Autonomous RC car, and it was absolutely amazing. Haven't been able to get the idea out of my head, so I just had to make something similar on my own. I am a robotics engeneer student at 4th semester and these are like spot on the things we work with in the projects. Really enjoying the content!
The sound of the car accelerating and decelerating on the final track is so smooth and satisfying.
The editing in this video is top tier
Michael Reeves inspiration and Initial D references. 10/10, subscribed
Absolutely insane! You got my subscription!
Really cool project. Very nice that you shared the code. Great job.
Dayummn! Absolutly amazing project 🔥🔥
Nice job and good software making!
AWESOME STEVEN!!!!! YOU ARE THE BEST 🎉
I had recently watched your last autonomous car video and I’m happy to see another so soon!
Keep it up, you’re gonna get big. Really impressive video!
Steven how are you!… I’m only 40 seconds into the intro and had to LIKE 👍 your video 😊. I love this level of ingenuity and I also enjoy fabricating and building custom rc parts and components that have not yet been done before or just not seen by many. This video hits home base! Okay now back to the video😎 stay awesome 🫵🧠.
This is a super cool video! I can't believe you don't have more subs but I'm sure that's going to change.
Super cool video keep it up!
very exciting vdo !
Can't wait to see the next episode
Thank for sharing your work 👍
This is awesome! This is the kind of stuff that makes me excited to learn 😊
i loved this project great job!, and you should prank people saying its running away from maybe its gonna be fun if u do.
I love your work guys 🎉
Nice Steven!!!
Nice project! And thanks for the detailed yet understandable explanations.🙂
Love the eurobeat in the background
This is super cool! Great work
Amazing video! So interesting
The Reeves-style transition killed me - keep it up!
This is pretty cool to watch.
brilliant editing hahaa that Smith slap was gold! new sub
A brilliant and inspiring project expertly portrayed and with great humour! Well done indeed!
8:38 Curling with autonomous rocks.
Cool project, fun to watch!
Nice project, good editing, entertaining : seems perfect for me !
U actually made such a video interesting. 👏 congrats
Amazinggggg Keep Going Man ❤🔥
Awesome project and video! Personally I think it'd be cool to see a little more detail on your racing line algorithm. Keep up the good work!
bro i thought you would at least have 500k subs
this production quality is through the roof
As a fan of both F1 and autonomous vehicles, this was a fun watch, nice work Steven!
it's very cool and interesting. obstacle avoidance will be great to add in future. good luck!
Very nice video! With code too! Aspiring engineers would really love your content
Cheers! I really like what you are doing and I wish you all the best.
While I was watching the video I noticed something which reminded me of some car physics.
Cars tend to oversteer/understeer if they are RWD/FWD. Also a car's behavior changes when accelerating/breaking since you have a mass shift.
This can affect your curve and time.
I AM SO MOTIVATED RN
Learning, inspiring and entertaining. Amazing video and project! Engineering, coding and video making skills
Well done, awsome project! The technic to use the Euclidean distance transfom on the binary image from a slam generated image is smart and the result is super impressive! The edit of the video is very good. I got so scared for the Nvidia board and the LIDAR tho, but you passed to not destroy them, congratulation xD
Dude this is so sick! ⚡️🔥
BRO THAT'S AWESOME