pantor / frankx

High-Level Motion Library for Collaborative Robots
https://pantor.github.io/frankx/
GNU Lesser General Public License v3.0
268 stars 65 forks source link

Confusion with degree of freedoms #29

Closed peetCreative closed 2 years ago

peetCreative commented 2 years ago

Hey Pantor,

Same as I mentioned in the elbow issue I opened recently for libfranka here, I probably missout a concept for robotics in general or some specifics of Franka Emika. However I specially had a hard time grabbing the term Degree of Freedom you use in ruckig and frankx. As the const definition of degree of freedom it must either reference to jointspace (7 joints) or cartesian space (x,y,z, pitch, yaw roll + elbow value). In setting up the motion generators you just use it for both. Maybe even though degree of freedom for cartesian space is same it would be nice if it's stored in separate const values. And add some explenations as a comment. I'm also not right sure why elbow besides other joints can be seen as extra DOF?

Best regards, Peter

peetCreative commented 2 years ago

OK, like sometimes you start thinking about it... I start to grab the overall idea. DOF in Jointspace equals DOF in Cartesian Space + Overhanging joints (like the elbow).

pantor commented 2 years ago

Hey @peetCreative, just a quick heads up that I've also seen #27 and #26 (and of course your email), and I will get back to you shortly.

Yes, you're right that the DoFs in joint space is equal to the DoFs in Cartesian space + the so-called null space of the robot. As we want to control the entire configuration of the robot regardless of the underlying space, the DoFs is always 7 for the Franka.