|
|
| BulletModel (MultiBody *const _mb, Robot *const _robot=nullptr) |
|
| ~BulletModel () |
|
void | Rebuild () |
|
|
MultiBody * | GetPMPLMultiBody () const noexcept |
| Get the PMPL multibody.
|
|
btMultiBody * | GetBulletMultiBody () const noexcept |
| Get the bullet multibody.
|
|
|
Cfg | GetState () const noexcept |
|
void | SetState (const Cfg &_c) noexcept |
|
void | Execute (const Control &_c) noexcept |
|
void | Execute (const ControlSet &_c) noexcept |
|
void | ZeroVelocities () noexcept |
|
|
These functions handle adding and removing this model from a bullet dynamics world.
|
void | AddToDynamicsWorld (btMultiBodyDynamicsWorld *const _world) |
|
void | RemoveFromDynamicsWorld () |
|
A model of a multibody within a bullet simulation.
This structure contains all of the components which make up a bullet multibody model, as well as functions for interfacing with it from PMPL.
- Todo:
- This model can currently only support robots with revolute joints. Nonactuated and spherical joints don't work right. One problem is that bullet indexes the number of joints while pmpl uses the number of dof, so some of our joint loops don't line up. Another is that bullet only supports 3-dof spherical joints with no way to constrain them.