Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

There are two ways to control CPM vehicles, direct commands and trajectory commands.

Direct Command

See See https://git.rwth-aachen.de/CPM/Project/Labgithub.com/embedded-software-laboratory/cpm_baselab/blob/master/cpm_lib/dds_idl/VehicleCommandDirect.idl

The direct command uses dimensionless, uncalibrated inputs and applies them directly to the motor and servo.

...

struct VehicleCommandDirect 
{
    octet vehicle_id; //@key
    Header header;
    double motor_throttle;  // dimensionless, in [-1, 1]
    double steering_servo;  // dimensionless, in [-1, 1]
};


Trajectory Command

See https://git.rwth-aachen.de/CPM/Project/Lab/cpm_basegithub.com/embedded-software-laboratory/cpm_lab/blob/master/cpm_lib/dds_idl/VehicleCommandTrajectory.idl

The reference trajectory is defined as a Cubic Hermite spline. A spline is a function that is defined piecewise in time. Thus it can be extended in real time, which (metaphorically) looks like this:

...