Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: formatting

...


motor_throttlesteering_servo
-1.0Maximum reverse accelerationFull right
0.0Brake, stopSteering roughly centered, but may have an offset
+1.0Maximum forward accelerationFull left
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://github.com/embedded-software-laboratory/cpm_lab/blob/master/cpm_lib/dds_idl/VehicleCommandTrajectory.idl

...

The time between trajectory points t(i+1) t(i) is not fixed, but should be between 100 ms and 400 ms. Due to network latency and the controller structure, the trajectory points need to be created and sent ahead of time. The exact required lead time is TBD, but 1000 ms should be enough.

Info
titleTroubleshooting

Check the Logs (Tab).

The vehicle does not start driving.

Expand

When first taking control of the vehicle using a reference trajectory, the reference trajectory must be consistent with the current position and orientation of the vehicle. Small deviations (~0.5m, ~30 degrees) are allowed. For large deviations the trajectory controller will deactivate and stop the vehicle.

The vehicle stops driving.

Expand

The reference trajectory is a function of continuous time. Thus it also implicitly defines other kinematic quantities, such as yaw, yaw rate, curvature, acceleration and jerk, for any point in time. The user must ensure that the reference trajectory is within the limits of the vehicle's capabilities. The curvature should be less than 3/m ("three per meter"), and the acceleration should be less than 5 m/s². If these limits are significantly exceeded

...

,

...

the trajectory controller will deactivate and stop the vehicle.