Spooder đź•· Octopod Robot Updates (suggestions wanted!)

My friend and I made an 8-legged spider :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:

Hardware:

  1. 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.)
  2. Integrating OAK-D, the AI camera:
    • Yes, Spooder needs eyes. Making Spooder autonomous is definitely on my agenda.
  3. 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.
  4. (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)

Software:

  1. Interface with PS4 Controller (Bluetooth).
    • I’m currently working on this and will make an update in this build thread soon.
  2. 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.
  3. 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!
  4. 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.
  5. 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.
  6. 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.

5 Likes

Excellent post and looking forward to seeing it grow even more.

Hardware

  1. At lynxmotion, we’re currently deciding between a Pi4 and an NVidia Jetson. @cmackenzie is heading up the ROS 2.0 development for the SES V2 humanoid and has gotten quite far.
  2. Lynxmotion is also considering the OAK-D camera and @geraldinebc15 is doing research on the best overall solution.
  3. Any particular reason you opted for an octopod? You might want to jump onboard the SES V2 Hexapod project which is very close, and has community participation.
  4. It has been accomplished before using SES V1 hexapod(s), but it is not very efficient (legged robots weight quite a bit). If you really want legged + mutirotor, you might reduce some of the DoF, which brings back point 3 above.

Software

  1. Certainly.
  2. Absolutely.
  3. Nothing specific, but not aware of too many octopod models. You really might want to start with a hexapod which will allow you to work more closely with other developers here.
  4. Exactly.
  5. Can cover ideas in a separate response.
  6. Not sure GPS is very useful, especially since it’s more of an indoor robot. You might be better off with an IMU with integrated compass. One bad flight of the drone = expensive write-off. If you do ever go this route, suggest progressively adding dead weight to the drone part to represent the legged part rather than flying with the actual robot.
4 Likes

WOW! Such an awesome project!
Looks amazing. Thanks for sharing.

I’ve seen it in the Robots’ section, but now it’s gone. Any reason why it got removed it from there?
Would be nice to see it in the robots :slight_smile:

Hello @terrylu7121!

I’m glad you shared Spooder here, it’s already an excellent robot but I think it’s great that you want to improve it even more and I’m sure you’ll learn a lot along the way.

We are also thinking about using the OAK-D camera with a Raspberry Pi 4 for the humanoid robot but we are also considering using a Jetson Nano with a good webcam, so I invite you to check the Humanoid thread for updates on that.

I see you are already well on your way with the updates so I don’t have much to add other than I hope you have fun and learn a lot by experimenting with it.

Regarding the vision system there’s so much you can do with it, object detection and tracking (people, faces, balls), pose estimation (not sure how useful it could be for an octopod but it might be fun trying to imitate the behavior of an animal), and I think the most useful: localization and navigation. As Coleman mentioned, as it is more of an indoor robot I don’t know how useful it could be using a GPS, but since you are already planning on adding the vision system I’m sure you can experiment with different solutions for indoor localization (check ArUco markers for example) and if you use the OAK camera you could use AprilTags

2 Likes

@Mariane Good question - since he’s indicated it will be evolving (hence more “forum”), it would be appropriate here for sharing ideas and discussions, but it’s also reached a certain stage where it could be considered “finished” and could be placed in the Robots section with details outlining the steps taken to reach this “finished” product.

2 Likes

I thought about this question for quite a while before making my first Spidy. Here are my thoughts:

  1. Spooder may use the front two legs to do tasks(such as drawing on paper) while moving with the 6 hind legs
  2. In case one of the legs/servos malfunctions, Spooder should still be able to move with limited functionalities(as you can see from the UDP streaming demo video). This may be farfetched, but I thought of Spooder in extreme conditions like(space, moon). In that case, having 8 legs themselves act as a failsafe, Spooder or any Octopod can manage to return to base 7, 6, or fewer legs. (This failsafe mechanism is probably already implemented on a few hexapods.)
  3. In regard to the above point, I have seen some really interesting research on how robots should carry on with their tasks with broken legs. That is one of the fields I’m interested to dive deeper into in the future. Here is an example.

When I started this project, I actually found a similar robot, so some of my mechanical designs are inspired by it.

I put it in draft mode because it seems a little repetitive and what @cbenson said. But I can totally put it back if that’s better, I don’t mind at all. Just let me know.

And hi @geraldinebc15, thanks for the suggestions for the vision system! There are so many things to try out and I can’t wait to get the infrastructure of Spooder done so I can get into the more advanced vision parts. I’ve following the Humanoid Robot thread and it looks absolutely amazing already. While I don’t really know much about Pi+Oak-D vs Jetson-Nano+Cam, I’m personally sticking with the Pi and Oak-D setup because I’m quite a beginner to CV.

Now that I thought about it, I totally agree. I’ll probably cut the antenna part for the next CAD update, possibly adding a LIDAR along with the OAK-D. I am wondering if LIDAR is a good option tho for obstacle detection. Let me know what you think.

Thanks for the feedback!

1 Like

possibly adding a LIDAR along with the OAK-D. I am wondering if LIDAR is a good option tho for obstacle detection. Let me know what you think.

Since the OAK-D is a stereo cam you can get easily get a depth map so I don’t think a LIDAR would be necessary for obstacle detection, unless you also want a rotational LIDAR to do SLAM and map rooms, but I’m pretty sure you can also achieve that with just the OAK.

2 Likes

Nice to see another spider bot, mine’s not quite as far as yours. I’ll be posting what I have so far to the projects showcase soon. Here’s a SW render of mine.

1 Like