We have contributed in the field of cooperative tasks with mobile robots using a hierarchical control scheme. This approach consists of carrying out cooperative tasks with different priority and also at a specific time. The main contributions are as follows: 1) to impose a desired time convergence of tasks and 2) to avoid discontinuous task transitions occurred when a task is inserted or removed in the hierarchical structure.
Every human, including yourself, uses this approach every day without realizing they do. For example, if you leave your home and want to get the door of the car, intuitively you walk straight until you reach your goal. However, if an obstacle appears in front of you such as another car parked in front of yours, you will most likely surround it. But this not implies turn 180° and walk in the opposite direction to your target. What you most likely will be doing is walking around the outline of your obstacle, trying to shorten the distance to your goal in every step. Moreover you’ll also be avoiding the obstacle simultaneously. It needs to be mentioned that, on top of that, you should reach your target at a specific time. That is to say, if your car is 20m away from you, then it is feasible to reach its goal within 30 seconds. For example, considering that you may find or not an obstacle. This is a hierarchical task approach, your initial priority is to arrive to your car, but once the obstacle is in front of you, you main priority is to avoid the obstacle and as a second priority to reach your car. You’re doing both tasks at the same time but in a different priority scheme as needed. This basic idea is used in our work.
This approach was implemented on the cinematic of a set of mobile robots, by using positions, velocity and accelerations of each robot to calculate a desired trajectory depending on the tasks desired to be performed, the convergence time and the number of robots. Once the prioritized tasks provides the desired trajectory, a nonlinear control is responsible for generating speed commands to robots’ engines in order to execution the control action previously calculated.
The proposed approach in our work was validated with several experiments using three mobile robots “iRobot” and a fixed camera at a certain height for reading the position of robots. (watch video).