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
Glider is a G-INS system built on [GTSAM](https://github.com/borglab/gtsam). It currently takes in GPS and 9-DOF IMU and provides a full
5
+
state estimate up to the rate of you IMU. Glider is highly configurable and more features are coming soon.
2
6
3
-
Glider is a GPS-Odometry-INS system, it is designed to fuse GPS and IMU (a GINS system) with any odometry you provide. This can also be run as a standard GINS system by setting `use_odom:=false`. We can also take in unscaled odometry and scale it, just set `scale_odom` parameter to `true` if you want your odmetry scaled. Finally, noise parameters can be configured in `config/graph_params.yaml`.
7
+
## Hardware Setup
8
+
You're setup needs a GPS and a 9-DOF IMU, that is an IMU that provides a full orientation. The IMU orientation should be provided in the `IMU` frame
9
+
as this is standard for robotics, but we are working on supporting the NED frame. We use a VectorNav VN100T IMU. It is important make sure your IMU magnetometer is calibrated, if it is not aligned correctly the heading output of glider will be incorrect.
4
10
5
-
You can build this as a ros2 package with colcon: `colcon build --packages-select glider`.
11
+
## ROS2 Setup
12
+
We recommend using Glider with ROS2, you can configure the ros parameters in `config/ros-params.yaml`. Here's more detail about what
13
+
the parameters mean:
14
+
-`publishers.rate`: the rate at which odometry is published in hz.
15
+
-`publishers.nav_sat_fix`: if true will publish the odometry as a `NavSatFix` msg, the default is an `Odometry` msg.
16
+
-`publishers.viz.use`: if true will publish an `Odometry` topic for visualization centered around the origin.
17
+
-`publishers.viz.origin_easting`: the easting value you want to viz odometry to center around.
18
+
-`publishers.viz.origin_northing`: the northing value you want the viz odometry to center around.
19
+
-`subscribers.use_odom`: Still under development
6
20
7
-
### Running
8
-
Glider can be built as a ros packages in your ros workspace with `catkin build`.
9
-
Run glider with:
10
-
```
11
-
ros2 launch glider glider-node.launch.py
12
-
```
13
-
14
-
Everything will be rotated into the ENU frame, includeing the IMU orientation and the Odometry pose. Since GPS is the main prior, we publish state estimates in the ENU frame with UTM coordinates as an `Odometry` ros message or a `NavSatFix` message. This can be configured in `config/ros_params.yaml` with the `publish_nav_sat_fix` parameter.
21
+
## Glider Setup
22
+
You can configure glider itself in `config/glider-params.yaml`, this is where you can specify the parameters for the factor graph. Here's more detail on each parameter:
23
+
#### IMU Parameters
24
+
-`covariances.accelerometer`: covariance of the accelerometer.
25
+
-`covariances.gyroscope`: covariance of the gyroscope.
26
+
-`covariances.integration`: covariance of the IMU preintegration.
27
+
-`covariances.heading`: covariance of the IMU's magnetometer heading in radians, 0.09 radians is about 5 degrees.
28
+
-`covariances.roll_pitch`: covariance of the roll and pitch angles in radians.
29
+
-`covariances.bias`: covariance of the bias estimate.
30
+
-`frame`: What frame the IMU is in, currently only support ENU but NED support is coming .
31
+
### GPS Parameters
32
+
-`gps.covariance`: covariance of the gps position estimate.
33
+
### Other Parameters
34
+
-`constants.gravity`: gravity in your IMU's frame.
35
+
-`constants.bias_num_measurements`: number of IMU measurements to use to initially estimate the bias.
36
+
-`constants.initial_num_measurements`: number of times to let the factor graph optimize before glider starts reporting odometry.
37
+
-`logging.stdout`: output log statements to terminal in addition to the logfile
38
+
-`optimizer.smooth`: if true the factor graph will optimize using a fixed lag smoother, otherwise it will use iSAM2.
39
+
-`optimizer.lag_time`: period of time the fixed lag smoother should look at in seconds.
40
+
-`gps_to_imu`: the relative transformation from your gps to your imu in the FLU frame.
15
41
16
42
### Building and Running Unit Tests
17
43
We use GTest to run unit tests. You can build the tests with
@@ -25,6 +51,3 @@ cd build
25
51
ctest
26
52
```
27
53
28
-
#### Authors
29
-
-**Corresponding:** Jason Hughes jasonah.at.seas.upenn.edu
0 commit comments