Inspired by the Orbita Joint

Hey, you recently commented on my SPM but YouTube deleted the Comment!
I just wanted to let you know that I am a big fan of Reachy and the Orbita Joint was my inspiration for building the SPM!

So please comment once more, just without a link! YouTube deleted it and I cannot bring the comment back!

This is the video I was talking about

Thanks a lot for taking interest in my work!!

Reachy is awesome I am a Pollen fan since Poppy came out!!
Keep up the great work!!

2 Likes

Hello Swann, thanks for letting us now about the comment deletion.
Could you add a link in your description to cite our work ? :slight_smile:

Great re-design of Orbita BTW with some interesting idea.

I am super happy that you like my design, it seems to be trending and getting a lot of feedback although it is not a redesign of the Orbita joint but merely another swing on the generic SPM class…

I was super happy to see you comment, and will link your “Orbita Is Turning Heads” page? Or Youtube channel?

You guys have been an inspiration for me since the early Poppy days!! :blush:

The only thing I never understood is, why you guys put a limit to the rotation in the ring layers? Is it a safety feature or you just dont need it in the application?
Unlimited turning of those disks is kind of a cool feature and I always wondered why you did not implement it!

Orbita is turning heads would be cool :slight_smile:

It’s a old limitation we had to do a homing of Orbita. Now we have absolute encode and no longer need them, we just have forgotten to remove the limit as it has Reachy never does a 360°+ turn with its head ^^

This is the follow up of the above clip, it shows the actuator in action!!
I also listed the Orbita joint as my inspiration! I really hope you’ll like it!! :innocent:

2 Likes

Great @Swann !
Will you share the code you used for control as well?

Hey, sorry for the late reply…I did not realize you posted in this thread!

Its a bit tricky because everything is rigged inside of Unity. I would like to keep the calculations seperate to the app, but am still trying to understand how you guys are doing this!

But yes, I will make more content on the whole setup. Including speed and precision testing!

I can export Quaternion or Vector3 data from Unity, how would I use the Orbita script to calculate the motor positions?
Could you get me started on this?

The inverse kinematics is computed by this ROS2 service: reachy_kinematics/orbita_kinematics_service.py at master · pollen-robotics/reachy_kinematics · GitHub

And if you are looking for the actual math behind: reachy_kinematics/orbita.py at master · pollen-robotics/reachy_kinematics · GitHub

Ah, I guess I thought that all you needed are the vector or quaterinon values and you would get the absolute motor positions!

Because I would like to get the joint to be useable outside of Unity, eg with the Reachy Robot…but this would only work if I can get the IK calculated outside the Unity app!

I will take a look at the above links, and see if I can get something done!

Is there a place for my joints measurements…those values in the Orbita script are looking a bit off to me?

I took a look over here

r.disk_bottom.reduction = 214
r.disk_middle.reduction = 214
r.disk_top.reduction = 214

r.disk_bottom.wheel_size = 61.85
r.disk_middle.wheel_size = 61.85
r.disk_top.wheel_size = 61.85

And the reduction rate seemed to be a bit strange…
Also is the wheel_size the outer diameter in mm?

Should I be able to get the correct angles of disk_bottom, disk_middle and disk_top if I am using my own values? Are these even needed? Or would it not matter at all if I would calculate the position vs angle on my setup anyways?

The only required parameters are those defined here: reachy_kinematics/orbita.py at master · pollen-robotics/reachy_kinematics · GitHub

Thanks a lot! I will try to make a test and keep you posted!!
Would be super nice to get it all to work outside of Unity!