1

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!

DJSunny
  • 141
  • 3
  • 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. – m.Alin Jul 15 '12 at 21:42
  • 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). – DJSunny Jul 15 '12 at 21:49
  • 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? :-) – m.Alin Jul 15 '12 at 21:54
  • 1
    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.. – DJSunny Jul 15 '12 at 21:57
  • 1
    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. – Oli Glaser Jul 15 '12 at 22:14
  • @OliGlaser We're still finalizing the spec. A high-level survey of probable functionality would be: Solar recharging of battery bank (power supply), on board weather sensors (station), prop driven propulsion, on board GPS for auto-navigation and time sync, on board camera for "reporting" imagery as well as running some CV (computer vision) software. The current intent is the operating program to be in python on the on-board computer (interfaced with controllers as necessary). Seriously considering 2 propellers for differential steering as apposed to a rudder (fear of easy breaking). – DJSunny Jul 16 '12 at 00:12

1 Answers1

6

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.

Rocketmagnet
  • 26,933
  • 17
  • 92
  • 177