-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
executable file
·127 lines (96 loc) · 3.45 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Team member:
Shaoxun Xu
Aiwei Yin
Jiaying Lyu
# Description of the files inside the archive:
|--ekf
| |--ekf.launch #configuration of the ekf
|-- gmapping
| |--gmapping.launch #configuration of the gmapping
|--map
| |--map_optitrack.pgm #map created by optitrack odometry
| |--map_optitrack.yaml
| |--map_visual.pgm #map created by visual odometry, used for move_base
| |--map_visual.yaml
|--move_bases
| |--amcl.launch #configuration of the amcl
|--point2laser
| |--pointcloud_to_laser.launch #convert pointcloud to laser scan
|--tf
| |--static_tf_optitrack.launch #static tf for optitrack odometry
| |--static_tf_visual.launch #static tf for visual odometry
|--gmapping_optitrack.launch #start everything for creating map via optitrack odometry
|--ekf
| |--ekf.launch #ekf for fuse imu and visual odometry
| |--ekf_template.yaml #parameters for ekf
| |--imu_filter.launch #get orientation from the raw imu data
|--gmapping_visual.launch #start everything for creating map via visual odometry
|--gmapping_imu.launch #start everything for creating map via IMU fused visual odometry
|--move_based_amcl.launch #localization of the robot in a given map via lidar and visual odometry
|--move_based_amcl_imu.launch #localization of the robot in a given map via lidar and IMU fused visual odometry
# Structure of the tf tree:
see the images in tf_graph
Build map: 2020-05-14-16-09-36-traj1-os1-t265-pix.bag
Test move_base: 2020-05-14-16-14-37-traj2-os1-t265-pix.bag
# usage:
We test our project on ubuntu 18.04 with ROS Melodic
Prerequisites:
install gmapping, amcl, pointcloud-to-laserscan and robot-pose-ekf
Running:
cd to 10730328
build map via optitrack odometry
```
roslaunch gmapping_optitrack.launch
```
run the bag in another terminal with clock
```
rosbag play --clock 2020-05-14-16-09-36-traj1-os1-t265-pix.bag
```
when the bag finish, use map server to save the map
-------------------------------------------------------
build map via visual odometry
```
roslaunch gmapping_visual.launch
```
run the bag in another terminal with clock
```
rosbag play --clock 2020-05-14-16-09-36-traj1-os1-t265-pix.bag
```
when the bag finish, use map server to save the map
--------------------------------------------------------
build map via imu and visual odometry
```
roslaunch gmapping_imu.launch
```
run the bag in another terminal with clock
```
rosbag play --clock 2020-05-14-16-09-36-traj1-os1-t265-pix.bag
```
when the bag finish, use map server to save the map
--------------------------------------------------------
test move_base
put the map made by visual odometry and the .yaml file into map folder
The names should be map.pgm and map.yaml
run amcl
```
roslaunch move_base_amcl.launch
```
run the bag in another terminal with clock
```
rosbag play --clock 2020-05-14-16-14-37-traj2-os1-t265-pix.bag
```
--------------------------------------------------------
test move_base
put the map made by visual odometry and the .yaml file into map folder
The names should be map.pgm and map.yaml
run amcl
```
roslaunch move_base_amcl_imu.launch
```
run the bag in another terminal with clock
```
rosbag play --clock 2020-05-14-16-14-37-traj2-os1-t265-pix.bag
```
# Info you think are important/interesting:
The most important part of the project is to undersand the tf relationship of each frame. Meanwhile, the visualization tools in ROS, like rviz, rqt_tf, rqt_topic are very helpful for debugging.
The IMU data is really noise, it seems it would not improve the visual odometry.