Skip to content

Commit c13f3a6

Browse files
Gps waypoint follower demo (#70)
* update params for the unit testing * python script wip * WIP: files changes for tutorial writeup * format, urdf & other PR comments * comments on parameters changes * git ignore pycache folders * Update simulation files to nav2's * mapviz & rviz conditional launch * Add simple gps waypoint logging node * update button name * add yaw units * Take in wps file in logged navigator * Update turtlebot urdf * Update nav2_gps_waypoint_follower_demo/config/dual_ekf_navsat_params.yaml Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_gps_waypoint_follower_demo/config/dual_ekf_navsat_params.yaml Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Change base link for base footprint --------- Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
1 parent a4a57aa commit c13f3a6

26 files changed

+2173
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Python artifacts
2+
__pycache__/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
waypoints:
2+
- latitude: 38.161491054181276
3+
longitude: -122.45464431092836
4+
yaw: 0.0
5+
- latitude: 38.161587576524845
6+
longitude: -122.4547994038464
7+
yaw: 1.57
8+
- latitude: 38.161708040316405
9+
longitude: -122.45499603070951
10+
yaw: 3.14
11+
- latitude: 38.16180165780551
12+
longitude: -122.45515645020123
13+
yaw: 4.71
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# For parameter descriptions, please refer to the template parameter files for each node.
2+
3+
ekf_filter_node_odom:
4+
ros__parameters:
5+
frequency: 30.0
6+
two_d_mode: true # Recommended to use 2d mode for nav2 in mostly planar environments
7+
print_diagnostics: true
8+
debug: false
9+
publish_tf: true
10+
11+
map_frame: map
12+
odom_frame: odom
13+
base_link_frame: base_footprint # the frame id used by the turtlebot's diff drive plugin
14+
world_frame: odom
15+
16+
odom0: odom
17+
odom0_config: [false, false, false,
18+
false, false, false,
19+
true, true, true,
20+
false, false, true,
21+
false, false, false]
22+
odom0_queue_size: 10
23+
odom0_differential: false
24+
odom0_relative: false
25+
26+
imu0: imu
27+
imu0_config: [false, false, false,
28+
false, false, true,
29+
false, false, false,
30+
false, false, false,
31+
false, false, false]
32+
imu0_differential: false # If using a real robot you might want to set this to true, since usually absolute measurements from real imu's are not very accurate
33+
imu0_relative: false
34+
imu0_queue_size: 10
35+
imu0_remove_gravitational_acceleration: true
36+
37+
use_control: false
38+
39+
process_noise_covariance: [1e-3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
40+
0.0, 1e-3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
41+
0.0, 0.0, 1e-3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
42+
0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
43+
0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
44+
0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
45+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
46+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
47+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
48+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0,
49+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0,
50+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0,
51+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0,
52+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0,
53+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3]
54+
55+
ekf_filter_node_map:
56+
ros__parameters:
57+
frequency: 30.0
58+
two_d_mode: true # Recommended to use 2d mode for nav2 in mostly planar environments
59+
print_diagnostics: true
60+
debug: false
61+
publish_tf: true
62+
63+
map_frame: map
64+
odom_frame: odom
65+
base_link_frame: base_footprint # the frame id used by the turtlebot's diff drive plugin
66+
world_frame: map
67+
68+
odom0: odom
69+
odom0_config: [false, false, false,
70+
false, false, false,
71+
true, true, true,
72+
false, false, true,
73+
false, false, false]
74+
odom0_queue_size: 10
75+
odom0_differential: false
76+
odom0_relative: false
77+
78+
odom1: odometry/gps
79+
odom1_config: [true, true, false,
80+
false, false, false,
81+
false, false, false,
82+
false, false, false,
83+
false, false, false]
84+
odom1_queue_size: 10
85+
odom1_differential: false
86+
odom1_relative: false
87+
88+
imu0: imu
89+
imu0_config: [false, false, false,
90+
false, false, true,
91+
false, false, false,
92+
false, false, false,
93+
false, false, false]
94+
imu0_differential: false # If using a real robot you might want to set this to true, since usually absolute measurements from real imu's are not very accurate
95+
imu0_relative: false
96+
imu0_queue_size: 10
97+
imu0_remove_gravitational_acceleration: true
98+
99+
use_control: false
100+
101+
process_noise_covariance: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
102+
0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
103+
0.0, 0.0, 1e-3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
104+
0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
105+
0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
106+
0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
107+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
108+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
109+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
110+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0,
111+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0,
112+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0,
113+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.0,
114+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0,
115+
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3]
116+
117+
navsat_transform:
118+
ros__parameters:
119+
frequency: 30.0
120+
delay: 3.0
121+
magnetic_declination_radians: 0.0
122+
yaw_offset: 0.0
123+
zero_altitude: true
124+
broadcast_utm_transform: true
125+
publish_filtered_gps: true
126+
use_odometry_yaw: true
127+
wait_for_datum: false
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
capture_directory: "~"
2+
fixed_frame: map
3+
target_frame: map
4+
fix_orientation: false
5+
rotate_90: false
6+
enable_antialiasing: true
7+
show_displays: true
8+
show_status_bar: true
9+
show_capture_tools: true
10+
window_width: 1920
11+
window_height: 1016
12+
view_scale: 0.564473748
13+
offset_x: -55.0469894
14+
offset_y: -4.65194941
15+
use_latest_transforms: true
16+
background: "#a0a0a4"
17+
image_transport: raw
18+
displays:
19+
- type: mapviz_plugins/tile_map
20+
name: new display
21+
config:
22+
visible: true
23+
collapsed: false
24+
custom_sources:
25+
[]
26+
bing_api_key: ""
27+
source: Bing Maps (terrain)
28+
- type: mapviz_plugins/point_click_publisher
29+
name: new display
30+
config:
31+
visible: true
32+
collapsed: false
33+
topic: clicked_point
34+
output_frame: wgs84
35+
- type: mapviz_plugins/tf_frame
36+
name: new display
37+
config:
38+
visible: true
39+
collapsed: false
40+
frame: base_link
41+
color: "#00ff00"
42+
draw_style: arrows
43+
position_tolerance: 0
44+
buffer_size: 1
45+
static_arrow_sizes: true
46+
arrow_size: 53
47+
- type: mapviz_plugins/navsat
48+
name: new display
49+
config:
50+
visible: true
51+
collapsed: false
52+
topic: /gps/fix
53+
color: "#55aaff"
54+
draw_style: points
55+
position_tolerance: 0
56+
buffer_size: 1

0 commit comments

Comments
 (0)