|
|
Point-mass simulation of the platform following a global trajectory. More...
#include <armarx/navigation/simulation/TrajectoryFollowingSimulation.h>
Classes | |
| struct | Parameters |
| struct | Result |
| struct | Sample |
Public Member Functions | |
| Result | run (const core::GlobalTrajectory &trajectory, const core::Pose &start) const |
Follow trajectory starting from start, which need not be on the trajectory. | |
| TrajectoryFollowingSimulation (const Parameters ¶ms) | |
Point-mass simulation of the platform following a global trajectory.
Reproduces the loop that platform_controller::platform_global_trajectory::Controller runs on the robot:
TrajectoryFollowingController::control(trajectory, global_T_robot) produces a twist in the robot frame (additionalTask()),alpha (additionalTask()),rtRun()).The robot is modelled as a point mass that reaches the commanded velocity instantly, i.e. no acceleration limit is imposed. That is deliberate: the resulting acceleration is an output of the simulation, so it can be compared against what the base can actually deliver. Where the required acceleration exceeds that, the real robot lags behind and overshoots — which the trajectory's velocity profile alone does not reveal.
The controller and the real-time loop run at different rates on the robot (the additional task at ~100 Hz, the RT layer faster). Here both run at dt, which is the controller rate: the RT layer only forwards the twist, so it does not affect the trajectory.
Definition at line 226 of file TrajectoryFollowingSimulation.h.
|
explicit |
Definition at line 327 of file TrajectoryFollowingSimulation.cpp.
| TrajectoryFollowingSimulation::Result run | ( | const core::GlobalTrajectory & | trajectory, |
| const core::Pose & | start ) const |
Follow trajectory starting from start, which need not be on the trajectory.
Definition at line 335 of file TrajectoryFollowingSimulation.cpp.
Here is the call graph for this function:
Here is the caller graph for this function: