cmower / optas

OpTaS: An optimization-based task specification library for trajectory optimization and model predictive control.
https://cmower.github.io/optas/
Other
101 stars 14 forks source link

Add support for floating-base (6-DOF) joint type and prismatic joint (1-DOF). #65

Closed duISIR closed 1 year ago

duISIR commented 1 year ago

I am applying optas for the motion generation for mobile manipulator. However, optas currently only supports revolute and continuous joints. Could you add the support for the floating-base joint and prismatic joint? Thank you very much.

cmower commented 1 year ago

Hi @duISIR, this is something that I have wanted to add but didn't have a need in my own work - nice to know you're using optas! I have implemented/merged support for prismatic joints (see #67). Support for floating-based joints may take longer, if this is something you can contribute please setup a pull request!

cmower commented 1 year ago

I don't have the bandwidth to implement support for floating-base joints. The following methods are where you will need to implement the model. If you're able to implement, please also add an example with a floating-base robot to example/ with your pull request.

The get_global_link_transform method. https://github.com/cmower/optas/blob/937db570af15999439073e007bbffef558d2178b/optas/models.py#L495-L530

The get_global_link_quaternion method. https://github.com/cmower/optas/blob/937db570af15999439073e007bbffef558d2178b/optas/models.py#L596-L628

The get_global_link_geometric_jacobian method https://github.com/cmower/optas/blob/937db570af15999439073e007bbffef558d2178b/optas/models.py#L676-L734

cmower commented 1 year ago

I am closing this issue for now. Please feel free to reopen if support for floating-base joints is required.