Commit 2eaacf1f authored by Nicolas Van der Noot's avatar Nicolas Van der Noot

readme update

parent 1bbbdb80
......@@ -57,8 +57,7 @@ Instructions on how to model these files using the graphical Pad (*MBsysPad*) ca
Next step is to configure the project with the [config_file.txt](userFiles/config/config_file.txt) file. In this file, you can configure the robot initial positions, the noise, the map fixed obstacles, the moving obstacles, the target positions... All information required for this step is provided in this file. A hardcoded version (i.e. without *.txt* reading) is provided in [config_file.h](userFiles/config/config_file.h) and [config_file.cc](userFiles/config/config_file.cc)). These files should also be adapted. This hardcoded version can be used by uncommenting `#define HARDCODED_CONFIG` in [config_file.h](userFiles/config/config_file.h).
# INSTRUCTIONS FOR THE USERS #
# INSTRUCTIONS TO USE THE SIMULATOR #
Project specific features
-------------------------
......@@ -118,7 +117,7 @@ To pick a target, a robot must stop on top of it. This means that the vertical p
<br/>
To get the points, the target must be released in the team basis. The team bases are depicted in the next figure.
To get the points, the target must be released in the team basis. The team bases are depicted in the next figure. Blue robot is in team A, red robot is in team B.
<br/>
......@@ -126,7 +125,7 @@ To get the points, the target must be released in the team basis. The team bases
<br/>
A target is considered to be inside a target basis (i.e. collecting area), provided it *entirely* lays in the corresponding rectangle. Once a target meets this condition, points are granted to the corresponding team. This target cannot be removed from the basis. In the following picture, the yellow robot managed to release its target in its basis.
A target is considered to be inside a target basis (i.e. collecting area), provided it *entirely* lays in the corresponding rectangle. Once a target meets this condition, points are granted to the corresponding team. This target cannot be removed from the basis. In the following picture, the blue robot managed to release its target in its basis.
<br/>
......@@ -170,7 +169,7 @@ Controller design
Each team designs its controller in the folder *grX* (where X is your group number) located [here](userFiles/ctrl/groups_ctrl). The controller needs to be developed in *C/C++*. 15 group folders were created in the template.
In each *grX* controller, four files are already provided (see [here](userFiles/ctrl/groups_ctrl/gr1) for example with group 1):
* [ctrl_main_grX.cc](userFiles/ctrl/groups_ctrl/gr1/ctrl_main_gr1.cc): the main entrance of your controller: `controller_init` is called once when starting the controller, `controller_loop` is called every time step (corresponding to *1 ms*) and `controller_finish` is called when your controller is shutting down. Each of these three functions receive the same input `CtrlStruct *cvs`, which is detailed later (see *CtrlStruct_grX.cc*).
* [ctrl_main_grX.cc](userFiles/ctrl/groups_ctrl/gr1/ctrl_main_gr1.cc): the main entrance of your controller: `controller_init` is called once when starting the controller, `controller_loop` is called every time step (corresponding to *1 ms*) and `controller_finish` is called when your controller is shutting down. Each of these three functions receives the same input `CtrlStruct *cvs`, which is detailed later (see *CtrlStruct_grX.cc*).
* [ctrl_main_grX.h](userFiles/ctrl/groups_ctrl/gr1/ctrl_main_gr1.h): the header corresponding to `ctrl_main_grX.cc`.
* [CtrlStruct_grX.cc](userFiles/ctrl/groups_ctrl/gr1/CtrlStruct_gr1.cc): the structure `CtrlStruct` (defined in *CtrlStruct_grX.h*) is always provided to your basic functions. It contains two fields which cannot be removed: `CtrlIn *inputs` (the inputs of the controller) and `CtrlOut *outputs` (the outputs of the controller). These two fields are detailed later. You can add any variable or structure to `CtrlStruct`. This is especially useful to save variables during the different controller calls. The function `init_CtrlStruct` is called once before `controller_init` and the function `free_CtrlStruct` is called once after `controller_finish`.
* [CtrlStruct_grX.h](userFiles/ctrl/groups_ctrl/gr1/CtrlStruct_gr1.h): the header corresponding to `CtrlStruct_grX.cc`.
......@@ -256,7 +255,7 @@ To detect beacons, the robots can use their rotating tower, which can be seen on
<br/>
On top of that, three fixed beacons are located outside the game map for each team. They can be used to find the robot position with triangulation techniques (corresponding inputs: `last_rising_fixed`, `last_falling_fixed`, `rising_index_fixed`, `falling_index_fixed`, `nb_rising_fixed` and `nb_falling_fixed`). The colour of their basis corresponds to the colour of the corresponding team (in the next picture, the orange colour indicates that it can only be detected by the team B).
On top of that, three fixed beacons are located outside the game map for each team. They can be used to find the robot position with triangulation techniques (corresponding inputs: `last_rising_fixed`, `last_falling_fixed`, `rising_index_fixed`, `falling_index_fixed`, `nb_rising_fixed` and `nb_falling_fixed`). The color of their basis corresponds to the color of the corresponding team (in the next picture, the red color indicates that it can only be detected by the team B).
<br/>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment