Week 28-29. Refactoring and improving the F1 environment

1 minute read

To Do

  • Cleaning and refactoring.
  • Replace the behavior of the laser to the camera.
  • First prototype with 5 W and 3 V outputs.

Progress

1. Cleaning and refactoring

Refactoring is a task that I do little by little every time a new feature is introduced. Doing it all at once would cause you to lose control.

Many aspects have been improved. The laser is no longer within the code of the environment. The camera is the only sensor. Every iteration I do on the code I clean up the content and improve and structure it.

2. Replace the behavior of the laser to the camera

The laser is no longer within the code of the environment. The camera is the only sensor. Three horizontal lines are selected where the distance from the center of the line to the center of the image is calculated. The algorithm’s reward is calculated on the basis of this difference.

3. First prototype with 5 W and 3 V outputs.

For each action taken (initially randomly) values are chosen for the actuators. Initially it will be tested with 3 values of linear speed and 5 values of angular speed.

The formula 1 exercise is completely migrated to the new environment with a new circuit design. In each iteration the configuration will be refined to have, in a short time, a solution.

You can see a final example of the environment and the restarts when it loses the line in the next animation using ROS rviz.

F1 Env Gazebo
F1 Env Gazebo first version

Working

Adjusting parameters, refactoring the code and finishing the first version with 3 linear and 5 angular outputs. We will try to replace the current way of obtaining image by the Callback provided by ROS.

Learning

This last week and a half has been difficult due to the recent alert generated by the well-known COVID-19 virus. These will be difficult days and we will have to adapt to them.