
Suiron – Machine Learning for RC Cars - adamnemecek
https://github.com/kendricktan/suiron/
======
cmontella
During my graduate studies I did something similar [1]. We modified stock RC
cars and put a Kinect-like sensor on top, and then raced them around a track.
In terms of reaction time, the fastest car was going 128 MPH at full scale.

The car is mostly open source, from the parts list, assembly instructions,
fabrication files, and software. The only wrinkle is that we used Matlab,
because that's what we use in our lab, but really you can use anything you
like. ROS and open CV would be a good combo.

Here is the video of the "final exam" for the course:
[https://www.youtube.com/watch?v=jwRjv3D7lGo](https://www.youtube.com/watch?v=jwRjv3D7lGo)

If you watch, you can see the local planner had to be a little more robust
than just a lane follower, since there was significant "clutter" at various
points in the track. So the students had to have some logic in there that
filtered out that noise and kept the car in its designated lane.

[1]:
[http://vader.cse.lehigh.edu/roscar/](http://vader.cse.lehigh.edu/roscar/)

------
amg90
There is a student competition in Germany for self-driving RC cars called
Carolo Cup, taking place every year since 2008:

[https://wiki.ifr.ing.tu-bs.de/carolocup/news](https://wiki.ifr.ing.tu-
bs.de/carolocup/news)

It requires navigating a track without prior map information, including
stopping at intersections, dealing with obstacles and parallel parking.

Here is a snippet from the 2016 competition:
[https://youtu.be/MQTc22Jetl8?t=10644](https://youtu.be/MQTc22Jetl8?t=10644)

Obstacle run at:
[https://youtu.be/MQTc22Jetl8?t=10885](https://youtu.be/MQTc22Jetl8?t=10885)

~~~
akavel
At the linked _t_ it's fairly boring, but it gets much more interesting a few
minutes later, when there are obstacles positioned on the road, and some of
them moving!... Also the next team's car makes much more sometimes hilarious
errors ;) while OTOH risking much higher speed :)

------
adamnemecek
At some point in the future, we'll have self-driving RC cars doing Google
Street View cars' work. Like 99% of the world isn't car accessible but is
totally RC car accessible. Isn't this actually kind of possible now? Or what
exactly are we missing?

Apparently Google Street View had 20 PB of data in 2012. It's probably like 50
PB these days. I'm not sure how much data it could take to map out the whole
world.

~~~
J-dawg
When this time comes, the problem will be sabotage/theft. I think this will be
a problem with all autonomous vehicle technologies, and it's often neglected
in conversations on the subject.

Imagine you get to the point of perfectly autonomous trucks. They are designed
to never harm a human, so they can be stopped dead by somebody simply standing
in the road (while his accomplices unload the cargo).

When you need to hire a security guard to accompany every truck, the cost
savings of self-driving vehicles don't look so good.

~~~
azov
How are we protecting human-driven trucks right now?

They are equally easy to stop (simply standing in the road works just as well)
and are even easier to take control of (one can always put a gun to driver's
head and ask him to hand over the keys - thieves won't be able to pull this
trick on a robot).

~~~
J-dawg
This is a massive over-simplification. Imagine a human driver encounters
somebody standing in the road on an otherwise empty highway.

Experience will tell him how much to slow down, whether to swerve around the
obstacle, edge past slowly or stop altogether. All the time he'll be making
judgements based on the appearance of the person, the surroundings, etc.

If the person seems malicious he knows just how fast to drive to intimidate
them into getting out of the way, without undue risk. He doesn't want to kill
anyone, even if they're trying to rob him.

Now imagine encoding all of that into an algorithm. I'm not saying it's
impossible, but it's a huge challenge.

Also bear in mind that autonomous vehicles will probably err very much on the
side of caution when it comes to pedestrian safety.

------
iqster
Heh .. me too! I did it as a hobby project over the holidays. Loads of fun. A
few people suggested I write up my experience. Ended up giving a paper at Sci
Py 2012:

[https://www.youtube.com/watch?v=8d8d_3-8ae4](https://www.youtube.com/watch?v=8d8d_3-8ae4)

You can use a search engine to find the paper if you are interested.

------
faragon
Self-driving RC cars races, anyone? Or, why not, self-driving car races.
Imagine F1 based in IA, without the limits because of human drivers...

------
joeblau
This is awesome! Great way to get started with self driving at a micro level.
I also really love the emoji in the commit messages :).

~~~
jabelone
Sweet thanks! It's a bit safer than modding my actual car ;) Kendrick does
love his unicode.

------
jabelone
I've done up a detailed write up on request of some people. Checkout it out
here: [http://jabelone.com.au/blog/make-autonomous-car-code-
include...](http://jabelone.com.au/blog/make-autonomous-car-code-included/)

------
ajdlinux
Kendrick and Jaimyn recently gave a talk about this at a student conference
([https://compcon.net.au](https://compcon.net.au)) - we're working on getting
video of their talk up soon.

~~~
jabelone
Thanks for the mention! :) In the mean time checkout the write up on my blog.
[http://jabelone.com.au/blog/make-autonomous-car-code-
include...](http://jabelone.com.au/blog/make-autonomous-car-code-included/)

------
tehlike
This could be a nice project to implement on ros. You could even plug in
something like rrt :)

------
milankragujevic
Now what we need are quadcopters with OpenCV and LTE modems.

~~~
jabelone
Already done :P

My friends over at [http://canberrauav.org.au](http://canberrauav.org.au) did
something similar in the UAV Outback Challenge this year. They had multiple 3G
(no LTE in the area unfortunately) links plus a telemetry radio to control
their quadplane. It used OpenCV and a clever algorithm to spot a stranded bush
walker.

