My friend and I made an 8-legged spider robot named Spooder about two years ago as a high school senior project. I’ve been procrastinating on making a showcase thread here because college has been hard. But I guess today is the day! I am also planning on a big upgrade over the summer on both the hardware and the software. (scroll down for more details.) So definitely fire at me with any suggestion!
Current Specs of Spooder: (subject to change)
- BeagleBone Blue(BBB) board with Debian 10 onboard.
- 24 Lynxmotion Servos daisy-chained and sharing a single UART port.
- Controlled through WiFi with an iOS app my friend made. It has UDP live feed from Spooder’s perspective. See the demo videos for more details.
- Switching to PS4 Controller now for better joystick experience.
- All CAD parts are printed with Carbon Fiber Filled PLA filaments, which are great for rigidity and structural support but add a lot of weight to Spooder.
- Programmed in Python. Most of the programs are modularized based on utility, so I’m hoping for an easy transition to ROS. (Correct me if I’m wrong, cuz I’m totally guessing)
Here are a few close shots of Spooder:
*the antenna is for a GPS unit that was not installed during the photo shoot.
*the camera was also not installed because I’m getting a new camera for it. (waiting for my OAK-D)
Here is a demo video of its movement, from 2 years ago: (definitely needs more work on the control algorithm)
Testing out the UDP streaming functionality: (the video lag was quite significant)
Spooder doing push-ups:
I designed all the parts on Tinkercad, here is an overview:
Assembly & soldering:
- I used a drone PDB to deliver power to all 24 Lynxmotion Smart Servos.
- TTL logic level converter to bridge the BBB’s 3.3V UART port with LSS’s 5V(I think?) logic level.
- The 11.1V lipo battery is strapped under the robot.
The Spooder project is also up on my personal website, here is a link to Spooder. Spooder is actually my second spider robot build. If you are interested in an 8-legged Arduino Spider robot that I made in 10th grade, check out Spidy. Spidy is based on an Arduino Mega and 24 cheap PWM servos.
The Lynxmotion Smart Servos(LSS) came out right around when we started building the robot. So special thanks to the friends at RobotShop who helped me with the project’s early development. @cbenson @scharette
Here are a few upgrades that I’ve been planning:
- Switching from BeagleBone Blue to Raspberry Pi 4 or any Linux board that works great with ROS2. (open to suggestions)
- BeagleBone Blue is not that actively maintained anymore. I had lots of trouble trying to install ROS Kinetic on it and I gave up. So my current priority is to migrate to any most up-to-date board like RPi 4. I also need to think about redesigning all the peripheral connectivity choices, which is a little annoying. But if I get the GPS and LSS servos to work with USB-UART cable, it will save me a lot of trouble for future board upgrades.
- I’ve always wanted to try out ROS(1/2). I need features like Gazebo and possibly some of the trajectory-planning modules. (My current trajectory smoothening algorithm works but with a few caveats.)
- Integrating OAK-D, the AI camera:
- Yes, Spooder needs eyes. Making Spooder autonomous is definitely on my agenda.
- Make better/cooler spider-like CAD design, using more advanced software than Tinkercad
- Don’t get me wrong, Tinkercad is awesome and great for hobbyists like me. But I want to elevate this project to the “industrial standard” if you know what I mean.
- My MechE friend will probably help me with the new CAD models. We are still brainstorming cool spider robot designs, so we are totally up to take suggestions.
- (Ultimate goal for the future) Add quadcopter feature to Spooder, which means brushless motor on each of the outer four legs.
- Spooder was originally named Spotacopter, as we intended to test out an experimental spider/quadcopter robot design that can not only walk like a spider but fly. This may sound ambitious but I’m interested to see if quadcopter with flexible arms can do.
- 24 LSS servos is quite heavy for a quadcopter. I’ll have to consider them as payload.
- I don’t know if this is going to work at all, so any mechanical-related advice is welcome! (I’m a CS student)
- Interface with PS4 Controller (Bluetooth).
- I’m currently working on this and will make an update in this build thread soon.
- Switching to ROS1/2.
- ROS would really just bump Spooder to another level! What are the modules/features that would be great for Spooder? I’m a beginner to ROS and I’m kinda lost at the possibilities.
- Find a better motion-control or servo-trajectory-planning package in ROS.
- My current algorithm is very simple and based on “proportional growth”. (not sure how to describe it accurately). It worked great for my Spidy(second video).
- I’m totally up to take suggestions!
- The Lynxmotion Smart Servos has current and position query/feedback functionality that I have yet to try out!
- The current usage monitoring may work as a ground-touching detection mechanism.
- When Spooder boots up, it should query all the servos’ positions and transition to default gait (stand up) smoothly.
- Integrate the vision system from OAK-D.
- Vision just makes Spooder one step closer to being autonomous. I need some ideas on what functionalities I should add to Spooder given the vision system.
- Integrate the GPS unit.
- Might be useful when Spooder transitions to drone mode.
Hope you all liked Spooder! Please let me know what you think of it. All feedbacks/suggestions are welcome!
And I’ll keep making updates in this thread.