Hacker News new | past | comments | ask | show | jobs | submit login
Suiron – Machine Learning for RC Cars (github.com/kendricktan)
156 points by adamnemecek on Oct 7, 2016 | hide | past | favorite | 59 comments



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

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/


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

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

Obstacle run at: https://youtu.be/MQTc22Jetl8?t=10885


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 :)


That's pretty cool, now we just need to convince our university to send us over to Germany :')


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.


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.


This hypothetical comes up seemingly every time autonomous vehicles are mentioned. Theft is already illegal, we have a framework in place to deter theft by prosecuting it when it does happen and then punishing those guilty. All the truck needs to do is take a picture of the criminals and phone home, something it almost certainly can do already.

Theft is already a problem for everyone, like any behavior we attempt to control it using incentives. I don't see how a vehicle that knows exactly where it is, doesn't get tired, can look in multiple directions at once and doesn't forget details under stress or fatigue is somehow a more appealing target than an underpaid employee doing a demanding job.

Drivers themselves already steal their own cargo:

http://www.kxxv.com/story/19242235/trucker-steals-own-cargo-....

http://www.ocala.com/news/20090205/trucker-accused-of-steali...

http://www.nwitimes.com/uncategorized/police-say-trucker-hir...

The argument can be made that shrinkage will actually decrease with the advent of automated delivery vehicles just because it's so easy to collect evidence and there's less opportunity for internal theft.

Drivers also get robbed of corse. In the automated delivery world we will have less crime against individuals and a equal or better chance of catching those who do steal from the trucks.


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).


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.


Armed robbery is a completely different crime than stealing when a person isn't present.


Keep Summer safe.

https://www.youtube.com/watch?v=m0PuqSMB8uU

I think that the psychological option holds a lot of promise. At least, it plays to our strengths of big data, analytics and centrally controlled social networks.


This is a great point and the responses are classic HN; algorithms etc...but whats wrong with locking the truck? EDIT: spelling


We need futuristic solutions to futuristic problems.


It feels a little like the space-race story where NASA developed an extraordinary pen and the Russians just took pencils


Isn't that a myth though? Since lead particles that were coming from the pencil would be really harmful anyway?



Security guard? Sensors, cameras, alarms etc would be fitted and sufficient to deter most thieves. The truck would sound an alarm and even notify police automatically if it detects unauthorised unloading.


You really think so? Sure, in an urban environment cameras and alarms might work.

But good luck protecting a truck on an open highway miles away from the nearest town.

HN conversations about autonomous vehicles are normally focussed on the technical hurdles of getting a car to drive and navigate autonomously. Maybe I'm cynical, but I think dealing with the actions of humans outside the vehicle will be a challenge of at least equal size.


I believe I've heard Mark Cuban say something similar, the technical challenges are easy, the business is the hard part.

I totally agree. I can build the best image filtering app, but would never beat Instagram without a TON of marketing finesse


I'd say the problem is even worse in an urban environment. Nobody, including police, will pay any attention to those alarms. Autonomous trucks will end up having armed androids.


The likely model initially is for trucks to run autonomously on highways for the long-haul part of the route, then have a human driver take over for the "last mile" of a delivery to an urban area.

The reason isn't so much security but rather that autonomous urban driving is a more difficult problem to solve.

The idea of roaming gangs holding up autonomous trucks might make a good plot for a sci-fi movie, but in the real world it probably isn't as big a problem as we imagine.

Most of these things are going to contain pretty mundane shipments. If you're shipping currency or gold bullion or iPhones then sure, maybe more security would be appropriate.


You don't need an android to operate a gun turret.


Just have it phone home with a video feed when it stops unexpectedly and have someone look at it and call the police. It might actually be easier because you can just have video and sensors and call the police immediately if someone tries to steal anything.


Not really, any sort of diversion from planned course can trigger an alarm that can eventually call the cops or something.


everyone will use drones. Right now, we use car, because we dont know how to create compact & safe flying transport, like flying cars or hover boards


> Right now, we use car, because we dont know how to create compact & safe flying transport, like flying cars or hover boards

Maybe this will happen somewhen after we solve fusion energy. But so far, primary reason to stick to ground transport is that flying eats much more energy. That, and also safety issues.


Drones are ok to use in areas with low population density but I can't imagine them going e.g. into public buildings. On some level I think that mapping the "human world" is more important that mapping the whole world from high altitude.


What if the design was different like a blimp, with ducted fans? Slow. Shouldn't hurt people.


If its max speed is less than 10mph, then it won't be able to handle wind.


I don't think that's the only factor in wind handling.

It would suck because of the area exposed, I suppose you'd weather vane into the wind.

Perhaps it is skinny front view and the volume goes vertical like a fish body.


I think that blimps are extremely slow e.g. to turn and stop and such.


The other option is to use coanda-effect vehicles which I'm not sure if there is an efficiency gain.

