Skip to content

Key Performance Indicators (KPIs)

Lachlan Tinsley edited this page May 19, 2024 · 22 revisions

Key performance indicators (KPIs) are metrics that are used to proxy for system performance.

1. Localisation Performance

The ability to accurately determine the position of the turtlebot in a $2 \times 2$ metre grid. We aim to get within $\pm0.5\text{m}$ of the true turtlebot location.

2. Responsiveness

The response time between sensing control inputs and moving the turtlebot. This includes the ability to communicate between the sensors and the turtlebot. We aim to move the turtlebot within half a second of sensor input.

3. Mobility

The ability to move the turtlebot around the field in a desired manner (left, right, forward, backwards). We aim to able to achieve all basic movements.

4. Mapping Performance

Ability to map the course and any static obstacles within a good degree of accuracy. We aim to map the entire course and any obstacles placed in the arena within $\pm0.5\text{m}$.

5. Velocity Control

The ability to control how fast the turtlebot is moving, and change the velocity with the foot pedal. We aim to linearly control the velocity of the turtlebot, and change the direction

Amended KPIs and Results

Overall we were able to meet the KPIs with some ammendments.

1. Localisation and Performance

The ability to map and accurately determine the position of the turtlebot in a $2 \times 2$ metre grid. We have mangaed to localise within $\pm0.5\text{m}$ of the true turtlebot location. We have also managed to generate an accurate map of the field.

Complexities

The complexities with meeting this KPI was in finding a model to accurately localise the position of the turtlebot. Given inbuilt functionality with ROS, and preestablished systems, the mapping was a simple process that slidded into our system. However, retrieving the information from the map and getting the position of the turtlebot itself provided difficult. This was mostly due to the nature of how SLAM works. The location of object on the map are hard to determine as only relative locations between frames are stored. i.e. there is a vector from the start point on the map to an odometry frame, and a vector from the odometry frame to the base frame of the turtlebot. Once this became known, we tried to simply add these two vectors to provide a result, however due to instantaneous inacuracies in values, this frame became unpredictably distored and wasn't always linear. To overcome this, we used the inbuilt ROS transformations to map these vectors to a position relative to the map frame, i.e. the frame that the turtlebot originates from. These transformations use statistical analysis using Adaptive Monte Carlo Localisation (AMCL) to correct inacuracies in frames by using multiple frames and putting them through a monte Carlo algorithm to predict the position of the bot.