19.05.2020
Schenke: Sensor Data Fusion with Extended Kalman Filter for a Mobile Robot (Komplexpraktikum)
19.05.2020, 13.00 Uhr
Einladung zur Präsentation von Herrn Jonas Schenke
Thema: Sensor Data Fusion with Extended Kalman Filter for a Mobile Robot
Projekt: Komplexpraktikum
Betreuer: Ariel Podlubne, Gökhan Akgün
Abstract: A reliable speed and position estimation is required for the navigation of autonomous vehicles. A high speed state estimation can take up a considerable amount of CPU cycles which are often needed for other tasks such as path planning. This shortcoming can be mitigated by moving the estimation into separate hardware which runs independently thus saving unnecessary CPU cycles. In this work an estimation approach for a mobile system composed of wheel speed data from four wheels and an IMU was implemented which estimates position, velocity, acceleration, yaw and yaw rate. To achieve this, an Extended Kalman Filter was selected. An initial prototype was implemented in Python and evaluated in the Gazebo simulator. All individual blocks were prototyped and tested in SystemC, then ported to VHDL and individually tested in both implementations. Since adaptability was one of the main goals of this work, changing the filter design only requires adaptation of problem specific blocks like the state transition function. Basic flow control and simple pipelining is achieved by connecting all individual blocks with AXI streams. Additionally, this implementation was designed with exchangeable data types and adjustable precision in mind to easily adapt the required resources to the target platform, in this case the Pynq FPGA board. The used data type is a 25 bit signed fixed point integer with 12 decimal places. The resource utilization of the final Extended Kalman Filter design consumes more than 60% of the FPGA and needs less than 1050 clock cycles for each estimation step. The test of the complete system was done in a hardware-software co-design in which the CPU loads in a simulator generated input data, feeds this into the AXI streams of the Kalman Filter and receives them back through AXI streams. The results suggest that an adequate level of accuracy can be achieved even with a 25 bit fixed point data type.