MIRA
|
#include <robot/UnicycleBasedRobotModel.h>
Public Types | |
typedef std::list< LinkPtr > | LinkList |
typedef std::map< std::string, JointPtr > | JointMap |
typedef std::map< std::string, MaterialPtr > | MaterialMap |
typedef std::list< std::pair< GeometryPtr, RigidTransform3f >, Eigen::aligned_allocator< std::pair< GeometryPtr, RigidTransform3f > > > | CollisionGeometries |
Public Member Functions | |
template<typename Reflector > | |
void | reflectDegrees (Reflector &r, const char *name, float &member, const char *comment) |
void | reflectDegrees (PropertySerializer &r, const char *name, float &member, const char *comment) |
template<typename Reflector > | |
void | reflect (Reflector &r) |
float | getMaxTransVelocity () const |
virtual PoseVelocityTrajectory | generateTrajectory (Velocity2 v, const Velocity2 &targetV, float lookAheadTime, int samples) |
Generates a trajectory by accelerating/decelerating starting at velocity v for lookAheadTime time up to the velocity targetV. More... | |
virtual Pose2 | localKinematics (const Velocity2 &v, float dt) const =0 |
Computes the local movement of the robot if it moves with the specified velocity v for the specified time dt. More... | |
Pose2 | globalKinematics (const Velocity2 &v, float dt, const Pose2 &p0) const |
Computes the movement of the robot if it moves with the specified velocity v for the specified time dt. More... | |
virtual float | predictStandstillDistance (const Velocity2 &v) const =0 |
Calculate the distance that is needed for braking to stand still, if the robot moves with the specified velocity v. More... | |
virtual float | predictStandstillRotation (const Velocity2 &v) const =0 |
Calculate the rotation that is needed for braking to stand still, if the robot moves with the specified velocity v. More... | |
void | reflect (XMLDeserializer &r) |
void | clear () |
std::string | getRootLink () const |
CollisionGeometries | getCollisionGeometries (std::string targetFrame="", const Time ×tamp=Time::now(), const std::string &filter="") const |
std::list< Box3f > | getCollisionBoundingBoxes (std::string targetFrame="", const Time ×tamp=Time::now(), const std::string &filter="") const |
Footprint | getFootprint (std::string targetFrame="", const Time ×tamp=Time::now(), const std::string &filter="") const |
void | resolveAndPublishLinks (const std::string &ns, const Time ×tamp=Time::now()) |
void | publishJoint (const std::string &name, float value, const Time ×tamp=Time::now()) const |
Class const & | getClass () const |
Static Public Member Functions | |
static PseudoClass const & | CLASS () |
Public Attributes | |
float | maxBackwardVelocity |
The maximum velocity for driving backward (both wheels) [m/s]. More... | |
float | maxForwardVelocity |
The maximum velocity for driving forward (both wheels) [m/s]. More... | |
float | maxRotVelocity |
The maximum velocity for rotating [deg/s]. More... | |
float | transEpsilonVelocity |
the min. More... | |
float | rotEpsilonVelocity |
float | maxTransAcceleration |
Max. acceleration. More... | |
float | maxTransDeceleration |
Max. deceleration. Must be greater than zero. More... | |
float | maxEmergencyDeceleration |
Max. deceleration in case of an emergency. Must be greater than zero. More... | |
float | maxRotAcceleration |
Max. acceleration. More... | |
float | maxRotDeceleration |
Max. deceleration. Must be greater than zero. More... | |
std::string | name |
LinkList | links |
JointMap | joints |
MaterialMap | materials |
Protected Member Functions | |
virtual Class const & | internalGetClass () const=0 |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Generates a trajectory by accelerating/decelerating starting at velocity v for lookAheadTime time up to the velocity targetV.
The resulting trajectory will contain samples+1 trajectory samples starting at position 0,0 with velocity v. It uses the acceleration limits given in the robot model.
Implements RobotModel.
Computes the local movement of the robot if it moves with the specified velocity v for the specified time dt.
The movement is returned as relative pose in relation to the robots movement center, which is assumed to be (0,0,0).
[in] | v | The measured velocity. |
[in] | dt | The time interval in [s]. It must be >= 0.0f. |
Implemented in DifferentialRobotModel, and GenericRobotModel.
Computes the movement of the robot if it moves with the specified velocity v for the specified time dt.
The movement is returned as pose in relation to the specified pose p0.
[in] | v | The velocity of the robot. |
[in] | dt | The delta time. |
[in] | p0 | The original pose. |
|
pure virtualinherited |
Calculate the distance that is needed for braking to stand still, if the robot moves with the specified velocity v.
[in] | v | The current velocity. |
Implemented in DifferentialRobotModel, and GenericRobotModel.
|
pure virtualinherited |
Calculate the rotation that is needed for braking to stand still, if the robot moves with the specified velocity v.
[in] | v | The current velocity. |
Implemented in DifferentialRobotModel, and GenericRobotModel.
float maxBackwardVelocity |
The maximum velocity for driving backward (both wheels) [m/s].
Use negative values, if the robot is allowed to drive backward.
float maxForwardVelocity |
The maximum velocity for driving forward (both wheels) [m/s].
float maxRotVelocity |
The maximum velocity for rotating [deg/s].
float transEpsilonVelocity |
the min.
speed that the robot platform can do, lower velocities result in standing still.
float rotEpsilonVelocity |
float maxTransAcceleration |
Max. acceleration.
float maxTransDeceleration |
Max. deceleration. Must be greater than zero.
float maxEmergencyDeceleration |
Max. deceleration in case of an emergency. Must be greater than zero.
float maxRotAcceleration |
Max. acceleration.
float maxRotDeceleration |
Max. deceleration. Must be greater than zero.