Integrating an Inertial
Navigation System with theROS Navigation StackPresenters:
Sarika Ramroop & Shivan RamdhanieOverview●Highlighting an approach for integrating an Inertial
Navigation System (INS) as a localisation source●AMCL○Sensor data used for localisation●

Our use case: Outdoor scenario and large map●

Our Robot:○

Large ground robot operating in an airfield○

Sensors: velodyne, SiCK lasers, pixhawk or similar

Fig. 1: Airfields have few obstacles
2Overview cont’d●INS (GPS + IMU) data is used to generate transforms between various reference frames.

GPSOurWorkflow
IMU

Transform
between frames

Fig. 2: System Concept●Converts GPS readings from latitude, longitude, altitude format to the map’s cartesian coordinate
frame and uses heading information from IMU readings to discern orientation.
3

System I/O/gps_fix/robot_pose(geometry_msgs/PoseStamped)/imu

ins_to_tf/tf (world_T_odom or world_T_robot)/tf (odom_T_robot)/odom

move_baseFig. 3: Node inputs and outputs
4

Frame Relations●If both INS and Odometry data are
available, the transform tree is:Map->Odom->Robot

MAP

where transforms between the map
and odom are provided by our node.
/odom●/base_link

If odometry data is not available, thetransform tree is:Map->Robot
where the node publishes the map torobot base_link transform.

/map

Fig. 4: Frame relations when INS andodom are available
5

Frame Relations●

If both INS and Odometry data areavailable, the transform tree is:Map->Odom->Robot

MAP

where transforms between the map
and odom are provided by our node.
●/base_link

If odometry data is not available, thetransform tree is:Map->Robot
where the node publishes the map torobot base_link transform.

/map

Fig. 5: Frame relations when only INS
data is available
6Rationale
1.

To allow for navigation in the globalframe (map) when a goal is specified

2.

To allow the local frame (odom) to be
MAPplaced within the global frame

3.

Goal
Global plan
outlineTo allow the robot to be placed in theglobal frame such that it is able to/base_link

locate it position.

4.

Local plan
outline/odom

Robot is able to navigate using theglobal and local planners in/map

move_baseFig. 6: Using the nav stack with theseframe relations
7

TF tree comparison
map

map
/amcl

odom

/ins_to_tf
odom/stageros
robot

Fig. 7a: TF tree for turtlebot using amcl fornavigation/wheel_state_to_odom
robotFig. 7b:TF tree using INS data for navigation
8

INS data without odometry/gps_fix●

Generates nav_msgs/Odometry
messages on the “odom” topic.

●

/imu

ins_to_tf

Velocity calculated based on the/tf (world_T_robot)
change in pose over time between
successive messages.
●/robot_pose

move_base

Robot uses the map as both local andglobal frames.

pose_to_odom/odomFig. 8: Node inputs and outputs
9

CONCLUSION

10Performance●

Able to set and reach goals effectively in simulations (provided they are valid).

●

Simulations were done in Gazebo 7.14.

●

Hardware testing will be carried out later on.

11

QUESTIONS?

12

Demo13

TF Tree Comparison

Fig. 9a: TF tree for turtlebot using amcl fornavigation

Fig. 9b:TF tree using INS data for navigation
14INS data without odometry

Fig. 10: TF tree when odometry is unavailable
15