-
Notifications
You must be signed in to change notification settings - Fork 2
Moves
Paul Guerin Wünsche-Fierro edited this page Dec 14, 2016
·
10 revisions
This pages describes how the robots will be driven
-
The robots receive on a periodic basis their current position as seen by the server and a set of instructions for their next moves, constituted of a list of distance/speed and orientation of the move. The positions of the robot as seen by the server and the robot itself are then fused in a way that is to be determined soon.
-
In a first approach the robots will rotate to face the next position and only then move to that position. For that to work we need to suppose the following:
- We rotate the robot by only powering one wheel and control it by counting the ticks of the powerred engine.
- We calculate the robot straight movement by calculating the average of the ticks of the right an left engines. This will rely on a PID controller of the engines' ticks.
If there is some time left for it in the end we will try to control the movements of the robot as follows:
- With the the distance/speed and orientation instruction, the robots will move along curved trajectories if need be. This will be integrated in a controlled loop, or asservissement polaire that will reduce the distance between the robot and the next position and the aim the robot to the face the next position.
- Before moving to the next position, the robot checks if the angle alphaN, angle to perfect orientation is below 45 degrees angle (in absolute value). If it is, then the robot rotates to the perfect angle to face the targetted position.
- Then the robots robots moves to the next position, ie it rotates and moves at the same time in order to reduce both its angle and distance to the target.