Linux Robot - Watch this space

Article first published at:

http://www.adamsinfo.com/linux-robot-watch-this-space/#more-206

I’ve been struggling to think of a good project to start on. I’m currently writing the APNIC Box series here, and I’m on part 4 of maybe 7 or 8 right now. I like to keep at least one personal project of interest on the go at a time so back to struggling for inspiration.. Feel free to tell me that this is an awful idea and suggest something else, but until I hear otherwise I’m going to roll with it.

Linux Robot – Requirements

Here’s what I’m thinking. Small embedded device, way smaller than the Mikrotik 532a used for the APNIC Box. The board will need USB [as we’re going to use the 5v for charging later]. I’d like to start with a powerful enough board that it can be expanded later with relative ease.

The device will initially have few inputs and outputs. It will support miniPCI, USB, Serial Console, CF card, GPIO or some other good method for controlling a relay board and some motors. The device will have 4 small wheels, maybe rubber [old mouse] balls instead and some ultrasonic sensors, 4, 6 or 8.

The hardware will be flexible enough for really powerful software control. The OS running on the device will of course be Linux, and will have the ‘robot software’ loaded onto the CF card. The device will accept USB ‘programs’ to be uploaded and downloaded. These programs will have full access to the sensors, wheel relays, LEDs, battery information, etc.

I’d like to power the device by a reasonably small and light 4.2v? battery, it will accept charge from a 5v USB source.

The USB source will be mounted in some kind of housing that the device can very easily and clumsily fit in to. Both the USB source device/charger and the robot itself will contain a radio [definitely 802.11g later], but for now a simple FM oscillator would probably be good. The software will also have access to this radio. The device will maintain contact with it’s base station. IR won’t be any good here as the device needs some kind of a range. I’ll need to assess the practicality of range vs hardware.

The key initial wow factor will be the fact that the device upon reaching a certain battery charge threshold will seek out and return to its base for automatic charging.

The device will need some kind of cache – it’s last 100 actions where an ‘action’ might be 100msec of wheel movement. Should the device lose its base station, it should attempt to start reversing those actions until it reaches the base station. It will also require some basic common sense as to roughly how it got to wherever it’s sitting so it can reverse on it to locate the base station rather than aimlessly getting lost.

One of the important aims of the device is that it’s capabilities are only realistically limited by the software instructions we upload to it, and not it’s hardware.

I would like the hardware to at minimum be capable of expanding to more advanced hardware, such as the wifi mentioned above, maybe an IR transmitter, etc, etc. As we all know once the hardware is set up and we have a solid OS on board, the possibilities are endless.

I’ve found a few similar projects out there:

http://www.linuxjournal.com/article/9103 http://www.neonbox.org/linuxbot/linuxbot.html http://www.linuxfocus.org/English/May2001/article205.shtml

These projects look great but don’t really seem to address what I want to build here. I’d really be interested to know of any similar project or resources already out there.

I’ve scattered some initial ideas down here and would really welcome for some feedback on this. The first step is going to be to lay out some more solid ideas and milestones and then start sourcing a board. I’m also going to have to build schematics and hardware prototype boards for portions of it and interfaces between the various child boards in side.

Excited, Adam

www.adamsinfo.com

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState