Slashdot Log In
Trans-Atlantic Robots
Posted by
samzenpus
on Wed Oct 03, 2007 10:53 PM
from the give-me-robot-planes dept.
from the give-me-robot-planes dept.
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?"
Related Stories
Firehose:Trans-Atlantic Robots by Anonymous Coward
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
In one word? (Score:3, Informative)
Cheers!
Re: (Score:2)
http://koentmnd.ytmnd.com/ [ytmnd.com]
Re: (Score:3, Informative)
You can even build your own XPC boxes from old scrap PCs. The little blue XPC boxes are nice but expensive and have limited IO. Our company just did this to save some money, works great. You can bootload them so that they're always running too.
Fun stuff.
I 3 Mathworks
Re:In one word? (Score:4, Interesting)
http://67.15.245.144/portfolio/navcom_ai/ [67.15.245.144]
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
Parent
URBI (Score:5, Informative)
Well, DUH! (Score:5, Funny)
Re: Trans-Atlantic Robots (Score:2, Insightful)
approach (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. :)
Re:approach (Score:5, Funny)
Parent
Re: (Score:3, Funny)
AI link (Score:4, Interesting)
Just do what NASA does (Score:3, Interesting)
Oh, and I'd recommend miniature/low power PCs for obvious reasons. That, or laptops.
Possible Architecture (Score:4, Informative)
PC (maybe mini-itx) running *nix talking via Ethernet/IP to a Netburner [netburner.com] Microcontroller talking via CAN to several PICs/AVRs with some extra circuitry (amplifiers, voltage dividers, etc) to interface with the sensors and actuators.
There are PICs and AVRs that have ethernet, but the NetBurner is damn easy to use. They also have some micros with GPIO, ADCs, and maybe PWM generation, so it might be easiest to skip the 8-bit micros altogether. I don't have any affiliation with NetBurner; I've just used their product and was sufficiently impressed that I might voluntarily choose to use it again.
Using Ethernet to control devices (Score:5, 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.
Parent
Re: (Score:3, Insightful)
See Making Ethernet Work in Real Time [sensorsmag.com], 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 hi
What we use (Score:5, Informative)
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 [vector-cantech.com].
As for hardware, we use the Kontron JREX SBC [kontron.com] 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.
Automation in Linux (Score:4, Informative)
For the control system, we used INDI [sf.net], 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.
silly race, really. (Score:3, Insightful)
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.
FlowDesigner/RobotFlow (Score:3, Informative)
Re:Don't know what you'll choose (Score:5, Funny)
Parent
Sigh Wouldn't be the first time Windows won (Score:2)
Yeah. I remember how Slashdot made a joke out of that the last time there was an article about a robot winning a competition using Windows.
Re: (Score:3, Insightful)
"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.
Re:An OS for your system? (Score:5, Funny)
If it requires a driver and a Linux driver is available
Didn't you RTFS? It has to be autonomous. That means no driver.
Parent
Re:but what *hardware* ? (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 [hytekautomation.com] 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 [robotpower.com] (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).
Parent
Thoughts from an amateur sailor/hacker (Score:4, Informative)
Parent