root / trunk / code / projects / mapping / robot / multi_robot_behavior.txt @ 965
History | View | Annotate | Download (1.82 KB)
1 |
/** |
---|---|
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 |
*/ |