The other thing too I brought up with somebody else is to use muscle wire or memory wire and put that into blades that are otherwise soft. So if it's about to strike something the blades go limp.


What's about the battery?


Solar powers yo!

Also there could be a mother ship blimp beaming energy to them via deadly microwave radiation.


We won't need RC cars, though -- we'll have cameras on every vehicle always uploading, yeah?


Most of the world isn't car accessible.


May be Drones?


I am not sure why Google would need to drive around when they can capture same photos from satellites.

http://motherboard.vice.com/read/googles-satellites-could-so...


Overhead is different from human perspective.


OMG. The finite and linear nature of public roads is what makes streetview viable. You cannot expect to capture a panorama from every point within 10000m of the surface of the earth. That is simply impossible. So what is it exactly that you mean by mapping the whole world?

I mention this because some designers appear to believe that realtime "omniscient" panoramic data is inevitable. e.g. http://www.dezeen.com/2014/09/19/pernilla-ohrstedt-demonstra...


failure of imagination.


Why?


> That is simply impossible.

Right. And in that vein, "heavier-than-air flying machines are impossible".


Seriously? Every point within 10km of earth's surface? The link I posted maintains that this kind of information will be available in real time--that introduces the key factor of how often you need to revisit this infinite number of vantage points.

I'm almost 40, I guess it's time to leave HN and hang out with old folks with some sense.


> available in real time

No way people will be cool with this.

> with some sense.

Considering how 'old' you are, you sure argue somewhat childishly.


Many perspectives can be synthesized from a few cameras. Or people expect intelligent dust.


You cannot expect to capture a panorama from every point within 10000m of the surface of the earth. That is simply impossible.

Impossible today? sure.

But not necessarily tomorrow.

Think Quantum computing, middle-out compression, and billions (trillions?) of microscopic camera drones floating in the air.


Let's assume that a typical floating camera has a field of view of 100 m^2. That means to cover 1 km^2 of land, we would need 100 floating cameras. Now the total surface area of land (not water) on Earth is about 150,000,000 km^2, so we would need 150,000,000,000 (150 billion) such cameras.

Next, let's assume that the micro controller powering the camera, transmission, wifi, and drone circuitry requires 200mA and 1.2V [1], or 240mW. Let's also assume this whole assembly is reduced to just a single motor, and draws better-than-ideal current [2], which would require another ~1.1W/377 minutes of flight time, or 175mW/hour, in addition to the 240mW/hour to power the camera and related circuitry. This is absurdly ideal, as current quadcopters require about 250 Watt to fly for 20 minutes with a weight of 600 grams, or 750 Watt/hour, a two orders of magnitude difference.

Since we would have 150,000,000,000 such drones, we would need .175 Watt/hour*150,000,000,000 = 26.25 Gigawatt/hour to power this system (but in reality more like 112.5 Terawatt/hour). To put that in perspective, the Three Gorges Dam hydroelectric plant (the largest in the world) produces 22.6 Gigawatt/hour at peak capacity and 98.8 TWh/year.

Maybe solar can help? Recently flexible solar cells were fabricated with 12% efficiency and a power-per-weight ratio of 23 Watt/gram. To power our quadcopter, we would need about 32g of these new solar panels, and continuously sunny conditions (since adding power storage to a solar powered quadcopter would add weight).

Of course the bigger challenge is logistics. How do you produce 150 billion of anything? If it takes 1 second to produce 1 drone, that's over 4,700 years to get them all. Do you work in parallel? Do you make 3D printers to print other 3D printers to then print these drones? Even at a failure rate of 0.001%, that's 1.5 million drones failing at any given time. What about costs? $1/drone? That's the annual GDP of Belize.

tldr; Invest in solar cell research and 3D printing.

[1] http://arduino.stackexchange.com/questions/8659/measure-tota... [2] http://multicopter.forestblue.nl/lipo_need_calculator.html [3] http://www.nature.com/nmat/journal/v14/n10/full/nmat4388.htm...


Of course the bigger challenge is logistics. How do you produce 150 billion of anything?

Nanotechnology. Molecular assemblers. Self replication. These things won't be handcrafted! They'll build themselves.

If it takes 1 second to produce 1 drone, that's over 4,700 years to get them all.

Not if millions are being produced simultaneously. You seem to be thinking about this in very conventional terms.

Do you make 3D printers to print other 3D printers to then print these drones? Even at a failure rate of 0.001%, that's 1.5 million drones failing at any given time.

Yes, failure rates would certainly be high as they'll be constantly attacked by the environment. But as long as the replication rate (birth) balances with failure (death), then they'll be ok.

What about costs? $1/drone?

Not even close. After amortization of R&D costs, they'll essentially be free if they can take materials from the environment and self-replicate.


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

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


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...


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 :).


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


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...


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


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...


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


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


Already done :P

My friends over at 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: