Skip to content

Commit a3d5aac

Browse files
committed
INS update
1 parent d00776f commit a3d5aac

File tree

1 file changed

+106
-23
lines changed

1 file changed

+106
-23
lines changed

en/sensor/microstrain.md

Lines changed: 106 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ The driver currently supports the following hardware:
1010
- [`MicroStrain CV7-AHRS`](https://www.microstrain.com/inertial-sensors/3dm-cv7-ahrs): Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS)
1111
- [`MicroStrain CV7-AR`](https://www.microstrain.com/inertial-sensors/3dmcv7-ar): Inertial Measurement Unit (IMU) and Vertical Reference Unit (VRU)
1212
- [`MicroStrain CV7-INS`](https://www.microstrain.com/inertial-sensors/3dmcv7-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS).
13-
Only sensor output (gyro, accel, mag) is currently available.
14-
Support for the full navigation solution output will be added in a future driver release.
1513

14+
PX4 can use these sensors to provide raw IMU data for EKF2 or to replace EKF2 as an external INS.
1615
For more information, including user manuals and datasheets, please refer to the sensors product page.
1716

1817
## Where to Buy
@@ -39,48 +38,132 @@ The default coordinate system uses X for the front, Y for the right, and Z for d
3938
To use the MicroStrain driver:
4039

4140
1. Include the module in firmware in the [kconfig board configuration](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) by setting the kconfig variables: `CONFIG_DRIVERS_INS_MICROSTRAIN` or `CONFIG_COMMON_INS`.
42-
2. Update the [EKF2_MULTI_IMU](../advanced_config/parameter_reference.md#EKF2_MULTI_IMU) parameter to account for the added MicroStrain sensor.
43-
3. To prioritize MicroStrain sensor output, adjust the priority level of individual sensors from 0-100 using the following parameters:
41+
2. Configure the driver mode by setting [MS_MODE](../advanced_config/parameter_reference.md#MS_MODE)
42+
- To use the MicroStrain sensor to provide raw IMU data to EKF2
43+
1. Set [MS_MODE](../advanced_config/parameter_reference.md#MS_MODE) to 0
44+
2. Update the [EKF2_MULTI_IMU](../advanced_config/parameter_reference.md#EKF2_MULTI_IMU) parameter to account for the added MicroStrain sensor.
45+
3. Enable EKF2 by setting [EKF_EN]((../advanced_config/parameter_reference.md#MS_MODE)) to 1
46+
4. To prioritize MicroStrain sensor output, adjust the priority level of individual sensors from 0-100 using the following parameters:
4447

45-
- [CAL_ACCn_PRIO](../advanced_config/parameter_reference.md#CAL_ACC0_PRIO)
46-
- [CAL_GYROn_PRIO](../advanced_config/parameter_reference.md#CAL_GYRO0_PRIO)
47-
- [CAL_MAGn_PRIO](../advanced_config/parameter_reference.md#CAL_MAG0_PRIO)
48-
- [CAL_BAROn_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO)
48+
- [CAL_ACCn_PRIO](../advanced_config/parameter_reference.md#CAL_ACC0_PRIO)
49+
- [CAL_GYROn_PRIO](../advanced_config/parameter_reference.md#CAL_GYRO0_PRIO)
50+
- [CAL_MAGn_PRIO](../advanced_config/parameter_reference.md#CAL_MAG0_PRIO)
51+
- [CAL_BAROn_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO)
4952

50-
where `n` corresponds to the index of the corresponding sensor.
53+
where `n` corresponds to the index of the corresponding sensor.
54+
55+
::: tip
56+
Sensors can be identified by their device id, which can be found by checking the parameters:
57+
58+
- [CAL_ACCn_ID](../advanced_config/parameter_reference.md#CAL_ACC0_ID)
59+
- [CAL_GYROn_ID](../advanced_config/parameter_reference.md#CAL_GYRO0_ID)
60+
- [CAL_MAGn_ID](../advanced_config/parameter_reference.md#CAL_MAG0_ID)
61+
- [CAL_BAROn_ID](../advanced_config/parameter_reference.md#CAL_BARO0_ID)
62+
63+
:::
64+
65+
- To use the MicroStrain sensor as an external INS
66+
1. Set [MS_MODE](../advanced_config/parameter_reference.md#MS_MODE) to 1
67+
2. Disable EKF2 by setting [EKF_EN]((../advanced_config/parameter_reference.md#MS_MODE)) to 0
68+
69+
3. Reboot and start the driver
70+
- `microstrain start -d <port>`
71+
72+
## MicroStrain Configuration
73+
74+
1. Rates:
75+
- By default, accel and gyro data will be published 500 Hz, magnetometer at 50 Hz, and barometric pressure at 50 Hz.
76+
This can be changed by adjusting the following parameters
77+
78+
- [MS_IMU_RATE_HZ](../advanced_config/parameter_reference.md#MS_IMU_RATE_HZ)
79+
- [MS_MAG_RATE_HZ](../advanced_config/parameter_reference.md#MS_MAG_RATE_HZ)
80+
- [MS_BARO_RATE_HZ](../advanced_config/parameter_reference.md#MS_BARO_RATE_HZ)
81+
82+
- Similarly global position, local position, attitude and odometry will be published at 250 Hz by default.
83+
This can be changed by adjusting
84+
85+
- [MS_FILT_RATE_HZ](../advanced_config/parameter_reference.md#MS_IMU_RATE_HZ)
86+
87+
- The driver will automatically configure data outputs based on the specific sensor model and available data streams.
88+
89+
2. Aiding measurements:
90+
- If supported, GNSS position and velocity aiding are always enabled.
91+
- Internal magnetometer aiding, Internal heading aiding and External heading aiding are disabled by default and can be enabled using the following parameters
92+
93+
- [MS_INT_MAG_EN](../advanced_config/parameter_reference.md#MS_INT_MAG_EN)
94+
- [MS_INT_HEAD_EN](../advanced_config/parameter_reference.md#MS_INT_HEAD_EN)
95+
- [MS_EXT_HEAD_EN](../advanced_config/parameter_reference.md#MS_EXT_HEAD_EN)
5196

5297
::: tip
53-
Sensors can be identified by their device id, which can be found by checking the parameters:
98+
If the MicroStrain sensor does not support these aiding sources but they are enabled. Initialization of the sensor will fail.
99+
100+
:::
101+
102+
3. Initial heading alignment:
103+
- Initial heading alignment is set to kinematic by default and can be changed by adjusting
104+
105+
- [MS_ALIGNMENT](../advanced_config/parameter_reference.md#MS_ALIGNMENT)
106+
107+
4. Sensor to vehicle transform:
108+
- If the sensor is mounted in a different orientation to the vehicle frame. A sensor to vehicle transform can be enabled using
109+
110+
- [MS_SVT_EN](../advanced_config/parameter_reference.md#MS_SVT_EN)
111+
112+
- The transform is described by setting the following parameters
113+
114+
- [MS_SENSOR_ROLL](../advanced_config/parameter_reference.md#MS_SENSOR_ROLL)
115+
- [MS_SENSOR_PTCH](../advanced_config/parameter_reference.md#MS_SENSOR_PTCH)
116+
- [MS_SENSOR_YAW](../advanced_config/parameter_reference.md#MS_SENSOR_YAW)
117+
118+
5. IMU ranges:
119+
- The ranges of the accelerometer and gyroscope on the device are configurable. They can be changed by adjusting the following parameters
54120

55-
- [CAL_ACCn_ID](../advanced_config/parameter_reference.md#CAL_ACC0_ID)
56-
- [CAL_GYROn_ID](../advanced_config/parameter_reference.md#CAL_GYRO0_ID)
57-
- [CAL_MAGn_ID](../advanced_config/parameter_reference.md#CAL_MAG0_ID)
58-
- [CAL_BAROn_ID](../advanced_config/parameter_reference.md#CAL_BARO0_ID)
121+
- [MS_ACCEL_RANGE](../advanced_config/parameter_reference.md#MS_ACCEL_RANGE)
122+
- [MS_GYRO_RANGE](../advanced_config/parameter_reference.md#MS_GYRO_RANGE)
123+
124+
::: tip
125+
The available range settings depend on the [sensor](https://www.microstrain.com/inertial-sensors/all-sensors) and can be found in the corresponding user manual.
126+
By default the ranges will not be changed.
59127

60128
:::
61129

62-
4. Reboot and start the driver
130+
6. Lever arm offsets:
131+
- The lever arm offset for the external GNSS receiver can be changed by adjusting the following parameters
63132

64-
## MicroStrain Configuration
133+
- [GNSS_OFFSET1_X](../advanced_config/parameter_reference.md#GNSS_OFFSET1_X)
134+
- [GNSS_OFFSET1_Y](../advanced_config/parameter_reference.md#GNSS_OFFSET1_Y)
135+
- [GNSS_OFFSET1_Z](../advanced_config/parameter_reference.md#GNSS_OFFSET1_Z)
136+
137+
- In the case of a dual antenna setup, the following parameters can be adjusted for the second GNSS receiver
65138

66-
By default, accel and gyro data will be published 500 Hz, magnetometer at 50 Hz, and barometric pressure at 50 Hz.
67-
This can be changed by adjusting the following parameters
139+
- [GNSS_OFFSET2_X](../advanced_config/parameter_reference.md#GNSS_OFFSET2_X)
140+
- [GNSS_OFFSET2_Y](../advanced_config/parameter_reference.md#GNSS_OFFSET2_Y)
141+
- [GNSS_OFFSET2_Z](../advanced_config/parameter_reference.md#GNSS_OFFSET2_Z)
68142

69-
- [MS_IMU_RATE_HZ](../advanced_config/parameter_reference.md#MS_IMU_RATE_HZ)
70-
- [MS_MAG_RATE_HZ](../advanced_config/parameter_reference.md#MS_MAG_RATE_HZ)
71-
- [MS_BARO_RATE_HZ](../advanced_config/parameter_reference.md#MS_BARO_RATE_HZ)
72143

73-
The driver will automatically configure data outputs based on the specific sensor model and available data streams.
74144

75145
## Published Data
76146

77-
The MicroStrain driver publishes sensor data which can be found on the following UOrb topics:
147+
The MicroStrain driver will always publish sensor data to the following UOrb topics:
78148

79149
- [sensor_accel](../msg_docs/SensorAccel.md)
80150
- [sensor_gyro](../msg_docs/SensorGyro.md)
81151
- [sensor_mag](../msg_docs/SensorMag.md)
82152
- [sensor_baro](../msg_docs/SensorBaro.md)
83153

154+
If used as an external INS replacing EKF2, it publishes:
155+
156+
- [vehicle_global_position](../msg_docs/VehicleGlobalPosition.md)
157+
- [vehicle_local_position](../msg_docs/VehicleLocalPosition.md)
158+
- [vehicle_attitude](../msg_docs/VehicleAttitude.md)
159+
- [vehicle_odometry](../msg_docs/VehicleOdometry.md)
160+
161+
otherwise the same data is published to the following topics
162+
163+
- `external_ins_global_position`
164+
- `external_ins_attitude`
165+
- `external_ins_local_position`
166+
84167
::: tip
85168
Published topics can be viewed using the `listener` command.
86169
:::

0 commit comments

Comments
 (0)