Hexapod—a Linux-Powered Spider Robot
Building a Spider
Here are the required resources to build a spider:
Framework: six servo motors AX-12/RX-10/RX-28 from Robotis, 3D-printed casing.
Computing unit: one fit-PC2 motherboard based on Intel Atom Z530 from CompuLab.
Labor hours: 380.
Distribution: Ubuntu Linux 9.08.
Software used: GEdit, OpenCV and C++.
Scientific field: neural networks and adaptation methods.
AB: Can you estimate how much time (in hours) it took to construct the hexapod (put together the mechanical and electrical parts) and write the software itself?
MB: Ha ha. It is an enormous amount for sure. I worked on it for hours a day, weeks at a time. The original Q-Learning robot probably took 200 hours. Then I gave it a makeover, which took maybe 100 hours, and then the other projects took maybe 80 each.
AB: You said previously that the operating system beneath the cover is Ubuntu. What IDE did you use to write the robot's middleware—Qt, WxWidgets, ncurses or something else?
MB: I actually use only GEdit and purely in C++ using OpenCV libraries. The simulations I built were done purely using OpenCV, drawing individual lines at a time. I feel like I re-invent the wheel when I do this, but I sure learn a lot!
AB: Do you release schematics and auxiliary software of a robot under the GPL or under another license?
MB: I have been looking to release my kinematics code under a license, but I know nothing in this area. Maybe LJ readers could point me in the right direction?
AB: You're a senior student at the University of Arizona, and this project is to some degree your graduation work. Do you plan to continue its future development?
MB: I look forward to implementing more functionality into the hexapod as a graduate student at the University of Arizona. Currently, I am working on a miniature version. I do want to explore the link between vision and legged locomotion through the use of biologically inspired neural networks further.
AB: Where, in your opinion, can this “spider” be used and be useful for people?
MB: The hexapod could make a great search-and-rescue-style robot. In a natural disaster like an earthquake, it would be desirable to have a large number of robots searching autonomously for survivors in a building turned to rubble. The environment is treacherous though and could cause damage to the robot. Once damage is inflicted upon the hexapod, a purely inverse kinematic-based hexapod would be rendered useless. If, however, it could re-learn, the hexapod still could operate given its new configuration. Like I mentioned previously though, it is more of a tool to explore machine learning techniques and out of the research, hopefully discover faster algorithms. Hopefully, better algorithms can be used for consumer-based robotics to increase the standard.
AB: Do you plan to use the hexapod or your next prototype CrustCrawler in autonomous walking research?
MB: Sure. The learning mechanisms I've implemented are more scientific, and I certainly encourage everyone to explore science with robotics platforms, but it is not necessarily the goal for the CrustCrawler platform. I see that as a means of making it easy for anyone to get started in the field of hexapod robotics. If the different geometry is more conducive to what I want the hexapod to do, then I will, of course, use it. The hexapods are simply tools in my mind for research. I certainly want my hexapods to be able to roam around on their own and accomplish some task even if it is mundane. The nice thing about the CrustCrawler hexapod and my personal hexapod is that they can be easily interchanged, as they use motors that communicate using identical protocols. All I have to do is change a few geometric calibration settings and it will run just fine.
Anton Borisov has broad spheres of interests, ranging from clusters and embedded devices to artificial intelligence and programmatic puzzles. One thing that unites them all is Linux, his most favorite operating system.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Keeping track of IP address
31 min 34 sec ago
- Roll your own dynamic dns
5 hours 44 min ago
- Please correct the URL for Salt Stack's web site
8 hours 56 min ago
- Android is Linux -- why no better inter-operation
11 hours 11 min ago
- Connecting Android device to desktop Linux via USB
11 hours 40 min ago
- Find new cell phone and tablet pc
12 hours 38 min ago
14 hours 7 min ago
- Automatically updating Guest Additions
15 hours 15 min ago
- I like your topic on android
16 hours 2 min ago
- This is the easiest tutorial
22 hours 37 min ago