
Autonomous Mini Rally Car Teaches Itself to Powerslide - Osiris30
http://spectrum.ieee.org/cars-that-think/transportation/self-driving/autonomous-mini-rally-car-teaches-itself-to-powerslide
======
gear54rus
Oh wow. Everything from watching end result to the tech exposure is so very-
well done here. You just have to appreciate the way they told us about this,
it has everything:

\- Source

\- H/W specs

\- Basic docs, build instructions

\- Video of success

\- Video of failure

\- Side-by-side simulation and outcome

Makes it easy to understand even for someone who isn't well-versed in how such
systems operate and what they're made of.

~~~
vanderZwan
And to top it off, a great selection of RSS feeds!

[http://spectrum.ieee.org/static/rss](http://spectrum.ieee.org/static/rss)

------
bwilliams18
For those who haven't heard, Formula E, the electric racing series is putting
together a support race called RoboRace.
[http://roborace.com/](http://roborace.com/) All autonomously driven cars
designed for exactly that purpose. It should be exciting.

~~~
robotmlg
When they announced RoboRace, I was fully hyped, but lately I've grown
skeptical. The season is supposed to start in October, but they just announced
that the cars would be powered by NVidia chips in April, and they still
haven't announced the 10 participating teams, with less than 5 months to go...

------
jaytaylor
Pretty cool that they have the source code up on github:
[https://github.com/AutoRally/autorally](https://github.com/AutoRally/autorally)

Looks like it's mostly C++, Python, and Arduino.

I wish I could find where the power slide learning algorithm is, but browsing
around I'm not sure where that portion is in the project.

~~~
SolarNet
It's a learning system, power sliding is a result of the entirety of it's
learning.

------
Aelinsaar
There's something exciting about watching that, and knowing that it was
software figuring that out, and not a human. Even more exciting is that sort
of offhanded hope at the end of the article, because yeah, we're eventually
going to see a period when human and machine drivers compete. I don't know how
long that period will last; maybe it will be like the history of humans vs
computers at chess, or maybe it will be more like Go.

~~~
codyb
I'd imagine it more to be like chess. Physical manuevering seems to me to be
the type of problem a tireless computer with 360 degrees of sensors would be
perfect at optimizing for. Especially combined with the incredible amount of
data that could be generated by almost any fraction of the current vehicular
use world wide. Very cool stuff. It's very exciting. Watching that rally car
go was really cool.

~~~
EGreg
Once robotz are better at driving, running, getting over obstacles and
thinking than humans, it might be pretty scary if someone sends a swarm of
relentless robots after you. And of course they'd be be far stronger and
equipped with ways to easily incapacitate you.

Then we'd have AI that can subvert human systems that until now relied on
adversaries not continuously optimizing and taking advantage of loopholes and
building on previous results at lightning speed. Privacy, for instance, is
easily circumvented by any algorithm that has access to an array of methods.
It is also easy to have a virus take advantage of basic vulnerabilities of
your typical web setup (eg Wordpress) and set up a botnet real fast. But
beyond that, voting, trust between friends, reputation, and our laws
themselves can all be subverted by an algorithm designed to achieve a certain
outcome.

In short, it seems the future would consist of the equivalent of everyone
having a nuke with which they can wreak havoc at any time.

~~~
TeMPOraL
[https://xkcd.com/728/](https://xkcd.com/728/)

"Maybe we're all gonna die, but we're gonna die in _really cool ways_."

------
ChuckMcM
That is an excellent result. Back in the 90's I converted a Radio Shack Wild
Cougar (R/C truck) to autonomous control with a 68HC11 and had to slow it down
under a walking pace just to keep it from crashing (it nominally went 20mph
when you just controlled it manually). To consider the difference in compute
over those 20 years is really quite stunning.

I particularly liked the lack of back propagation in the design (keeps things
fast) but was really curious how they determine "optimal" (center of track).
So that makes me wonder if the algorithm would learn a "line" through the
track that optimized speed at reduced energy.

Next up, multiple cars on the track!

~~~
bwilliams18
[http://roborace.com/](http://roborace.com/)

------
bigiain
Prediction: Uber aquihire/licence this "Aggressive Driving with Model
Predictive Path Integral Control" to make Uber trips more like taxi rides...

;-)

------
dclowd9901
There was a moment where the robot accidentally did a Scandinavian flick (4:34
or so). I wonder if did that through random pattern injection, and could learn
from it.

~~~
lloeki
I suppose it comes up naturally, emerging from a typical situation: exit
previous corner slightly past the edge (for whatever reason such as unexpected
surface) so counter for recover, but wait a corner is coming, so counter again
to set up for the coming turn.

If it turns out to be faster, the machine will have learned it
serendipitously.

------
soared
Does anyone have more videos where I can watch machines learn?

~~~
mintotsai
MarI/O is one of my favorite.

[https://m.youtube.com/watch?v=qv6UVOQ0F44](https://m.youtube.com/watch?v=qv6UVOQ0F44)

~~~
tomjakubowski
If you're interested in a "dumber" approach to machines "learning" to play
classic video games (including Super Mario Bros), tom7's video [1] and paper
[2] on Playfun are both fascinating.

[1]
[https://www.youtube.com/watch?v=xOCurBYI_gY](https://www.youtube.com/watch?v=xOCurBYI_gY)

[2]
[https://www.cs.cmu.edu/~tom7/mario/mario.pdf](https://www.cs.cmu.edu/~tom7/mario/mario.pdf)

------
jitbit
I haven't figured how they measure the speed. If its done via wheel sensors -
of course it powerslides, b/c the algo will "think" the speed is up...

------
Anonjt87rCh52z
Can anyone see what the cameras are being used for? Looking at the github I
see GPS and IMU being fused but nothing about the cameras.

------
burfog
This is what I want.

I'm not too into autonomous driving (reminds me of Hal telling Dave what he
can't do, and of course Minority Report go-to-jail mode) but this could
convince me.

Make a car that will drift. Make it so that it can drift into parallel parking
on the other side of the road, slipping between oncoming cars as required. The
faster the better.

------
sheraz
Not at all in my areas of expertise or hobbies, but this is really cool. Gives
me the feeling that I really live in the future.

------
EGreg
Are robotic cars close to outperforming human drivers on short distances?

Watching Jason Statham movies like The Transporter and The Fast and The
Furious sets a pretty high bar when it comes to fictional getaway drivers.

------
jonbaer
For the older folks in the crowd ...
[https://www.youtube.com/watch?v=Y04CtbRKAPY](https://www.youtube.com/watch?v=Y04CtbRKAPY)

------
gnashville
Autonomous opposite lock is a pretty incredible thing to watch.

------
B1FF_PSUVM
> the little cars maximize their speed while keeping themselves stable and
> under control. Mostly.

You let an optimizer do its work within whatever constraints you want, it will
nose out a solution. If the goal is to maximize speed without regard to fuel
and rubber consumption, power slides are in the cards.

No need to "teach" or "learn". Math works.

~~~
semi-extrinsic
I agree, this does appear somewhat overhyped. And those powerslides are far
from impressive-looking. If it was revolutionary, I think they'd have pitted
this against a skilled human opponent.

But, AFAICT, the best autonomous racecars (scale or full size) are still _far_
from beating a human.

Audi did this big thing a few months back with an autonomous RS7 versus a pro
racing driver in same weight/spec RS7 [1]. The human absolutely killed the
autonomous car, beat it by over nine seconds on a sub-two-minute lap at
Sonoma.

If you translate that into Top Gear race track times set by the Stig, it's
like the difference between a Bugatti Veyron and the fastest Mercedes E-class.

[1] [http://www.roadandtrack.com/car-
culture/a27200/819-roa-2015-...](http://www.roadandtrack.com/car-
culture/a27200/819-roa-2015-12-01-the-analysis-man-vs-machine-67-5/)

~~~
chongli
_But, AFAICT, the best autonomous racecars (scale or full size) are still far
from beating a human._

What kind of race car are the humans driving? Does it have electronic
stability control? Anti-lock breaks? Power steering? Automatic transmission?
These are just a few of the many innovations that make it easier for a human
to drive more easily at a high level of performance. The line between
autonomous and human-operated cars is blurry.

~~~
Bromskloss
It's common for race cars not to have any of those.

~~~
guscost
And if I'm not mistaken professional race drivers are _faster_ without
autonomous stability systems running, because consumer-grade traction control
"plays it safe" so to speak.

Could a traction control/autonomous steering system be designed to push the
envelope and risk losing traction as effectively as (or far more effectively
than) a pro driver? Almost certainly, but I'm not sure how hard of a problem
that will be.

~~~
glaberficken
That's true about consumer grade stability systems which are engineered with
great margins for safety.

As you can see by looking at the F1 active suspension ban in the 90s, when
tuned for performance, these systems provided a real edge to even the best
pro-drivers.

~~~
semi-extrinsic
But the active suspension system etc. isn't actually in the "autonomous
driving" category, it's an aerodynamics/grip improvement. What it does
(maintain perfect ride height) isn't something humans do anyway.

~~~
glaberficken
yeah good point, what about brakes and accelerators that actuate via
electronics/cpu instead of mechanically like in the old days? Humans press
brake/accelerate pedals...

~~~
semi-extrinsic
If you take ESP/ABS and other driver assists out of the picture, there's no
real difference between drive-by-wire and hydraulic couplings (servos etc.).
And if you want a fully non-servo car, it's early 1960's for you.

------
q-base
On a dirt track it would be expected to see the optimization algorithm at some
point start powersliding. The current generation may find powersliding as
being for show and drifting comes to mind. But there is are some very good
reasons for why rally-drivers do this and it is not for showing off. First;
it's actually faster on loose surfaces. So of course if you design an
algorithm that should be optimized for loose track surfaces you have to take
this into account.

Secondly at least for human drivers, the sliding keeps you in control. Driving
very fast on loose surfaces is bound to make your vehicle slide around. By
initiating these yourself, you are in control - you can feel the amount of
grip available, so by oscillating over and under the limit you can keep your
speed high while still being in control. This last aspect of it is by far the
most difficult and interesting aspect of designing such an algorithm in my
opinion. This is where the "Scandinavian flick" for instance comes into play.
But I will have to disagree with a commenter below that said this was done at
4:34 - that is more a correction of the exit of the last turn than a true
Scandinavian flick. Solving the oscillating aspect of dirt driving through
driver feel is something I am having a very hard time believing can be solved
by algorithms. Driving around on hard surfaces where the friction is somewhat
known I could see algorithms come close to humans, but on loose surfaces it
seems quite a long way into the future if ever.

~~~
TeMPOraL
> _Solving the oscillating aspect of dirt driving through driver feel is
> something I am having a very hard time believing can be solved by
> algorithms._

Is there something very weird and special in that problem? Because otherwise,
we've surpassed human ability of handling dynamic and fast-changing systems
like, 50+ years ago? The whole field of control theory deals with stuff like
that, and I'm convinced a decent enough feedback controller will beat human
intuition any time in problems like these.

~~~
munchbunny
As far as I know, not in a way that an autonomous driver can't overcome but a
human can.

I'm speculating a lot, but if I had to say why driving (fast) on dirt is
substantively more complex than driving on tarmac for an AI, it's because road
conditions change much more rapidly on dirt. You're expecting to be constantly
in various states of intentional traction loss (sliding), including having a
few or all wheels off the ground with some frequency (jumps).

If you're driving slowly enough to maintain proper traction, then there really
isn't an issue. But if you're rallying down an Argentinian mountain trail
(take a look at some WRC on-board recordings on Youtube for an idea), you'll
have an extremely challenging planning problem.

I don't think it's insurmountable for AI, it's just that racing over dirt has
a lot of nuances especially to car handling that you never have to deal with
on tarmac because good tarmac racing involves basically 0 traction loss and
smooth, static surfaces. Not that tarmac racing is easier... where the track
is simpler, you make up for it in sheer speed and the complexity of having to
share a track.

