Versions Compared

Key

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

...

To see how to use it to control a vehicle, go to Vehicle Commands.

To see how it works, go to to https://git.rwth-aachen.de/CPM/Project/Lab/software/github.com/embedded-software-laboratory/cpm-lab/blob/master/matlab_scripts/vehicle_dynamics_identification_and_mpc/documentation/main.pdf

Localization

The localization combines the IPS vehicle observation with local vehicle sensor data to determine the vehicle pose. If the IPS vehicle observation is delayed or temporarily unavailable, the localization can continue to give accurate poses through dead reckoning. However, the dead reckoning will fail when driving aggressively, i.e. with high wheel slip.

...

In each time step (20 ms), two data packets are transmitted between the MLC and LLC, one in each direction. The data integrity is checked on both sides using the cyclic redundancy check. The LLC will acknowledge receiving a correct message from the MLC through a status bit. The MLC will repeat the transmission within a time step, until a correct message from the LLC is received and the LCC's acknowledge bit is set. Thus, every transmission will be made at least twice. The MLC signals the end of the (re)transmission phase to the LLC through a separate "chip select" / "slave select" line.

https://git.rwth-aachen.de/CPM/Project/Lab/software/github.com/embedded-software-laboratory/cpm-lab/blob/master/vehicle_raspberry_firmware/src/spi.c

https://git.rwth-aachen.de/CPM/Project/Lab/software/github.com/embedded-software-laboratory/cpm-lab/blob/master/vehicle_atmega2560_firmware/vehicle_atmega2560_firmware/spi_packets.hc

https://git.rwth-aachen.de/CPM/Project/Lab/software/github.com/embedded-software-laboratory/cpm-lab/blob/master/vehicle_atmega2560_firmware/vehicle_atmega2560_firmware/spi_packets.ch

Simulation Mode

The MLC contains a simulation of the vehicle, which replaces the LLC and SPI. The switch to the simulation mode is made at compile time. The MLC build script creates multiple variants of the MLC software, for simulation and for normal operation.

Static ARP table

In some cases ARP is unsuccessful and this leads to high latencies. To mitigate this a static ARP table is provided for the vehicles at software/mid_level_controller/package/arp_table. See also Vehicle Setup.