1
\$\begingroup\$

I've very recently started a project (with a few friends) where I will be building an autonomous boat. From a high level, it will be solar powered with a relatively simple motor driven propeller, and some on board sensors and such. It will be GPS guided in that navigational coordinates will be uploaded to the boat and it will then "go there" (I'll leave path-finding out of it).

My background is computer science and I'm more or less just "getting into" the hardware aspect of things. My primary question is regarding design/layout of the control system for the boat itself.

At first pass my intent is to have a main on-board computer (Raspberry Pi perhaps), which talks to several on board micro-controllers (maybe Arduinos). The micro-controllers would report sensor data back to the main computer, which would make decisions and issue instructions to the controllers to drive physical operations (e.g. stop motor, turn camera, activate self destruct).

Is this general paradigm reasonable? or is it fundamentally flawed in some way that I haven't thought of yet?

If anyone would like more information just let me know, I didn't want to rant too much. Thanks in advance!

\$\endgroup\$
6
  • \$\begingroup\$ I don't think you can power motors, sensors, GPS module, Raspberry Pi and Arduino boards from just solar panels, unless these panels are very big and super-efficient (=extremely expensive). You certainly need rechargeable batteries. You could use the solar panels to recharge the batteries. \$\endgroup\$
    – m.Alin
    Jul 15 '12 at 21:42
  • \$\begingroup\$ Hey, Yeah I didn't go into all the details. There will be a bank of rechargeable batteries. The hull is quite large with a flat top (about 1.5mx0.6m), so there's room enough to accommodate enough solar cells to generate 50ish(?) watts of power during daylight (based on some super preliminary checking). \$\endgroup\$
    – DJSunny
    Jul 15 '12 at 21:49
  • \$\begingroup\$ For the sake of power consumption, you should try to use only one microcontroller-based board that would interface with all the sensors and actuators. "Activate self destruct" Is this a James Bond boat? :-) \$\endgroup\$
    – m.Alin
    Jul 15 '12 at 21:54
  • 1
    \$\begingroup\$ I'm definitely going to try to minimize the number of micro-controllers used, although such decisions will have to wait until the device suite is selected. As for the self destruct.. I could tell you, but then.. \$\endgroup\$
    – DJSunny
    Jul 15 '12 at 21:57
  • 1
    \$\begingroup\$ It would help to know a little more about the functions the boat will feature, i.e. how complex the whole thing is. This will help to decide whether you need e.g. a single small 8-bit micro or a R-Pi and supporting micros. \$\endgroup\$
    – Oli Glaser
    Jul 15 '12 at 22:14
6
\$\begingroup\$

You are designing a mobile robot. Forget about Asimov, the real three laws of mobile robotics are:

  1. Everything in it goes wrong all the time.
  2. There's a battery in the way.
  3. It broke down.

Whatever else you do, bear these fundamental truths in mind.

  1. Everything will go wrong all the time. This is especially true for a robot that's at sea, or even in the middle of a lake. Every technical component in the robot is something which can go wrong, and the more you have, the more things will go wrong. Even if you make them all 99% reliable and you have 70 things in there, then you have a 50% chance of one of them failing. "Aha" you say, then I'll add a safety system which detects when something goes wrong and, say, stops the motor. Well, now you have another thing which can go wrong, and you've given it the power to stop the motor. The take away lesson is to reduce the number of components in the robot as much as possible. You mentioned "several on board micro-controllers". Why, how big is this boat? Maybe you can get away with just one?

  2. There's a battery in the way. This is really two truths. Firstly you may find yourself stuck for space. Maybe not, boats can be pretty big and don't have many actuators, so this may be one of the few robots not to suffer this problem. Secondly, mobile robots just never have enough battery capacity. I'm sure you've thought about this, but I'll mention it for completeness. Carefully measure how much power the various parts of the robot consume, and calculate how much running time you're likely to get out of them.

  3. It broke down. Your background is in Computer Science, something will fail. Unless you select very good connectors and don't assemble them yourself, they will fail. Probably solder joints will fail if you do them all yourself. The boat will leak, and blow the electronics. When you're assembling the boat, you need to imagine you have 20 years' bitter experience of robots breaking down when they're almost inaccessible (I have). Every piece you make, imagine how it's going to go wrong. What's to stop the connectors just disconnecting themselves? What's to stop water getting into the electronics? You sealed them? What's to stop them overheating now? Did you take ESD precautions? If not then you've probably half blown a pin on a chip which will only start showing faults when the boat is 100 miles from land.

\$\endgroup\$
6
  • \$\begingroup\$ +1 - so it should be a doddle then? ;-) \$\endgroup\$
    – Oli Glaser
    Jul 15 '12 at 22:17
  • \$\begingroup\$ "something will fail" You sound just like Murphy. I like it. \$\endgroup\$
    – m.Alin
    Jul 15 '12 at 22:22
  • \$\begingroup\$ @m.Alin - Just speaking the truth. \$\endgroup\$ Jul 15 '12 at 22:27
  • \$\begingroup\$ What a sobering statement of principles... now on to the design! :)... \$\endgroup\$
    – DJSunny
    Jul 16 '12 at 0:08
  • \$\begingroup\$ @csjohn - Good luck with it. BTW, will you be blogging the progress of the robot? I have always wanted to make a robot boat (maybe even one that can circumnavigate the globe), so I'd love to see this one go. \$\endgroup\$ Jul 16 '12 at 9:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.