Skip to main content
Version: ROS 2 Humble

MicroStrain GQ7

Item Numbers

DescriptionCPR ItemSales KitInstallation Kit, With Fasteners
MicroStrain GQ7N/AN/AN/A

Specifications

DescriptionValue
Mass78 g
Voltage, Minimum4.2 V
Voltage, Maximum16 V
Voltage, Sensor5 V or 12 V
Power, Average2.0 W
DataUSB or RS-232
Default setting is 115200 baud
View, VerticalUnknown
Position Accuracy1.25 m horizontal
2 m vertical
Position Accuracy RTK (requires a Base Station or a positioning-service)2 cm
Ingress Protection, Solids4
Ingress Protection, LiquidsNone
Operating Temperature, Min-40 °C
Operating Temperature, Max85 °C

Software Bringup

This sensor is included in the Clearpath Robotics robot package that is installed on all of our robots. This allows you to add or remove the sensor from your robot's software description by modifying the robot configuration yaml.

gps:
- model: microstrain_gq7
urdf_enabled: true
launch_enabled: true
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
ros_parameters:
microstrain_inertial_driver:
frame_id: gps_0_link
port: "/dev/microstrain_main"
baudrate: 115200

Package and Setup

The MicroStrain GQ7 sensor uses the microstrain_inertial_driver ROS 2 driver. The driver is open source, maintained by MicroStrain by HBK, and hosted on GitHub.

For specifics on the way Clearpath's configuration system launches the sensor driver, see the MicroStrain GQ7 launch file and the default parameter file in clearpath_sensors.

For a list of all possible parameters and documentation on what they do, see the params.yml provided by the microstrain_inertial_driver

Device Path

The port ROS parameter must be set to the device path of the MicroStrain GQ7. To simplify this process, use the /dev/microstrain_main or /dev/microstrain_main_<SerialNumber> path. This path is only available when the MicroStrain UDEV rules are installed. These are installed alongside the microstrain_inertial_driver package. If the receiver is connected, but the /dev/microstrain_main device is not, check the file /lib/udev/rules.d/60-ros-humble-microstrain-inertial-driver.rules exists.

Antenna Offsets

The GQ7 needs to have it's antenna offsets properly configured in order to get optimal position and orientation estimates. The microstrain_inertial_driver makes this easy to do, and allows multiple ways to accomplish this.

From tf tree

The microstrain_inertial_driver can look up the location of the antennas from the transform tree as long as it is configured to look for the correct frames. One can configure antenna offsets to be looked up from the transform tree by including the following parameters

gps:
- model: microstrain_gq7
...
ros_parameters:
microstrain_inertial_driver:
gnss1_antenna_offset_source : 2
gnss1_frame_id : "right_antenna_link"
gnss2_antenna_offset_source : 2
gnss2_frame_id : "left_antenna_link"

A more complete example of configuring the GQ7 to look up the locations of the antennas from the transform tree, and setting up the antennas in the robot.yaml can be found here

Manually

This method is not recommended for use with clearpath robots as the robot.yaml makes it easy to define GNSS antennas in your robot description, but it is the quickest way to get started. One can configure antenna offsets manually by including the following parameters:

IMPORTANT: When manually configuring the antenna offsets, the measurements will be in the MicroStrain vehicle frame. See this wiki page for more information.

gps:
- model: microstrain_gq7
...
ros_parameters:
microstrain_inertial_driver:
gnss1_antenna_offset_source : 1
gnss1_antenna_offset : [0.0, 0.7, -1.0] # x, y, z in meters
gnss2_antenna_offset_source : 1
gnss2_antenna_offset : [0.0, -0.7, -1.0] # x, y, z in meters

Transforms

In order to integrate more easily with existing ROS tools such as RViz and Nav2, the microstrain_inertial_driver will publish several transforms.

The default behavior of the device when used in a clearpath robot is to publish the global position of the odom frame relative to the first valid fix received by the device, but it can be configured to publish the global position of a different frame, or no frames at all. For more information on the transforms published and how to configure them, see the transforms page of the microstrain_inertial_driver wiki.


Troubleshooting

Clearpath is committed to your success. Please get in touch with us and we will do our best to get you rolling again quickly: support@clearpathrobotics.com.

To get in touch with a salesperson regarding Clearpath Robotics products, please email research-sales@clearpathrobotics.com.

If you have an issue that is specifically about ROS and is something which may be of interest to the broader community, consider asking it on https://robotics.stackexchange.com. If you do not get a satisfactory response, please ping us and include a link to your question as posted there. If appropriate, we will answer in the ROS Answers context for the benefit of the community.

For issues directly related to the microstrain_inertial_driver or the GQ7, please open an issue on GitHub


Further Reading

  1. Clearpath Robotics Store
  2. GQ7 User Manual
  3. GQ7 Webpage
  4. microstrain_inertial_driver wiki
  5. microstrain_inertial_description wiki