You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tutorials/docs/navigation2_with_microstrain_gq7.rst
+21-14Lines changed: 21 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -208,7 +208,9 @@ The following XML shows the most simple version of adding a GQ7 to your robot al
208
208
209
209
An in-depth installation guide can be found on the `GQ7 manual <https://files.microstrain.com/GQ7+User+Manual/user_manual_content/installation/Installation.htm>`_, but we will provide a trimmed down guide for this tutorial.
210
210
211
-
TODO: Talk about mounting, maybe get Ian to help write some documentation on this?
211
+
When mounting the GQ7, and antennas, you will need to measure the offsets between the GQ7 and the mount it is placed on, as well as the antennas and the mount they are placed on, and update the .urdf.xacro file we made above with those offsets.
212
+
213
+
**Note:** The GQ7 has axes printed on the case, in ROS if you are using the robot_description like we are using in this tutorial, **DO NOT** use those as a reference, instead use the `ROS body frame <https://www.ros.org/reps/rep-0103.html#coordinate-frame-conventions>`_.
212
214
213
215
214
216
2- Configure your GQ7
@@ -479,7 +481,7 @@ We will not review the entire nav2 configuration file. Instead, we will start fr
479
481
480
482
Since the ``microstrain_inertial_driver`` and ``robot_description`` are already providing the full transform tree, we do not need to launch Nav2's localization launch file, nor do we need to amcl configuration, so that can be removed from the params file.
481
483
482
-
``bt_navigator`` needs to be configured to receive the odometry message from the GQ7 like so
484
+
``bt_navigator``, ``controller_server``, and ``velocity_smoother`` need to be configured to receive the odometry message from the GQ7 like so
483
485
484
486
.. code-block:: yaml
485
487
@@ -490,6 +492,17 @@ Since the ``microstrain_inertial_driver`` and ``robot_description`` are already
490
492
odom_topic: gq7/ekf/odometry_map
491
493
...
492
494
495
+
controller_server:
496
+
ros__parameters:
497
+
use_sim_time: True
498
+
odom_topic: /gq7/ekf/odometry_map
499
+
...
500
+
501
+
velocity_smoother:
502
+
ros__parameters:
503
+
odom_topic: "gq7/ekf/odometry_map"
504
+
odom_duration: 0.01
505
+
493
506
We also need to configure the ``local_costmap`` to point to the correct frames. The way we do this is a bit strange since most of the time the ``local_costmap`` operates in the ``odom`` frame, but for our purposes, the global frame will be the ``map`` frame.
494
507
If you were to run the ``microstrain_inertial_driver`` alongside ``robot_localization`` you would change ``global_frame`` to ``odom`` here.
495
508
If you have a lidar installed on your robot, this is one of the points where you would want to make sure that you have the appropriate ``obstacle_layer`` and ``inflation_layer`` setup
@@ -503,8 +516,8 @@ If you have a lidar installed on your robot, this is one of the points where you
503
516
robot_base_frame: base_link
504
517
...
505
518
506
-
The ``global_costmap`` setup will look mostly identical to the ``local_costmap`` configuration in terms of our changes. For the rest of the parameters you may configure on the ``global_costmap`` it depends on what other sensors you have available.
507
-
For our testing, we chose to remove the static layer, and use observations from a lidar sensor mounted on the robot.
519
+
The ``global_costmap`` setup will look mostly identical to the ``local_costmap`` configuration in terms of our changes, but we will also increase the size of the costmap to 50x50 and make it a rolling window.
520
+
For the rest of the parameters you may configure on the ``global_costmap`` it depends on what other sensors you have available. For our testing, we chose to remove the static layer, and use observations from a lidar sensor mounted on the robot.
508
521
509
522
.. code-block:: yaml
510
523
@@ -513,15 +526,9 @@ For our testing, we chose to remove the static layer, and use observations from
513
526
ros__parameters:
514
527
global_frame: map
515
528
robot_base_frame: base_link
516
-
517
-
Finally, if you are using a velocity smoother, you will want to set it up to receive it's odometry from the GQ7 like so
518
-
519
-
.. code-block:: yaml
520
-
521
-
velocity_smoother:
522
-
ros__parameters:
523
-
odom_topic: "gq7/ekf/odometry_map"
524
-
odom_duration: 0.01
529
+
rolling_window: true
530
+
width: 50
531
+
height: 50
525
532
526
533
# TODO: Check in the nav2 config we used and link to it
527
534
@@ -546,7 +553,7 @@ In the second terminal, replace ``/path/to/nav2_params.yaml`` with the path to y
Now that everything is running, the GQ7 will take some time to acquire a fix, but assuming your antenna offsets are accurate, and you have good sky view where you are testing, it should happen within a few minutes.
552
559
If it doesn't enter full navigation in 3 minutes, see `this FAQ <https://files.microstrain.com/GQ7+User+Manual/user_manual_content/FAQ/FAQ.htm#Why>`_.
0 commit comments