SpotMicroAI - SpotMini-Clone with Simulation-Environment and RL

Fair enough! I just ordered some of the MG996Rs and have the Jetson Nano on its way. Starting the 3D printing tonight and hoping to cobble something together over the next couple months. I’m a med student and am going into my surgery block so I suspect I may not have very much free time over the coming weeks…

Good idea on the “test with something cheap” philosophy.

Just thinking out loud, I’ve been wondering if it would be possible to do behavioral cloning from videos of dogs on youtube to have the spotmini act like a real dog. It seems like something a GAN could do if setup properly. I’ll have to keep thinking on it…

2 Likes

Hm, interesting idea. Will think about it, too :slight_smile:
So cool that you build your version of it! i’m really looking forward to see your Bot in a few weeks!
Will you also use the PCA9685 for ServoControl?

I have a couple of those lying around and so will probably start with that. I’m not sure if it’ll be happy with the approx. 10A flowing through it when the servos are drawing quite a bit of power though. It helps that they are cheap from china so if I burn a few testing it’s not a huge loss.

Cool! Voted for you for the robot of the June!

3 Likes

@fwilk Have you ever worked with ROS? I’m not sure I’ve ever seen it used with quadrupeds and am not terribly familiar with it anyways to comment whether it would be a good platform to build off.

@bradprin Yes, my recent Hexapods were built on ROS. I really like it.
You can already use SpotMicroAI with ROS using the URDF and the joint_state_publisher (see the last Screenshot on https://github.com/FlorianWilk/SpotMicroAI).

UPDATE: I just tested it and the current model does not work with ROS. I will need to fix some minor issue regaring relative-paths of the STL-Files first.
UPDATE-UPDATE: You can now use SpotMicroAI with ROS. just clone the Repo into catkin_ws/src, do a catkin_make and then roslaunch spotmicroai showmodel.launch

Maybe i will write some short Tutorial for that since you are not the first one who asks about ROS and it’s quite easy to implement :slight_smile:

The reason why i do not use ROS for SpotMicroAI now is because the development-cycles in PyBullet are much faster (Gazebo, the Simulator of ROS hates restarts). And when doing all the kinematic-stuff i needed to restart a lot :slight_smile: And i like PyBullet because it is really lightweight.
But the ROS-Ecosystem has a lot of cool parts (SLAM, Kartographer, RVIZ, all the Tooling, distributed code, and and and… :)). And you can even use Bullet with Gazebo.
To be honest i am not 100% sure yet if i want to use ROS or just glue everything together in a fast-running C++ monolith :slight_smile: both ways have their pros and cons. Currently i am 50,652% pro C++ Monolith because it’s just fast and i don’t see any distributed code running here.

This is a great project. How do you like the NVIDIA board? I was debating on picking one up, but I’m going to hold off until I can get my hands on a Pi 4.

I really like the Jetson Nano. But to be fair i’ve not tested a Pi4, yet.
Benchmarks reagrding TensorFlow look quite promising:

I think a big advantage of the Jetson could be the Nvidia’s ISAAC SDK. I installed it today and will now dive into it.

1 Like

Thanks for your input, I may still pick up one of the NVidia boards just because to see what I can do with it… besides collect dust! lol

1 Like

A tutorial would be great! I’m pretty new to this still so any help goes a long ways.

Most of the information is available here:

https://github.com/FlorianWilk/SpotMicroAI/?utm_source=rb-community&utm_medium=forum&utm_campaign=spotmicroai-spotmini-clone-with-simulation-environment-and-rl

The robot looks really amazing! I look forward to seeing a video of the real robot’s first steps in the future :slight_smile:

Got most of the pieces printed and then realized that the horns that came with my servo are way too big. I 3d printed a few in the meantime on my sla printer, but it’s pretty brittle material. I’ll have to order some new horns. Any suggestions?

I had a similar problem. Had to cut every single horn a little with a side cutter, but the difference was just minimal so it was doable.
My other suggestion would be: we could try to create new STL-Files fitting your servo-horns. Do you have a blueprint/dimensions of these horns?

Yeah, I was looking at modifying and re-printing. Do you know if step files or other non-stl files are available? I don’t immediately see them on KDY’s thingiverse page.

II think there are no non-STL Files available. At least i couldn’t find them. That’s why i recreated some Parts with FreeCAD. We could try recreating the other parts, too.

Yeah, I’ve been slowly hammering away at that. I’ll post it up on thingiverse and send you a pull request on github sometime over the next few days.

Okay, I’ve posted some step files here. Everything was redesigned in fusion 360 so I should be able to export to other filetypes if needed. All the parts are virtually identical to the original except the midArm Cover, that needs a bit of tweaking.

Parts still remaining:

  1. Inner Shoulder
  2. Computer Plate
  3. Top Cover
  4. Cutouts for bottom cover
  5. Side walls for body
  6. Front Cover
  7. Back Cover

Link: https://www.thingiverse.com/thing:3761340

2 Likes

This is great! We could even try different types of servos when you finished modelling the parts. I tried to model a leg in FreeCAD, but i think Fusion360 is a better choice for modelling such kinds of parts.

Yeah, I think servos are going to be an issue. I haven’t finished yet but suspect that the MGR996Rs are going to be a tad small. I was going to try overvolting them to see if I could get them to output a bit more.

Any ideas for other lines that are reasonably priced?

I keep thinking that brushless servos should be a thing, but I only see them in super heavy duty applications and are super expensive.

Edit:
I suppose these would work (https://hobbyking.com/en_us/full-size-high-voltage-servo-hs-tg-ultra-high-torque.html). It just bothers me to spend $50/motor as x12 that works out to $600, significantly more than the rest of the parts combined. I think the price point to get traction in the community would be about $200-$250.

1 Like