TrajectoryFollowingSimulation Class Reference

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 &params)
 

Detailed Description

Point-mass simulation of the platform following a global trajectory.

Reproduces the loop that platform_controller::platform_global_trajectory::Controller runs on the robot:

  1. TrajectoryFollowingController::control(trajectory, global_T_robot) produces a twist in the robot frame (additionalTask()),
  2. the twist is low-pass filtered with alpha (additionalTask()),
  3. the filtered twist is handed to the holonomic platform as a velocity target (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.

Constructor & Destructor Documentation

◆ TrajectoryFollowingSimulation()

TrajectoryFollowingSimulation ( const Parameters & params)
explicit

Definition at line 327 of file TrajectoryFollowingSimulation.cpp.

Member Function Documentation

◆ run()

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:

The documentation for this class was generated from the following files: