Author Topic: Programming a robotic hindbrain  (Read 1756 times)

0 Members and 1 Guest are viewing this topic.

Offline disconnectorTopic starter

  • Beginner
  • *
  • Posts: 3
  • Helpful? 0
Programming a robotic hindbrain
« on: September 10, 2009, 08:26:04 PM »
Hi all,

I've been a lurker for quite a while - I've built a few bots and now I'm thinking about my next project.

I'd really like to be able to use the power of a full PC to control my next robot.  It's completely gratuitously unnecessary  ;D for my initial needs, but I can see that eventually I will overrun the power available on a simple microcontroller.   I really want to add adaptive learning to my designs and I have a bit of background in Java and Python that I'd like to put into use.

So basically I want to build my next robot with a split brain.

What I can see is a Arduino (gawd I love these things) with a XBee shield as a robotic "hindbrain". The Arduino would handle sensor inputs and motor/servo control as well as have very basic "instincts" - stop is you hit a wall, stop and shout if you lose signal to the forebrain, etc.  All of the sensor inputs would get fed through the Xbee to the "forebrain" which is a 4 core/8GB beast of a machine.  Decisions would be made based on the data sent over the link and then actions would be fed back to the Arduino via the XBee.  the robot would still be autonomous, but the brain of the robot would be plugged into the wall.

I can see tremendous advantages to this -

1. The ability to run extremely complex algorithms in real-time

2. Real-time video processing

3.  Real-time programming changes - no need to reflash the Arduino to make code changes

4.  Extremely detailed logging would be possible.

So anyway, I'm sure than I'm not the first person to do this.  Is anyone aware of any other sites that have any info on building a bot in this way?

I'm especially curious of everyones opinion of how to connect the two devices.  A serial port (XBee) could be used, but it seems like I would run into program contention as multiple devices tried to read and write the port.  What other wireless options are there?

Thanks all . . . this site is an incredible resource.
« Last Edit: September 10, 2009, 08:27:37 PM by disconnector »

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Re: Programming a robotic hindbrain
« Reply #1 on: September 10, 2009, 10:10:55 PM »
For an indoor robot, a 100m range is good enough, so here are some options:

1). xBee.To use the xBee you need: 2 xBee modules (from $25 to about $80 each), one xBee shield for Arduino and one xBee Explorer USB for the PC. The total cost for the cheapest version is about $100.

2). Another option is the BlueSmirf, that would be a little cheaper, $65, plus the USB dongle, around $15.

3). But here is the best option in my opinion: WiShield. A wireless network shield that would connect to your wireless router in the same way the wireless cam (mounted on your robot) is! And it costs only $55.

There is also the WiFly, but it needs a RS232 interface to be able to communicate with a microcontroler and there is no shield available for Arduino and it costs $85.

I find Bluetooth obsolete... The more expensive xBee modules are still good, because of lots of line of sight distance, that makes them good for UAVs. So, long live Wireless Networking!
« Last Edit: September 10, 2009, 10:15:39 PM by Ro-Bot-X »
Check out the uBotino robot controller!