Base class for all joints. More...
#include <physics/physics.hh>
Public Types | |
enum | Attribute { FUDGE_FACTOR, SUSPENSION_ERP, SUSPENSION_CFM, STOP_ERP, STOP_CFM, ERP, CFM, FMAX, VEL, HI_STOP, LO_STOP } |
Joint attribute types. More... | |
Public Types inherited from gazebo::physics::Base | |
enum | EntityType { BASE = 0x00000000, ENTITY = 0x00000001, MODEL = 0x00000002, LINK = 0x00000004, COLLISION = 0x00000008, ACTOR = 0x00000016, LIGHT = 0x00000010, VISUAL = 0x00000020, JOINT = 0x00000040, BALL_JOINT = 0x00000080, HINGE2_JOINT = 0x00000100, HINGE_JOINT = 0x00000200, SLIDER_JOINT = 0x00000400, SCREW_JOINT = 0x00000800, UNIVERSAL_JOINT = 0x00001000, GEARBOX_JOINT = 0x00002000, FIXED_JOINT = 0x00004000, SHAPE = 0x00010000, BOX_SHAPE = 0x00020000, CYLINDER_SHAPE = 0x00040000, HEIGHTMAP_SHAPE = 0x00080000, MAP_SHAPE = 0x00100000, MULTIRAY_SHAPE = 0x00200000, RAY_SHAPE = 0x00400000, PLANE_SHAPE = 0x00800000, SPHERE_SHAPE = 0x01000000, MESH_SHAPE = 0x02000000, POLYLINE_SHAPE = 0x04000000, SENSOR_COLLISION = 0x10000000 } |
Unique identifiers for all entity types. More... | |
Public Member Functions | |
Joint (BasePtr _parent) | |
Constructor. More... | |
virtual | ~Joint () |
Destructor. More... | |
virtual void | ApplyStiffnessDamping () |
Callback to apply spring stiffness and viscous damping effects to joint. More... | |
virtual bool | AreConnected (LinkPtr _one, LinkPtr _two) const =0 |
Determines of the two bodies are connected by a joint. More... | |
virtual void | Attach (LinkPtr _parent, LinkPtr _child) |
Attach the two bodies with this joint. More... | |
virtual void | CacheForceTorque () |
Cache Joint Force Torque Values if necessary for physics engine. More... | |
double | CheckAndTruncateForce (unsigned int _index, double _effort) |
check if the force against velocityLimit and effortLimit, truncate if necessary. More... | |
template<typename T > | |
event::ConnectionPtr | ConnectJointUpdate (T _subscriber) |
Connect a boost::slot the the joint update signal. More... | |
virtual void | Detach () |
Detach this joint from all links. More... | |
void | DisconnectJointUpdate (event::ConnectionPtr &_conn) |
Disconnect a boost::slot the the joint update signal. More... | |
void | FillMsg (msgs::Joint &_msg) |
Fill a joint message. More... | |
virtual void | Fini () |
Finialize the object. More... | |
virtual math::Vector3 | GetAnchor (unsigned int _index) const =0 |
Get the anchor point. More... | |
math::Pose | GetAnchorErrorPose () const |
Get pose offset between anchor pose on child and parent, expressed in the parent link frame. More... | |
math::Angle | GetAngle (unsigned int _index) const |
Get the angle of rotation of an axis(index) More... | |
virtual unsigned int | GetAngleCount () const =0 |
Get the angle count. More... | |
math::Quaternion | GetAxisFrame (unsigned int _index) const |
Get orientation of reference frame for specified axis, relative to world frame. More... | |
math::Quaternion | GetAxisFrameOffset (unsigned int _index) const |
Get orientation of joint axis reference frame relative to joint frame. More... | |
LinkPtr | GetChild () const |
Get the child link. More... | |
double | GetDamping (unsigned int _index) |
Returns the current joint damping coefficient. More... | |
virtual double | GetEffortLimit (unsigned int _index) |
Get the effort limit on axis(index). More... | |
virtual double | GetForce (unsigned int _index) |
virtual JointWrench | GetForceTorque (unsigned int _index)=0 |
get internal force and torque values at a joint. More... | |
virtual math::Vector3 | GetGlobalAxis (unsigned int _index) const =0 |
Get the axis of rotation in global cooridnate frame. More... | |
virtual math::Angle | GetHighStop (unsigned int _index)=0 |
Get the high stop of an axis(index). More... | |
double | GetInertiaRatio (const unsigned int _index) const |
Computes moment of inertia (MOI) across a specified joint axis. More... | |
double | GetInertiaRatio (const math::Vector3 &_axis) const |
Computes moment of inertia (MOI) across an arbitrary axis specified in the world frame. More... | |
math::Pose | GetInitialAnchorPose () const |
Get initial Anchor Pose specified by model <joint><pose>...</pose></joint> More... | |
virtual LinkPtr | GetJointLink (unsigned int _index) const =0 |
Get the link to which the joint is attached according the _index. More... | |
virtual math::Vector3 | GetLinkForce (unsigned int _index) const =0 |
Get the forces applied to the center of mass of a physics::Link due to the existence of this Joint. More... | |
virtual math::Vector3 | GetLinkTorque (unsigned int _index) const =0 |
Get the torque applied to the center of mass of a physics::Link due to the existence of this Joint. More... | |
math::Vector3 | GetLocalAxis (unsigned int _index) const |
Get the axis of rotation. More... | |
math::Angle | GetLowerLimit (unsigned int _index) const |
: get the joint upper limit (replaces GetLowStop and GetHighStop) More... | |
virtual math::Angle | GetLowStop (unsigned int _index)=0 |
Get the low stop of an axis(index). More... | |
virtual double | GetMaxForce (unsigned int _index) GAZEBO_DEPRECATED(5.0)=0 |
Get the max allowed force of an axis(index) when using Joint::SetVelocity. More... | |
msgs::Joint::Type | GetMsgType () const |
Get the joint type as msgs::Joint::Type. More... | |
virtual double | GetParam (const std::string &_key, unsigned int _index) |
Get a non-generic parameter for the joint. More... | |
LinkPtr | GetParent () const |
Get the parent link. More... | |
math::Pose | GetParentWorldPose () const |
Get anchor pose on parent link relative to world frame. More... | |
double | GetSpringReferencePosition (unsigned int _index) const |
Get joint spring reference position. More... | |
double | GetStiffness (unsigned int _index) |
Returns the current joint spring stiffness coefficient. More... | |
double | GetStopDissipation (unsigned int _index) const |
Get joint stop dissipation. More... | |
double | GetStopStiffness (unsigned int _index) const |
Get joint stop stiffness. More... | |
math::Angle | GetUpperLimit (unsigned int _index) const |
: get the joint lower limit (replacee GetLowStop and GetHighStop) More... | |
virtual double | GetVelocity (unsigned int _index) const =0 |
Get the rotation rate of an axis(index) More... | |
virtual double | GetVelocityLimit (unsigned int _index) |
Get the velocity limit on axis(index). More... | |
double | GetWorldEnergyPotentialSpring (unsigned int _index) const |
Returns this joint's spring potential energy, based on the reference position of the spring. More... | |
math::Pose | GetWorldPose () const |
Get pose of joint frame relative to world frame. More... | |
virtual void | Init () |
Initialize a joint. More... | |
void | Load (LinkPtr _parent, LinkPtr _child, const math::Pose &_pose) |
Set pose, parent and child links of a physics::Joint. More... | |
virtual void | Load (sdf::ElementPtr _sdf) |
Load physics::Joint from a SDF sdf::Element. More... | |
virtual void | Reset () |
Reset the joint. More... | |
virtual void | SetAnchor (unsigned int _index, const math::Vector3 &_anchor)=0 |
Set the anchor point. More... | |
void | SetAngle (unsigned int _index, math::Angle _angle) GAZEBO_DEPRECATED(4.0) |
If the Joint is static, Gazebo stores the state of this Joint as a scalar inside the Joint class, so this call will NOT move the joint dynamically for a static Model. More... | |
virtual void | SetAxis (unsigned int _index, const math::Vector3 &_axis)=0 |
Set the axis of rotation where axis is specified in local joint frame. More... | |
virtual void | SetDamping (unsigned int _index, double _damping)=0 |
Set the joint damping. More... | |
virtual void | SetEffortLimit (unsigned int _index, double _effort) |
Set the effort limit on a joint axis. More... | |
virtual void | SetForce (unsigned int _index, double _effort)=0 |
Set the force applied to this physics::Joint. More... | |
virtual bool | SetHighStop (unsigned int _index, const math::Angle &_angle) |
Set the high stop of an axis(index). More... | |
void | SetLowerLimit (unsigned int _index, math::Angle _limit) |
: set the joint upper limit (replaces SetLowStop and SetHighStop) More... | |
virtual bool | SetLowStop (unsigned int _index, const math::Angle &_angle) |
Set the low stop of an axis(index). More... | |
virtual void | SetMaxForce (unsigned int _index, double _force) GAZEBO_DEPRECATED(5.0)=0 |
Set the max allowed force of an axis(index) when using Joint::SetVelocity. More... | |
void | SetModel (ModelPtr _model) |
Set the model this joint belongs too. More... | |
virtual bool | SetParam (const std::string &_key, unsigned int _index, const boost::any &_value)=0 |
Set a non-generic parameter for the joint. More... | |
virtual bool | SetPosition (unsigned int _index, double _position) |
The child links of this joint are updated based on desired position. More... | |
virtual void | SetProvideFeedback (bool _enable) |
Set whether the joint should generate feedback. More... | |
void | SetState (const JointState &_state) |
Set the joint state. More... | |
virtual void | SetStiffness (unsigned int _index, double _stiffness)=0 |
Set the joint spring stiffness. More... | |
virtual void | SetStiffnessDamping (unsigned int _index, double _stiffness, double _damping, double _reference=0)=0 |
Set the joint spring stiffness. More... | |
void | SetStopDissipation (unsigned int _index, double _dissipation) |
Set joint stop dissipation. More... | |
void | SetStopStiffness (unsigned int _index, double _stiffness) |
Set joint stop stiffness. More... | |
void | SetUpperLimit (unsigned int _index, math::Angle _limit) |
: set the joint lower limit (replacee GetLowStop and GetHighStop) More... | |
virtual void | SetVelocity (unsigned int _index, double _vel)=0 |
Set the velocity of an axis(index). More... | |
virtual void | SetVelocityLimit (unsigned int _index, double _velocity) |
Set the velocity limit on a joint axis. More... | |
void | Update () |
Update the joint. More... | |
virtual void | UpdateParameters (sdf::ElementPtr _sdf) |
Update the parameters using new sdf values. More... | |
Public Member Functions inherited from gazebo::physics::Base | |
Base (BasePtr _parent) | |
Constructor. More... | |
virtual | ~Base () |
Destructor. More... | |
void | AddChild (BasePtr _child) |
Add a child to this entity. More... | |
void | AddType (EntityType _type) |
Add a type specifier. More... | |
BasePtr | GetByName (const std::string &_name) |
Get by name. More... | |
BasePtr | GetChild (unsigned int _i) const |
Get a child by index. More... | |
BasePtr | GetChild (const std::string &_name) |
Get a child by name. More... | |
unsigned int | GetChildCount () const |
Get the number of children. More... | |
uint32_t | GetId () const |
Return the ID of this entity. More... | |
std::string | GetName () const |
Return the name of the entity. More... | |
BasePtr | GetParent () const |
Get the parent. More... | |
int | GetParentId () const |
Return the ID of the parent. More... | |
bool | GetSaveable () const |
Get whether the object should be "saved", when the user selects to save the world to xml. More... | |
std::string | GetScopedName (bool _prependWorldName=false) const |
Return the name of this entity with the model scope model1::...::modelN::entityName. More... | |
virtual const sdf::ElementPtr | GetSDF () |
Get the SDF values for the object. More... | |
unsigned int | GetType () const |
Get the full type definition. More... | |
const WorldPtr & | GetWorld () const |
Get the World this object is in. More... | |
bool | HasType (const EntityType &_t) const |
Returns true if this object's type definition has the given type. More... | |
bool | IsSelected () const |
True if the entity is selected by the user. More... | |
bool | operator== (const Base &_ent) const |
Returns true if the entities are the same. More... | |
void | Print (const std::string &_prefix) |
Print this object to screen via gzmsg. More... | |
virtual void | RemoveChild (unsigned int _id) |
Remove a child from this entity. More... | |
void | RemoveChild (const std::string &_name) |
Remove a child by name. More... | |
void | RemoveChildren () |
Remove all children. More... | |
virtual void | Reset (Base::EntityType _resetType) |
Calls recursive Reset on one of the Base::EntityType's. More... | |
virtual void | SetName (const std::string &_name) |
Set the name of the entity. More... | |
void | SetParent (BasePtr _parent) |
Set the parent. More... | |
void | SetSaveable (bool _v) |
Set whether the object should be "saved", when the user selects to save the world to xml. More... | |
virtual bool | SetSelected (bool _show) |
Set whether this entity has been selected by the user through the gui. More... | |
void | SetWorld (const WorldPtr &_newWorld) |
Set the world this object belongs to. More... | |
Protected Member Functions | |
math::Pose | ComputeChildLinkPose (unsigned int _index, double _position) |
internal function to help us compute child link pose if a joint position change is applied. More... | |
bool | FindAllConnectedLinks (const LinkPtr &_originalParentLink, Link_V &_connectedLinks) |
internal helper to find all links connected to the child link branching out from the children of the child link and any parent of the child link other than the parent link through this joint. More... | |
virtual math::Angle | GetAngleImpl (unsigned int _index) const =0 |
Get the angle of an axis helper function. More... | |
bool | SetPositionMaximal (unsigned int _index, double _position) |
Helper function for maximal coordinate solver SetPosition. More... | |
bool | SetVelocityMaximal (unsigned int _index, double _velocity) |
Helper function for maximal coordinate solver SetVelocity. More... | |
Protected Member Functions inherited from gazebo::physics::Base | |
void | ComputeScopedName () |
Compute the scoped name of this object based on its parents. More... | |
Protected Attributes | |
LinkPtr | anchorLink |
Anchor link. More... | |
math::Vector3 | anchorPos |
Anchor pose. More... | |
math::Pose | anchorPose |
Anchor pose specified in SDF <joint><pose> tag. More... | |
gazebo::event::ConnectionPtr | applyDamping |
apply damping for adding viscous damping forces on updates More... | |
bool | axisParentModelFrame [2] |
Flags that are set to true if an axis value is expressed in the parent model frame. More... | |
LinkPtr | childLink |
The first link this joint connects to. More... | |
double | dissipationCoefficient [2] |
joint viscous damping coefficient More... | |
double | effortLimit [2] |
Store Joint effort limit as specified in SDF. More... | |
math::Angle | lowerLimit [2] |
Store Joint position lower limit as specified in SDF. More... | |
ModelPtr | model |
Pointer to the parent model. More... | |
math::Pose | parentAnchorPose |
Anchor pose relative to parent link frame. More... | |
LinkPtr | parentLink |
The second link this joint connects to. More... | |
bool | provideFeedback |
Provide Feedback data for contact forces. More... | |
double | springReferencePosition [2] |
joint spring reference (zero load) position More... | |
double | stiffnessCoefficient [2] |
joint stiffnessCoefficient More... | |
math::Angle | upperLimit [2] |
Store Joint position upper limit as specified in SDF. More... | |
double | velocityLimit [2] |
Store Joint velocity limit as specified in SDF. More... | |
JointWrench | wrench |
Cache Joint force torque values in case physics engine clears them at the end of update step. More... | |
Protected Attributes inherited from gazebo::physics::Base | |
Base_V | children |
Children of this entity. More... | |
BasePtr | parent |
Parent of this entity. More... | |
sdf::ElementPtr | sdf |
The SDF values for this object. More... | |
WorldPtr | world |
Pointer to the world. More... | |
Base class for all joints.
Joint attribute types.
|
virtual |
Destructor.
|
virtual |
Callback to apply spring stiffness and viscous damping effects to joint.
: rename to ApplySpringStiffnessDamping()
Reimplemented in gazebo::physics::ODEJoint, and gazebo::physics::BulletJoint.
Determines of the two bodies are connected by a joint.
[in] | _one | First link. |
[in] | _two | Second link. |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::BulletJoint, gazebo::physics::DARTJoint, and gazebo::physics::SimbodyJoint.
Attach the two bodies with this joint.
[in] | _parent | Parent link. |
[in] | _child | Child link. |
Reimplemented in gazebo::physics::ODEJoint, gazebo::physics::ODEFixedJoint, and gazebo::physics::DARTJoint.
|
virtual |
Cache Joint Force Torque Values if necessary for physics engine.
Reimplemented in gazebo::physics::SimbodyJoint, gazebo::physics::BulletJoint, gazebo::physics::DARTJoint, and gazebo::physics::ODEJoint.
double gazebo::physics::Joint::CheckAndTruncateForce | ( | unsigned int | _index, |
double | _effort | ||
) |
check if the force against velocityLimit and effortLimit, truncate if necessary.
[in] | _index | Index of the axis. |
[in] | _effort | Force value. |
|
protected |
internal function to help us compute child link pose if a joint position change is applied.
[in] | _index | axis index |
[in] | _position | new joint position |
|
inline |
Connect a boost::slot the the joint update signal.
[in] | _subscriber | Callback for the connection. |
|
virtual |
Detach this joint from all links.
Reimplemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, and gazebo::physics::SimbodyJoint.
|
inline |
Disconnect a boost::slot the the joint update signal.
[in] | _conn | Connection to disconnect. |
void gazebo::physics::Joint::FillMsg | ( | msgs::Joint & | _msg | ) |
Fill a joint message.
[out] | _msg | Message to fill with this joint's properties. |
|
protected |
internal helper to find all links connected to the child link branching out from the children of the child link and any parent of the child link other than the parent link through this joint.
[in] | _originalParentLink | parent link of this joint, this is used to check for loops connecting back to the parent link. |
in/out] | _connectedLinks list of aggregated links that contains all links connected to the child link of this joint. Empty if a loop is found that connects back to the parent link. |
|
virtual |
Finialize the object.
Reimplemented from gazebo::physics::Base.
|
pure virtual |
Get the anchor point.
[in] | _index | Index of the axis. |
Implemented in gazebo::physics::BulletJoint, gazebo::physics::SimbodyJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::BulletHinge2Joint, gazebo::physics::BulletScrewJoint, gazebo::physics::BulletBallJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEHingeJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::ODESliderJoint, gazebo::physics::DARTUniversalJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTBallJoint, gazebo::physics::DARTSliderJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::ODEBallJoint, gazebo::physics::ODEUniversalJoint, and gazebo::physics::ODEScrewJoint.
math::Pose gazebo::physics::Joint::GetAnchorErrorPose | ( | ) | const |
Get pose offset between anchor pose on child and parent, expressed in the parent link frame.
This can be used to compute the bilateral constraint error.
math::Angle gazebo::physics::Joint::GetAngle | ( | unsigned int | _index | ) | const |
Get the angle of rotation of an axis(index)
[in] | _index | Index of the axis. |
|
pure virtual |
Get the angle count.
Implemented in gazebo::physics::DARTJoint, gazebo::physics::UniversalJoint< ODEJoint >, gazebo::physics::UniversalJoint< DARTJoint >, gazebo::physics::UniversalJoint< SimbodyJoint >, gazebo::physics::UniversalJoint< BulletJoint >, gazebo::physics::BallJoint< ODEJoint >, gazebo::physics::BallJoint< DARTJoint >, gazebo::physics::BallJoint< SimbodyJoint >, gazebo::physics::BallJoint< BulletJoint >, gazebo::physics::SliderJoint< ODEJoint >, gazebo::physics::SliderJoint< DARTJoint >, gazebo::physics::SliderJoint< SimbodyJoint >, gazebo::physics::SliderJoint< BulletJoint >, gazebo::physics::GearboxJoint< ODEJoint >, gazebo::physics::Hinge2Joint< ODEJoint >, gazebo::physics::Hinge2Joint< DARTJoint >, gazebo::physics::Hinge2Joint< SimbodyJoint >, gazebo::physics::Hinge2Joint< BulletJoint >, gazebo::physics::HingeJoint< ODEJoint >, gazebo::physics::HingeJoint< DARTJoint >, gazebo::physics::HingeJoint< SimbodyJoint >, gazebo::physics::HingeJoint< BulletJoint >, gazebo::physics::ScrewJoint< ODEJoint >, gazebo::physics::ScrewJoint< DARTJoint >, gazebo::physics::ScrewJoint< SimbodyJoint >, gazebo::physics::ScrewJoint< BulletJoint >, gazebo::physics::FixedJoint< ODEJoint >, gazebo::physics::FixedJoint< DARTJoint >, gazebo::physics::FixedJoint< SimbodyJoint >, and gazebo::physics::FixedJoint< BulletJoint >.
|
protectedpure virtual |
Get the angle of an axis helper function.
[in] | _index | Index of the axis. |
Implemented in gazebo::physics::BulletScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::BulletBallJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::SimbodyFixedJoint, gazebo::physics::SimbodySliderJoint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEBallJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEHingeJoint, gazebo::physics::DARTBallJoint, gazebo::physics::ODESliderJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::ODEUniversalJoint, gazebo::physics::DARTUniversalJoint, and gazebo::physics::DARTSliderJoint.
math::Quaternion gazebo::physics::Joint::GetAxisFrame | ( | unsigned int | _index | ) | const |
Get orientation of reference frame for specified axis, relative to world frame.
The value of axisParentModelFrame is used to determine the appropriate frame.
[in] | _index | joint axis index. |
math::Quaternion gazebo::physics::Joint::GetAxisFrameOffset | ( | unsigned int | _index | ) | const |
Get orientation of joint axis reference frame relative to joint frame.
This should always return identity unless flag use_parent_model_frame is true in sdf 1.5 or using sdf 1.4-, i.e. bug described in issue #494 is present. In addition, if use_parent_model_frame is true, and the parent link of the joint is world, the axis is defined in the world frame. The value of axisParentModelFrame is used to determine the appropriate frame internally.
[in] | _index | joint axis index. |
LinkPtr gazebo::physics::Joint::GetChild | ( | ) | const |
Get the child link.
double gazebo::physics::Joint::GetDamping | ( | unsigned int | _index | ) |
Returns the current joint damping coefficient.
[in] | _index | Index of the axis to get, currently ignored, to be implemented. |
|
virtual |
Get the effort limit on axis(index).
[in] | _index | Index of axis, where 0=first axis and 1=second axis |
|
virtual |
[in] | _index | Index of the axis. |
Reimplemented in gazebo::physics::ODEJoint, gazebo::physics::BulletJoint, gazebo::physics::DARTJoint, and gazebo::physics::SimbodyJoint.
|
pure virtual |
get internal force and torque values at a joint.
The force and torque values are returned in a JointWrench data structure. Where JointWrench.body1Force contains the force applied by the parent Link on the Joint specified in the parent Link frame, and JointWrench.body2Force contains the force applied by the child Link on the Joint specified in the child Link frame. Note that this sign convention is opposite of the reaction forces of the Joint on the Links.
FIXME TODO: change name of this function to something like: GetNegatedForceTorqueInLinkFrame and make GetForceTorque call return non-negated reaction forces in perspective Link frames.
Note that for ODE you must set <provide_feedback>true<provide_feedback> in the joint sdf to use this.
[in] | _index | Not used right now |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::BulletJoint, gazebo::physics::DARTJoint, and gazebo::physics::SimbodyJoint.
|
pure virtual |
Get the axis of rotation in global cooridnate frame.
[in] | _index | Index of the axis to get. |
Implemented in gazebo::physics::BulletScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::BulletBallJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::SimbodyFixedJoint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::SimbodySliderJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEHingeJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::ODESliderJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::ODEBallJoint, gazebo::physics::ODEUniversalJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::DARTUniversalJoint, gazebo::physics::DARTBallJoint, and gazebo::physics::DARTSliderJoint.
|
pure virtual |
Get the high stop of an axis(index).
This function is replaced by GetUpperLimit(unsigned int). If you are interested in getting the value of dParamHiStop*, use GetAttribute(hi_stop, _index)
[in] | _index | Index of the axis. |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::SimbodyJoint, gazebo::physics::BulletJoint, gazebo::physics::BulletBallJoint, gazebo::physics::DARTJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTBallJoint, gazebo::physics::ODEBallJoint, gazebo::physics::BulletSliderJoint, and gazebo::physics::SimbodyScrewJoint.
double gazebo::physics::Joint::GetInertiaRatio | ( | const unsigned int | _index | ) | const |
Computes moment of inertia (MOI) across a specified joint axis.
The ratio is given in the form of MOI_chidl / MOI_parent. If MOI_parent is zero, this funciton will return 0. The inertia ratio for each joint axis indicates the sensitivity of the joint to actuation torques.
[in] | _index | axis number about which MOI ratio is computed. |
double gazebo::physics::Joint::GetInertiaRatio | ( | const math::Vector3 & | _axis | ) | const |
Computes moment of inertia (MOI) across an arbitrary axis specified in the world frame.
The ratio is given in the form of MOI_chidl / MOI_parent. If MOI_parent is zero, this funciton will return 0. The moment of inertia ratio along constrained directions of a joint has an impact on the performance of Projected Gauss Seidel (PGS) iterative LCP methods.
[in] | _axis | axis in world frame for which MOI ratio is computed. |
math::Pose gazebo::physics::Joint::GetInitialAnchorPose | ( | ) | const |
Get initial Anchor Pose specified by model <joint><pose>...</pose></joint>
|
pure virtual |
Get the link to which the joint is attached according the _index.
[in] | _index | Index of the link to retreive. |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::BulletJoint, gazebo::physics::DARTJoint, and gazebo::physics::SimbodyJoint.
|
pure virtual |
Get the forces applied to the center of mass of a physics::Link due to the existence of this Joint.
Note that the unit of force should be consistent with the rest of the simulation scales.
[in] | index | The index of the link(0 or 1). |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, and gazebo::physics::SimbodyJoint.
|
pure virtual |
Get the torque applied to the center of mass of a physics::Link due to the existence of this Joint.
Note that the unit of torque should be consistent with the rest of the simulation scales.
[in] | index | The index of the link(0 or 1) |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, and gazebo::physics::SimbodyJoint.
math::Vector3 gazebo::physics::Joint::GetLocalAxis | ( | unsigned int | _index | ) | const |
Get the axis of rotation.
[in] | _index | Index of the axis to get. |
math::Angle gazebo::physics::Joint::GetLowerLimit | ( | unsigned int | _index | ) | const |
: get the joint upper limit (replaces GetLowStop and GetHighStop)
[in] | _index | Index of the axis. |
|
pure virtual |
Get the low stop of an axis(index).
This function is replaced by GetLowerLimit(unsigned int). If you are interested in getting the value of dParamHiStop*, use GetAttribute(hi_stop, _index)
[in] | _index | Index of the axis. |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::SimbodyJoint, gazebo::physics::BulletJoint, gazebo::physics::BulletBallJoint, gazebo::physics::DARTJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTBallJoint, gazebo::physics::ODEBallJoint, gazebo::physics::BulletSliderJoint, and gazebo::physics::SimbodyScrewJoint.
|
pure virtual |
Get the max allowed force of an axis(index) when using Joint::SetVelocity.
Note that the unit of force should be consistent with the rest of the simulation scales.
[in] | _index | Index of the axis. |
Implemented in gazebo::physics::BulletScrewJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEHingeJoint, gazebo::physics::ODESliderJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::ODEUniversalJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::DARTUniversalJoint, gazebo::physics::BulletBallJoint, gazebo::physics::DARTSliderJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::SimbodySliderJoint, gazebo::physics::SimbodyFixedJoint, gazebo::physics::ODEBallJoint, gazebo::physics::SimbodyBallJoint, and gazebo::physics::DARTBallJoint.
msgs::Joint::Type gazebo::physics::Joint::GetMsgType | ( | ) | const |
Get the joint type as msgs::Joint::Type.
|
virtual |
Get a non-generic parameter for the joint.
[in] | _key | String key. |
[in] | _index | Index of the axis. |
Reimplemented in gazebo::physics::ODEJoint, gazebo::physics::BulletScrewJoint, gazebo::physics::DARTJoint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::SimbodyJoint, gazebo::physics::ODEUniversalJoint, and gazebo::physics::DARTScrewJoint.
LinkPtr gazebo::physics::Joint::GetParent | ( | ) | const |
Get the parent link.
math::Pose gazebo::physics::Joint::GetParentWorldPose | ( | ) | const |
Get anchor pose on parent link relative to world frame.
When there is zero joint error, this should match the value returned by Joint::GetWorldPose() for the constrained degrees of freedom.
double gazebo::physics::Joint::GetSpringReferencePosition | ( | unsigned int | _index | ) | const |
Get joint spring reference position.
[in] | _index | Index of the axis to get. |
double gazebo::physics::Joint::GetStiffness | ( | unsigned int | _index | ) |
Returns the current joint spring stiffness coefficient.
[in] | _index | Index of the axis to get, currently ignored, to be implemented. |
double gazebo::physics::Joint::GetStopDissipation | ( | unsigned int | _index | ) | const |
Get joint stop dissipation.
[in] | _index | joint axis index. |
double gazebo::physics::Joint::GetStopStiffness | ( | unsigned int | _index | ) | const |
Get joint stop stiffness.
[in] | _index | joint axis index. |
math::Angle gazebo::physics::Joint::GetUpperLimit | ( | unsigned int | _index | ) | const |
: get the joint lower limit (replacee GetLowStop and GetHighStop)
[in] | _index | Index of the axis. |
|
pure virtual |
Get the rotation rate of an axis(index)
[in] | _index | Index of the axis. |
Implemented in gazebo::physics::BulletScrewJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::ODEHingeJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEFixedJoint, gazebo::physics::BulletBallJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHingeJoint, gazebo::physics::ODESliderJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTSliderJoint, gazebo::physics::ODEUniversalJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::DARTUniversalJoint, gazebo::physics::ODEBallJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::SimbodySliderJoint, gazebo::physics::DARTBallJoint, and gazebo::physics::SimbodyFixedJoint.
|
virtual |
Get the velocity limit on axis(index).
[in] | _index | Index of axis, where 0=first axis and 1=second axis |
double gazebo::physics::Joint::GetWorldEnergyPotentialSpring | ( | unsigned int | _index | ) | const |
Returns this joint's spring potential energy, based on the reference position of the spring.
If using metric system, the unit of energy will be Joules.
math::Pose gazebo::physics::Joint::GetWorldPose | ( | ) | const |
Get pose of joint frame relative to world frame.
Note that the joint frame is defined with a fixed offset from the child link frame.
|
virtual |
Initialize a joint.
Reimplemented from gazebo::physics::Base.
Reimplemented in gazebo::physics::BulletJoint, gazebo::physics::GearboxJoint< ODEJoint >, gazebo::physics::ScrewJoint< ODEJoint >, gazebo::physics::ScrewJoint< DARTJoint >, gazebo::physics::ScrewJoint< SimbodyJoint >, gazebo::physics::ScrewJoint< BulletJoint >, gazebo::physics::UniversalJoint< ODEJoint >, gazebo::physics::UniversalJoint< DARTJoint >, gazebo::physics::UniversalJoint< SimbodyJoint >, gazebo::physics::UniversalJoint< BulletJoint >, gazebo::physics::BallJoint< ODEJoint >, gazebo::physics::BallJoint< DARTJoint >, gazebo::physics::BallJoint< SimbodyJoint >, gazebo::physics::BallJoint< BulletJoint >, gazebo::physics::BulletScrewJoint, gazebo::physics::HingeJoint< ODEJoint >, gazebo::physics::HingeJoint< DARTJoint >, gazebo::physics::HingeJoint< SimbodyJoint >, gazebo::physics::HingeJoint< BulletJoint >, gazebo::physics::BulletHinge2Joint, gazebo::physics::FixedJoint< ODEJoint >, gazebo::physics::FixedJoint< DARTJoint >, gazebo::physics::FixedJoint< SimbodyJoint >, gazebo::physics::FixedJoint< BulletJoint >, gazebo::physics::BulletBallJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::DARTJoint, gazebo::physics::ODEGearboxJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::DARTUniversalJoint, gazebo::physics::DARTBallJoint, and gazebo::physics::DARTSliderJoint.
void gazebo::physics::Joint::Load | ( | LinkPtr | _parent, |
LinkPtr | _child, | ||
const math::Pose & | _pose | ||
) |
Set pose, parent and child links of a physics::Joint.
[in] | _parent | Parent link. |
[in] | _child | Child link. |
[in] | _pose | Pose containing Joint Anchor offset from child link. |
|
virtual |
Load physics::Joint from a SDF sdf::Element.
[in] | _sdf | SDF values to load from. |
Reimplemented from gazebo::physics::Base.
Reimplemented in gazebo::physics::SimbodySliderJoint, gazebo::physics::BallJoint< ODEJoint >, gazebo::physics::BallJoint< DARTJoint >, gazebo::physics::BallJoint< SimbodyJoint >, gazebo::physics::BallJoint< BulletJoint >, gazebo::physics::UniversalJoint< ODEJoint >, gazebo::physics::UniversalJoint< DARTJoint >, gazebo::physics::UniversalJoint< SimbodyJoint >, gazebo::physics::UniversalJoint< BulletJoint >, gazebo::physics::GearboxJoint< ODEJoint >, gazebo::physics::Hinge2Joint< ODEJoint >, gazebo::physics::Hinge2Joint< DARTJoint >, gazebo::physics::Hinge2Joint< SimbodyJoint >, gazebo::physics::Hinge2Joint< BulletJoint >, gazebo::physics::HingeJoint< ODEJoint >, gazebo::physics::HingeJoint< DARTJoint >, gazebo::physics::HingeJoint< SimbodyJoint >, gazebo::physics::HingeJoint< BulletJoint >, gazebo::physics::BulletScrewJoint, gazebo::physics::ODEJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::ScrewJoint< ODEJoint >, gazebo::physics::ScrewJoint< DARTJoint >, gazebo::physics::ScrewJoint< SimbodyJoint >, gazebo::physics::ScrewJoint< BulletJoint >, gazebo::physics::SliderJoint< ODEJoint >, gazebo::physics::SliderJoint< DARTJoint >, gazebo::physics::SliderJoint< SimbodyJoint >, gazebo::physics::SliderJoint< BulletJoint >, gazebo::physics::BulletBallJoint, gazebo::physics::BulletJoint, gazebo::physics::SimbodyFixedJoint, gazebo::physics::FixedJoint< ODEJoint >, gazebo::physics::FixedJoint< DARTJoint >, gazebo::physics::FixedJoint< SimbodyJoint >, gazebo::physics::FixedJoint< BulletJoint >, gazebo::physics::BulletFixedJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::DARTJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEHingeJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::SimbodyJoint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODESliderJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::DARTUniversalJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::DARTBallJoint, and gazebo::physics::DARTSliderJoint.
|
virtual |
Reset the joint.
Reimplemented from gazebo::physics::Base.
Reimplemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, and gazebo::physics::SimbodyJoint.
|
pure virtual |
Set the anchor point.
[in] | _index | Indx of the axis. |
[in] | _anchor | Anchor value. |
Implemented in gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, gazebo::physics::SimbodyJoint, gazebo::physics::BulletScrewJoint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEHingeJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODESliderJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::ODEBallJoint, gazebo::physics::ODEUniversalJoint, and gazebo::physics::ODEScrewJoint.
void gazebo::physics::Joint::SetAngle | ( | unsigned int | _index, |
math::Angle | _angle | ||
) |
If the Joint is static, Gazebo stores the state of this Joint as a scalar inside the Joint class, so this call will NOT move the joint dynamically for a static Model.
But if this Model is not static, then it is updated dynamically. The child links of this joint are updated based on position change. And all the links connected to the child link of this joint except through the parent link of this joint moves with the child link.
[in] | _index | Index of the axis. |
[in] | _angle | Angle to set the joint to. |
|
pure virtual |
Set the axis of rotation where axis is specified in local joint frame.
[in] | _index | Index of the axis to set. |
[in] | _axis | Vector in local joint frame of axis direction (must have length greater than zero). |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::SimbodyJoint, gazebo::physics::BulletBallJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTBallJoint, gazebo::physics::ODEBallJoint, gazebo::physics::BulletScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEHingeJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::ODESliderJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEUniversalJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::DARTUniversalJoint, gazebo::physics::DARTSliderJoint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::SimbodyScrewJoint, and gazebo::physics::SimbodySliderJoint.
|
pure virtual |
Set the joint damping.
[in] | _index | Index of the axis to set, currently ignored, to be implemented. |
[in] | _damping | Damping value for the axis. |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, gazebo::physics::SimbodyJoint, and gazebo::physics::BulletSliderJoint.
|
virtual |
Set the effort limit on a joint axis.
[in] | _index | Index of the axis to set. |
[in] | _effort | Effort limit for the axis. |
|
pure virtual |
Set the force applied to this physics::Joint.
Note that the unit of force should be consistent with the rest of the simulation scales. Force is additive (multiple calls to SetForce to the same joint in the same time step will accumulate forces on that Joint). Forces are truncated by effortLimit before applied.
[in] | _index | Index of the axis. |
[in] | _effort | Force value. |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::BulletJoint, gazebo::physics::DARTJoint, and gazebo::physics::SimbodyJoint.
|
virtual |
Set the high stop of an axis(index).
[in] | _index | Index of the axis. |
[in] | _angle | High stop angle. |
Reimplemented in gazebo::physics::ODEJoint, gazebo::physics::SimbodyJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTBallJoint, gazebo::physics::ODEBallJoint, gazebo::physics::ODEUniversalJoint, gazebo::physics::BulletBallJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::BulletSliderJoint, and gazebo::physics::SimbodyScrewJoint.
void gazebo::physics::Joint::SetLowerLimit | ( | unsigned int | _index, |
math::Angle | _limit | ||
) |
: set the joint upper limit (replaces SetLowStop and SetHighStop)
[in] | _index | Index of the axis. |
[in] | _limit | Lower limit of the axis. |
|
virtual |
Set the low stop of an axis(index).
[in] | _index | Index of the axis. |
[in] | _angle | Low stop angle. |
Reimplemented in gazebo::physics::ODEJoint, gazebo::physics::SimbodyJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTBallJoint, gazebo::physics::ODEBallJoint, gazebo::physics::ODEUniversalJoint, gazebo::physics::BulletBallJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::BulletSliderJoint, and gazebo::physics::SimbodyScrewJoint.
|
pure virtual |
Set the max allowed force of an axis(index) when using Joint::SetVelocity.
Current implementation in Bullet and ODE is enforced using impulses, which enforces force/torque limits when calling Joint::SetVelocity. Current implementation is engine dependent. See for example ODE implementation in ODEHingeJoint::SetMaxForce. Note this functionality is not implemented in DART and Simbody. Note that the unit of force should be consistent with the rest of the simulation scales.
[in] | _index | Index of the axis. |
[in] | _force | Maximum force that can be applied to the axis. |
Implemented in gazebo::physics::BulletScrewJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEHingeJoint, gazebo::physics::BulletBallJoint, gazebo::physics::ODESliderJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::DARTHingeJoint, gazebo::physics::ODEUniversalJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::DARTUniversalJoint, gazebo::physics::DARTSliderJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::ODEBallJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::DARTBallJoint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::SimbodySliderJoint, and gazebo::physics::SimbodyFixedJoint.
void gazebo::physics::Joint::SetModel | ( | ModelPtr | _model | ) |
Set the model this joint belongs too.
[in] | _model | Pointer to a model. |
|
pure virtual |
Set a non-generic parameter for the joint.
replaces SetAttribute(Attribute, int, double) List of parameters: "friction" Axis Coulomb joint friction coefficient. "hi_stop" Axis upper limit. "lo_stop" Axis lower limit.
[in] | _key | String key. |
[in] | _index | Index of the axis. |
[in] | _value | Value of the attribute. |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::SimbodyJoint, and gazebo::physics::ODEUniversalJoint.
|
virtual |
The child links of this joint are updated based on desired position.
And all the links connected to the child link of this joint except through the parent link of this joint moves with the child link.
[in] | _index | Index of the joint axis (degree of freedom). |
[in] | _position | Position to set the joint to. unspecified, pure kinematic teleportation. |
Reimplemented in gazebo::physics::ODEJoint, and gazebo::physics::BulletJoint.
|
protected |
Helper function for maximal coordinate solver SetPosition.
The child links of this joint are updated based on position change. And all the links connected to the child link of this joint except through the parent link of this joint moves with the child link.
[in] | _index | Index of the joint axis (degree of freedom). |
[in] | _position | Position to set the joint to. |
|
virtual |
Set whether the joint should generate feedback.
[in] | _enable | True to enable joint feedback. |
Reimplemented in gazebo::physics::ODEJoint, and gazebo::physics::BulletJoint.
void gazebo::physics::Joint::SetState | ( | const JointState & | _state | ) |
Set the joint state.
[in] | _state | Joint state |
|
pure virtual |
Set the joint spring stiffness.
[in] | _index | Index of the axis to set, currently ignored, to be implemented. |
[in] | _stiffness | Spring stiffness value for the axis. : rename to SetSpringStiffness() |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, and gazebo::physics::SimbodyJoint.
|
pure virtual |
Set the joint spring stiffness.
[in] | _index | Index of the axis to set, currently ignored, to be implemented. |
[in] | _stiffness | Stiffness value for the axis. |
[in] | _reference | Spring zero load reference position. : rename to SetSpringStiffnessDamping() |
Implemented in gazebo::physics::ODEJoint, gazebo::physics::DARTJoint, gazebo::physics::BulletJoint, and gazebo::physics::SimbodyJoint.
void gazebo::physics::Joint::SetStopDissipation | ( | unsigned int | _index, |
double | _dissipation | ||
) |
Set joint stop dissipation.
[in] | _index | joint axis index. |
[in] | _dissipation | joint stop dissipation coefficient. |
void gazebo::physics::Joint::SetStopStiffness | ( | unsigned int | _index, |
double | _stiffness | ||
) |
Set joint stop stiffness.
[in] | _index | joint axis index. |
[in] | _stiffness | joint stop stiffness coefficient. |
void gazebo::physics::Joint::SetUpperLimit | ( | unsigned int | _index, |
math::Angle | _limit | ||
) |
: set the joint lower limit (replacee GetLowStop and GetHighStop)
[in] | _index | Index of the axis. |
[in] | _limit | Upper limit of the axis. |
|
pure virtual |
Set the velocity of an axis(index).
In ODE and Bullet, the SetVelocityMaximal function is used to set the velocity of the child link relative to the parent. In Simbody and DART, this function updates the velocity state, which has a recursive effect on the rest of the chain.
[in] | _index | Index of the axis. |
[in] | _vel | Velocity. |
Implemented in gazebo::physics::BulletScrewJoint, gazebo::physics::DARTScrewJoint, gazebo::physics::SimbodyScrewJoint, gazebo::physics::BulletSliderJoint, gazebo::physics::ODEScrewJoint, gazebo::physics::BulletHinge2Joint, gazebo::physics::ODEGearboxJoint, gazebo::physics::ODEHinge2Joint, gazebo::physics::ODEHingeJoint, gazebo::physics::ODESliderJoint, gazebo::physics::DARTHinge2Joint, gazebo::physics::ODEUniversalJoint, gazebo::physics::ODEFixedJoint, gazebo::physics::SimbodyHinge2Joint, gazebo::physics::DARTUniversalJoint, gazebo::physics::BulletBallJoint, gazebo::physics::DARTFixedJoint, gazebo::physics::DARTHingeJoint, gazebo::physics::BulletHingeJoint, gazebo::physics::SimbodyUniversalJoint, gazebo::physics::BulletUniversalJoint, gazebo::physics::DARTSliderJoint, gazebo::physics::BulletFixedJoint, gazebo::physics::SimbodyFixedJoint, gazebo::physics::ODEBallJoint, gazebo::physics::SimbodyBallJoint, gazebo::physics::SimbodyHingeJoint, gazebo::physics::SimbodySliderJoint, and gazebo::physics::DARTBallJoint.
|
virtual |
Set the velocity limit on a joint axis.
[in] | _index | Index of the axis to set. |
[in] | _velocity | Velocity limit for the axis. |
|
protected |
Helper function for maximal coordinate solver SetVelocity.
The velocity of the child link of this joint is updated relative to the current parent velocity. It currently does not act recursively.
[in] | _index | Index of the joint axis (degree of freedom). |
[in] | _velocity | Velocity to set at this joint. |
|
virtual |
Update the joint.
Reimplemented from gazebo::physics::Base.
|
virtual |
Update the parameters using new sdf values.
[in] | _sdf | SDF values to update from. |
Reimplemented from gazebo::physics::Base.
|
protected |
Anchor link.
|
protected |
Anchor pose.
This is the xyz offset of the joint frame from child frame specified in the parent link frame
|
protected |
Anchor pose specified in SDF <joint><pose> tag.
AnchorPose is the transform from child link frame to joint frame specified in the child link frame. AnchorPos is more relevant in normal usage, but sometimes, we do need this (e.g. GetForceTorque and joint visualization).
|
protected |
apply damping for adding viscous damping forces on updates
|
protected |
Flags that are set to true if an axis value is expressed in the parent model frame.
Otherwise use the joint frame. See issue #494.
|
protected |
The first link this joint connects to.
|
protected |
joint viscous damping coefficient
|
protected |
Store Joint effort limit as specified in SDF.
|
protected |
Store Joint position lower limit as specified in SDF.
|
protected |
Pointer to the parent model.
|
protected |
Anchor pose relative to parent link frame.
|
protected |
The second link this joint connects to.
|
protected |
Provide Feedback data for contact forces.
|
protected |
joint spring reference (zero load) position
|
protected |
joint stiffnessCoefficient
|
protected |
Store Joint position upper limit as specified in SDF.
|
protected |
Store Joint velocity limit as specified in SDF.
|
protected |
Cache Joint force torque values in case physics engine clears them at the end of update step.