Linux Robot - Watch this space
Article first published at:
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:
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.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Google's Abacus Project: It's All about Trust
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Seeing Red and Getting Sleep
- Fancy Tricks for Changing Numeric Base
- Secure Desktops with Qubes: Introduction
- Working with Command Arguments
- Secure Desktops with Qubes: Installation
- CentOS 6.8 Released
- Linux Mint 18
- The Italian Army Switches to LibreOffice
Until recently, IBM’s Power Platform was looked upon as being the system that hosted IBM’s flavor of UNIX and proprietary operating system called IBM i. These servers often are found in medium-size businesses running ERP, CRM and financials for on-premise customers. By enabling the Power platform to run the Linux OS, IBM now has positioned Power to be the platform of choice for those already running Linux that are facing scalability issues, especially customers looking at analytics, big data or cloud computing.
￼Running Linux on IBM’s Power hardware offers some obvious benefits, including improved processing speed and memory bandwidth, inherent security, and simpler deployment and management. But if you look beyond the impressive architecture, you’ll also find an open ecosystem that has given rise to a strong, innovative community, as well as an inventory of system and network management applications that really help leverage the benefits offered by running Linux on Power.Get the Guide