Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Trans-Atlantic Robots

samzenpus posted more than 6 years ago | from the give-me-robot-planes dept.

Robotics 203

An anonymous reader writes "In the summer of 2008, teams from a host of countries will compete in The Microtransat Challenge with the hope of gaining the honor of having built the first autonomous sailboat to cross the Atlantic. The results of Microtransat 2007, a smaller scale preliminary race, were recently announced. The winner was the team from Austria; team RoBoat, for having completed 24 hours of autonomous sailing. I am strongly considering joining this competition before the year is out, and would appreciate any insight from the Slashdot community. The boats can be up to 4 meters in length, and therefore capable of carrying a full-sized onboard computer (operating system of your choice). Time is limited however, so I would like to avoid as many hardware issues as possible and get straight to the difficult problem of writing the AI. So how would you design a seamless interface between sensors and actuators to the high-level code?"

cancel ×


Sorry! There are no comments related to the filter you selected.

In one word? (2, Informative)

vigmeister (1112659) | more than 6 years ago | (#20846991)



Re:In one word? (1)

sokoban (142301) | more than 6 years ago | (#20847147)

Unfortunately, in order to do MATLAB you need to have already finished C. []

Re:In one word? (1)

zippthorne (748122) | more than 6 years ago | (#20848179)

But... MATLAB is a FORTRAN wrapper.

Re:In one word? (2, Insightful)

eggnoglatte (1047660) | more than 6 years ago | (#20847469)

For a realtime system? Surely you are kidding.

MATLAB Real-time Workshop (1)

mechsoph (716782) | more than 6 years ago | (#20847545)

You have apparently not seen Matlab's Realtime Workshop, which translates from Simulink to C for running on embedded systems. Of course, using this does mean that you have to program in Simulink. Unless your one of those (disturbingly common) engineers who just DON'T GET computers, it can make you want to stab things.

Re:In one word? (2, Informative)

0100010001010011 (652467) | more than 6 years ago | (#20847541)

More Specifically: Simulink & XPC.

You can even build your own XPC boxes from old scrap PCs. The little blue XPC boxes are nice but expensive and have limited IO. Our company just did this to save some money, works great. You can bootload them so that they're always running too.

Fun stuff.

I 3 Mathworks

Re:In one word? (1)

itwerx (165526) | more than 6 years ago | (#20848667)


Other than some solar power all he needs is a GPS unit with a serial feed to a PIC motor controller and some code for steering based on current location.

Don't know what you'll choose (-1, Flamebait)

BadAnalogyGuy (945258) | more than 6 years ago | (#20847025)

But the winner will most likely use some flavor of Windows.

Re:Don't know what you'll choose (1)

speedingant (1121329) | more than 6 years ago | (#20847103)

Ha ha! Winner... Windows.. thats funny.

Sigh Wouldn't be the first time Windows won (1)

technoextreme (885694) | more than 6 years ago | (#20847163)

Ha ha! Winner... Windows.. thats funny.

Yeah. I remember how Slashdot made a joke out of that the last time there was an article about a robot winning a competition using Windows.

Re:Sigh Wouldn't be the first time Windows won (1)

speedingant (1121329) | more than 6 years ago | (#20847223)

*two thumbs up* Winner!

Re:Don't know what you'll choose (4, Funny)

deniable (76198) | more than 6 years ago | (#20847159)

Until someone gets to the Blue Waters of Death. Even better, this gives someone a chance to pirate Windows for real.

URBI (5, Informative)

bobby1234 (860820) | more than 6 years ago | (#20847035) [] "URBI is a Universal Real-time Behavior Interface and gives you a simple but powerful way to control any robot or complex system like a video game, using a convenient and easy to use scripting language that can be interfaced with several popular programming languages (C++, Java, Matlab,...) and OS (Windows, Mac OSX, Linux). URBI is based on a client/server architecture, which give a great deal of flexibility. URBI includes powerful features compared to existing scripting solutions: parallel execution of commands, event programming, command tagging, dynamic variables,... Currently, URBI is used as well by academic research labs, the industry and by hobbyists."

Mythical Man Month (1, Funny)

yamamushi (903955) | more than 6 years ago | (#20847043)

I'd do it one weekend, in assembly, on paper.

And it would probably compile in one shot.

Well, DUH! (5, Funny)

Anonymous Coward | more than 6 years ago | (#20847063)

The first thing I would do to get a leg up in the competition would be to post the question to a technology website that garners millions of hits a day - a website that, more than likely, most of the robot boat-building teams are familiar with. That way, no one but me would have access to collective thoughts of hundreds of brainstormers.

Re:Well, DUH! (1)

eggnoglatte (1047660) | more than 6 years ago | (#20847507)

Let's face it: starting this late and with only a vague idea of hardware and software components required, he isn't going to win anyways. In the best of cases, the answers he gets here will make the difference between having an entry for the competition, and not having one at all.

Re: Trans-Atlantic Robots (3, Insightful)

CheekyBastard (1142171) | more than 6 years ago | (#20847073)

You may be better off asking people within the sailing industry or a well-heeled engineering team. On /. you'll likely see this devolve into a heated debate about which flavor of *nix is better and why.

Re: Trans-Atlantic Robots (-1, Offtopic)

MyLongNickName (822545) | more than 6 years ago | (#20847227)


Someone modded this guy overrated in another thread condemning him to negative karma hell. Can someone please mod him up, and if you feel like it, mod me offtopic.


Re: Trans-Atlantic Robots (1)

Max Littlemore (1001285) | more than 6 years ago | (#20848283)

you'll likely see this devolve into a heated debate about which flavor of *nix is better and why

How can there be any debate? The only answer is Boating and Sailing Distribution.

Re: Trans-Atlantic Robots (2, Insightful)

pwolk (912457) | more than 6 years ago | (#20848529)

The book "Robots op zee" (Robots at sea, P.W. Adriaans) deals with building a highly automated full-scale sailing boat to cross the Atlantic. Their first approach to control the boat was unsuccessful: it involved neural networks. The second approach was more successful, and involved expert systems in a cascading set-up, having a helmsman unit, a navigator unit, and a captain unit, a.o. The helmsman unit had windward and leeward defined in its internals, which proved by no means trivial. It is no project a pedestrian hacker would pull off in a few months. Another main hurdle for sailing oceans unmanned is the *robustness* of the ship's sensors: the ocean is a hostile place, and Adriaans is doubtful whether the sufficiently robust sensors are available at all. So (1)read the book, (2)have fun, and (3)good luck.

An OS for your system? (0, Redundant)

Ximok (650049) | more than 6 years ago | (#20847085)

I'm always very fond of Linux because it seems to provide better raw access to system devices (serial and usb ports etc)

However, the ultimate question comes down to this: does the gear you have to interface with already have some kind of driver developed for it, or do you have to write the interface to those as well?

If its all serial, I would go with Linux. If it requires a driver and a Linux driver is available, I would still go with Linux.

We don't have much to go on here. I've seen people turn Linux boxes into coffee machines on crack (I think there is a man page out there somewhere) and other home automation systems that basically just use relays and a few other custom made components. Give us more details on your specific equipment and maybe you'll get better answers.

Re:An OS for your system? (1)

Ximok (650049) | more than 6 years ago | (#20847121)

...seems to provide better raw access...

I meant better than a certain Microsoft product, not other *nixes

Re:An OS for your system? (1)

Bottlemaster (449635) | more than 6 years ago | (#20847605)

However, the ultimate question comes down to this: does the gear you have to interface with already have some kind of driver developed for it, or do you have to write the interface to those as well?
We're talking about relays and sensors here, so device drivers really aren't much of an issue. The computer won't be talking to controllers of these devices; it will be the device controller.

It's very much like the microcontroller inside your keyboard interfacing with the membrane matrix that senses keypresses and the indicator lights for the Num Lock, Caps Lock, etc. modifiers. While you could argue that the controller has a device driver for TTL and whatnot, you'd be stretching it.

All a developer would need, in this sailboat robot case, is a device with raw digital inputs and outputs. A kernel device driver for this device would be nice just to be prim and proper, but these devices are generally so simple that it's easier to control them from userspace.

Re:An OS for your system? (5, Funny)

greenguy (162630) | more than 6 years ago | (#20847631)

Oh, sure, Linux can handle a USB port. But can it handle a USB starboard?

If it requires a driver and a Linux driver is available

Didn't you RTFS? It has to be autonomous. That means no driver.

approach (5, Funny)

belmolis (702863) | more than 6 years ago | (#20847129)

I couldn't help noticing that the rules forbid interference with other boats' electronic equipment and colliding with other boats, but say nothing about the use of, say, cannon. :)

Re:approach (1)

ejecta (1167015) | more than 6 years ago | (#20847191)

I wonder if it counts as "colliding with other boats" if say, a automated proximity mine 'accidently' falls off your boat...

Re:approach (1)

r3g3x (1147243) | more than 6 years ago | (#20847201)

... but say nothing about the use of, say, cannon. :)
I, for one, welcome our new autonomous pirate overloads.

Re:approach (5, Funny)

Rakishi (759894) | more than 6 years ago | (#20847577)

Well they may consider the cannot round to be part of the boat thus it hitting another boat being a "collision." On the bright side even if you do get disqualified for such an act the DARPA grant you'll get soon afterwards will probably be worth more than the competition prize.

Re:approach (1)

Jarjarthejedi (996957) | more than 6 years ago | (#20848043)

Hmm...that's a tricky obstacle. How do you cheat if nothing on your boat can touch other boats, and you can't EM them...

Wait...water gun. Super High Powered Water Gun. Doesn't use any mass off your boat (ergo you can't claim collision) and doesn't 'directly' interfere with electronics (if it's not properly sealed, which would be a little silly first off, then it might interfere). Just got to get enough PSI and a good targeting system.

The best part? Infinite ammo, as long as you have power you can hit the other boats. And with enough PSI you could at least slow them down, at best cause actual damage (if we're dreaming then I'd have the boat maneuver alongside, carefully staying outside of collision area, with that distance determined by the weather, and then then fire a high enough PSI spray of water to cut through the metal and destroy the interior. I dub it, Squirtal)

There is always a solution that involves ambiguously reading the rules and finding a way to cheat!

Laser beams (1)

Goonie (8651) | more than 6 years ago | (#20848169)

Think about it...

No contact with other boats, hence no collision. You could aim it at the sails or the structural components of the boat, hence no interference with the "electronic components".

Now all we need is the sharks to mount the lasers on :)

Re:approach (0)

Anonymous Coward | more than 6 years ago | (#20848957)

Forget about all-in-one suboptimal solutions, optimize racer sailboat for speed and make completely separate robotic attack submarine on its own, out of contest mission (to silently and undetected put main competitors out of contest). Remote controlling marine animals (swordfish, shark, dolphin, orca ...) instead of robotic sub earns you extra "evil genius" points.

Re:approach (1)

thatskinnyguy (1129515) | more than 6 years ago | (#20847651)

True, but there is nothing in the rules that states you can't have a shark-mounted cannon.

Re:approach (1)

Alaria Phrozen (975601) | more than 6 years ago | (#20847665)

Why not two submissions, one the actual sail boat and two a point-runnin'-cannon-toatin'-sail-boatin' destroyer? Or have a friend submit the second boat. But this poses an interesting philosophical question: must every automated competition inevitably result in a Battle Robots Junk Yard Wars showdown? Truckasaurus!!

Re:approach (1)

PinkPanther (42194) | more than 6 years ago | (#20847807)

the rules forbid interference with other boats' electronic equipment and colliding with other boats

Wouldn't that make running the system on Windows illegal? I mean, surely the potential of suicide bombing would violate the rules too.


Assimilation? (0)

Anonymous Coward | more than 6 years ago | (#20849295)

Is assimilation of another boat seen as interference?

AI link (4, Interesting)

SPickett (911670) | more than 6 years ago | (#20847177)

Evolving neural network for sailing project []

they should be looking here. not there. (1)

User 956 (568564) | more than 6 years ago | (#20847189)

So how would you design a seamless interface between sensors and actuators to the high-level code?

Well, if the interface has to be seamless, I suggest carving it out of a solid block of wood.

let me guess... (1)

NotQuiteReal (608241) | more than 6 years ago | (#20847359)

I suggest carving it out of a solid block of wood

You take a block of wood, and carve away everything that doesn't look like a boat. Right?

Re:let me guess... (2, Insightful)

fractoid (1076465) | more than 6 years ago | (#20847575)

Alternatively, you carve a bunch of boat-shaped pieces out of the block of wood, and then assemble them. But that would be thinking laterally. ;)

"God Works in mysterious ways". "Shit Happens". Can anyone explain, obvectively, the difference?
Partitioning of responsibility. "Shit happens" is simple acceptance of the universe's imperfection. "God works in mysterious ways" lets you know that if anything good happens, God did it. Of course, if anything bad happens, you deserved it. If despite all the Church has done for you, you still don't think you deserved it, then it's a test of your faith.

You do realize... (0)

Anonymous Coward | more than 6 years ago | (#20848053)

"Sig replies" are very iffy - if the poster changes his sig, then no body will know what you are raving on about...

But I like your style ;-)

Re:You do realize... (0)

Anonymous Coward | more than 6 years ago | (#20848205)

Yeah, I probably should have put "your sig:" in my quote but I didn't think of it... :P Sig changes don't affect old posts, though, do they? Glad you liked the analysis, though, regardless. ;) Hmm... to keep this on topic, somehow... ah, I know! :P The whole thing reminds me of the story a few weeks ago on the Trans-Atlantic Model [] . I'd think that it would be easier than that in a couple of respects, for instance less stringent weight restrictions and lower power consumption (such that solar panels, or a generator dragging a propeller in the water might be usable).

Re:You do realize... (1)

stjobe (78285) | more than 6 years ago | (#20849095)

Sig changes don't affect old posts, though, do they?

Yes they do, even on archived stories.

PLC (0)

Anonymous Coward | more than 6 years ago | (#20847211)

"So how would you design a seamless interface between sensors and actuators to the high-level code?"

It's called a programmable logic controller.

I've got one! (0)

Anonymous Coward | more than 6 years ago | (#20847215)

Lego Mindstorms.

Summer of 2008? (1)

B.D.Mills (18626) | more than 6 years ago | (#20847305)

Damn, it's spring now; we've only got three months! Will we be ready in time?

Interesting idea (0)

Anonymous Coward | more than 6 years ago | (#20847313)

Shall we put two dwarf robots into it? we could save loads of energy!!!

In celebration of 10 years of Slashdot (1)

infonography (566403) | more than 6 years ago | (#20847343)

I for one welcome out Transatlantic Robot Overlords.

Re:In celebration of 10 years of Slashdot (0)

Anonymous Coward | more than 6 years ago | (#20848149)

In this case it would be 'Transatlantic Robotic Robot Overlords'.

Just do what NASA does (2, Interesting)

Fry-kun (619632) | more than 6 years ago | (#20847347)

if you need close-to 100% reliability, set up 3 different hardware platforms with different OSes - then run the program(s) on each and interpret the result as a system of experts (i.e. choose what the larger group suggested). If one goes down or starts spewing bad results, you'll be able to detect it. ...I think that's how it works :D

Oh, and I'd recommend miniature/low power PCs for obvious reasons. That, or laptops.

Re:Just do what NASA does (0)

Anonymous Coward | more than 6 years ago | (#20847543)

Yeah, but if you do it like NASA it'll cost millions of dollars and get out the door in about three years.

Re:Just do what NASA does (1)

Cecil (37810) | more than 6 years ago | (#20847559)

That's unfortunately not a foolproof system if they're all running the same software. It is possible, perhaps even likely, that they will all fail in the same way at the same time for the same reason, leaving things completely out of control. See the Ariane 5 accident [] for a practical demonstration.

Re:Just do what NASA does (1)

rat10177sd (963462) | more than 6 years ago | (#20847703)

I'd like to educate you on the proper definition of FTW. It means F*ck The World. Just ask your friendly neighborhood Biker.

Does it have to be a full on computer? (1)

scoot80 (1017822) | more than 6 years ago | (#20847475)

Why not some sort of embedded platform? Custom built and programmed. You can do that for the sensor and control equippment. You might find that power consumption is a lot less, and you'll have a lot more control over what you do, and might get better reliability.

Obvious solution... (1)

rts008 (812749) | more than 6 years ago | (#20847481)

I would suggest just recruiting some Monkey Ninja Pirate Robots to sail it for you.
With their 133t skillz, they should remain undetected unless a container ship carrying music cd's and/or movie dvd's comes into Ahoy! range.

Oh, and look out for sharks with friggin' lasers attached to their heads-bad for sailboats.

sailing (1)

ZachMG (1122511) | more than 6 years ago | (#20847501)

I think that the use of relative pressure on the helm would do wonders, speaking from a standpoint of doing much racing its not really moving the help more resisting the movement of the helm. I would try to get it to sense the speed rotation and yaw of the boat through accelerometers and have it resist presure and not adjust movement much. Hope this helps

Possible Architecture (3, Informative)

mechsoph (716782) | more than 6 years ago | (#20847503)

PC (maybe mini-itx) running *nix talking via Ethernet/IP to a Netburner [] Microcontroller talking via CAN to several PICs/AVRs with some extra circuitry (amplifiers, voltage dividers, etc) to interface with the sensors and actuators.

There are PICs and AVRs that have ethernet, but the NetBurner is damn easy to use. They also have some micros with GPIO, ADCs, and maybe PWM generation, so it might be easiest to skip the 8-bit micros altogether. I don't have any affiliation with NetBurner; I've just used their product and was sufficiently impressed that I might voluntarily choose to use it again.

Using Ethernet to control devices (4, Insightful)

Animats (122034) | more than 6 years ago | (#20847831)

There's something to be said for using 10baseT to talk to control devices. 10baseT has better noise immunity than RS-232 and 5V TTL encoder signals. We had trouble with big servomotor PWM noise leaking into encoder signals, and a low noise in analog signals, but the 10baseT worked perfectly, even when near the engine of our robot vehicle. Not only is it differential over twisted pair, there's checking and retransmission.

The trend is towards putting an Ethernet interface on the thing to be controlled, rather than bothering with translation to CANbus. We used Galil motor controllers, which talk TCP and UDP over Ethernet. They're OK, but you can get comparable functionality in a smaller and cheaper package now.

10baseT has a feature that's important here - the connectors have retention latches, and don't fall out. USB does not latch, which is a showstopper in an industrial or vehicle environment.

Something we found useful was encapsulating boards. Mask the connectors with masking tape, and spray with Fine-L-Kote, which seals the board against humidity and provides some mechanical protection. Inspect under ultraviolet light (the stuff is clear, but glows) to see if you missed anything.

Re:Using Ethernet to control devices (1)

mechsoph (716782) | more than 6 years ago | (#20847953)

Ethernet is not suited for realtime. Random delays in cases of collision are bad, though perhaps not as bad on switched networks. Ethernet's large message sizes increase latency, which is also bad. TCP is also not suited for realtime. You could use UDP, but then you have to guarantee delivery yourself. CAN handles collisions based on message priority guaranteeing delivery. Messages are limited to 8 bytes, so latency is low.

If you only need soft realtime, then ethernet would probably be easier. However, CAN was designed specifically for hard realtime systems in noisy environments. If that's what your system looks like, ethernet seems like a poor choice.

Re:Using Ethernet to control devices (2, Insightful)

Animats (122034) | more than 6 years ago | (#20848317)

See Making Ethernet Work in Real Time [] , from Sensors magazine. They show how to calculate the odds of delay exceeding a given value for a given network speed and loading. With a 10 Mb Ethernet, sending 1000 64-byte packets per second, you can be 99% sure there will not be a delay of more than 7 ms in 9 years. You can't load the network very much (5-10% is tops for a real time application). But the odds of an error are higher than the odds of a timing miss.

CANbus latency is only deterministic for the highest priority messages on the cable. Everything else is subject to nondeterministic delays due to preemption.

Re:Using Ethernet to control devices (1)

deroby (568773) | more than 6 years ago | (#20849033)

I'm just wondering HOW realtime this needs be ?

I mean, it's not like it's going to be like :
    * OMG, heading has changed 1 to port, need to adjust rudder RIGHT AWAY!
    * OMG, wind has veered a bit, need to recalculate and set new sails position NOW!
    * OMG, camera picked up a ship on the horizon, FULL ON THE BRAKES !
    * etc..

At least, that's now how I (and most of the people I know) do their sailing. Usually it's rather laid back, and most 'errors' tend to "fix themselves", "not reacting right-away" tends to be better than behaving like a nervous maniac trying to keep everything 'on the mark' 100% of the time. (eg. heading sways due to waves : on-average you'll go 'straight-ahead'; main-sail suddenly loosing power because of a temporary shift of the wind : by the time you realize what's going on it's often already back to 'normal', etc...)

Or do I misunderstand 'realtime' here ???
(thinking about it, it might be because the sensor only sends the data once, if the receiver missed it : too bad ???)

Re:Using Ethernet to control devices (1)

bhima (46039) | more than 6 years ago | (#20849191)

What's so wrong with CANbus? I've used it for a while... after we moved from RS-485.

You are right about the physical connectors for 10bt, though at first I thought you talking BNC. However I don't think any of those connecters are up to saltwater. I wonder what they use in boats and military applications. I'll bet something scrounged from military surplus would be better.

but what *hardware* ? (1)

sneakyimp (1161443) | more than 6 years ago | (#20847523)

What about hardware, guys? I'm curious about this. How do you get a PC (Linux or otherwise) to talk to actuators, motors, etc?

Re:but what *hardware* ? (4, Interesting)

spinlight (1152137) | more than 6 years ago | (#20848037)

The quickest way that I know of to get your computer to talk to your motors is through a USB Data AcQuisition device (DAQ, for short). When we built a prototype ROV, we bought an off-brand China special [] for about $80 that had drivers for LabView. You will also need a motor controller. Some DAQs have Pulse Width Modulation (PWM) motor controllers built into them, but these are not cheap, in my experience.

Hook your DAQ up to your control computer (we used windows), and then your motor controllers to your DAQ. The power supply that powers the motors (12 V DC or more) goes into the motor controllers, and the signal from the DAQ goes into the motor controllers (USB is 5ish V DC, I think). The power to the motors comes out of the motor controllers, according to however you program it in Labview.

We used an Open Source Motor Controller [] (OSMC) that we built from parts.
We used the system to vary the speed to 4 motors on the fly, using a computer interface that accepted input from a mouse and keyboard (just like Half-Life... sorta).

Re:but what *hardware* ? (1)

sneakyimp (1161443) | more than 6 years ago | (#20848193)

OK wow...thanks for the info. So you get a variety of input output and a usb connection right? Do you have to write your own software or does it have some kind of scripting language?

Basic question (0)

Anonymous Coward | more than 6 years ago | (#20847597)

While I have no idea of your background, this seems like a fairly basic question. If you have the experience necessary to be competitive in a competition like this, then you should already have several answers in mind. I would recommend starting on smaller projects before tacking something as big as an autonomous sailboat. Then again if you have the time and money and want to fuck around for fun...go for it.

What we use (5, Informative)

jfim (1167051) | more than 6 years ago | (#20847609)

Our team(SONIA [] ) is working on autonomous underwater vehicles and we are using Linux with Java for the AI part. For communication with actuators, we use the CAN [] bus, which is fairly common in the industrial automation and automotive fields.

There are CAN bus adapters that plug into serial or USB ports and there is Linux support for these. We're using one from Vector [] .

As for hardware, we use the Kontron JREX SBC [] with JFlex I/O boards to add the I/O ports we need(firewire and serial, mostly). Of course, if you're not cramped for space, you might go with something a bit larger.

I hope this helps, feel free to ask more questions.

Bigger Prize (0)

Anonymous Coward | more than 6 years ago | (#20847655)

I think there is an autonomous sailing contest from Columbia to the New Jersey Coast that has a huge cash prize. Enter it instead.

Use VISTA (2, Funny)

RSA7474 (1163263) | more than 6 years ago | (#20847763)

Just convert all the hardware devices to be USB portable into your CPU and plug-in-play should work seamlessly, and because VISTA is so bloated it will definitely stay afloat.

OS of choice? Are swarms allowed? (1)

jpellino (202698) | more than 6 years ago | (#20847841)

Cuz then I suggest taking all the remaining Windows ME boxes and as many orange crates, pillowcases, car batteries and servos as needed and go for it!

Check out RayMarine Equipment plus a NMEA Inferfac (0)

Anonymous Coward | more than 6 years ago | (#20847969)

RayMarine makes a really nice navigation system for sailboats (and other boats as well ...). They have wind sensors, water speed sensors, GPS with WAAS sensor (Ray Star 125), Auto-pilot (with compass), as well as hydraulic (or electrical) rams (for rudder control). These all connect seamlessly together via Raymarine's "SeaTalk" bus. They also offer NMEA (National Marine Electronics Association) I-O (essentially 4800 BPS serial ASCII) for easy interfacing. By reading these NMEA "sentences" you can learn position, heading, course over ground, wind speed and direction, water temperature, distance to a way point, cross track error to a way point, etc. Also, by writing (properly formed NMEA sentences) to the NMEA interface you can engage (or dis-engage) the autopilot, set way points for the autopilot, order steerage by wind angle, etc. Add a group 8 AGM deep cycle battery, a PC, a copy of LINUX, a couple of computer-controlled motors driving some self-tailing winches (for sail trim, reefing, etc.), a few solar panels for battery charging, a little software, and you should be home free (or to Europe - as the case may be...). Just remember - at sea the winds tend to veer in a clockwise direction (when viewed from above), so chose your tacks appropriately.

If you have to ask ... (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#20848013)

you don't have a fucking hope in hell of doing this.

AI might not be the difficult part (2, Insightful)

Dr. Winston O'Boogie (196360) | more than 6 years ago | (#20848021)

I am not convinced the AI is the difficult part of this. Developing a seamless hardware solution is very difficult, assuming it need to be very robust. The salty sea air only makes this harder on the hardware, especially the electronics. However good you think you can make the AI/software part, you might want to look around for someone that can do an even better job on the hardware side. I think (good-hardware + average-software) > (average-hardware + good-software) in the domain of this contest.

Post your solutions to pre-empt patent grabs (0, Offtopic)

beachdog (690633) | more than 6 years ago | (#20848075)

While you do your project, I would urge you to post your solutions in great detail to push lots of the patentable material into the realm of prior art.
My perception is all societies will need zero carbon emitting low energy consumption autonomous vehicles. Your sailboat is exactly the vehicle needed for the low carbon footprint future.
I have been thinking about autonomous vehicles operating in the 1 to 4 mile per hour speed range. These vehicles will need a vehicle to vehicle communication process.

Someone recommended I review the one-laptop-per-child project. The OLPC laptop has ad-hoc peer to peer wireless networking built in. The laptop has a waterproof keyboard too.

Your sailboat should have the ability to communicate with nearby boats, right? Avoid collision, exchange wind and wave data, describe location and direction of travel, receive collision warnings, dodge oncoming tankers, heave to when being boarded at the end of the trip. For initial development, you will want a SSH link to a nearby boat and you will want to see what your boat is using as navigation inputs and rudder and sail angle control outputs.

Slow moving trucks going nose-to-tail down a highway will need a similar vocabulary to pass trip and safety information from vehicle to vehicle.

All this top level stuff should be available in a free software format. I mean should in the sense that the message language must be open. And second should in the sense that part of the problem has been addressed already. Perhaps reviewing source code research engine might help you find source code. Perhaps there is a DARPA autonomous vehicle team that has written a vehicle to vehicle message exchange language.

How about a mast-top high brightness LED navigation light that broadcasts high speed data to other ships nearby? Sending out UDP packets in light flashes? Route the OLPC ad-hoc networking data stream up to an led and photo-transistor detector device.

The real challenges (2, Informative)

Anonymous Coward | more than 6 years ago | (#20848145)

There are lots of suggestions (some workable, some not) in the discussion, but the fact is that sailing a simple rig (let's say, a cat or maybe a sloop) has a small number of controls which operate in limited ways. Robotic controls for turning winches, for handling inputs on things like windspeed are fairly well understood.

Here's where I think your problems will really lie:

a) Heavy weather sailing relies on things like reefing and steering with an eye to waves. On a small boat, this goes double. 4m is small. Letting a following wave catch your rudder can simply rip it clean off. Control under difficult conditions is a whole nest of special cases.

b) The ocean is a hostile environment for humans. It's intensely hostile for electronics. A bit of water in the wrong place, and it's game over. Worse, boats come under savage stresses and strains; their hulls work, and consequently cracks let water in, and cracks develop in bad places.

c) Quite aside from radar, GPS and other ways of navigating, you should be aware of weather. Assuming you can get the weather predictions to the boat in some codified fashion, great, but I don't think that's a given, and without it you should be prepared for the North Atlantic's pitiless storms. In those: see A and B

d) Collisions. 4m is a small boat, but it's heavy, and there are other big things out there which can put nasty holes in your dinky boat. Like whales. Like floating containers. Like icebergs. Like other unknowing/caring vessels. I believe that by the law of the sea you might end up responsible for damage. Ask a sea lawyer! You don't want to pay Big Buck$ for a mistake!

e) On the topic of sea law, there are some required signals. Your boat may or may not be legally obliged to provide some. Check that too!

f) Boats have high masts, and sail on flattish seas. They get hit by lightning. Make VERY sure your design includes scope for surviving that.

I'm sure there's more, but I'm busy and it's a complex topic. Seriously, best of luck. Well-designed robotic sailing ships might do a lot for logistics.

Re:The real challenges (0)

Anonymous Coward | more than 6 years ago | (#20848491)

I have a 22 ft sailboat and have two degrees in navigation for leisure boat skippers (in Europe, similar ones probably exist in the US as well) so I'll try to adress a couple of those questions.

d) Collisions. 4m is a small boat, but it's heavy, and there are other big things out there which can put nasty holes in your dinky boat. Like whales. Like floating containers. Like icebergs. Like other unknowing/caring vessels. I believe that by the law of the sea you might end up responsible for damage. Ask a sea lawyer! You don't want to pay Big Buck$ for a mistake!

Now, it's likely that his boat will be obliged to give way to almost everything it encounters - i.e. all ships, only small motor vessels and other sailboats (depending on their position relative to it and wind) might have to give way to it. I'd program it to detect traffic on radar and to stay far away from everything.

e) On the topic of sea law, there are some required signals. Your boat may or may not be legally obliged to provide some. Check that too!

Shouldn't it provide precisely the same as a manned sailboat? That is, have the same lights - i.e. red to port-bow, green to starboard-bow and white in the stern or since the boat is so small, just an omnidirectional white light satisfies the legal requirements if proper lights are "unfeasible" (which is of course a term subject to interpretation). If the boat can detect fog somehow, it should obviously also provide audible signals and (presuming that it somehow can determine when visibility is too poor) stop, if necessary.

Re:The real challenges (0)

Anonymous Coward | more than 6 years ago | (#20848701)

OP here.

I have some qualifications too, but I don't think it's all too cut and dried. I would, in his position, program avoidance in anyway as well, but the rules are hairier than they sometimes seem. I'm sure his boat would be ahead of seaplanes and small powercraft, but would it be above or below other sailboats? Would it be considered limited in its abilitiy to maneuvre? Would it be considered under command or no? These are the questions for which I'd definitely want to ask a lawyer.

As to the lights, I'm not convinced that it is equivalent to a manned sailboat. There's nobody on board to answer a radio hail or anything like it; visual signals mean nothing to this boat, or very little. Like many oil tankers, which are more or less under computer control once they leave pilotage zones, there's no human being at the helm. Again, I would really want a sea lawyer's opinion. As to fog and visibility, that was another thing that I had in mind: those signals aren't just there in case you happen to feel like it that week. They are actually mandatory and if it can be shown that you weren't making appropriate signals, you're likely to be liable.

Re:The real challenges (0)

Anonymous Coward | more than 6 years ago | (#20849145)

I took the courses and got the degrees a number of years ago but since I sold my previous boat a few years ago and recently bought a new one I did repeat some of the material and that included the most important parts of "International Regulations for Avoidance of Collisions at Sea" (or whatever the English name of the international treaty from 1972 is - I live in Finland and obviously read the Finnish translation and that's my translation back to English).

Seaplanes are considered to be small powercraft when they're in the water and thus have to obey the same rules (but are encouraged to stay away from other traffic). The chances that it will encounter small powercraft are slim anyway because small motor boats rarely cross the Atlantic because they cannot have enough fuel onboard without special additional tanks. There's no way it could be considered limited in its ability to maneuvre because it is not performing any work at sea, which would justify that and depth is not an issue either so even though there's nobody onboard, it must be considered to be under command because it could be commanded if there was someone onboard - or if it couldn't it must be considered to be in distress and should thus be stopped to prevent it from causing an accident by colliding with other ships (the fact that it is in practice controlled by a computer won't be taken into account then).

It is of zero relevance whether a manned vessel is controlled by a computer - there are (or at least should be) crew that monitor it anyway and the commander is always responsible for the ship following maritime regulations - e.g. if a ship causes an accident because of a faulty autopilot, the commander gets the blame because when he has agreed to take command of the vessel, he has agreed to it being seaworthy, and thus he should either ensure that the autopilot is functioning or be aware that it isn't and consequently steer it manually.

What you're saying about audible signals is true but I doubt that it would be an issue in practice since there's sufficient room for interpretation when fog necessitates it - so I'd say that in practice he can get away with as long as he has some implementation, no matter how poor it is as long as his vessel isn't involved in an accident. If it is, he's likely to be SOL unless his vessel in some way documents its behaviour and the behaviour of ships nearby and is thus able to prove that another ship was at fault (assuming that that is the case).

The question whether he can be considered to be the commander of his vessel even though he's not onboard is interesting but I doubt that it will matter as far as liability is concerned. My reasoning is that if he is considered to be the commander he's responsible for it being seaworthy and in this case that includes ensuring that it has completely automated systems that can control the ship just as if it was manned (just as is the case when a ship is steered by an autopilot) or alternatively if he isn't considered to be the commander, there are numerous ways to make him responsible anyway (his boat could e.g. be considered dangerous cargo and consequently he has failed to take appropriate action by alerting authorities and attempting to limit the damage caused by it - yes, that's a ridiculous way to view such a boat but it works to make him legally responsible).

When his boat is close to shore, everything will obviously be more difficult since small boats are harder to detect on radar unless they have reflectors but I presume that the competition is arranged in such a way that they'll stay away from areas with significant small boat traffic.

Now, I don't think asking a lawyer is all that necessary since unless he's nuts he'll obviously get insurance and as long as he makes sure that the insurance company knows what he's insuring (i.e. not an ordinary manned sailboat) and he gets insurance, he'll be fine. Admittedly, it's likely that it will cost quite a bit more than insuring a boat usually does but as I said - he's nuts if he doesn't.

typical, a typo (0)

Anonymous Coward | more than 6 years ago | (#20849263)

"considered dangerous cargo" should be "considered dropped dangerous cargo"

Re:The real challenges (1)

nietsch (112711) | more than 6 years ago | (#20849327)

A) that is mostly a design problem. On a fullsize boat the rudder is relatively weak. The smaller the boat, the loads on each part go down exponentially (or cube size?). The forces on say the rudder of a 10 ton boat (40') are much bigger than the forces on a 100 kg boat.
b) design problem too. Pot all electronics in suitable goo & install automatic bilge pumps.
c) Yes, you can get marine forecasts, either codified (but for human consumption) or as fax-like maps. Both would require serious logic to interpret. But OTOH, there are clocks for sale that can display severe weather warnings for a given location, so there must be an easily readable signal out there. Maybe you are even allowed to send a suitable weatherforecast to your own boat?
d)size matters. The ocean is big, and danger lurks underneath. But even for cruising yachts it unfeasible to be on the lookout all the time. Once you are out of the shipping lanes, you just take your chances and run. Radar is not an option because it needs to be mounted high and stable to work good (cant do that on a very small boat) and it consumes way too much energy. There is a much simpler solution that does work: AIS radios (if i recalled the acronym right) send their GPS position and heading periodically (& other usefull info like vessel name and size) and can listen for other vessels. With this info you can calculate a course to stay away from all AIS equipped traffic (which is all big ships nowadays). With the small fry you just rely on visible warnings and take your chances.
e) It is a small boat, so a white light is all that is required. A strobe would give better visibility but is not in accordance with international rules I believe. Lots of yachts have a strobe anyway.
f) You can only take your chances. Once lighting strikes, all electrical stuff is done for. On a manned yacht that is not the biggest problem as you are supposed to be able to navigate with compass and chart, but on a robot it is game over. Lightning strikes on big yachts are not very frequent, even less so on smaller boats.

Sailboat OS (1)

Kpykaarti (1167087) | more than 6 years ago | (#20848195)

I used the SOAP protocol in my sailboat software. It melted in the water and my boat sank :(.

Automation in Linux (4, Informative)

PtrToNull (742886) | more than 6 years ago | (#20848229)

Having worked on development on robotic telescopes, both hardware and software, let me tell you that using Linux was not an easy choice. We had to narrow our search to vendors who explicitly support Linux, and even there, their support was flaky at best and we spent hours in troubleshooting the drivers before we got them to work. However, this exercise resulted in better support for Linux from the vendor, so it's a win-win situation. We opted for National Instruments [] for their excellent DAQ boards & LabView which are all supported under Linux.

For the control system, we used INDI [] , it's a powerful server/client control protocol that you can use to jump start your project within minutes. While it is geared toward astronomy, it can be used for any purpose.

Make things redundant (1) (102718) | more than 6 years ago | (#20848257)

Things break, make them redundant.
Reember to include GPS, and a sat receiver to get weather maps. Knowing about vawes and their sizes might also prove helpful, and femember to make a big keel to keep the boat stable. And waterprof it, so it can go down but will buoy up with the sail pointing in the right direction.

Re:Make things redundant (1)

kop (122772) | more than 6 years ago | (#20848625)

Better make t a multihull
A ship with a keel is limited in its speed by its lenth, this is called hull speed
The maximum lenth is set here to 4 meters, the maximum speed of a single hull ship of this lenth is 17,5 Kilometres per hour.
I expect to see a multi hull ship win this

Re:Make things redundant (0)

Anonymous Coward | more than 6 years ago | (#20848749)

Hull speed is a much more complex topic than you're pointing out there. There are multiple kinds of waves being formed, giving you your aggregate wavemaking resistance, and the length/beam ratio is often what is involved here. Multihulls often have huge length/beam ratios on each hull, which is why they get more speed under ideal conditions. But they also get huge racking stresses, don't have real capsize return plans without extra things at the top of the mast like hobie's things, and are extremely load-sensitive. If you're using a trampoline or bridgedeck for solar panels, it will probably either be too low and consequently slam in any kind of sea (which is, again, an element of it being a hostile environment) or too high and introduce way too much windage.

If I wanted absolute get there certainty, I'd consider a long, narrow monohull with as much ballast as deep as I could conveniently get it, because when overpowered it would tend to roll, spill wind and return rather than stay stable until it flipped, and if capsized would be turned back by the next wave. Narrow enough, and such a monohull could integrate solar panels with its deck and topsides for a fair amount of power without the windage and slamming problems and still have very respectable hull speed.

If an ultimate storm hit this flotilla, I'd bet on the monohull built to french unsinkability standards. If it's fair weather sailing, I'd bet on the multihulls. In the North Atlantic, I'm not putting money on consistently fair weather.

Re:Make things redundant (1)

Calinous (985536) | more than 6 years ago | (#20848833)

Only planing designs (like windsurfs) are not limited to hull speed. Multihull ships have plenty of other advantages, but the hull length-max speed relations are the same as for other boats.

silly race, really. (2, Insightful)

zippthorne (748122) | more than 6 years ago | (#20848271)

Buy a commercial autohelm and feed its inputs with directions based on your gps waypoints and the local weather. You'll also need some kind of auto-main-sheet and auto-jib. Large yachts already have these. Heck, most cruise ships are already ocean-crossing robots. They don't even necessarily require the pilot's input for docking maneuvers anymore.

The trick, IMO, is creating a tacking plan based on your goals for the day, and knowing when to adjust it and when to just ignore local fluctuations.

What about the terr'ists (0)

Anonymous Coward | more than 6 years ago | (#20848413)

What if this technology can be used by terrorists to ship all their WMDs to our shores?

Oh won't somebody please think of the terrorists!

Missiles (1)

RAMMS+EIN (578166) | more than 6 years ago | (#20848423)

When I read the title, I first thought about robotic _aircraft_. That seemed like a particularly bad idea...building transatlantic rockets for fun and profit! It's perfectly innocent, I assure you!

Maritime law ... (1)

Ihlosi (895663) | more than 6 years ago | (#20848559)

In the summer of 2008, teams from a host of countries will compete in The Microtransat Challenge with the hope of gaining the honor of having built the first autonomous sailboat to cross the Atlantic.

The college a friend of mine went to tried doing something similar (actually, the vessel should have gone around the world instead of just crossing the Atlantic). They had to give it up due to some maritime law issue - apparently, ocean-going vessels need to be capable of picking up people in case of an emergency (like rescuing them after a shipwreck). Understandably, a small robotic ship that doesn't have any provisions on board doesn't qualify.

"Blackboard" based system (1)

advocate_one (662832) | more than 6 years ago | (#20848583)

sensors read and write to the "blackboard" through the device drivers and the high level code also reads and writes to the "blackboard"...

Methodology (1)

Codifex Maximus (639) | more than 6 years ago | (#20848617)

My methodology would go something like this:

1. Determine most stable and speedy hull design that will accommodate servos, electronics and power storage. I'm thinking basically a mono-hull with two outriggers using a simple lateen style sail. Jib may be a problem.

2. Sensor needs... GPS I'm thinking. Design a self learning algorithm that can take a plotted course and learn how to sail it. Let the boat learn how to sail itself ala FPGA style.

3. Profit!

Not just the interface, but simulation too (1)

qw0ntum (831414) | more than 6 years ago | (#20848697)

Go for Player/Stage. It's an open source HAL for robotics. We used it in the lab I used to work for; it's very easy to use and has great documentation and community support. The biggest benefit of Player is the ability to use Stage to simulate your robot - code that runs fine in the Stage simulator will work just the same in real life. That's super important if you have a short development cycle for your project, and for this type of "robot adventure racing". Always remember the team that won the DARPA grand challenge was the one that spent the most time (by far) in testing.

Boat size (1)

Calinous (985536) | more than 6 years ago | (#20848777)

Assuming a 4 meter overall boat, it would be about 3 meters (ten feet) on the water line. Even a skinny competition yacht body would be more than 30cm wide, and more than 20cm deep - so the total mass could be easy in excess of 100kg.
      You have space and mass for any kind of computing system you need - but batteries for a long flight would be a problem. Best solution? Build a real ship (wider, deeper) and use plenty of batteries as ballast.
      Hmmm, no mentions about a multihull. It might be a good solution - I've sailed a catamaran recently, and it was a beginner's dream - it hardly heeled, and went nose in wind unchecked.

      Software? you only need to know if you can point high enough in the wind, and if not, start wearing (tacking was difficult, as the very light boat lost speed incredibly fast when tacking).
      So you need compass, wind vane and wind speed indicator. Plus some ways to reef the sail, and adjust how much you can point in the wind by how much sail you carry, and how much sail you carry by the windspeed.

chance of success? (0)

Anonymous Coward | more than 6 years ago | (#20848883)

My robotics lecturer at UWA last year entered the Microtransat last year, along with another CompSci lecturer who wrote the AI. They entered a machine that they had been working on for well over a year & was the third design after two previous unsuccessful past attempts. Does the OP really think that s/he can just quicky throw something together & expect to get anywhere?

Just as far as power goes... (1)

murrdpirate (944127) | more than 6 years ago | (#20848903)

I would think that the amount of batteries required for a multi-week trip would be pretty heavy. Maybe you could use a small generator with a small turbine in the water (I guess air couldn't work here). Although you would lose some speed, I don't think it would compare to the speed lost with battery weight.

Industrial Automation (1)

methodair (447422) | more than 6 years ago | (#20849103)

PLCs (Programmable Logic Controllers) are the traditional way to solve the interface between software and hardware sensors. This is done in industrial computing and control all the time (Factories, manufacturing machines, robotics, etc). The sensors and actuators are connected to the Digital/Analog Inputs and Outputs of the PLC. The input signals are converted into variables (with ADC) that can be read like any other variables. The output variabels are converted back into the appropriate valtages and currents (0-10 VDC or 4-20mA). The I/O modules also do error, short circuit, wire break, etc. checks. Basically PLCs take out the hassle of having to build the hardware interface between the real world to the software.

Most of them are programmed in a graphical language called Ladder diagram (like relay logic dagrams in software). Some of the more advanced ones can be programmed in C or other 3rd generation languages. There is actually a standardised set of languages to program them, Structured Text is the one that is most C/Pascal/Basic like (see IEC 61131-3). There are libraries etc to support all the conventional control issues and yes you can build your own.
See companies like Siemens Automation and Drives [] , Rockwell Automation [] , Bernecker & Rainer Industrial Automation [] , Schneider [] for more information.

It's a boat, hardware might be important... (1)

fantomas (94850) | more than 6 years ago | (#20849105)

Time is limited however, so I would like to avoid as many hardware issues as possible and get straight to the difficult problem of writing the AI.

Given that it's a boat race on open water, maybe you should spend a *little* time thinking about hardware issues. If your key interest is AI maybe you should stick to simulators and lab based lego robots (or find a marine engineer for your team)?

FlowDesigner/RobotFlow (2, Informative)

jmv (93421) | more than 6 years ago | (#20849347)

I'm biased because I'm one of the authors, but you may want to have a look at FlowDesigner [] and RobotFlow [] . It's a visual development for plugging blocks together and we've used it to control mobile robots and interface with sensors and actuators.

ai-0 (0)

Anonymous Coward | more than 6 years ago | (#20849393)
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>