Controlling a Car with the cRio

Aha, I know this is an old video, but I just found this:

A remote control car without a fail-safe braking system and igition kill switch? You’re right, that’s brilliant! What could possibly go wrong?

Oh right. You could end up with a one or more ton vehicle driving away from you, pedal to the floor, with nothing to stop it but the nearest tree, wall, car, or pedestrian. Well, not the last one, that’d barely slow the car down.

Honestly, pretending to tell people how to do this without explaining the numerous things you need to think about to avoid killing yourself is shockingly irresponsible. And I’m seriously doubting they’re capable of telling anyone how to do that safely since they seem to have failed to “engineer” a brake control system that would safely halt the car if they ever lost communications with it. Unless they running a highly modified control system there, those window motors are going to sit there doing nothing once the cRIO loses comms. Or power.

So in summary, this is a horrible idea for the vast majority of teams to try unless they’re supervised by an experienced engineer who’s actually thought about all the many many ways this could end badly.

Now, did you think I was really serious about doing this in real life? :smiley: I guess sarcasm does not transfer well over the internet.

Yes, listen to him.

Though I’d never do this with a car, I’d like to try it with a go-kart our team is making, or AN ACTUAL COMPETITION BOT!!! Just think how cool it would be to turn an iPhone, and have your robot turn!

You’re right, it doesn’t. At the very least, you needed a :rolleyes: smiley.

Even so, the criticism of the idiots behind this remians. I looked through their “how we did it” links, and I didn’t see a mention of any of the safety issues present in such a system. And the list of ways this could obviously go wrong is pretty impressive:

Lose comms and car keeps doing what it did till you get comms back.
Someone hits Disable and the above happens till you enable.
Someone hits the Stop button and the above till you power cycle the cRIO.
Power is lost and the above till you restore power. (On a moving car)
In fact you similarly lose some/all control of the car if you: trip a breaker, lose power to the radio, lose power to the side car, disconnect the side car, overcurrent the jaguar, kill the watchdog in your code, and anything else that would stop a motor on an FRC bot. Plus more exotic failure mechanisms they’ve introduced:
Lose a pot and that servo runs away in one direction (full/no gas or brake, or sharp turn).
Lose the analog bumper or power and get the above x3.

I’m sure I’ve managed to miss a lot of failure modes here, but those are enough to make me question the sanity and common sense of these “engineers”. Yes, the car was mostly moving slowly, but it’s still going to be a serious problem if it suddenly decides to make a hard left while you’re oh so intelligently standing on top of it.

The FRC controller is not an industrial controller. The whole system is set up to operate a very specific kind of robot safely. It can do this because the GDC has written the rules to force you to use it safely. All motors and moving parts are nearly directly controlled by the cRIO. So when the cRIO or any subsystem is disabled, motion stops. Motion doesn’t continue doing what it was doing. This is the fundamental error these people made. They used a motor to operate the controls of a much larger machine. So when your tiny machine breaks, the larger on just keeps on plowing through pedestrians.

If they put even the tiniest bit of thought into making this even a little safe, they’d have done the obvious and simple thing. Use a spike to switch on a normally closed relay, and run the car’s igition and run signals through this relay. No cRIO, no spike, relay opens and car turns off. It’s crude and means the car would then coast until it stopped, but that’s still better than a cross-country escapade under full power.

In case it’s not obvious, I’m seriously unimpressed with these people claiming to be engineers. And don’t get me started on that ridiculous disclaimer. Whether it’s legally sound or not, it’d be a pretty poor excuse if someone tried this and got hurt.

To be clear, I don’t have any problem with the iPhone control. It’s certainly nifty and I considered doing similar with a Nintendo DS back when I had more free time.

My problem is using an FRC control system in a blatantly unsafe manner. When the cRIO dies, motors stop moving. If the motors are the dangerous things, then great. If the motors are controlling dangerous things, then you’d darn well better have physical backups in place that will forcibly and reliably override the motors to make the system safe. This might mean heavy springs to force the brake on and the gas off under loss of power. It might mean a normally open relay to kill the electrical system. But it’s going to be something you’ll need to think about and implement. At the very least, you need to see if there’s some way you can set you motors that would result in the machine moving even without power to the motors or cRIO.

Yes, that goes for your go-kart too. Unless you think a go-kart running into you at full speed is a good idea.

and people say sky-net could never happen, after watching this it makes me hope computers end up being smarter than people. i hope they did that on abandoned roads, with nobody else around.

It was never driven on the road…EVER.

It was all done in NI’s parking lot and then once they were done filming, they took it a part and put it on a demo board. It was even shown off at FIRST World Championships last year. In fact the car is still in the parking garage sitting there like a rock. (a beaten one, but still).

There were safety precautions in place(NI Legal would have flipped if they didn’t), just cause it’s not shown in the video doesn’t mean it isn’t there. The main objective was to inspire people to do creative projects and show what can be done with NI Hardware and LabVIEW; the reason they used the “FRC Control System”(and I use this loosely) was to motivate FRC teams to do more off-season projects, thus the NI Booth at FWC. It didn’t have to be a car, it could be something else that NI wants to see teams think of on their own like a t-shirt cannon robot or a soda dispensing robot.

Also I’m pretty sure they used an actual cRIO, not the FIRST modified one. (Pay attention, did you see the FIRST Logo on the cRIO, no, the full powered cRIO is on there) But they did use the PDB, Digital Sidecar, and other parts that are familiar in FIRST so that students can go “Hey, we have those parts, it is possible to use them for other projects than just the FRC Robot”. Remember, the FRC cRIO is not the real cRIO. cRIOs are quite wickedly awesome (the real ones, not the FRC ones.) - if it’s awesome enough to be used on aircrafts, than cool, why not projects that are just pure fun

or even projects with a purpose. Check this out, FPGA and cRIO running vehicles that allows the blind to drive.


Also, FYI, FRC code was not used for this project. Just because you see a CIM Motor, the FRC PDB, and other familiar parts doesn’t mean they solely used FRC stuff, this wasn’t a project that revolved around FRC.

Also it’s a fun video to show off a fun project. Although I’m more favored towards their use of NI DAQ to play video games with real guns (or rubber bands) or playing Super Mario with just your eyes.

Lastly, Mythbusters, even Adam & Jamie admit that all they do is slap things together, do what they can, do what they hope works, and see if it works plus Jaime cannibalized a RC Car to put theirs together. They didn’t start using NI Hardware(Yes, Mythbusters uses NI Hardware now) until the Two Bullets Physics Problem project (which by the way, they used a cRIO) - they love their NI DAQ.

Yes it is. It’s just a nerfed down benchtop unit. We have a bunch of them on our Virginia boats.