Slashdot Mirror


Trans-Atlantic Robots

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?"

203 comments

  1. In one word? by vigmeister · · Score: 2, Informative

    MATLAB

    Cheers!

    --
    Atheist: Buddhist in a Prius
    1. Re:In one word? by sokoban · · Score: 1

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

      http://koentmnd.ytmnd.com/

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 is the magic number.
    2. Re:In one word? by eggnoglatte · · Score: 2, Insightful

      For a realtime system? Surely you are kidding.

    3. Re:In one word? by 0100010001010011 · · Score: 2, Informative

      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

    4. Re:In one word? by zippthorne · · Score: 1

      But... MATLAB is a FORTRAN wrapper.

      --
      Can you be Even More Awesome?!
    5. Re:In one word? by itwerx · · Score: 1

      MATLAB?!? WTF?!?

      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.

    6. Re:In one word? by Fred_A · · Score: 1

      Do you actually need realtime for a sail boat ?
      (just wondering)

      --

      May contain traces of nut.
      Made from the freshest electrons.
    7. Re:In one word? by saigon_from_europe · · Score: 1

      I'm not a real expert, but I had some experience in systems that are not "hard real-time".

      I can't recall exact definitions, but there are "soft" and "hard" real-time systems. In soft systems you can miss some deadlines. Like in video game, where you don't want to skip the frame, but from time to time that happens and its not a big deal.

      Some very expensive systems are soft real-time. For instance, AGC - which is basically fine-tuning of power system's frequency (to keep it 50 or 60 Hz) is not hard real time. In our system, we issued commands in every 4 seconds. It was not big deal it we were late with our command for even a whole second. System would accumulate the error and it would be corrected the next time.

      If the sailing is a process that is slow enough and if its actuators do not require precise timing, you can live with Matlab quite well. Simply, some processes are very 'forgiving', i.e. they are real-time in very vague terms. Even the most unpredictable systems (like Windows + Java interpreter + + Matlab + system coded in Matlab) can be used in such situations.

      --
      No sig today.
    8. Re:In one word? by Fred_A · · Score: 1

      It seems to me that 4 seconds would be plenty enough reaction time for sailing (40 probably would be enough actually).

      --

      May contain traces of nut.
      Made from the freshest electrons.
    9. Re:In one word? by Anonymous Coward · · Score: 4, Interesting

      I've already done this in April, and it works.

      http://67.15.245.144/portfolio/navcom_ai/

      You're welcome to contact me for info, or just grab the source code and schematics since it's all open. If you do contact me however, I've changed some code in the past two months that's slightly more efficient (it's on the Parallax website in the object exchange under Math AFAIK, if you can't find it, get a hold of me)

      Matteo Borri mkb@libero.it

    10. Re:In one word? by Anonymous Coward · · Score: 0

      To react to a course deviation you *MIGHT* get away with 40 seconds. However if you use a DC motor and want to position a sail or rudder then your going to need response times in the 10s (maybe 100s) of milliseconds.

    11. Re:In one word? by Nullav · · Score: 1

      You need more than a GPS, motors and a power source to sail. While land stays in the same place, the wind will no doubt change direction plenty of times. The boat would need a power source, a way to determine wind direction (and adjust sail accordingly), position, and possibly wave height. (Don't want the boat to capsize, after all.)

      --
      I just read Slashdot for the articles.
    12. Re:In one word? by baffo · · Score: 1

      I have seen people writing control software for robots that updates 10K times per second using Matlab + Simulink.

      --
      Estamos como estamos porquè somos como somos.
    13. Re:In one word? by eggnoglatte · · Score: 1

      I guess I stand corrected.

      Out of curiosity, though: how do people deal with the gigantic memory footprint of typical matlap apps? I frequently use matlab for prototyping, but once I load a few images, I find you start swapping even on a high end machine with 2+GB of RAM. The thought of piping large amounts of sensor data through it just makes me shudder.

    14. Re:In one word? by nonsequitor · · Score: 1

      I believe SpeedGoat, a MathWorks partner, has a ruggedized xPC target box we are planning on using in a marine environment. Its expensive, but you're going to have to drop at least 4 grand anyway to get something ruggedized, plus MATLAB/Simulink and the RTW addon, plus the xPC blockset will run you around 10k as well, unless you qualify for student versions. You will need to make sure that whatever hardware you do pick has analog and digital inputs and outputs, so the PC104 IO expansion cards in a ruggedized PC, with all the drivers already provided will give you the best results. The other considerations will be its ability to withstand the environment; vibration, humidity, and so forth, which is why an old PC may not be the best choice.

    15. Re:In one word? by Anonymous Coward · · Score: 0

      you might try having a dedicated system cook the data for each sensor and just pass the executive summary up to the master controller.

    16. Re:In one word? by Anonymous Coward · · Score: 0

      Labview!

  2. URBI by bobby1234 · · Score: 5, Informative

    http://www.urbiforge.com/ "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."

    1. Re:URBI by jdray · · Score: 1

      With a Java interface, I wonder if you could get some traction combining URBI with SunSpot [PDF] nodes for controller interfaces...

      --
      The Spoon
      Updated 6/28/2011
    2. Re:URBI by Stefanwulf · · Score: 1

      I'm going to second that suggestion. I use URBI for talking to an AIBO as an AI hobbyist - the Java interface can be a bit slow at times, especially dealing with video data, but by slow we're usually talking 3 updates a second instead of 30, which may still be in range for what you want to do. The C++ interface is much more powerful, and from what I've read is quite fast as well. Overall, it's provided a fantastic interface for low-level control of a robot, and I'm pretty happy with it.

  3. Mythical Man Month by yamamushi · · Score: 1, Funny

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

    And it would probably compile in one shot.

    --
    - Aetheral Research -
    1. Re:Mythical Man Month by Fred_A · · Score: 1

      Aren't you afraid the perforated cards would get soggy and would clog the reader ?

      --

      May contain traces of nut.
      Made from the freshest electrons.
    2. Re:Mythical Man Month by Fembot · · Score: 1

      Do it in one weekend? That's loads of time - this is "Extreme Programming"

  4. Well, DUH! by Anonymous Coward · · Score: 5, Funny

    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.

    1. Re:Well, DUH! by eggnoglatte · · Score: 1

      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.

    2. Re:Well, DUH! by kauttapiste · · Score: 1

      Not to mention that the particular website would, for one, welcome the new robot boat-building overlords!

  5. Re: Trans-Atlantic Robots by CheekyBastard · · Score: 2, Insightful

    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.

  6. An OS for your system? by Ximok · · Score: 0, Redundant

    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.

    1. Re:An OS for your system? by Ximok · · Score: 1

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

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

    2. Re:An OS for your system? by greenguy · · Score: 5, Funny

      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.

      --
      What if I do the same thing, and I do get different results?
    3. Re:An OS for your system? by Big_Monkey_Bird · · Score: 1

      Hahaha. I bow to your comic genius

    4. Re:An OS for your system? by db32 · · Score: 1

      Someone seriously needs to kill you for those. And I don't mean kill you in a quick and pleasant way. I mean a horrible painful death that lasts as long as possible.

      You also ignored the obvious problem that it needs a Captain and not a Kernel.

      --
      The only change I can believe in is what I find in my couch cushions.
  7. Re:Don't know what you'll choose by speedingant · · Score: 1

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

  8. approach by belmolis · · Score: 5, Funny

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

    1. Re:approach by ejecta · · Score: 1

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

      --
      Two Parts Swash, One Part Buckle
    2. Re:approach by r3g3x · · Score: 1

      ... but say nothing about the use of, say, cannon. :)
      I, for one, welcome our new autonomous pirate overloads.
    3. Re:approach by Rakishi · · Score: 5, Funny

      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.

    4. Re:approach by thatskinnyguy · · Score: 1

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

      --
      The game.
    5. Re:approach by Alaria+Phrozen · · Score: 1

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

    6. Re:approach by PinkPanther · · Score: 1

      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.

      :-)

      --
      It's a simple matter of complex programming.
    7. Re:approach by Jarjarthejedi · · Score: 1

      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!

      --
      There are two kinds of fool One says 'This is old therefore good' Another says 'This is new therefore better'- Dean Ing
    8. Re:approach by Anonymous Coward · · Score: 0

      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.

    9. Re:approach by Jedi+Alec · · Score: 1

      And the amount of force exerted on the other boat would only be, oh, slightly less than the one on your own....so it'll only work if you're in the lead already and you're pretending it's really a propulsion unit :-)

      --

      People replying to my sig annoy me. That's why I change it all the time.
    10. Re:approach by asCii88 · · Score: 0

      Mod parent funny and me offtopic.

    11. Re:approach by Xeirxes · · Score: 3, Funny

      Forty years later, the ocean is still overrun by four-meter long robotic attack ships, who refuse to allow any ship passage.

    12. Re:approach by mathmoi · · Score: 1

      Mod parent funny, I loled so much :)

      --
      Mathieu Pagé
    13. Re:approach by davidsyes · · Score: 1

      http://www.sailwx.info/shiptrack/shiplocations.phtml

      With the help of GPS, some small Azipods from

      http://www.abb.com/cawp/seitp161/d9b2b9b6ef1f600cc1256fdf003b2929.aspx

      (hey, maybe they will be willing to sponsor a LINUX-controlled craft?)

      and some backing from other sources and I'm sure this can be done. After all, it's not as if Omega or LORAN are the navigation sources.

      --
      Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
    14. Re:approach by piratesyarr · · Score: 1

      YOU SHALL NOT PASS!

      --
      Small though it is, the human brain can be quite effective when used properly.
    15. Re:approach by toddestan · · Score: 1

      Why not go the obvious route, and pump the other boats so full of water that they sink?

  9. Re:Don't know what you'll choose by deniable · · Score: 4, Funny

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

  10. Sigh Wouldn't be the first time Windows won by technoextreme · · Score: 1

    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.
    --
    Ooo man the floppy drive is broken. No wait. The computer is just upside down.
    1. Re:Sigh Wouldn't be the first time Windows won by speedingant · · Score: 1

      *two thumbs up* Winner!

    2. Re:Sigh Wouldn't be the first time Windows won by Fred_A · · Score: 1

      Yes he should use MacOS 7 just to prove it can be done ! (well it *could* be done, couldn't it ?)

      Actually the underlying OS doesn't matter much (as long as it provides reasonable services), so current versions of Windows (don't know about Vista) MacOS or pretty much any Unix will do just fine. He should just go with what he's most comfortable with. It's not as if he's going to fight much malware on an isolated machine.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    3. Re:Sigh Wouldn't be the first time Windows won by rustalot42684 · · Score: 1

      What if the boat gets spam and is then encumbered by its massively enlarged pen1s?

  11. AI link by SPickett · · Score: 4, Interesting

    Evolving neural network for sailing project http://annevolve.sourceforge.net/

  12. they should be looking here. not there. by User+956 · · Score: 1

    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.

    --
    The theory of relativity doesn't work right in Arkansas.
  13. PLC by Anonymous Coward · · Score: 0

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

    It's called a programmable logic controller.

  14. I've got one! by Anonymous Coward · · Score: 0

    Lego Mindstorms.

  15. Summer of 2008? by B.D.Mills · · Score: 1

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

    --

    The only thing necessary for the triumph of evil is for good men to do nothing. - Edmund Burke
    1. Re:Summer of 2008? by Anonymous Coward · · Score: 0

      I was one of the competitors this year, its more likely to be September/October next year in order to avoid hurricane season in the Carribean.

  16. Interesting idea by Anonymous Coward · · Score: 0

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

  17. In celebration of 10 years of Slashdot by infonography · · Score: 1

    I for one welcome out Transatlantic Robot Overlords.

    --
    Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
    1. Re:In celebration of 10 years of Slashdot by Anonymous Coward · · Score: 0

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

  18. Just do what NASA does by Fry-kun · · Score: 2, Interesting

    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.

    --
    Did you know that "FTW" ("for the win") is a direct translation of "Sieg Heil"?
    1. Re:Just do what NASA does by Anonymous Coward · · Score: 0

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

    2. Re:Just do what NASA does by Cecil · · Score: 1

      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.

    3. Re:Just do what NASA does by rat10177sd · · Score: 0

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

    4. Re:Just do what NASA does by Aladrin · · Score: 1

      Did anyone else just have a Minority Report flashback?

      Oh, and ignore the idiot about FTW. You had it right, he's obviously had a bad upbringing.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    5. Re:Just do what NASA does by everphilski · · Score: 1

      1. That's not NASA, that's ESA
      2. They used **identical** hardware. The proposed system would use different hardware.
      3. They didn't bound check a conversion from a 64bit to 16 bit.
      4. The real killer - they were running unnecessary code. They didn't even need this bit of code, yet it had the power to take down the rocket.

    6. Re:Just do what NASA does by Anonymous Coward · · Score: 0

      Despite the fact the it is impossible to determine what the faulty system is with only 3 systems. It's been proven that you require that you need at least four system to solve the consensus problem.

  19. let me guess... by NotQuiteReal · · Score: 1
    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?

    --
    This issue is a bit more complicated than you think.
    1. Re:let me guess... by fractoid · · Score: 2, Insightful
      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.
      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    2. Re:let me guess... by ichigo+2.0 · · Score: 1

      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. ;)
      The key attribute was seamless. :)
  20. Does it have to be a full on computer? by scoot80 · · Score: 1

    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.

  21. Obvious solution... by rts008 · · Score: 1

    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.

    --
    Down With Slashdot BETA!!! I've been around the corner and seen the oliphant; you can only abuse me from your perspecti
  22. sailing by ZachMG · · Score: 0

    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

    --
    There is hopeful symbolism in the fact that flags do not wave in a vacuum. --Arthur C. Clarke
  23. Possible Architecture by mechsoph · · Score: 3, Informative

    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.

    1. Re:Possible Architecture by newbish · · Score: 1

      Having done stuff with an 8051 microcontroller I believe Ethernet is probably the easiest setup as most of the code for setting up communication is already available and each microcontroller can handle something like 8 sensors.

    2. Re:Possible Architecture by robot_guy · · Score: 1

      Even better, how about talking NEMA 0183 like most nautical instrumentation (like the GPS, autohelm, anemometer, wind direction indicator, compass, depth sounder, log, etc). It wouldn't half simplify the process if you could just buy instruments that are going to stand up to the marine environment. Getting a PIC to talk NEMA is going to be dead simple (it's just 4800 baud serial with some electrical specs) so creating any unique sensors or actuators is going to be easy and there are easy to get NEMA to PC interfaces.

      I mean, why reinvent the wheel?

  24. but what *hardware* ? by sneakyimp · · Score: 1

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

    1. Re:but what *hardware* ? by spinlight · · Score: 4, Interesting

      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).
      --
      "I do not avoid women, Mandrake . . . but I do deny them my essence." - Gen. Ripper
    2. Re:but what *hardware* ? by sneakyimp · · Score: 1

      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?

    3. Re:but what *hardware* ? by foobsr · · Score: 1

      labview

      Was thinking of this as well. Good infornation here.

      CC.

      --
      TaijiQuan (Huang, 5 loosenings)
    4. Re:but what *hardware* ? by Anonymous Coward · · Score: 0

      Use a gumstix (www.gumstix.org) and then you can just turn I/O lines on and off by echoing into /proc/gpio/gpioxx. Alternatively connect up to a microcontroller via USB, Serial, I2C or SPI and have it do all the hard low level bits.

    5. Re:but what *hardware* ? by CrashandDie · · Score: 0

      Well you could also look at Adam Modules (http://www.eautomationpro.com/us/RS-485-I-O-Modules/subc_MstrCATE_EAPRO_RSMOD.aspx), they allow to use a lot of different modules (up to 255 on a serial port).

      If it's just reading some temperatures, wind speed, etc, then I guess these are great, plus, it's plain rs232, so fairly easy to use.

      I guess there are a lot of different products that get the same results, it's just a matter of opinion, and experience.

  25. MATLAB Real-time Workshop by mechsoph · · Score: 1

    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.

    1. Re:MATLAB Real-time Workshop by everphilski · · Score: 1

      The problem is (last I worked with it) the generated code is absolute garbage. Your variables are a, aa, ab, ac, ad, aaa, aab, aac, etc - no rhyme or reason to them. Functions do not have meaningful names. You can take that generated code and compile it against your project and hope to God it works, but if something doesn't work, you are virtually hopeless. No tweaking.

  26. Basic question by Anonymous Coward · · Score: 0

    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.

  27. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  28. What we use by jfim · · Score: 5, Informative

    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.

  29. Bigger Prize by Anonymous Coward · · Score: 0

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

  30. Use VISTA by RSA7474 · · Score: 2, Funny

    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.

    1. Re:Use VISTA by davidsyes · · Score: 1

      Dave, I detect that you are trying to cross a large body of water. This could be dangerous. Do you want to:

      COntinue?
      Stop?
      As more questions?

      --
      Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
  31. Using Ethernet to control devices by Animats · · Score: 4, Insightful

    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.

    1. Re:Using Ethernet to control devices by mechsoph · · Score: 1

      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.

    2. Re:Using Ethernet to control devices by Animats · · Score: 2, Insightful

      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.

    3. Re:Using Ethernet to control devices by deroby · · Score: 1

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

      --
      If there is one thing to be learned on slashdot, it has to be sarcasm.
    4. Re:Using Ethernet to control devices by bhima · · Score: 1

      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.

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
    5. Re:Using Ethernet to control devices by Fred_A · · Score: 1

      According to my (admittedly quite small) sailing experience and hanging around with lots of sailing people, realtime is within a 2 to 5 minutes timeframe once you're in open waters (as opposed to entering a port for example).
      This is assuming that you're aware of what's going on around you (which I expect the "AI" for the boat will be) and that you aren't awaken by a cargo ship when it's 10 metres away on a collision course.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    6. Re:Using Ethernet to control devices by mstahl · · Score: 1

      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.

      Hot glue is always a good solution to that sort of thing. Holds better than those little tabs on the RJ connectors too. (Please excuse me if this is painfully obvious; it seems insightful/informative to me because it's early in the morning.)

    7. Re:Using Ethernet to control devices by Anonymous Coward · · Score: 0

      10baseT has better noise immunity than RS-232 and 5V TTL encoder signals.
      Which is not a surprise, considering Manchester encoding, complete galvanic separation of stations, mandated CAT-5 twisted pairs, mandatory FCS in frames and collision (also any severe deformation of frame) detection. There are several layers of protection above those provided by other two mentioned. However, it comes with an elevated price and is usually an overkill for simple control applications.

      Perhaps there is some "middle way" solution that would be much cheaper and still "just enough" good, say, 9600 bps UART characters from PC (or USB-to-COM dongle), sampled with several times higher clock (e.g. 100 kHz), fed to Manchester encoders and decoders in plain logic, shifted to RS232 (or RS485) logic levels, sent over CAT5 wiring, good framing and FCS utilized in software (character-based HDLC), all done with cheap 8-bit micro controllers. Basically, trade away high throughput for lower price and lessened complexity of actuators and sensors.

      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.
      True, but wiring is not prohibitively complicated - you can always craft yourself mechanical "adapter boxes" to cross from short pigtail, USB to CAT-5 (using just two of four pairs) or even a screw-fastened DE-9 (for marine environment, it can be sealed better then CAT-5's RJ-45 connector), or even just fasten original USB cable to chassis with stripe and couple of screws on both sides of cable, to decouple cable connectors from occasional pulling force.

      Transient protection is, of course, mandatory (this is basically an outdoors equipment so wiring WILL be picking up induced spikes from thunderstorms),either with 10BaseT or with anything else.
    8. Re:Using Ethernet to control devices by Animats · · Score: 1

      10baseT has better noise immunity than RS-232 and 5V TTL encoder signals. However, it (Ethernet) comes with an elevated price and is usually an overkill for simple control applications.

      It's much cheaper than it used to be. Because Ethernet parts are produced in huge volumes, Ethernet interfaces are now about the same price as serial ports. They now take up less board space than a DB-9 connector. They're much cheaper than the "industrial" interfaces like CANbus. If there was one standard industrial network, that would be OK, but there are about five in common use.

      Control links have tended to be quite retro, with headaches like polled multidrop RS-485. There are real advantages in moving to Ethernet, even for slow data rates. You debug Ethernet-controlled devices with a web browser. You debug RS-485 devices with a scope. I've done both. At first, I thought that TCP over IP over 10baseT was huge overkill, but silicon is cheaper than soldering connectors.

    9. Re:Using Ethernet to control devices by nonsequitor · · Score: 1

      There are cheaper multi-master buses for linking micros together with, as the grandparent mentioned CAN 2.0B is one. CAN uses a differential 2 wire bus with built-in CRC's implemented in the hardware. As I have worked in avionics and currently am working doing maritime controls, I can say definitively that CAN is the way to go. However, PC support for CAN is expensive, so use CAN to link the various micros and have one chip with both CAN and Ethernet.

      To be honest I don't see why you would need anything more than microcontrollers, since size and power are considerations, one or two MPC555 chips should be more than enough. Microcontrollers also have low power modes to further reduce battery consumption. Even a UPS powering some sort of PC won't last 24 hours without adding considerable weight.

  32. OS of choice? Are swarms allowed? by jpellino · · Score: 1

    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!

    --
    "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  33. Check out RayMarine Equipment plus a NMEA Inferfac by Anonymous Coward · · Score: 0

    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.

  34. AI might not be the difficult part by Dr.+Winston+O'Boogie · · Score: 2, Insightful

    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.

    1. Re:AI might not be the difficult part by mixenmaxen · · Score: 1

      I disagree

      I live on a boat that is in salt water all year round, my laptop and all my other electronics spend all their time in the harsh environment of the salty seabreeze. I have yet to see any hardware problems related to this, so I don't think it will be a problem for at ride across the atlantic either.

    2. Re:AI might not be the difficult part by anachronous+diehard · · Score: 1

      I, too, think you are underestimating the hardware problem. In addition to the thoughtful comments already posted:

      The Microtransat Challenge 2007 rules require length not to exceed four meters and total mass not over fourty kilograms. (The 2008 transatlantic race rules don't seem to be posted yet.) These appear to be "soft" rules (imposing penalty points, not disqualification).

      Sailing Kayak "Pentafulle" http://www.nonnalilla.org/ is a random example of a four meter boat. At 25 kilograms, she only allows 15 kilograms for everything else. She is obviously not ready for open ocean, and all the necessary changes add mass. My first change would be to add at least 15 kilograms of ballast to the keel.... (How fast do the penalty points accumulate?)

      Power provisioning: It's harder than you think. A quick calculation suggests that the available deck area won't collect enough solar power to feed more than a very frugal CPU plus actuators. (And too bad if the available wind makes you heel to the north.) The drag of a propeller generator may be significant on this small rig with a hull speed of only ~4 knots (~2 m/s).

      Heavy weather: The sail reefing/furling systems which lend themselves to automation are the ones which jam at inconvenient times. It may be more practical to design the boat to treat a knockdown as part of its normal operating envelope.

      Collision avoidance: Although the number of obstacles is less than in ARPA's desert driving grand challenge, the problem isn't easier. My power calculations seem to rule out radar. Vision systems will have to cope with limited height and moving clutter which doesn't have a height limit.

      Liability: For the desert driving Grand Challenge, ARPA solved the insurance problem by temporarily taking ownership of the vehicles for the duration of the actual run. No such protection here. Lawyer up, and keep the chase boat close at hand.

  35. You do realize... by Anonymous Coward · · Score: 0
    "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 ;-)

    1. Re:You do realize... by Anonymous Coward · · Score: 0

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

    2. Re:You do realize... by stjobe · · Score: 1

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

      Yes they do, even on archived stories.
      --
      "Total destruction the only solution" - Bob Marley
    3. Re:You do realize... by Lightborn · · Score: 1


      Indeed.

      --
      My .sigs are not what they used to be.
  36. Post your solutions to pre-empt patent grabs by beachdog · · Score: 0, Offtopic

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

  37. The real challenges by Anonymous Coward · · Score: 2, Informative

    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.

    1. Re:The real challenges by Anonymous Coward · · Score: 0

      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.

    2. Re:The real challenges by Anonymous Coward · · Score: 0

      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.

    3. Re:The real challenges by Anonymous Coward · · Score: 0

      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.

    4. Re:The real challenges by nietsch · · Score: 1

      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.

      --
      This space is intentionally staring blankly at you
    5. Re:The real challenges by Anonymous Coward · · Score: 0

      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! Its a grey area, according to the COLREGs (Rules for the prevention of collisions at sea) a vessel is defined as carrying people or cargo. You could argue these boats aren't carrying any cargo unless their own computers/sensors count. This actually means they have more the definition of a buoy or floating piece of wreckage.

      At 4 metres long they are unlikely to cause any damage to a container ship, maybe to a small boat but there aren't many of them in the atlantic.

      Part of the point of the competition is to develop new technologies and to see if this is all possible. Its therefore quite possible nobody will make it, but lots will get learnt in the process.
    6. Re:The real challenges by Speedracer1870 · · Score: 1

      As for required lights and sounds, look in COMDTINST M16672.D Navigation Rules (published by US Coast Guard). Use the rules on the left hand pages (International). Rules 20, 22, 25, 32, 33, & 34 should get you on the right track as far as lights and sounds required.

    7. Re:The real challenges by davidsyes · · Score: 1

      Speaking of Laws of the Sea/Admiralty/etc. This craft will be unmanned. Who will pay the bill for escort services? If it's approached, found to be unmanned/unoccupied, in international waters, is there gray area to declare it a derelict (tho it's autonomous)? Could it be seized (might be to small to be "boarded") for a "prize crew"? If someone fired warning shots across its bow, and it didn't heave to, what happens?

      Some enterprising types might even steal it and auction it off for $2,000...

      --
      Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
  38. Laser beams by Goonie · · Score: 1
    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 :)

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
    1. Re:Laser beams by Loke+the+Dog · · Score: 1

      Hmm, lasers burning the sails... Archimedes would have been proud :)

  39. Sailboat OS by Kpykaarti · · Score: 1

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

  40. Automation in Linux by PtrToNull · · Score: 4, Informative

    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.

  41. Make things redundant by terminal.dk · · Score: 1

    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.

    1. Re:Make things redundant by kop · · Score: 1

      Better make t a multihull
      A ship with a keel is limited in its speed by its lenth, this is called hull speed
      http://en.wikipedia.org/wiki/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
      <URL:http://en.wikipedia.org/wiki/Multihull>

    2. Re:Make things redundant by Anonymous Coward · · Score: 0

      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.

    3. Re:Make things redundant by Calinous · · Score: 1

      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.

    4. Re:Make things redundant by kop · · Score: 1

      Parent post was suggesting a single hull with keel ballast, these designs are very safe, but they are never good planers, so they will not easily exeed their hull speed.
      I suggest a multi hull because they are very good planers, and safety is much less a concern here because the machine is computer driven, a multi hulled planing design would probably be ideal.
      With a rigid wing sail or a kite sail the risk of capsizing can be minimized.

      Making things redundant counts for hulls here too : )

  42. silly race, really. by zippthorne · · Score: 2, Insightful

    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.

    --
    Can you be Even More Awesome?!
  43. Re: Trans-Atlantic Robots by Max+Littlemore · · Score: 1

    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.

    --
    I don't therefore I'm not.
  44. What about the terr'ists by Anonymous Coward · · Score: 0

    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!

  45. Missiles by RAMMS+EIN · · Score: 1

    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!

    --
    Please correct me if I got my facts wrong.
    1. Re:Missiles by bumptious · · Score: 1

      Bad idea or not it's been done with a robotic plane. http://findarticles.com/p/articles/mi_qa3819/is_199903/ai_n8848205

  46. Re: Trans-Atlantic Robots by pwolk · · Score: 2, Insightful

    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.

  47. Maritime law ... by Ihlosi · · Score: 1
    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.

    1. Re:Maritime law ... by Anonymous Coward · · Score: 0

      Doubt it . . . There have been several people crossing (at least trying) in kayaks, canoes, and small one or two man sailboats.

  48. "Blackboard" based system by advocate_one · · Score: 1

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

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
    1. Re:"Blackboard" based system by mstahl · · Score: 1

      No! He should use a blackbeard system! Arr!

  49. Methodology by Codifex+Maximus · · Score: 1

    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!

    --
    Codifex Maximus ~ In search of... a shorter sig.
  50. Not just the interface, but simulation too by qw0ntum · · Score: 1

    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.

    --
    'Every story, if continued long enough, ends in death.' --Ernest Hemingway
  51. Boat size by Calinous · · Score: 1

    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.

    1. Re:Boat size by PolarIced · · Score: 1

      The problem with catamarans (or any multihull) is that the stability curve and righting moments are such that once they turn over they stay over. Monohulls will eventually right themselves, provided the keel is still attached. You're right - they're a blast for humans to sail/charter - but in this particular case I'd consider only a monohull.

    2. Re:Boat size by Anonymous Coward · · Score: 0

      Even though the boat could easily displace far more, the rules limit the mass to 40 kilograms. Above that, there are point penalties. They don't provide any further explanation on the web site.

      It's probably a good idea in that it limits damage potential in a collision. There's plenty of flotsam out there heavier than that. Does anyone know whether this is a law of the sea legal limit? That is if mass greater than 40 Kg then no human jockey/skipper is needed.

  52. chance of success? by Anonymous Coward · · Score: 0

    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?

    1. Re:chance of success? by Calinous · · Score: 1

      Yes, he can.
            If he don't win with a sailboat, maybe he will win with a submarine

  53. Just as far as power goes... by murrdpirate · · Score: 1

    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.

    1. Re:Just as far as power goes... by Calinous · · Score: 1

      A single hull design needs quite a bit of ballast - why don't use batteries for that?
            However, I think a transatlantic trip is too long for batteries (even when used only for limited amounts of time).
            A "clipper" type hull at 3 meters long (4 meters overall) would displace about 0.3 cubic meters. This means the ship would weigh 300kg, and I assume less than 100kg would go on construction (hull, masts, sails, rigging) for something Atlantic worthy. So, you end up with more than 100kg of batteries (the electronics, servos, winches and so on would weigh a few kilograms).
            A speed yacht design would drop the displacement at quite a bit less than half - a third, so 100kg of batteries would push it. Anyway, even if using acid-lead batteries, 100kg of them would cost a bit.

    2. Re:Just as far as power goes... by Calinous · · Score: 1

      The turbine in water would rob the sailboat of wind power.I don't know how much power you could get from the sails, but if you add the losses for the small generator, I think you'd be better with more/heavier batteries. Remember, from the boats that finish the track, the fastest is the winner

    3. Re:Just as far as power goes... by melandy · · Score: 1

      This is going to be outside... why not cover the deck with solar panels to keep the batteries charged? No drag from a turbine in the water.

      -m

    4. Re:Just as far as power goes... by murrdpirate · · Score: 1

      Haha, I'm not saying to use a generator because it will make you slower. No matter what setup you have, you're going to have to sacrifice some speed for electricity. Stocking up with batteries will add weight and slow you down, solar panels add weight and require enough batteries to last for around 12 hours for when theres no sun, and a generator will take away some sail power, in addition to adding some weight itself. In a competition like this it's usually just going to be whoever actually finishes, wins. With that in mind I would probably go with batteries, at least because they're more reliable, if not also faster.

  54. Industrial Automation by methodair · · Score: 1

    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 http://www.siemens.com/, Rockwell Automation http://www.rockwellautomation.com/, Bernecker & Rainer Industrial Automation http://www.br-automation.com/, Schneider http://www.schneider-electric.com/ for more information.

    --
    whatever
    1. Re:Industrial Automation by Anonymous Coward · · Score: 0

      I will second the PLC. I work as a Instrumentation Designer for refineries. There are plenty of good, damn solid PLC's out there that are redundant and fully capable of even doing wireless out and working with a desktop/laptop, even publishing to the net. On top of that most vendors offer free to use SCADA to let you to build a series of graphic feedback sceens so you can test and track the operation of your robot in testing. With the size and power and ease of interface now availible, a robotic sailboat is easily within the capabilities of a modern PLC and related control structure, and should be easy to set up, relative to trying to cobble together a system from scratch.

      Also, since it is really a serious industry, look around for sponcership for the PLC, there is a good chance a company will just on it. The local vendor and/or the company itself.

      Also related enclosures that come from the Industrial sector, like Hoffmann, can easily be made to handle your design needs.

      If you are in the Pacific Northwest, drop me a line, I know most of the vendors by name.

      Josh (pbjoshnw at gmail)

  55. It's a boat, hardware might be important... by fantomas · · Score: 1

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

  56. typical, a typo by Anonymous Coward · · Score: 0

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

  57. Assimilation? by Anonymous Coward · · Score: 0

    Is assimilation of another boat seen as interference?

  58. FlowDesigner/RobotFlow by jmv · · Score: 2, Informative

    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.

  59. ai-0 by Anonymous Coward · · Score: 0

    ai-0.net?

  60. Thoughts from an amateur sailor/hacker by An+dochasac · · Score: 3, Informative
    • You're going to have to make the gear strong, waterproof, salt proof. With this short of notice you might consider a commercial autopilot/GPS with a serial interface to a computer which should be well sealed. If I were going to "roll my own" autopilot, I might consider utilizing a printer driver and mechanism but scale up the motors somehow.
    • Most commercial autopilots can't tack upwind. Since the trade-winds and gulf stream are against you, you're going to have to figure out how to tack.
    • You'll need a way to cut down sail. The simplest would be for the main and jib to be roller furling, but it's more difficult to have roller furling mains. Another option would be to use a tiny or heavily reefed main and have the jib/genoa be your main sail power. This sacrifices upwind performance for simplicity wind speed flexibility.
    • A mechanism to measure tidal drift and correlate it with predicted high/low tides would be useful. A dumb GPS based servo will waste lots of time and wind trying to correct course for tidal drift when it's possible that 6 hours later it will waste time and wind trying to correct course in the opposite direction!
    • If you wanted to be really smart, you'd try to measure and predict wind direction. For example, if you know a high pressure system is passing to your north, heading west to east, you should expect the wind to gradually clock around to the from northwest to northeast.
    • "Length must not exceed 4 meters" but North Atlantic waves regularly exceed 10 meters so your boat is going to be thrown around and shaken a lot and it will need to reorient itself.
    • You won't have lots of power to spare, so an efficient CPU and efficient OS will be necessary, a stripped down linux or qnx might work. For power and reliability's sake you might even consider something ancient, a 386 or 68000 on a
    1. Re:Thoughts from an amateur sailor/hacker by BrentWM · · Score: 1

      I'd have to go with a simplified junk rig if you want it to survive the trip: low stresses on the mast and sailcloth, no standing rigging and three control lines including reefing. Too many things can go wrong with a bermuda rig and there's no one to go on deck to fix them.

    2. Re:Thoughts from an amateur sailor/hacker by potat0man · · Score: 1

      I'd say go with a junk rig sail setup. You'll lose a little bit of efficiency but in exchange for a much simpler sail setup. It would simply be a matter of hoisting and lowering the sails rather than furling and unfurling.

      My two cents as an armchair/weekend sailor.

  61. Interesting ! by SlashV · · Score: 1
    Interesting challenge !
    What kind of sensors do you have ? I would imagine:
    • GPS
    • Compass
    • Wind direction
    • Heeling angle
    • Wind speed
    • Winch positions
    • Rudder position
    From this information, it should be possible to write a pretty good 'software sailor'. It seems to me no AI is required. My software would:
    • Plot a course
    • When the above course is to much into the wind, sail as close to it as possible.
    • Make a tack when the target position comes at a certain angle.
    • Use combination of wind speed, wind direction, and heeling angle to determine correct winch positions.
    • Use a feedback control loop using rudder position and compass to control the rudder and maintain the planned course
    • Repeat the above and win the race :D !
    Actually, I would like to help you write the software. That would be interesting.
    1. Re:Interesting ! by Calinous · · Score: 1

      However, to get most of the speed out of wind is not trivial, and some courses are better than others (especially for boats than will probably use Bermuda rig, with no spinnaker).

    2. Re:Interesting ! by SlashV · · Score: 1

      However, to get most of the speed out of wind is not trivial, and some courses are better than others "premature optimization is the root of all evil" -- Donald Knuth Get the thing sailing first. Get it sailing fast later.
  62. Re: Trans-Atlantic Robots by Fred_A · · Score: 1

    The first thing to consider is whether to edit the code with vi or Emacs. Until this important point is addressed, I don't see how we can move forward to the sailing engineering bits.

    --

    May contain traces of nut.
    Made from the freshest electrons.
  63. Robots? by steevc · · Score: 1

    How about Rowbots?

  64. Thoughts from another amateur sailor/hacker by Anonymous Coward · · Score: 0

    I've already done this in April, and it works.

    http://67.15.245.144/portfolio/navcom_ai/

    You're welcome to contact me for info, or just grab the source code and schematics since it's all open. If you do contact me however, I've changed some code in the past two months that's slightly more efficient (it's on the Parallax website in the object exchange under Math AFAIK, if you can't find it, get a hold of me)

    Matteo Borri mkb@libero.it

    It uses the Parallax Propeller platform (8-core 80Mhz system that uses about 3 watts when all 8 cores are actively processing). This particular desing can be dipped in fresh water and keep running.

  65. Press coverage from the September 2007 races by Fembot · · Score: 1

    The previous event which was just run generated quite a lot of media interest including:

    BBC News -- includes a video
    The Register
    UWA press release

  66. Just follow the ducks by supersnail · · Score: 1

    Just follow the lead of these guys:Rubber Ducks.

    You wont need any processors etc. and the whole kit can be bought complete from Toys'R'Us for less than a dollar.

    --
    Old COBOL programmers never die. They just code in C.
  67. Obligatory by Anonymous Coward · · Score: 0

    Imagine a beowulf cluster of these sailboats! If we had this, I am sure we would all welcome our robotic sailing overlords of the deep Atlantic waters.

    --A non cow

  68. On the water...SBC by canuck57 · · Score: 1

    There is no substitute for a good engineering team on a project like this. Perhaps a challenge for a local university of engineering students to help out.

    But environmental concerns are that a PC isn't going to cut it. Imagine what salt water mist does when it gets sucked in.... My guess is you need ingenuity like you find on many of the devices on http://linuxdevices.com./

    An SBC computer that is of low power and can be sealed from the elements. Many have no special needs for fans. You going to need the power to drive servos and motors so generating power from the sun and the boats motion including electricity storage is paramount. GPS and compass interfaces as well, possibly weather too. Maybe 2 SBC, one to control the boat and another to plan and guide the boat simple cross over Ethernet to communicate. You want a small computer(s) for space, weight and power consumption.

    For software development, keep it simple. KISS rule applies. Don't get Java fancy, use straight up and simple C/C++ structures. Follow basic concepts of good embedded software design like avoiding memory allocation and associated leaks at run time. Modularize all the components. Find a good programmer(s) in embedded design and a good technical sailor and marry them if you have to. Having a good mechanical aptitude will help to. I am not sure how many servo systems you will need but they are needed and are the fingers of the system.

    Design nothing of the hardware except plugging it in and sealing it from the elements, favoring COTs (common off the shelf) parts if available. Use a USB to a GPS for example. Or get the servos from an industrial shop. Your going to be under a time crunch to get that software working so leave as much time as you can to testing it. If it isn't tested, assume it does not work.

  69. Concentrate on the mechanicals by JoeMerchant · · Score: 1
    A PIC microcontroller and compatible GPS can handle your computing load for "real-time" sailing control.

    The only computing/electronic thing I'd wish for beyond GPS would be real-time weather data, more for storm avoidance than any wind-speed advantage - but I don't think you'll be getting that reliably in the middle of the Atlantic???

    Really, you're more likely to have a stuck actuator than a computer system crash. I'd look to proven designs for radio-controlled sailboats, work up an algorithm to sail with the available wind (and furl before it hurls), and implement it on something that doesn't have a million lines of code in the OS.

  70. I, Rowboat. by rootEToTheIPi · · Score: 1
    --
    When it comes to pastry theft, I take the cake.
  71. Kalman Filter by Anonymous Coward · · Score: 0
    Have you considered a Kalman filter? http://en.wikipedia.org/wiki/Kalman_filter

    Useful for pulling in sensor data and making dynamic predictions. I've seen marine navigation software that used this technique.

  72. Don't write algorithms on a PIC! by Neil+Jansen · · Score: 2, Informative
    Why you would want to write a tacking algorithm on a PIC microcontroller is beyond me. I've written my fair share of embedded code over the years (I'm partial to ARM7's and ARM9's myself), and I'll tell you, if my project doesn't absolutely -require- something that small, I'll write it on a PC. Especially if time is a factor.

    Even an embedded Linux platform (e.g. Gumstix) would be a bad idea for this project, as cross-compiling is a PITA. For rapid development (something I have much experience in), go with a standard PC with your development system of choice: C/C++, LabVIEW (really, not flamebait :) , MATLAB, etc.. Basically whatever you already know. Whatever can get data in and out of an ethernet port.

    As for hardware, there are so many ways to go. If you have some cash laying around, go with National Instruments as their hardware line is well supported, has a very nice C/C++ API library, and will stand up to the elements pretty well. Even if you're on a budget, they sell some multifunction USB DAQs for less than $200. Buy your motor controllers and control wiring from Automation Direct they'll have almost everything you need.

    1. Re:Don't write algorithms on a PIC! by itwerx · · Score: 1

      algorithm on a PIC microcontroller

      That was just to keep power consumption to a minimum.

  73. Power Consumption by mapsjanhere · · Score: 1

    You can buy all your interfaces for about 20k from National Instruments and run them in Labview. What I don't quite see is where you're getting the power to run your boat from. You will have winches for boom control and sail reefing, and actuators for your rudder. Unless you work with mechanical interlocks (which add lots of complexity and failure points) that allow you to power them down in "constant sailing mode" those will eat your power fast. Are you allowed a generator, or are you cladding your boat in 4 m^2 of solar cells and hope for good weather? Small keel boats are notoriously slow. speed in knots (nautical miles/hour)= 1.337 * sqrt(L ft) For a 10 ft water line, you get a little bit over 4 knots, what gives you over 20 days of travel time, a long time to run high power motors of batteries. But unless you can design a system that can replace a true helmsman (who can steer a boat in between waves to avoid capsizing)_ you are required to go with a self-rightening design. Multi-hull designs don't have that limitation, but once they flip, that's it.

    --
    I'm aging rapidly, I bought a new game and had no idea if my machine was good for it.
  74. Most of this stuff already exists by Anonymous Coward · · Score: 0

    NMEA 0183 is an old and well tried standard for communication of marine electronics. On my sailboat it can interface the GPS with autopilot, thus making autopilot run the boat according to the course. If wind instrument is installed, autopilot can steer the boat based on wind direction. Electric winches exist that can also be easily controlled, if sail size needs to be changed.

    If I was making this one, I would go with a single sail rig, something along the lines of Freedom sloops - it makes sail control much easier (essentially only needs to tack) and may be a permanent preventer to avoid jybe accidents.

    AI for this sort of thing isn't going to be too complex - in fact a decent modern GPS navigator can do most of the work already (albeit can't chose the course by itself).

    If you need more info on any of this - reply here, I'll post some links.

  75. Re:In one name! by alienzed · · Score: 1

    MATLOCK

    --
    Never say never. Ah!! I did it again!
  76. The Navigation part is trivial; however, ... by FlyingGuy · · Score: 1

    There is one part that is gonna kick your ass, and that is the ocean.

    Waves are going to be the tricky part, since unlike tree's and other obstructions they are constantly in motion and vary in both size and intensity on an almost random basis. These will be the problem since knowing when you can tack, safely, and not end up stuck in the trough and rolled or worse yet, pitch polled by your computer trying to sail up the face of a wave will be your greatest challenge.

    As others have said, your basic hull design is going to make a lot of difference. A mono-hull will be the rule, I think, and one with enough keel to right itself. I would avoid cats or tri's and outriggers of any type, since they tend to cartwheel and once upside down its pretty much game over.

    I would also go with sails modified with some drainage to help your righting arm coming back from a knock down, since you really wont be able to let go of the jib or main to facilitate same.

    Your rigging is going to have to snarl free as well. I suggest a roller main to allow you to reef based on conditions and a roller jib in case you get into a blow and need to just roll it up and sail with only a reefed main.

    There is a LOT of stuff that needs to be taken into account, best of luck.

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  77. Sensitivity analysis by TapeCutter · · Score: 1

    This "soft-hard" thing you speak of is known as the system's "sensitivity", the associated maths is known as sensitivity analysis and can be used calculate risk/stratergy in all sorts of models including the Earth's climate, industrial robots, financial analysis, etc.

    Having said that and with some experience of rough seas in a 20m trawler, auto navigation/steering is probably the easy part of crossing the Atlantic with such a small autonomous craft - there is a lot of crap and dead trees floating about out there so I suggest a maze solving algorithm using weighted threats detected on the radar (you will need to instal this as high up as you can :).

    It gets worse when you consider the performance of radar on a 20m trawler (roughly 10m above the waterline) is serverly degraded in a 4-5m swell, while a tree trunk hiding in the next trough is not a real threat to a trawler it can make a hell of a loud bang and put a nasty dent in the steel plated hull. It would certainly certainly sink an unwary 4m yatch, I would say use a commercial life raft to avoid sinking but that has obvious propultion problems.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  78. Serious competition? by VeteranNoob · · Score: 1

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

    If you have to ask, then I believe you are getting in way over your head. We're talking about some extreme concepts here: real-time determinism, advanced data-capture algorithms, "artificial-intelligence".

    If you're not already at least proficient in all these areas (and then some), I don't think you will be bringing any serious competition to this event.

    --
    Adapt, adopt, or get out of the way!
  79. How to integrate by SandSpider · · Score: 1

    "So how would you design a seamless interface between sensors and actuators to the high-level code?" Personally, I would use Perrone Robotics' MAX platform. http://www.perronerobotics.com/ We're already using it in planes, an entry for the DARPA Grand Challenge last go-round, and a new entry for the Urban Challenge this go round. http://www.teamjefferson.com/

    --
    There is nothing so good that someone, somewhere, will not hate it.
  80. good weather station by heinz711 · · Score: 1

    Use a Kestrel 4000 (or any 4x00) Pocket Weather Meter Station attached to whatever computer you use, it's the best weather station with an optional USB link.

  81. Reinventing the Wheel? by koddso · · Score: 1

    I don't know how many /.ers have any sailing experience, but I'm guessing I'm one of just a few. It seems that this competition is reinventing the wheel. The sailboat that my family uses is perfectly capable of sailing itself to wherever you would like. If you sail without a jibb(the front sail), it can even handle tacking(turning the bow through the wind). Sailboats already come with sensors for wind speed, wind direction, etc and GPS, and you can bring up the GPS, put the cursor on a point (that you could get to without going over land) and say, go there, and the boat can do it all. So it seems that the only challenge is how will you make sure you don't crash into anything? I'd say read up on the rules regarding right of way on a boat (I believe a portside tack always has the right of way) and that should give you right of way over all the other boats. And as long as the course isn't in the arctic, you shouldn't have too much else to worry about.

  82. Design to win by Anonymous Coward · · Score: 0

    Here's what I'd do. Design and build to win, not just survive. It has to survive to win but if you build it like a tank, it will sail like one. Build it strong enough for the expected worst conditions, but no stronger. Watch the weight. Light is fast. OTOH, I doubt you could build it considerably lighter than the 40Kg weight limit. The boat doesn't have to look like a yacht. For speed, the waterline should be maximized. Make it the full 4m. With no one aboard, it doesn't need a particularly dry deck or have a comfortable motion. The hull could look like a torpedo, it could be semi submerged to reduce energy robbing wake. Or it could be a dish-like planing hull. It doesn't need to resists capsize, it just needs to self-right when knocked down. Keel type is a trade-off. A narrow, deep, bulb keel is faster, more efficient in counteracting heel and leeway. A long shallow keel makes the boat easier to keep on course, requiring fewer steering inputs.

    For rig, forget cloth sails. I'd use a single efficient tall high aspect solid wing. Rotate the wing to power up or reef. If it gets knocked down in a storm, it will self-right. Nobody dies and the storm will pass. Will the crossing be in the trade wind belt or in the North atlantic? Design the rig for the expected winds. Optimize your course based on the boat's polars, maximize VMG (velocity made good.)

    Power management will be the biggest systems challenge. Use solar cells on the wing to recharge batteries for the night. Minimize loads so e.g., use LEDs for navigation lights. Wake up the equipment as needed, otherwise keep it asleep. Use the assist of the wind and forward motion of the boat as much as possible. For example, miniaturize a sturdy yacht windvane self-steering rig. With their servo tab actuators, these require zero electricity to steer. The only control you'll need to actuate is the wind angle setting.

    This looks like fun.

  83. Wrong question... by reed · · Score: 1

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

    That's probably the easiest problem you will have in the whole project. Why are you asking about it?

  84. Probably too late to the party, but... by warmotor · · Score: 1

    The way Linux handles the RS232 comm port (serial) makes it super freakin' easy to send and recieve messages to another serial device. I was passing messages to and from hyperterm on my webserver box within minutes of finding a few examples in C. Oh yeah, most Linux distros can compile C into an executable real easy too. You want to start from scratch have total control? Get yourself a PLC (programmable logic controller) with termination points for all of your physical IO, and that will also talk modbus ASCII. Write a program that will take a .txt file or SQL database or whatever your favorite poison and transfer to and from the PLC where your physical IO lives. You'll have to read a couple pages of modbus message structure and create a couple custom ASCII messages, but again it shouldn't be that hard. Now all you have to do is write your high-level code to read/write to that database and you should have full access to all your sensors and the ability to write to (control) your servos and motors. The upside is that PLCs are generally tough as hell (NEMA4X) and you can run the Linux control AI programs on small industrial PCs (ICL makes a really cool one) that are also untra tough. Sea-faring tough.

  85. I've done it before by NullAgent · · Score: 1

    This challenge sounds like fun all around. As far as how to design software to accomplish a task like this I have designed just a system(ERC), twice in fact. It is relatively simple to write software to collect data from sensors but the hard part is normally distributing and analyzing that data. The system that I helped write is called ERC or Extensible Robot Core. ERC allows data to be collected and analyzed by several machines in an effort to map the robots environment. A task like sailing seems like a much simpler one than what I have been developing code for as I doubt a sailBot would need to map building techniques such as SLaM. Additionally, I would think that the number of sensors would be very low; a GPS unit, some way of measuring wind speed and direction, and a magnetic compass to keep track of your heading should do it, plus some odds and ends(potentiometers and encoders) to keep track of the positions of all your actuators. On the computation side of things I would think that you could pull this off with nothing but embedded micro-controllers, though it would be easier with a small PC. I personally would opt for a small ITX PC or smaller with one or two micro-controllers to interface between actuators and their feed back sensors. All in all this sounds like a very doable and fun challenge, wish I could participate, I'd love to teach my PC to sail!

    1. Re:I've done it before by Vegeta99 · · Score: 1

      What the hell do I do when a bigass wave comes?!

  86. I think you just nailed it! by DietPepsiAddict · · Score: 1

    Make a jet propulsion unit, sitting up off the back of the boat, so the spray shoots backwards at about .5metre above the water.
    Then, just after passing a competitor's boat, cut in front of it.
    The blast from your jet would theoretically strike the other boat about the middle of the control deck, having the reaction of either massively slowing the other boat down, or potentially blowing it off course.
    Do that to enough of the competition, and it doesn't matter how long it took YOU to finish, because none of the others could get close enough to pass you.
    =)P

  87. Crash and burn by codingmasters · · Score: 1

    Let's hope you do better then the titanic

  88. Honest Graft by Anonymous Coward · · Score: 0

    Think even more "laterally." Who says the pieces of wood have to be dead? Graft them and let them grow until there's no seam!

  89. styrofoam, real time processing by vlm · · Score: 1

    Figure out how fast your actuators (rudder, sail, etc) can affect your ship, and scale your "real time" system appropriately. It's hilarious reading the comments describing exotic high speed high power real time systems more suited for hypersonic active airfoils and realtime audio DSP, when realistically, you only need to adjust the rudder and sails every couple seconds, at most. Besides, assuming you could miraculously swish the rudder back and forth at a 100 Hz rate, it would take too much power and cause too much drag and wear the actuators out very quickly.

    A previous poster was complaining it is "too hard" to cross compile your app for a non-pc linux based controller. The solution is simple, use an interpreted language, whichever you're most comfortable with and has the best libraries, or use scripted apps, like octave to calculate your course based on your position and target and some perl or expect to interface it with your actuators.

    Human boats have huge wide open interior volumes for bunks, passageways, food, storage, repair parts, etc. The average interior density of a human ship is probably about half that of water. You can fit a huge number of batteries in there (right above the keel, if not inside it). Then fill the rest of the ship with styrofoam. You'll have a lower center of gravity than a human ship, also who cares if the hull cracks from hitting a tree trunk, if less than 5% of the volume of the ship can be flooded? You only have to concern yourself with gross structural integrity, and again, no humans on board means you can put support beams everywhere in weird locations and use relatively small watertight compartments.

    Install at least 3 compasses, 3 GPSs, 3 weather stations, and have some comparison routines toss out the outliers and average the remaining ones. A gyrocompass might be a good idea too.

    A simple, reliable system that goes a little slow, will win against a fast and fancy system that breaks down.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  90. Use Matlab Simulink RTW Embedded Coder by N205BZDriver · · Score: 1

    I would recommend the Mathworks Simulink tool chain which includes the new Embedded Coder. The resultant C code is readable and testable (as compared to RTW alone). The requirement to solve the abstraction from the control to the I/O (actuators, sensors) is an embedded platform that bridges Simulink algorithms to real, embedded hardware. Many vendors provide prototyping or instrumentation h/w such as the Mathworks XPC. You might also check out rugged, embedded modules that are Simulink "programmable" using the MotoHawk tool from MotoTron. http://www.mototron.com/products/MotoHawk

  91. Hmm... by NerveGas · · Score: 1

    First, a full-sized computer? Power issues come to mind. But maybe you're allowed to refuel or recharge, I dunno.

    As for the interface between sensors and your computer, microcontrollers are the bomb. Cheap, easy, fast, low-power, and designed for just that sort of thing. One $8 microcontroller, a $4 USB->serial chip, and a few passive components later, you've got something that can not only take readings (serial or analog) from a good number of sensors and pass them back to your computer, it's got enough power that you very well might find yourself passing more duties off to it as well.

    --
    Oh, you're not stuck, you're just unable to let go of the onion rings.
  92. Autonomous Sailing Competition in Austria 2008 by stelzerroland · · Score: 1

    I work with the Roboat team which won the Microtransat competitions in 2006 and 2007. As you might know, the big challenge to cross the Atlantic ocean is scheduled for Autumn 2008. Prior to this event we plan to organise one more competition for autonomous sailing boats on Lake Neudsiedl in Austria (ca. 60km from Vienna). The intention is to provide - ahead of the transatlantic crossing - a training environment and a competitive challenge amongst companions with alike intentions. This should be a chance to (final-) test our boats, equipement and crew before heading out to see. Furthermore this event on a lake would give new teams the opportunity to participate who are not yet ready to sail across the Atlantic Ocean.

    The event is set to last a week, prospective the 17th - 25th of May 2008. Races would be held from Wednesday until Sunday after a few days for test runs and social program.

    If you are interesed in this event don't hesitate to ask for more details at contact@innoc.at. And have look on our Roboat

    Cheers,
    Roland