I Made a Self Driving FPV RC Car

Поделиться
HTML-код
  • Опубликовано: 30 янв 2025

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

  • @Teleportcamera
    @Teleportcamera Год назад +122

    02:12 you perfectly captured and displayed that feeling that a programmer feels when his super complicated code actually works

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

      Code Monkey get up get coffee
      Code Monkey go to job
      Code Monkey have boring meeting
      With boring manager Rob
      Rob say Code Monkey very dilligent
      But his output stink
      His code not “functional” or “elegant”
      What do Code Monkey think?
      Code Monkey think maybe manager want to write god damned login page himself
      Code Monkey not say it out loud
      Code Monkey not crazy, just proud
      Code Monkey like Fritos
      Code Monkey like Tab and Mountain Dew
      Code Monkey very simple man
      With big warm fuzzy secret heart:
      Code Monkey like you
      Code Monkey hang around at front desk
      Tell you sweater look nice
      Code Monkey offer buy you soda
      Bring you cup, bring you ice
      You say no thank you for the soda cause
      Soda make you fat
      Anyway you busy with the telephone
      No time for chat
      Code Monkey have long walk back to cubicle he sit down pretend to work
      Code Monkey not thinking so straight
      Code Monkey not feeling so great
      Code Monkey like Fritos
      Code Monkey like Tab and Mountain Dew
      Code Monkey very simple man
      With big warm fuzzy secret heart:
      Code Monkey like you
      Code Monkey like you a lot
      Code Monkey have every reason
      To get out this place
      Code Monkey just keep on working
      See your soft pretty face
      Much rather wake up, eat a coffee cake
      Take bath, take nap
      This job “fulfilling in creative way”
      Such a load of crap
      Code Monkey think someday he have everything even pretty girl like you
      Code Monkey just waiting for now
      Code Monkey say someday, somehow
      Code Monkey like Fritos
      Code Monkey like Tab and Mountain Dew
      Code Monkey very simple man
      With big warm fuzzy secret heart:
      Code Monkey like you
      ^ Teenage me programming all night listening to this on repeat making proxy hacks using .NET to abuse MMOS and make $$$$ ^ xD
      Oh the early 2000s ♥

    • @lenn15
      @lenn15 Год назад +4

      I'm a full time programmer and I'm this excited even when easy code works that didn't work for a long time bc I was stupid.

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

      Facts

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

      I just got this feeling a minute ago. Always a very satisfying feeling

  • @DVDplayerz
    @DVDplayerz Год назад +308

    I like the idea of "Quiet study space" with an RC car zooming by blasting a laser and smashing into most walls 7:10

    • @chips7049
      @chips7049 Год назад +7

      bro the rc car is ding dong diching💀💀

    • @punchyscyllarus565
      @punchyscyllarus565 Год назад +4

      "stephen please"

    • @iftekharuddin
      @iftekharuddin Год назад +1

      lmao

    • @SianaGearz
      @SianaGearz Год назад +3

      Well that's perfect because people in that space can't complain, because they have to stay silent in there.

  • @fmobus
    @fmobus Год назад +78

    The RC car knows where it is at all times. It knows this because it knows where it isn't. By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), it obtains a difference, or deviation. The guidance subsystem uses deviations to generate corrective commands to drive the RC car from a position where it is to a position where it isn't, and arriving at a position where it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position that it was, is now the position that it isn't.

  • @blurri_10
    @blurri_10 Год назад +2

    04:10 nah, it's warming up its tires for the actual laps lmfao

  • @hippopotamus86
    @hippopotamus86 Год назад +4

    6:00, Love that the clock is just in time seek mode where it turns like that until it hits the correct time (radio controlled). Albeit sped up a bit.

  • @nathanaelvance4046
    @nathanaelvance4046 Год назад +15

    Hey, quick suggestion! I noticed the vehicle was tending to take corners too fast, resulting in it having to realign itself back onto the determined path on the next straight. To improve efficiency on your turns I would add a deceleration/ braking element to that portion of the path. By determining the maximum velocity your vehicle can take that 180 degree turn at without skidding or flipping (Ekin, centrifugal < Fm, gravitational Force on vehicle?) then you can create a brake slope starting at the point of highest centrifugal force (1/4 PI of turn circle, as the 180 degree turn is a 1/2 PI and you want the center of this section as it is the outer most point of the turn) and then setting up brake points along the run-up to the turn that will reach your target speed (the maximum achievable corner speed) by the time the car hits that outer most point in the turn. Then you could even reverse this brake slope on the tail end of the turn into an acceleration gradient returning the vehicle to it’s top speed for the straightaway.
    Just a thought though, I have no experience in any of this and I don’t know if this is even a feasible solution, just thought I’d throw the idea out there in case it’s worth anything!

  • @MG-pw7jp
    @MG-pw7jp Год назад +13

    As a software development student, I can confirm this guy is leagues ahead of a normal programmer.

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

    When you said LIDAR, I thought you said lighter, and immediately I imagined a self driving tank with a flamethrower, haha. I loved your video!
    With this kind of epic DIY videos, you learn a lot about something you'd likely never learn otherwise and I'm sure it gave you some mad respect for the Tesla FSD developers and what all they do!

  • @skaramicke
    @skaramicke Год назад +10

    That's awesome! Now make it want to explore unseen parts of the map so it can map whole buildings!

  • @dylanopperman6037
    @dylanopperman6037 Год назад +156

    Would love to see how you built and programmed everything.

    • @hasanthesyrian_
      @hasanthesyrian_ Год назад +24

      The vehicle is prebuilt from what I understood.
      It includes a LiDAR scanner and an NVIDIA Jetson Nano microprocessor mounted on it from what I can see.
      The code is also in the description.

    • @velotome7205
      @velotome7205 Год назад +2

      From what we can see in the video, he used ROS and some of its software

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

      @@hasanthesyrian_ looks like jetson xavier nx

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

      I don't want to see that

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

    Did very similar thing with a flying drone for a competition. Covid happened and before the next time, the challenge was removed. Didn't even get to test out my latest ideas because I graduated and left the city. This video brought back the itch.

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

    Finally something, I'd been longin' for long... I can't jus' thank ya enough!

  • @AerialWaviator
    @AerialWaviator Год назад +2

    Great insights into how challenging it is to make an RC car automatous.
    I noticed is at higher speeds the car seemed to overshoot it’s intended path when cornering. Not sure if this a latency between the car knowing it’s position and when steering response is applied, or something else (like a slippery floor). An easy fix is to base the speed of the car on how straight the upcoming path is,
    this way it will slow as an expected curve in its path tightens. This should then allow for higher top speed in the straighter sections of the course. Thus an overall faster speed on laps. ;)
    Look forward to when having multiple cars racing, and all the improvements being worked on!

    • @stevengongg
      @stevengongg  Год назад +1

      yea, it's the slippery floor. Working on a 2nd video using racing lines, hoping to release it soon!

  • @olleolio3155
    @olleolio3155 Год назад +34

    This video is really well made, keep going like this and you’ll have a million subscribers in no time. Awesome project!

    • @christopherbryan7470
      @christopherbryan7470 Год назад +1

      He had subscribers in the 2k range and I just refreshed and it’s now in the 3k range, his video quality is superb, it’s just the timing between videos holding him back

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

      @@christopherbryan7470 yep, and now, a week later it's 8.2K subs. A thousand per day, it's really nice to see! Good going, Steven! Also good editing.

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

      7 days later, he’s almost at 9k

  • @VictorCampos87
    @VictorCampos87 Год назад +1

    1:15 You just captured in film a phenomena that happens with every developer in this planet 🤣

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

    Some people build projects in garages.
    This guy is next level! He builds them in toilets! Bravo!

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

    Great work! And love the Initial D music at the end, haha.

  • @BeeeHonest
    @BeeeHonest Год назад +3

    You are brilliant. Keep up the great work! PS love your recording "studio"!

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

    I have the same assignment for final project in mobile robots last semester. Great job!

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

    Hello, amazing video, congratulations! I'm from Brazil, I work in a research center, I'm starting an auto AGV project and your video was recommended to me on YT. I continue to follow your work. success

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

    Love when RUclips suggests me a UW project on my homepage

  • @thetastefultoastie6077
    @thetastefultoastie6077 Год назад +8

    Compute the sum of the curvature of the N points ahead of the vehicle.
    Perhaps extend the lookahead by a factor of the current velocity.
    Then use the result as an input to a throttle PID feedback control loop.
    Low curvature should result in a high target velocity, and high curvature in a low target velocity.
    This should make the vehicle decelerate sharply in anticipation of upcoming corners and keep a tighter racing line.
    I would compute the curvature like this:
    let summed_angle be 0
    loop 0...N
    let vector1 be point[index + 1] - point[index]
    let vector2 be point[index + 2] - point[index]
    normalize vector1
    normalize vector2
    let cos_angle be vector1 dot vector2
    let angle be inverse cosine of cos_angle
    let summed_angle be summed_angle + angle
    end loop
    return summed_angle

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

    Impressive! Cool project SG!

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

    Bruh this channel gonna be huge!!

  • @NopeSecret
    @NopeSecret Год назад +1

    So essentially you design a vehicle that get inputs which are used to build a virtual environment. You then use this virtual environment to run simulations to train a model which you can apply to your vehicle and it will use the sensors and input methods to rebuild the virtual training environment at runtime allowing it to essentially operate in the real world.
    That seems like one of the most exciting industries to be getting into especially as someone interested in deep space exploration as AI seems to be the future to long term multi generation exploration missions which are going to become a thing in the not so distant future as we start to apply them to explore the remote ice moons in our solar system like Europa.

  • @ahmadhasan3258
    @ahmadhasan3258 Год назад +1

    Sometimes when dealing with Ros, one thinks it might be easier to remake your own ros than deal with the shenanigans of ROS. But we are all lazy so we deal with it

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

    "if the surface was to change , u have to do tuning from start"
    Sun tzu the art of war

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

    I love the way hes like s dog getting riled up for a sprinty time

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

    Jumps for alternate routes would be cool in a race. All you need is accel/decel to manage orientation. Accelerate brings the front end up, breaking lowers the nose so you can land flat.

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

    rc and programming? heck yeah!!
    as a huge rc enthusiast, i love this! eventually I want to do the same with my rc car.

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

    2:52 This music reminded me the FVDisco lol. Nice video btw.

  • @DonjiKong
    @DonjiKong Год назад +4

    For part 2, please make both of them update their positions on the same minimap

  • @jiegao3591
    @jiegao3591 Год назад +1

    the "I still wanted to give you guys a taste of how fast it could go" part reminded me of when I pressed W on my laptop to test the manual driving on my WRO car and it flew into a wall and turned itself off

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

    The pause on Soham's face killed me lmaoo

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

    Cant wait to see ur self driving racers!

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

    Very nice!
    This is a perfect project for Machine Learning. There are youtube videos where ML gets used for race cars in a 2D video game that teaches itself how to drive.
    Your car can steer itself this is very cool. But it can teach itself how to steer itself. Just an idea for you.

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

    even with its super fast time to top speed, it's leave easily one second in those corners. i think it can do those flat out with an actual racing line

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

    Great man! Great efforts.. like tremendous efforts!!

  • @-Volvetus
    @-Volvetus Год назад +1

    def needs more views

  • @arthur.v.babayan
    @arthur.v.babayan Год назад +1

    Can you tell me about programming language and interface that you use for controlling car ?!
    Good job !!!

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

    It's freakin awesome dude!

  • @mistakek
    @mistakek Год назад +1

    Thicker shock oils and firmer springs would make it handle better on a smoother surface as that's probably setup for offroad surface. More tweaking to increase some steering would help also. You can tune the car to work better and go around for a faster track time.

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

    6:10 with all these yellow lights, the car is definitely running in the backrooms

  • @PcParamedics868
    @PcParamedics868 Год назад +19

    well done... can't wait for your next video... keep up the great work.

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

    Imagine, how awesome be, if you make a video series to follow and reproduce the entire process in to different robots.

  • @PhilippHager-dm5yt
    @PhilippHager-dm5yt Год назад +8

    This would be a great Setup for an AI-Based Driving FPV RC Car. Use a neural Network for the Controller-Points with Attributes like Speed, Brakes and Steering and let it develop with small changes in the Attributes to the wich Evolutionstage gets the best Laptime...

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

    as its a smooth floor and you had eurobeat playing, try tuning your program so the vehicle drifts around the corners!

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

    Very nice video and thanks for showing the hallways of UW. It has been some years since I last went there. 👍

  • @QuesoDePalo
    @QuesoDePalo Год назад +1

    Reminds me of my first big EE project on a team at DigiPen in 2003-2004!

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

    Banger video the simple - error that took a month to correct hit deep into my PTSD xD

  • @little-chad
    @little-chad Год назад +1

    Damn Rice is that you?

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

    what a great project using rc cars

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

    YES steven so cool. Such role model

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

    This was so fun to watch. Thank you for the inspiration! By the way, bathrooms, lol

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

    very good topic. not many people share this automated mapping ros stuff

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

    The Eurobeat was just 👌

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

    very awesome speed montage and video!
    you can go way faster by teaching it to break early, then accelerate once it passes the apex of each turn/corner. maintain the momentum

  • @Eloiseau
    @Eloiseau 12 дней назад

    5:42 I think 5 RViz icons will make it works even better

  • @HaloWolf102
    @HaloWolf102 Год назад +1

    1 letter can cause 1 month of delay. Really makes you appreciate programmers.

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

    Bro this looks cool Imma try too

  • @CenReaperYT.
    @CenReaperYT. Год назад

    You need to count the torque of the steering system and time required to set wheels at a certain angle

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

    Nice video. I'm waiting for the next one

  • @-.-..._...-.-
    @-.-..._...-.- Год назад +2

    HAHAHAHA, one character fixes after a month are always the funniest

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

    Just one thing I didn't understand....
    I know you specifically noted that bathrooms are the best place to record RUclips videos but I still can't wrap my head around it. 😂

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

    WOW Just keep up the good work bro!!!!

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

    loved the whole videos, can't wait for more

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

    You are Awesome Guy

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

    This is the most intelligent video ive ever seen

  • @TechTipsUSA
    @TechTipsUSA Год назад +1

    Could you put a bumper with pressure sensors on the car and tune your algorithm to be More or less carful in a turn depending on if it hit the wall or not?

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

    I think you have some roll-induced steer happening. You can fix this by modifying the steering arms a bit.

  • @vishwaskumar2508
    @vishwaskumar2508 Год назад +2

    0:13 Literally every programmer in the world

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

    It's braking to compensate during a return when it should probably slow down before the turn and regain speed coming out.

  • @MJ46.91
    @MJ46.91 Год назад

    the car knows where it is because it knows where it isn't

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

    Great project and video!

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

    I really think we need more concrete walls and maybe even throw in some cement ceilings too. You're gonna want more REVERB! Lol. For real though, great job on the autonomous shenanigans!

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

    Favorite RUclipsr is back!!

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

    Great vid, immediate subscription

  • @BS-my2ky
    @BS-my2ky Год назад

    you might want to check out dynamic programming. it's a classic CS algo for this.

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

    1:49 we all know that feeling, mate ;)

  • @MJ46.91
    @MJ46.91 Год назад

    if you handle breaking properly and factor it in your algorithm, you can get better results

  • @6lack5ushi
    @6lack5ushi Год назад

    (-) I felt your pain there! imagine a zero pixel space! I spent weeks refactoring code with the same space!!!!

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

    Amazing robocar! Excellent work!😃👍

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

    man that is super dope

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

    wow this is really cool bro !!!!

  • @liumrs7725
    @liumrs7725 Год назад +1

    if you only the lidar sensor,I suggestion you can try this algorithm named hector

  • @shadow.banned
    @shadow.banned Год назад

    _SLAM_
    One single "-" character, lol.
    In racing, it helps to brake early, then power the gas out and into corners.

  • @evren.builds
    @evren.builds Год назад

    Thanks for sharing the code

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

    I hate to say it it would've gone twice as fast if you wanna put a little soda on the tires love the video

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

    It was indeed very satisfying to watch.

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

    Congratulations, it was a great job!!! Try to improve the racing line because in my opinion the car could cut corners better.

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

    Wow, that's awesome. You should develop one for the outdoors to withstand the elements aka a home security system. If it's possible. Great job btw.

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

    Freaking awesome!

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

    This is cool! Subscribed.

  • @chaicracker
    @chaicracker Год назад +1

    Epic!

  • @curiouscatlabincgetsworrie7755

    "All we need to do is ... " :D
    Do I smell famous last words?

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

    Lol, an errant negative sign. 😆 Sounds like a unit test or few would have helped!

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

    more vid about this project please

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

    Time to upgrade your Ubuntu, 18.04 is EOL. :) Great work on the car!

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

    as a developer is common for us to spend whole weekends or nights just finding a silly mistake like a negative sign. Try GPT to fix the bug by telling what you expect and what your working code do. It literally saved me days of my life. Awesome project.. now lets see AI racing!!!! 🚓🚗

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

    I wonder if some missiles have a system in them that looks at the terrain and compares it to a map and can tell where it is and guide itself without the help of gps or laser guidance. It would be cool to have a drone that could do that so that no amount of signal jamming could stop it from flying it's intended path. Basically, the same way humans or dogs or horses get to where they're going when they're familiar with the area.

    • @LimitedWard
      @LimitedWard Год назад +1

      The missile knows where it is at all times. It knows this because it knows where it isn't. By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), it obtains a difference, or deviation. The guidance subsystem uses deviations to generate corrective commands to drive the missile from a position where it is to a position where it isn't, and arriving at a position where it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position that it was, is now the position that it isn't.
      In the event that the position that it is in is not the position that it wasn't, the system has acquired a variation, the variation being the difference between where the missile is, and where it wasn't. If variation is considered to be a significant factor, it too may be corrected by the GEA. However, the missile must also know where it was.
      The missile guidance computer scenario works as follows. Because a variation has modified some of the information the missile has obtained, it is not sure just where it is. However, it is sure where it isn't, within reason, and it knows where it was. It now subtracts where it should be from where it wasn't, or vice-versa, and by differentiating this from the algebraic sum of where it shouldn't be, and where it was, it is able to obtain the deviation and its variation, which is called error.