diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/sensors/img/microstrain_gq7.png b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/img/microstrain_gq7.png new file mode 100644 index 000000000..d9764b9e1 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/img/microstrain_gq7.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/sensors/microstrain_gq7.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/microstrain_gq7.mdx new file mode 100644 index 000000000..e6fc200d0 --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/microstrain_gq7.mdx @@ -0,0 +1,38 @@ + + + + + +
+
+
+ +
+
+
+ +```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](https://github.com/LORD-MicroStrain/microstrain_inertial/tree/ros2). + +For specifics on the way Clearpath's configuration system launches the sensor driver, see the MicroStrain GQ7 [launch file](https://github.com/clearpathrobotics/clearpath_robot/blob/main/clearpath_sensors/launch/microstrain_gq7.launch.py) and the [default parameter file](https://github.com/clearpathrobotics/clearpath_robot/blob/main/clearpath_sensors/config/microstrain_gq7.yaml) in `clearpath_sensors`. + +For a list of all possible parameters and documentation on what they do, see the [params.yml](https://github.com/LORD-MicroStrain/microstrain_inertial_driver_common/blob/main/config/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_` 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. diff --git a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/gps/microstrain_gq7.mdx b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/gps/microstrain_gq7.mdx new file mode 100644 index 000000000..85207dd6b --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/gps/microstrain_gq7.mdx @@ -0,0 +1,121 @@ +--- +title: MicroStrain GQ7 +sidebar_position: 3 +--- + +import Support from "/components/support.mdx"; +import YAML from "/docs_versioned_docs/version-ros2humble/components/yaml/sensors/microstrain_gq7.mdx"; + +
+ +
+ +## Item Numbers + +| Description | CPR Item | Sales Kit | Installation Kit, With Fasteners | +| :-------------------------- | :------------------------------------------------------: | :-------: | :------------------------------: | +| MicroStrain GQ7 | N/A | N/A | N/A | + +--- + +## Specifications + +| Description | Value | +| :--------------------------------------------------------------------------------------------------------- | :------------------------------------------------------ | +| Mass | 78 g | +| Voltage, Minimum | 4.2 V | +| Voltage, Maximum | 16 V | +| Voltage, Sensor | 5 V or 12 V | +| Power, Average | 2.0 W | +| Data | USB or RS-232
Default setting is 115200 baud | +| View, Vertical | Unknown | +| Position Accuracy | 1.25 m horizontal
2 m vertical | +| Position Accuracy RTK (requires a [Base Station](../../add-ons/base_station.mdx) or a positioning-service) | 2 cm | +| Ingress Protection, Solids | 4 | +| Ingress Protection, Liquids | None | +| Operating Temperature, Min | -40 °C | +| Operating Temperature, Max | 85 °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](../../../../ros/config/yaml/sensors/overview.mdx). + + + +#### 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 + +```yaml +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](https://github.com/clearpathrobotics/clearpath_config/tree/main/clearpath_config/sample/j100/j100_microstrain_gq7.yaml) + +##### 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](https://wiki.ros.org/microstrain_inertial_driver/use_enu_frame#different_frames) for more information. + +```yaml +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](https://wiki.ros.org/microstrain_inertial_driver/transforms) +page of the `microstrain_inertial_driver` wiki. + + +--- + +## Troubleshooting + + + +For issues directly related to the `microstrain_inertial_driver` or the GQ7, please open an issue on [GitHub](https://github.com/LORD-MicroStrain/microstrain_inertial/issues/new/choose) + +--- + +## Further Reading + +1. [Clearpath Robotics Store](https://store.clearpathrobotics.com/collections/gnss-ins) +2. [GQ7 User Manual](https://files.microstrain.com/GQ7+User+Manual/Home.htm) +3. [GQ7 Webpage](https://www.microstrain.com/inertial-sensors/3dm-gq7) +4. [microstrain_inertial_driver wiki](https://wiki.ros.org/microstrain_inertial_driver) +5. [microstrain_inertial_description wiki](https://wiki.ros.org/microstrain_inertial_description) diff --git a/static/img/sensor_images/microstrain_gq7.jpeg b/static/img/sensor_images/microstrain_gq7.jpeg new file mode 100644 index 000000000..d4a600be8 Binary files /dev/null and b/static/img/sensor_images/microstrain_gq7.jpeg differ