55 #ifndef _MIRA_ROBOTMODEL_H_ 56 #define _MIRA_ROBOTMODEL_H_ 58 namespace mira {
namespace robot {
83 virtual Pose2 localKinematics(
const Velocity2& v,
float dt)
const = 0;
96 Pose2 dp = localKinematics(v, dt);
97 float sinphi0=sin(p0.phi());
98 float cosphi0=cos(p0.phi());
99 return Pose2(cosphi0*dp.x() - sinphi0*dp.y() + p0.x(),
100 sinphi0*dp.x() + cosphi0*dp.y() + p0.y(),
110 virtual float predictStandstillDistance(
const Velocity2& v)
const = 0;
118 virtual float predictStandstillRotation(
const Velocity2& v)
const = 0;
128 float lookAheadTime,
int samples) = 0;
std::vector< PoseVelocityTrajectorySample, Eigen::aligned_allocator< PoseVelocityTrajectorySample > > PoseVelocityTrajectory
A sampled trajectory, a collection of trajectory samples, each containing a pose and velocity at a de...
Definition: Trajectory.h:118
#define MIRA_ABSTRACT_OBJECT(classIdentifier)
RobotDataTypes export macro declaration.
boost::shared_ptr< RobotModel > RobotModelPtr
A typedef for a shared pointer to a RobotModel.
Definition: RobotModel.h:132
Base class for all robot models, such as DifferentialRobotModel.
Definition: RobotModel.h:68
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 d...
Definition: RobotModel.h:94
#define MIRA_ROBOT_DATATYPES_EXPORT
Definition: RobotDataTypesExports.h:61