Introduction
The goal of this task is to introduce reactive control. The reactive control of the youBot robot is realized by using data acquired from the LIDAR sensor to avoid obstacles in a specified task (moving along the walls). In this tutorial the ‘reactive control’ refers to the control of the speed of the robot without any trajectory planning.
You should write a program that enables youBot to move along walls, as presented in the figure below. The robot should use laser scanners in order to detect the wall, move along it (i.e. keep the distance) and avoid collisions.
The video below shows an example motion generated by the controller you need to implement:
Similarly to the previous tasks, you should write a control function solution4
that implements proportional regulators that controls the robot movement.
And analogically, we also prepared a simulation environment in CoppeliaSim stored in file exercise02.ttt
.
You must open it in CoppeliaSim before running your matlab script.
Similarly, as in the previous tasks, the motion of the robot should be controlled by variables representing the relative velocities.
Additionally, you should gather and analyse data from the lidar sensors as described on page Sensors.
Task requirements
- Analyse the lidar readings in order to find the nearest obstacle (please consider the XY plane readings only).
- The robot should keep given distance to the wall (e.g. 1 m), hence you must compute the relative errors in directions perpendicular and parallel to the wall.
- The resulting robot speed should be computed on the basis of those errors.
- Additionally, the robot must always face the wall, hence you must also adequtelly control the angular robot velocity.
- Do not use the input variables
position
andorientation
, as they are not relevant.
Grading
You can get 5 points, including:
- processing of the sensory data
- use of transformation frames
- regulator keeping distance from the wall
- regulator responsible for moving the robot along the wall
- regulator keeping the perpendicular orientation of the robot againts the wall