root / trunk / code / projects / mapping / drive / multi_robot_behavior.txt @ 1390
History | View | Annotate | Download (1.82 KB)
1 | 916 | dsschult | /** |
---|---|---|---|
2 | |||
3 | Optimal Behavior for Mapping |
||
4 | |||
5 | Desired Properties |
||
6 | - Overlapping maps |
||
7 | - Shared origin |
||
8 | * robots must know where they are in relation to each other |
||
9 | |||
10 | |||
11 | |||
12 | Actual Behavior |
||
13 | - make BOM contact with another robot |
||
14 | * estimated distance reading would help |
||
15 | - try to follow another robot |
||
16 | * could parallel path but moved over slightly |
||
17 | to give a wider view while also corroborating data |
||
18 | * then treat as leader/follower in actions |
||
19 | * get groups to link up with each other and then separate to |
||
20 | establish meeting point between maps |
||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26 | Thoughts on improving overall efficiency |
||
27 | ---------------------------------------- |
||
28 | Robot: |
||
29 | - use a shorter polling interval for rangefinders, |
||
30 | then average readings between wireless polling intervals |
||
31 | - if the rangefinder value = MAX, then mark it as -1 |
||
32 | so the program doesn't draw that point |
||
33 | - try bursts of data every second or farther apart |
||
34 | containing multiple data points |
||
35 | * this reduces stress on wireless timing and allows for |
||
36 | overhead created by token ring |
||
37 | - one solution to the 'master origin' problem for multiple robots |
||
38 | is to start each robot at the same point with the same orientation |
||
39 | * this isn't very useful and takes effort, but it works |
||
40 | * could also establish an initial offset in robots, |
||
41 | but accurate initial placement would still be an issue |
||
42 | |||
43 | Server: |
||
44 | - if the rangefinder value = MAX or -1, don't use that point |
||
45 | or set it to infinity |
||
46 | - if robots have linked as leader/follower pair, use |
||
47 | one point of origin for both robots |
||
48 | - when two or more robots meet, set one robot as the |
||
49 | master coordinates, and modify all other robots to use |
||
50 | those master coordinates |
||
51 | * easiest is to start a new map with one robot at the origin and |
||
52 | all others starting based off that robot |
||
53 | * backdating the coordinate change would be better |
||
54 | * using both approaches is likely most accurate |
||
55 | |||
56 | |||
57 | |||
58 | */ |