Next Article in Journal
Smart Textile Sock System for Athletes’ Self-Correction during Functional Tasks: Formative Usability Evaluation
Previous Article in Journal
An Optimization Method for the Station Layout of a Microseismic Monitoring System in Underground Mine Engineering
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel LiDAR–IMU–Odometer Coupling Framework for Two-Wheeled Inverted Pendulum (TWIP) Robot Localization and Mapping with Nonholonomic Constraint Factors

State Key Laboratory of Robotics and System, Harbin Institute of Technology, Harbin 150001, China
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(13), 4778; https://doi.org/10.3390/s22134778
Submission received: 1 May 2022 / Revised: 14 June 2022 / Accepted: 18 June 2022 / Published: 24 June 2022
(This article belongs to the Topic Advances in Mobile Robotics Navigation)

Abstract

:
This paper proposes a method to solve the problem of localization and mapping of a two-wheeled inverted pendulum (TWIP) robot on approximately flat ground using a Lidar–IMU–Odometer system. When TWIP is in motion, it is constrained by the ground and suffers from motion disturbances caused by rough terrain or motion shaking. Combining the motion characteristics of TWIP, this paper proposes a framework for localization consisting of a Lidar-IMU-Odometer system. This system formulates a factor graph with five types of factors, thereby coupling relative and absolute measurements from different sensors (including ground constraints) into the system. Moreover, we analyze the constraint dimension of each factor according to the motion characteristics of TWIP and propose a new nonholonomic constraint factor for the odometry pre-integration constraint and ground constraint factor in order to add them naturally to the factor graph with the robot state node on SE(3). Meanwhile, we calculate the uncertainty of each constraint. Utilizing such a nonholonomic constraint factor, a complete lidar–IMU–odometry-based motion estimation system for TWIP is developed via smoothing and mapping. Indoor and outdoor experiments show that our method has better accuracy for two-wheeled inverted pendulum robots.

1. Introduction

In recent years, Simultaneous localization and mapping (SLAM) for intelligent mobile robots has become a research hotspot [1,2]. Under GPS-denied and unknown environment conditions, mobile robots must be able to utilize onboard sensors to construct an environment map that can be used for navigation [3] and then rely on this environment map for navigation, collision avoidance, and path planning. Many solutions have been proposed based on different sensing methods, mainly divided into vision-based [4,5,6], lidar-based [7,8,9], and a combination of the two [10,11]. Meanwhile, in order to cope with complex environments, sensors such as IMUs and encoders that are less affected by the environment can be used to assist with visual [12,13] or lidar [14,15,16,17,18] localization. Although vision-based methods are particularly suitable for position recognition, their sensitivity to initialization, illumination, and range as well as their high depth computation cost makes them unreliable when supporting autonomous navigation systems.
On the other hand, lidar can directly obtain depth information about the surrounding environment, and lidar are immune to illumination changes. Many impressive LiDAR-based localization and mapping algorithms have been proposed. In these algorithms, the IMU, encoder and other high-frequency output sensors are usually used to assist with lidar localization and the deskew point cloud. In [7], the authors present lidar odometry and mapping (LOAM) for low-drift real time state estimation and mapping. In this algorithm, the IMU is only used to de-skew the point cloud and does not participate in lidar localization. Here, for the localization algorithm of the lidar–IMU system, we divided it into filter-based and optimization-based segments according to the coupling method. Filter-based methods typically utilize extended Kalman filtering to couple measurements from lidar and IMU to estimate the state of the robot frame-by-frame. In [14], Lynen et al. proposed a modular method that uses EKF to fuse IMU measurements with relative pose measurements from cameras, lidars, etc. In [15], the authors present a lidar-inertial state estimator called R-LINS, which uses a recursive error-state Kalman filter to estimate the robot’s state. In [16], the authors propose a fast, robust and general LiDAR–IMU odometry framework based on an efficient and tightly-coupled iterative Kalman filter for fast, robust, and accurate LiDAR navigation. Optimization-based methods usually use nonlinear optimization to combine a fixed number of lidar keyframes and IMU pre-integration in order to estimate the optimal pose. In the literature [17], a tightly coupled framework lio-mapping of lidar and IMU has been introduced which uses a framework similar to VINS and achieves good accuracy; however, it cannot run in real time. In [18], the authors proposed a framework LIO-SAM for tightly coupling lidar and IMU via smoothing and mapping, achieving highly accurate real-time localization and mapping. Filtering-based methods usually only consider the influence of the previous frame on the current frame, which incurs lower computational costs. The optimization-based method usually adopts the sliding window method to evaluate the constraint relationship between the robot states of the previous n frames (including the current frame). The optimization-based method is more computationally expensive than the filtering-based method, however, it has accuracy. With improved hardware performance, optimization-based methods can run in real time, and should gradually become the mainstream of research. However, in scenarios with sparse structural features, such as long tunnels, wide roads, etc., lidar lacks constraints in certain directions, resulting in decreased localization accuracy. In [19], the authors found that when their mobile robot had constant acceleration or no rotation, the VINS system was unable to distinguish the magnitude of the true body acceleration and the direction of the local gravitational acceleration from that of the accelerometer bias. Similar situations can appear in scenarios where Lidar is degraded.
The localization of mobile ground platforms with unique system architectures has not previously been thoroughly investigated and discussed. Due to ground constraints, many vision-based [20,21] and lidar-based [22,23] SLAM algorithms use the SE(2) pose. However, the ground is rough in the natural environment, and a ground-mobile robot will be disturbed by motion disturbance. In order to better adapt to the natural environment, Ref. [24] proposes a new constraint model, stochastic SE(2) constraints, which usually parameterizes the robot pose on SE(3), allowing for slight disturbance in dimensions other than SE(2). Fan Zheng [25] extended the work of the above article and proposed a complete motion estimation system that utilizes SE(2) constraints and SE(3) pose parameterization.
In this paper, a factor graph is formulated to couple the lidar, IMU, and encoder measurements for the localization and mapping of TWIP robots on an approximately flat road surface. Inspired by the SE(2) constraint–SE(3) pose method used in [24], we propose a new factor with constraints to introduce the encoder’s pre-integration and ground constraints, which we achieve by analyzing the motion profile of the robot and its deviation from planar motion (e.g., due to terrain unevenness or motion vibration) and formulating stochastic (i.e., “soft”) instead of deterministic (i.e., “hard”) constraints. This allows us to properly model the TWIP’s almost-planar motion, as shown in Figure 1. Moreover, we use Lie algebra to represent the rotation in the pose imitation process. Lie algebra has no redundant parameters. Compared with Euler angles, Lie algebra does not have gimbal locking problems, and rotation integration based on Lie algebra can be integrated into a closed form, whereas Euler angles are only exact up to the first order [26]. The main novel contributions of this work are as follows:
  • A complete LIDAR–IMU–encoder-coupled state estimation and mapping framework is proposed for a two-wheeled inverted pendulum robot. This method extends the LIDAR–IMU to process odometric measurements and improves the system’s localization accuracy.
  • A new nonholonomic factor is proposed to introduce encoder pre-integration constraints and ground constraints, which are naturally coupled to the factor graph optimization of the system.
  • Indoor and outdoor experiments demonstrate the improved localization accuracy and robustness of the proposed lidar–IMU–odometry coupling framework when the controller is mounted on a two-wheeled inverted pendulum robot navigating on an approximately flat surface.
The rest of the paper is organized as follows: Section 2 provides an overview of the entire methodology; Section 3 reviews the basic knowledge which is be used later in the paper; Section 4 details the five types of factors introduced in our algorithm; and Section 5 describes several experiments we conducted to demonstrate the effectiveness of the proposed method.

2. Methodology Overview

This paper aims to estimate the motion state of a two-wheeled inverted pendulum robot (TWIP) via lidar–IMU–Odometry coupling. Compared with a six-degrees-of-freedom robot, TWIP cannot move sideways, and is constrained by the ground. Compared with autonomous vehicles on the ground, TWIP swings back and forth during movement to maintain the balance of movement. If we directly parameterize the robot pose on SE(3) without considering the ground constraints, the state estimation accuracy and robustness is depressed due to fewer constraints in the vertical direction of the lidar. If only ground constraints are considered, that is, the deterministic constraint, the performance of system motion estimation is degraded because the six dimensions of the pose are highly coupled with sensor observations. Therefore, neither accurate pose parameterization considering ground constraints nor 3D pose parameterization can satisfactorily represent the pose of the ground robot, because the former suffers from out-of-constraint motion while the latter does not use plane motion constraints. This prompted us to study the state estimation of the two-wheeled inverted pendulum robot through a lidar–IMU–Odometry system.
This paper proposes a framework for localization using a Lidar–IMU–Odometer system. The flow chart of this framework is shown in Figure 2. When the system receives a lidar scan, it first uses the measurement of the IMU to de-skew the point cloud, then extracts the line and surface feature points. If the pose exceeds a pre-set threshold, the current frame is selected as a keyframe; otherwise, it is discarded. Measurements from the IMU provide the initial pose. Then, the keyframes are matched to the global map to obtain the rough global pose and construct the lidar pose factor. The IMU and odometer measurements between two adjacent lidar keyframes are used to construct constraint factors via pre-integration techniques. Meanwhile, we use the random constraint model to construct the ground constraint factor. Finally, all factors are included in the factor graph and jointly optimized to obtain the optimal robot pose. The factor graph formulated for TWIP, which is shown in Figure 3, incorporates the measurement data of each sensor as a factor in our optimization system. In addition to the above four factors, this factor graph contains closed-loop factors grouped into two categories. The IMU pre-integration factor, the lidar pose factor, and the loop closure factor constrain each dimension of the robot pose, and are named holonomic constraint factors. However, the odometry pre-integration factor and the ground constraint factor only constrain part of the dimensions of the robot’s pose, and thus are named non-holonomic constraint factors. For these factors we propose a nonholonomic constraint factor to add them to the system, inspired by the SE(2) constraint SE(3) parameterization method used in [24]. Utilizing such a constraining factor, a complete lidar–IMU–odometry-based motion estimation system for TWIP is developed via smoothing and mapping.

3. Preliminaries

This paper formulates the state estimation problem based on the Lidar–IMU–Odometry system in terms of a factor graph, that is, a nonlinear optimization problem involving the quantities existing on smooth manifolds. Before delving into details, we review several of the related practical geometric concepts.

3.1. On-Manifold Pose Parameterization

We usually use the Matrix Lie group to describe three-dimensional rotation, which is defined as follows:
SO 3 = R R 3 x 3 , R T R = I
However, the rotation combination operation in the SO(3) involves matrix multiplication in the optimisation process, which cannot be directly operated as Euclidean vectors can. Due to Lie groups having the properties of differential manifolds, the tangent space to the manifold (at the identity), called the Lie algebra, can be introduced as a representation of the most diminutive vector form, and is related to Lie groups through matrix exponents and logarithms. Lie algebra is defined as the follows:
s o 3 = ϕ R 3 , Φ = ϕ R 3 × 3
where ϕ is the rotation vector of R 3 , corresponding to a 3 × 3 skew-symmetric matrix. The hat operator is used to find the antisymmetric matrix of a vector, and its form is
Φ = ϕ = 0 ϕ 3 ϕ 2 ϕ 3 0 ϕ 1 ϕ 2 ϕ 1 0 ϕ = ϕ 1 ϕ 2 ϕ 3
At the same time, we define the inverse mapping of the hat operator as follows:
ϕ = ϕ 1 ϕ 2 ϕ 3 = Φ
For any two 3D vectors r and s and the rotation matrix R , the skew-symmetric matrix has the following properties:
r s = s r
Rs = R s R T
r T = r
r r = r r T I 3 × 3
Lie algebra can be transformed into a Lie group by exponential mapping (Rodriguez formula):
exp ϕ = I + sin ϕ ϕ ϕ + 1 cos ϕ ϕ 2 ϕ 2
A first-order approximation of the exponential map used later on is
exp ϕ I + ϕ
In the optimization process, we often use a left-multiplicative perturbation on the manifold through the left Jacobian matrix, approximating a local on-manifold transformation with Lie algebra:
exp δ ϕ exp ϕ = exp J l 1 ϕ δ ϕ + ϕ
where the left Jacobian matrix is
J l ϕ = sin θ θ I + 1 sin θ θ a a T + 1 cos θ θ a
where θ and a are the norm and direction of the rotation vector ϕ , ϕ = θ a . The inverse of the left Jacobian matrix is
J l 1 ϕ = θ 2 cot θ 2 I + 1 θ 2 cot θ 2 a a T θ 2 a
Another valuable property of the exponential map is
R Exp ϕ R T = exp R ϕ R T = Exp R ϕ

3.2. Factor Graph Optimization

As TWIP moves, lidar measurements are continuously collected to estimate the robot’s motion state and model the surrounding environment. This process can be described by a factor graph, where the robot states to be estimated are state nodes. The continuously collected measurements are introduced as factor nodes connected by edges to the involved state nodes (see Figure 3). In general, we assume that these measurements are independent of each other and are affected by Gaussian noise. The robot state estimation problem represented by the factor graph above can be formulated for maximum a posteriori estimation. Therefore, we formulate the above problem as the following nonlinear least-squares problem:
x ^ = arg min x i r i x i 2
where r i is the zero-mean residual associated with measurement i, x is the parameter vector to be optimized, Σ i is the measurement covariance, and r i Σ i 2 = r i T Σ i 1 r i is the energy norm.
The above least squares problem can be solved iteratively using the Gauss–Newton method. At each GN iteration, we approximate the optimized objective function (the residual function) by first-order Taylor expansion at the current estimated state x ^ :
Δ x ^ = arg min Δ x i r i x Δ x i 2 = arg min Δ x i r i x + H i Δ x i 2
where H i = r i x is the Jacobian matrix of the i t h residual for the robot state and Δ x is the increment of the state obtained at each iteration. We define the generalized update operation, ⊕, which maps a change in the error state to one in the entire state. After solving the linearized equation, the current state is updated as x ^ + = x ^ Δ x . This linearization process is then repeated until convergence

4. State Estimation with Accurate Parameterization of TWIP

4.1. Pose Parameterization of TWIP

Compared with a six-degrees-of-freedom robot, TWIP cannot move sideways and is constrained by the ground. Compared with autonomous vehicles on the ground, TWIP swings back and forth during movement to maintain the balance of movement. Therefore, we cannot characterize its motion state completely in SE(2) or SE(3) space. A simplified diagram of this movement is shown in Figure 4.
In order to analyze the movement of TWIP more conveniently, its coordinate system is defined as follows:
Lidar coordinate system (L): The lidar frame originates at the lidar center. The y-axis points to the left, the z-axis points upward, and the x-axis points forward, coinciding with the positive direction of TWIP.
IMU coordinate system (I): The IMU is located below the lidar; its frame originates at the IMU measurement center. The x-, y-, and z-axes are parallel to (L), pointing in the exact directions, and the z-axis points forward, coinciding with the z-axis of the lidar frame.
Robot body coordinate system (B): As shown in Figure 4, the robot body frame is connected to the robot body during the movement process. Its origin is at the midpoint of the line connecting the centers of the two wheels. The x-, y-, and z-axes are parallel to (L), pointing in the exact directions, and the z-axis points forward, coinciding with the z-axis of the lidar frame.
World coordinate system (W): The world frame is the gravity-aligned coordinate system, which is initially coincident with the robot body coordinate system (B).
All of the above frames follow the right-hand rule. We calibrate the transformation between the lidar frame and the robot body frame and between the IMU frame and the robot body frame. The transformation between the robot body coordinate system and the world coordinate system is the motion state of the robot, that is, the target parameters for optimization. Figure 5 shows the posture of TWIP as obtained by the Attitude and Heading Reference System (ARHS) during movement. As seen from the figure, when TWIP moves, there are movements on the two-dimensional plane (yaw) and front and back swings (pitch), as well as movement disturbances in the roll direction. Therefore, we parameterize the robot’s pose on SE(3). The motion state of the robot corresponding to the lidar keyframe F i at time i is
K i = R B i W P B i W
where P B i W = x i y i z i T is the translation and R B i W R 3 x 3 is the robot’s rotation. Because the rotation matrix is not additive, it is not convenient for iterative optimization; thus, we use Euler angles and Lie algebra to represent the robot’s rotation in the following derivation. Euler angles easily distinguish the constraint dimension of each factor, and the pitch does not reach ± 90 degrees during the movement of TWIP, avoiding any problems with gimbal lock. In this paper, θ = θ r θ p θ y T represents the Euler angle and θ r , θ p , θ y represents the values of the roll, pitch, and yaw angles, respectively. The rotation integral based on Euler angles is only exact up to the first order in robot state estimation [26]. Therefore, we use Lie algebra, ϕ = ϕ 1 ϕ 2 ϕ 3 T , to represent the rotation in the optimization process. Lie algebra can be converted to rotation matrices using Equation (7). According to the motion characteristics of TWIP, x y θ p θ y is the result of the robot’s motion, which is named the primary parameter, while z θ r is the motion disturbance caused by uneven ground or the vibration of the robot, and is named the second parameter. The partial parameters in the figure are shown in Table 1.

4.2. Coupling of Lidar–IMU–Odometer via Factor Graph

In this section, we introduce five types of factors to construct factor graphs in order to estimate the motion state of TWIP. The robot’s state at a specific time is attributed to the graph’s nodes. According to the constraints of factors on nodes, these factors are divided into holonomic and nonholonomic constraints. The holonomic constraint factors include the lidar pose factor, the IMU pre-integration factor, and the loop closure factor. The nonholonomic constraint factor consists of the odometer pre-integration and ground constraints. A new robot state node is added to the graph when the change in robot pose exceeds a user-defined threshold. The factor graph is optimized upon the insertion of a new node using incremental smoothing and mapping with the Bayes tree (iSAM2) [17]. The process for generating these factors is described in the following sections.

4.2.1. Lidar Pose Factor

Mechanical 3D LiDAR senses its surroundings by rotating a vertically aligned array of laser beams. When a lidar keyframe F i is selected, we first de-skew the point cloud. The movement of the carrier causes point cloud distortion during the lidar data collection process, and the points in a lidar scan are not collected at the same time; that is, the frames of different lidar points are inconsistent. The bias of the IMU obtained by the factor graph optimization is used to correct the IMU measurement, which can estimate the pose of the carrier. Here, we find the pose corresponding to each lidar point, transform them into the same coordinate system, and obtain the resulting point cloud without distortion. The feature point matching method is used in this paper because it is more robust and efficient than noise-sensitive matching methods, such as Iterative Closest Point (ICP). Similar to [7], this paper uses plane feature points and edge feature points as matching points, which are extracted by smoothness. For any point p k in F i , We find ten straight points of p k from the same sweep, of which half are on either side of p k . The smoothness of p k can then be calculated by the following formula:
c = 1 | D | · r k j D , j k r j r k
where D is the point set adjacent to this point we selected and D is the number of points in D.
We use F i = F i ε , F i π to represent the feature points extracted from the lidar scan at time i, where F i π represents the planar points and F i ε represents the edge points. Points with slight smoothness are selected as plane points and points with significant smoothness are selected as edge points. A detailed description of the feature extraction process is provided in [7].
After the above processing is complete, we have the feature points of the current lidar frame without distortion. We then need to find the plane and edge line corresponding to the current frame feature point in the target point cloud for the feature-based matching method. Unlike traditional algorithms such as lio_sam and lego_loam, which take lidar scans close to the current frame in the time series as matching point clouds, this paper searches for the matching point cloud of the current frame in Euclidean space, which is more accurate because our optimization process is to minimize the point-to-line and point-to-plane spatial distances. Therefore, in this algorithm the position of the current robot is taken as a priori, and a part of the point cloud is extracted from the global map to align with the feature points without distortion in the current frame in order to estimate the pose of the robot. The IMU provides the initial position. The global map consists of edge feature maps and plane feature maps, which are updated and maintained, respectively. The global map is stored in an incremental 3D tree [18]. Compared with the traditional dynamic data structure, incremental 3D tree has an efficient nearest neighbor search and supports the incremental update of the map. Similar to [18], we convert the current frame to the world frame to obtain W F i = W F i ε , W F i π , while the IMU provides the initial pose. We find the N nearest edge points in the global edge map for any edge feature point p i ε , then calculate the variance of these nearby points. If one of the eigenvalues of the variance matrix is significantly larger than the other two, the points are distributed in a line. The eigenvector n i ε , which corresponds to the largest eigenvalue, is the direction vector of the line. The edge point p j ε closest to the feature point is taken as a point on the line. The distance from the feature point to the global line is
d i ε = n i ε T ˜ L i W p i ε p j ε 2
For any plane feature point p i π , we find the M nearest plane points in the global plane map and calculate the variance of these nearby points. If one of the eigenvalues of the variance matrix is significantly smaller than the other two, the points are distributed in a plane. The eigenvector n i π , which corresponds to the smallest eigenvalue, is the normal vector of the plane. We select the closest plane feature point p j π to the feature point as a point on the plane. Then, the distance from the feature point to the global plane is
d i π = n i π · T ˜ L i W p i π p j π
We can obtain the optimal pose of the current lidar scan relative to the world frame by minimizing the point-to-line and point-to-face distances:
min T ˜ L i W i = 0 N d i ε 2 + i = 0 M d i π 2
After optimization, we have the optimal absolute transformation T ˜ L i W from the current keyframe to the world frame, which is used to measure the lidar pose factor.
We obtain the residual of the lidar pose factor using the following formula:
r L i = log T B i W T L B T T ˜ L i W
where T L B is the transformation between the lidar coordinate system and the robot body coordinate system, calibrated in advance.
The variance of the factor is calculated by the method used in [26]:
Σ L i = k = 1 N H k T Λ 1 H k
H k = R ˜ L i W p k + P ˜ L i W R ˜ L i W
Λ = 2 σ x 2 0 0 0 2 σ y 2 0 0 0 2 σ z 2
where p k is the feature point in the current lidar keyframe, and is transformed into the matching point cloud through the optimal transformation, T ˜ L i W = R ˜ L i W P ˜ L i W 0 1 , obtained through the above matching. Here, N is the number of features in the current lidar keyframe, Λ is the zero-mean white Gaussian noise of the measurements, and σ x , σ y and σ z are the noise sigma (in meters) on the x, y, and z axes, respectively. The sigmas are multiplied by two, as both the target point and the matching are affected by this noise.

4.2.2. IMU Pre-Integration Factor

The main components of an IMU are a three-axis accelerometer and a three-axis gyroscope that measure the linear acceleration and angular velocity of the carrier, respectively. The pose transformation of the carrier to an inertial frame can be obtained by integral operation. The raw measurements, a ˜ t and ω ˜ t , at moment t are provided by
a ˜ t = a t + b a t + R W I t g w + n a ω ˜ t = ω t + b ω t + n ω
These IMU measurements are measured in the IMU frame, and are affected by the additive noise, n a , n ω , the acceleration bias, b a t , and the gyroscope bias, b ω t . Generally, in this paper we model the bias as a random walk with Gaussian derivatives, while the additive noise of the accelerometer and the gyroscope is assumed to be subject to a Gaussian distribution:
n a N 0 , σ a 2 , n ω N 0 , σ ω 2
Over time, high-frequency IMU measurement leads to rapid growth in the number of variables in the optimization, increasing the computational cost. We therefore convert the IMU measurements between keyframes into motion constraints via the pre-integration technique, reducing the computational cost and providing a factor, namely, the IMU pre-integration factor. The parameters to be optimized include the robot’s pose and the bias of the IMU.
According to the kinematic model in [26], the pose and velocity of the current keyframe in the world frame can be obtained from the measurement of the previous frame. With the pose and velocity of a keyframe i, the pose and velocity of the current keyframe j are:
P I j W = P I i W + v I i W Δ t + t [ i , j ] R I t W a ˜ t b a t n a g W d t 2 v I j W = v I i W + t [ i , j ] R I t W a ˜ t b a t n a g W d t R I j W = R I i W Exp t [ i , j ] ω ˜ t b ω t n ω d t
Using Formula (28), we iterate the IMU integral between times i and j, and obtain:
I I j W = P I i W + v I i W Δ t + k = i j 1 v I k W Δ t 1 2 g W Δ t 2 + 1 2 R I k W a ˜ k b a k n a Δ t 2 v I j W = v I i W + g W Δ t i j + k = i j 1 R I k W a ˜ k b a k n a Δ t R I j W = R I i W k = i j 1 Exp ω ˜ k b ω k n ω Δ t
where Δ t is the interval between two adjacent measurements, Δ t i j = k = i j 1 Δ t . Next, we separate the parts related to IMU measurement from the pose and velocity. The parts related to IMU measurement are as follows:
Δ P ˜ I j I i = k = i j 1 Δ V k i Δ t + 1 2 R γ k i a ˜ k b a k Δ t 2 δ P i j Δ V ˜ I j I i = k = i j 1 R k i a ˜ k b a k Δ t δ V i j Δ R ˜ I j I i = k = i j 1 Exp ω ˜ k b ω k Δ t Exp δ φ i j
where δ P i j , δ V i j , and δ φ i j are the measurement error of IMU, and are obtained by iterating the initial value at time i. In order to avoid repeated integration due to changes in the bias during the optimization process, we use first-order approximation to linearize the bias terms, as follows:
Δ P ˜ I j I i Δ P ˜ I j I i + J b a Δ P ˜ δ b a + J b w Δ P δ b w Δ V ˜ I j I i Δ V ˜ I j I i + J b a Δ V ˜ δ b a + J b w Δ V δ b w Δ R ˜ I j I i Δ R ˜ I j I i Exp J b ω Δ R ˜ δ b w
The items related to the state at times i and j are as follows:
Δ P I j I i = R B i W R I B T P I j W P I i W v I i W Δ t + 1 2 g W Δ t 2 Δ V I j I i = R B i W R I B T v I j W v I i W + g W Δ t Δ R I j I i = R B i W R I B T R B j W R I B
We construct the motion constraints of the IMU between two keyframes, which naturally provide the IMU pre-integration factor. This factor takes the bias of the IMU as an optimization parameter, and its residual is defined as follows:
r P = Δ P I j I i Δ P ˜ I j I i = R B i W R I B T P B j W P B i W v I i W Δ t + 1 2 g W Δ t 2 k = i j 1 Δ V k i Δ t + 1 2 R γ k i a ˜ k b a k Δ t 2 r v = Δ V I j I i Δ V ˜ I j I i = R B i W R I B T v I j W v I i W + g W Δ t k = i j 1 R k i a ˜ k b a k Δ t r R = log Δ R I j I i T Δ R ˜ I j I i = log R B j W R I B T R B i W R I B k = i j 1 Exp ω ˜ k b w t i Δ t r b a = b a j b a i r b ω = b ω j b ω i
where R I B is the rotation between the lidar coordinate system and the robot body coordinate system, calibrated in advance.
The variance of the IMU pre-integration factor can be obtained iteratively from an initial value 0 using the method in [26].

4.2.3. Odometry Pre-Integration Factor

Generally, wheeled robots are equipped with wheel encoders that often provide noisy and only intermittently reliable measurements of the motion of each wheel. In order to reduce the amount of computation and accumulated error, by analogy to IMU we use the pre-integration technique on SE(2) to derive the constraints of the odometer. Unlike general ground mobile robots, TWIP swings back and forth in addition to plane motion, while the encoder only provides two-dimensional plane motion. In order to analyze the constraints of the encoder more conveniently, we add an auxiliary coordinate system, that is, a plane coordinate system. The coordinate system is fixed to the robot; its origin coincides with the origin of the robot body frame, the xy plane coincides with the physical plane, the z-axis is vertically upward, and the y axis coincides with the y axis of the robot body frame, as shown in Figure 6. The encoder measurements between two adjacent keyframes indicate the pose transformation between the plane coordinate systems of the corresponding moments. Therefore, we analyze the constraints provided by the encoder in the planar coordinate system.
The measurement data of the encoder can be converted into linear velocity and angular velocity on a two-dimensional plane:
v = r l ω l + r r ω r 2 ω = r l ω l r r ω r l
where ω l and ω r are the rotational velocities of the left and right wheels, respectively, r l and r r are their corresponding radii, and l denotes the robot’s baseline.
We model the encoder’s measurement error with a Gaussian model to process the noisy odometer data. We begin by deriving the measurement model, assuming that between successive odometer readings the motion is planar; the encoder provides the following measurements in the planar coordinate system of the current keyframe:
v ˜ i = v i + ε v i w ˜ i = ω i + ε ω i
where v i = v i 0 , ε v i = ε v i 0 ; ε v i and ε w i represent zero-mean Gaussian noise.
With two consecutive lidar keyframes, i and j, we obtain the pose of the plane coordinate system corresponding to the current keyframe in the world coordinate system from the pose of the previous keyframe and the measurements of the encoder:
ϕ π j W = ϕ π i W + k = i j 1 w ˜ k ε ω k Δ t P π j W = P π i W + k = i j 1 R ϕ π k W v ˜ k ε v k Δ t
where ϕ π k W , k = i , j is the yaw angle of the plane coordinate system corresponding to keyframe k relative to the world coordinate system and P π k W = x k y k , k = i , j is the 2D position of the plane coordinate system corresponding to keyframe k relative to the world coordinate system:
R ϕ = exp ϕ = exp 0 ϕ ϕ 0 = cos ϕ sin ϕ sin ϕ cos ϕ
Note that the position propagated here depends on the rotational state. In order to generate a measurement between two keyframes i and j without depending on the robot’s state in the world coordinate system, we place the items related to the measurement together and eliminate the items related to the state of i and j. Equation (36) can be written as:
Δ ϕ i j = ϕ π j W ϕ π i W = k = i j 1 ω ˜ i ε ω Δ t = k = i j 1 ω ˜ i Δ t k = i j 1 ε ω k Δ t = Δ ϕ ˜ i j δ ϕ i j
Δ P i j = R ϕ π i W P π j W P π i W = k = i j 1 R ϕ i k v ˜ k ε v k Δ t k = i j 1 R ϕ ˜ i k exp δ ϕ i k v ˜ k ε v k Δ t k = i j 1 R ϕ ˜ i k I 2 × 2 δ ϕ i k v ˜ k ε v k Δ t k = i j 1 R ϕ ˜ i k v ˜ k Δ t k = i j 1 R ϕ ˜ i k ε v k Δ t k = i j 1 R ϕ ˜ i k 1 v ˜ k Δ t δ ϕ i k = Δ P ˜ i j δ P i j
In order to obtain the error transfer model, we derive the integrated noise terms in the form of iterative transfer:
δ ϕ i , k + 1 = δ ϕ i k + ε ω k Δ t δ p i , k + 1 = δ p i k + R ϕ ˜ i k 1 v ˜ k Δ t δ ϕ i k + R ϕ ˜ i k Δ t ε v k
Writing Equation (40) in a compact form, we then have:
δ p i , k + 1 δ ϕ i , k + 1 3 × 1 = A k δ p i k δ ϕ i k 3 × 1 + B k ε v k ε ω k 3 × 1
where
A k = I 2 × 2 R ϕ i k 1 v ˜ k Δ t 0 1
B k = R ϕ i k Δ t 0 2 × 1 0 1 × 2 Δ t
Iterating from the initial value, Σ δ i = 0 3 × 3 , at the time i, we can incrementally calculate the pre-integrated terms Δ ϕ i j and Δ P i j and their covariance matrix, Σ δ = Σ δ P i j 0 2 × 1 0 1 × 2 Σ δ ϕ i j .
Thus far, we have the encoder’s pre-integration terms, Δ ϕ ˜ i j and Δ P ˜ i j , which provide the measurements of the odometer constraints. Next, we formulate the residual of the odometer pre-integration constraint. Through the definition of the plane coordinate system, we can obtain the rotation of the plane coordinate system corresponding to the keyframes i and j relative to the world coordinate system, respectively:
R π i W = e 3 × R B i W e 2 R B i W e 2 e 3
R π j W = e 3 × R B j W e 2 R B j W e 2 e 3
where e i is the i t h column vector of the identity matrix, I 3 × 3 .
Then, the relative transformation of the plane coordinate system corresponding to keyframes i and j is as follows:
R π i π j = R π j W T R π i W = e 3 × R B j W e 2 T R B j W e 2 T e 3 T e 3 × R B i W e 2 R B i W e 2 e 3 = e 2 T R B j W T e 3 e 3 R B i W e 2 e 2 T R B j W T e 3 R B i W e 2 0 e 2 T R B j W T e 3 R i W e 2 e 2 T R B j W T R B i W e 2 0 0 0 1
As can be seen from Appendix A and Appendix B, the measurement of the rotating part of the encoder Δ ϕ ˜ i j provides only one constraint, and the residual of the rotation part is:
r R = e 2 T R B j W T R B i W e 2 cos Δ ϕ ˜ i j
We obtain the variance of the rotation residuals using a first-order linear approximation of the trigonometric functions:
cos ϕ cos Δ ϕ i j sin Δ ϕ i j ϕ Δ ϕ i j
Σ r R = sin 2 Δ ϕ i j Σ δ ϕ i j
Then, its Jacobian matrix relative to the TWIP motion state (the pose of the robot body frame relative to the world frame) is
J ϕ i r R = e 2 T R B j W T R B i W e 2
J ϕ j r R = e 2 T R B j W T R B i W e 2
and the residual of the translation part is
r P = R π i W T P B j W P B i W x y Δ P ˜ i j = e 3 × R B i W e 2 T P B j W P B i W R B i W e 2 T P B j W P B i W 0 x y Δ P ˜ i j
where x y represents the first two rows of the vector, and its covariance is
Σ r P = Σ δ P i j
Then, its Jacobian matrix relative to the motion state of TWIP is
J ϕ i r P = e 2 T R B i W T e 3 P B j w P B i w e 2 T R B i W T P B j w P B i w
J P B i W r P = e 2 T R B i W T e 3 e 2 T R B i W T
J P B j W r P = e 2 T R B i W T e 3 e 2 T R B i W T

4.2.4. Ground Constraint Factor

This paper proposes a new nonholonomic constraint factor in order to add ground constraints. We assume that TWIP moves on an approximately flat surface and that the robot is always constrained by the ground plane during movement. Ideally, the z and pitch angle would remain constant during the planar motion for a two-wheeled inverted pendulum robot. In the natural environment, however, there are motion disturbances in the other dimensions of the robot’s pose due to rough terrain and shaking in the robot’s motion. In order to reduce the error caused by this motion disturbance, we use a random model to introduce ground constraints and assume that the motion disturbance is a zero-mean Gaussian model. This is more in line with the natural environment, allowing a least squares to be used to model the ground constraints, which naturally adds the ground constraints as a new factor to the factor graph. As shown in Figure 7, when TWIP moves on an ideal plane the roll angle and z of its body frame relative to the world frame should both be zero. Therefore, the residual of the ground constraint is defined as follows:
r R = e 3 T R B i W e 2
r P = e 3 T · P B i W
The corresponding covariance matrix is
Σ r p = d i a g σ r 2 σ z 2
In this paper, we assume that the motion disturbance of the robot due to rough terrains or motion shaking obeys the Gaussian distribution; σ z and σ r are the noise sigma of the z and roll, respectively, which are determined by the conditions of the terrain and the robot’s structure.
The Jacobian matrix relative to the state of TWIP is
J ϕ i r R = e 3 T R B i W e 2
J P B i W r P = e 3 T

4.2.5. Loop Closure Factor

When a new lidar keyframe, F i + 1 , arrives, its corresponding robot state, K i + 1 , is added to the factor graph. We obtain the absolute pose of the current lidar keyframe as in Section 4.2.1. We obtain the absolute pose of the current lidar keyframe as in Section 4.2.1, and use this pose as a prior to find the previous keyframe closest to F i + 1 in Euclidean space as a candidate frame. For example, the lidar keyframe F 3 in Figure 3 is one of the returned loop closure candidates. Then, taking the position of the lidar keyframe F 3 as the center, we extract the point cloud in the cuboid with a length of 10 m and a height of 5 m in the global map and transform the point cloud into the robot body coordinate system corresponding to the lidar keyframe F 3 to construct a local map M i + 1 . We try to match F i + 1 to the local map M i + 1 using the scan-matching method discussed in Section 4.2.1. In the local map, we select the N nearest feature points for each feature point of the current frame to fit a line or plane. After optimization, we obtain the relative transformation, Δ T ˜ 3 i + 1 , and add it to the graph as a loop closure factor. Throughout this paper, we choose to set the loop closure’s search distance to 15 m from the new lidar keyframe.

5. Experiment

We conducted experiments on our collected datasets, as we could not find an open dataset to provide calibrated Lidar–IMU–Odometry for a two-wheeled inverted pendulum robot. All experiments were carried out with an Intel CPU i7-8559U (8 cores@2.70 GHz) laptop computer with 8 GB RAM. As shown in Figure 8, the platform was equipped with a Velodyne VLP-16 lidar oprating at 10 HZ, an XSENS MTI-G-710 IMU to provide acceleration and angular velocity at 200 HZ, and an encoder with 1khz, all of which were synchronized and calibrated in advance.
The dataset comes from two scenes; one is a long straight corridor scene, named Dataset Corridor, and the other is a flat outdoor road, named Dataset Outdoor. The environment of the two datasets is shown in Figure 9. As with the process of data collection, the actual ground truth of the robot is unavailable. Inspired by [25], we equipped TWIP with downward-viewing cameras on the front and rear (their position is shown in Figure 7) and an attitude sensor with a dynamic accuracy of 0 . 2 . Tens of Aruco code markers were laid out on the floor, and their locations in a predefined world reference were measured with a location error of less than 1 cm. Transformations between industrial cameras and attitude sensors and the robot were all pre-calibrated. The two industrial cameras detected and recorded these marks during the robot’s movement. In order not to affect the algorithm in this paper as well as to improve the true accuracy, the trajectory truth was obtained offline. We extracted the marked corner points in each recorded image and approximated the trajectory truth by optimizing the reprojection error of the image and the pose constraints of the pose sensor in an offline batch. In order to verify the algorithm used in this article, we tested the constructed SLAM algorithm and the state-of-the-art lidar slam method (Fast_lio2 [16], Lio_sam [18], Loam [7]) on the same dataset.

5.1. Experimental Results and Analysis of Indoor Corridors

Figure 10 shows the results of our algorithm for localization and mapping with Dataset Corridor. Figure 11 compares trajectories in the x y direction recovered by our algorithm, Fast_lio2, Lio_sam, Loam, Odometry, and ground truth on the Long Straight Corridor dataset. The odometer is a trajectory obtained using the less accurate odometer raw data calculated directly from the encoder to emphasize the correction effect of the lidar method on the odometer’s accumulated error. Meanwhile, to compare the long-term positioning accuracy of the algorithms, all algorithms did not add a loop detection module, and the pose estimation of all algorithms was performed in the robot body frame. Figure 12 and Figure 13 show the corresponding trajectory errors relative to the ground truth, respectively. It can be seen from Figure 12 that the x-direction is the running direction of TWIP, which has fewer constraints, and these algorithms have more significant errors in the x-direction. Among them, the accuracy of loam in the x-direction is significantly lower than the other algorithms due to the lack of measurements from other sensors. There is a constraint from the wall in the y-direction; all the lidar-based SLAM algorithms have little difference in accuracy, as they all use the same matching method. While the results by our method exhibit much better accuracy, there is a smaller upper limit of errors in the x and y directions. Attention should be paid to the z-axis values in Figure 14, where the z-coordinates estimated by our method are well-bounded around zero (which is consistent with natural indoor environments) while the other algorithms have significantly larger upper bounds. Using a nonholonomic constraint factor and adding planar constraints and encoder pre-integration constraints improves indoor pose estimation accuracy, especially in the z-direction. The numerical results of the estimation errors are presented in Table 2. The root mean square of the errors (RMSE) is used here, including those of the errors in principal parameter directions, namely, the x, y, pitch, and yaw coordinates. In terms of RMSE, the error of our algorithm is lower than the other algorithms in all directions for a two-wheeled inverted pendulum robot.

5.2. Experimental Results and Analysis of Outdoor Structured Environment

In our outdoor experiments, we used algorithms such as lio_sam for comparison with our algorithm. Figure 15 shows our algorithm’s trajectory and environment map on Dataset Outdoor. Figure 16 compares estimated trajectories in the x and y directions on Dataset Outdoor, including our algorithm, fast_lio2, lio_sam, loam, odometry, and ground truth. Figure 17 and Figure 18 are the corresponding errors relative to the ground truth, respectively. Figure 19 shows the trajectory in the z-direction, which should be constrained around zero. As can be seen from the results, our algorithm continues to outperform the other algorithms in outdoor scenes.
Moreover, the accuracy improvement of our algorithm is more significant in the z-axis direction than in the x- and y-axis directions. There is no degradation scene in the outdoor experiment. The lidar feature points mainly come from the reflection of surrounding objects, which constrains the robot’s pose in the horizontal direction. In contrast, lidar provides relatively few feature points in the vertical direction due to the limitation of the vertical field of view. Our algorithm introduces ground constraints, which increase the pose constraints of the robot in the vertical direction and improve the localization accuracy of the system, especially in the z-direction. Meanwhile, we quantitatively analyzed the performance of our algorithm and other algorithms in the direction of the principal parameters on the outdoor dataset in terms of RMSE. The results are shown in Table 3, indicating that the error of our algorithm in the direction of principal parameters is lower than that of the other algorithms.
Our indoor and outdoor experiments show that the non-full constraint factor proposed by our algorithm naturally introduces the pre-integration constraint of the encoder while adding a ground constraint in the form of the random constraint model, which is more in line with the actual motion of the two-wheeled inverted pendulum robot, resulting in the improved positioning and mapping accuracy of the system.

6. Conclusions

This paper proposes a novel Lidar–IMU–Odometer coupled framework for localization and mapping for a two-wheeled inverted pendulum robot on approximately flat ground. We formulate a factor graph incorporating relative and absolute measurements from different sensors (including ground constraints) into the system as factors. In this coupled framework using a lidar–IMU–encoder system based on a factor graph, we introduce five types of factors and analyze the constraint dimension of each type of factor on the robot state node according to the motion characteristics of TWIP. For the non-fully constrained factors (the encoder pre-integration factor and ground constraint factor), we propose a new factor with constraints in order to add them naturally to the factor graph with the robot state node on SE(3). Experiments in indoor and outdoor environments validate the superior performance of our system compared to other state-of-the-art lidar-based SLAM algorithms.
This proposal paves the way for using constrained models to consider motion perturbations for specially-structured ground robot state estimation with different sensors. In the future, based on the work inof this paper we intend to realize the positioning and mapping of TWIP on undulating roads via the proposed LiDAR–IMU–Encoder coupling framework

Author Contributions

Conceptualization, Y.Z.; Data curation, Y.Z.; Formal analysis, Y.Z.; Funding acquisition, S.Z.; Investigation, Y.Z.; Methodology, Y.Z.; Project administration, S.Z.; Software, Y.Z.; Supervision, S.Z.; Validation, Y.Z.; Writing—original draft, Y.Z.; Writing—review & editing, S.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Natural Science Foundation of Heilongjiang Province of China (YQ2021F011).

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

This section proves the relationship between the item in row 0, column 0, r 00 and the item in row 1, column 1, r 11 in the matrix finally obtained in Equation (43). From Equations (7) and (8) we obtain
e 2 T R B j W T e 3 e 3 R B i W e 2 = e 2 T R B j W T e 3 e 3 T I 3 × 3 R B i W e 2 = e 2 T R B j W T R B i W e 2 e 2 T R B j W T e 3 e 3 T R B i W e 2 = e 2 T R B j W T R B i W e 2 e 3 T R B j W e 2 T e 3 T R B i W e 2 = e 2 T R B j W T R B i W e 2
Therefore, we can see that the item r 00 and the item r 11 in the matrix are equal.

Appendix B

This section proves the constraints implicit in the final matrix obtained in Formula (43). When TWIP moves on the ideal ground plane, the x-y plane of the plane coordinate system corresponding to each keyframe is the same plane. Therefore, the y-axis of the plane frame corresponding to keyframe j is in the x-y plane of the plane coordinate system corresponding to keyframe i. As shown in Figure A1, we translate the y-axis y j of the plane coordinate system π j to the plane coordinate system π i , and all coordinate axes are represented in the world coordinate system. We assume that the angle between y j and y i is α , that the angle between y j and x i is β , and that α + β = 90 . Therefore, we have
R B j W e 2 T R B i W e 2 = R B j W e 2 · R B i W e 2 = R B j W e 2 2 R B i W e 2 2 cos α = cos α
e 2 T R B j W T e 3 R i W e 2 = R B j W e 2 · e 3 × R i W e 2 = R B j W e 2 2 e 3 × R i W e 2 2 cos β = cos β = sin α
Figure A1. Geometric relationship between two continuous plane coordinate systems π i and π j .
Figure A1. Geometric relationship between two continuous plane coordinate systems π i and π j .
Sensors 22 04778 g0a1

References

  1. Durrant-Whyte, H.; Bailey, T. Simultaneous localization and mapping: Part I. IEEE Robot. Autom. Mag. 2006, 13, 99–110. [Google Scholar] [CrossRef] [Green Version]
  2. Bailey, T.; Durrant-Whyte, H. Simultaneous localization and mapping (SLAM): Part II. IEEE Robot. Autom. Mag. 2006, 13, 108–117. [Google Scholar] [CrossRef] [Green Version]
  3. Bouman, A.; Ginting, M.F.; Alatur, N.; Palieri, M.; Fan, D.D.; Touma, T.; Kim, S.-K.; Otsu, K.; Burdick, J.; Agha-Mohammadi, A.A. Autonomous Spot: Long-Range Autonomous Exploration of Extreme Environments with Legged Locomotion. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 24 October 2020–24 January 2021; pp. 2518–2525. [Google Scholar] [CrossRef]
  4. Mur-Artal, R.; Montiel, M.M.J.; Tardós, D.J. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Trans. Robot. 2015, 31, 1147–1163. [Google Scholar] [CrossRef] [Green Version]
  5. Mur-Artal, R.; Tardós, J.D. ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras. IEEE Trans. Robot. 2017, 33, 1255–1262. [Google Scholar] [CrossRef] [Green Version]
  6. Sibley, G.; Matthies, L.; Sukhatme, G. Sliding window filter with application to planetary landing. J. Field Robot. 2010, 27, 587–608. [Google Scholar] [CrossRef]
  7. Zhang, J.; Singh, S. LOAM: Lidar Odometry and Mapping in Real-time. Robot. Sci. Syst. 2014, 2, 1–9. [Google Scholar] [CrossRef]
  8. Shan, T.; Englot, B. LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 4758–4765. [Google Scholar] [CrossRef]
  9. Wang, H.; Wang, C.; Chen, C.-L.; Xie, L. F-LOAM: Fast LiDAR Odometry and Mapping. In Proceedings of the 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Prague, Czech Republic, 27 September–1 October 2021; pp. 4390–4396. [Google Scholar] [CrossRef]
  10. Palieri, M.; Morrell, B.; Thakur, A.; Ebadi, K.; Nash, J.; Chatterjee, A.; Kanellakis, C.; Carlone, L.; Guaragnella, C.; Agha-Mohammadi, A.A. LOCUS: A Multi-Sensor Lidar-Centric Solution for High-Precision Odometry and 3D Mapping in Real-Time. IEEE Robot. Autom. Lett. 2021, 6, 421–428. [Google Scholar] [CrossRef]
  11. Santamaria-navarro, A.; Thakker, R.; Fan, D.D.; Morrell, B.; Agha-mohammadi, A.A. Towards resilient autonomous navigation of drones. In International Symposium on Robotics Research; Springer: Cham, Switzerland, 2019. [Google Scholar]
  12. Qin, T.; Li, P.; Shen, S. VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator. IEEE Trans. Robot. 2018, 34, 1004–1020. [Google Scholar] [CrossRef] [Green Version]
  13. Campos, C.; Elvira, R.; Rodríguez, J.J.G.; Montiel, J.M.M.; Tardós, J.D. ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual–Inertial, and Multimap SLAM. IEEE Trans. Robot. 2021, 37, 1874–1890. [Google Scholar] [CrossRef]
  14. Lynen, S.; Achtelik, M.W.; Weiss, S.; Chli, M.; Siegwart, R. A robust and modular multi-sensor fusion approach applied to MAV navigation. In Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; pp. 3923–3929. [Google Scholar] [CrossRef] [Green Version]
  15. Qin, C.; Ye, H.; Pranata, C.E.; Han, J.; Zhang, S.; Liu, M. LINS: A Lidar-Inertial State Estimator for Robust and Efficient Navigation. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 8899–8906. [Google Scholar] [CrossRef]
  16. Xu, W.; Cai, Y.; He, D.; Lin, J.; Zhang, F. FAST-LIO2: Fast Direct LiDAR-Inertial Odometry. IEEE Trans. Robot. 2022. [Google Scholar] [CrossRef]
  17. Ye, H.; Chen, Y.; Liu, M. Tightly Coupled 3D Lidar Inertial Odometry and Mapping. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 3144–3150. [Google Scholar] [CrossRef] [Green Version]
  18. Shan, T.; Englot, B.; Meyers, D.; Wang, W.; Ratti, C.; Rus, D. LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 24 October 2020–24 January 2021; pp. 5135–5142. [Google Scholar] [CrossRef]
  19. Wu, K.J.; Guo, C.X.; Georgiou, G.; Roumeliotis, S.I. VINS on wheels. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 5155–5162. [Google Scholar] [CrossRef]
  20. Lategahn, H.; Geiger, A.; Kitt, B. Visual SLAM for autonomous ground vehicles. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 1732–1737. [Google Scholar] [CrossRef]
  21. Ortín, D.; Montiel, J.M.M. Indoor robot motion based on monocular images. Robotica 2001, 19, 331–342. [Google Scholar] [CrossRef]
  22. Konolige, K.; Grisetti, G.; Kümmerle, R.; Burgard, W.; Limketkai, B.; Vincent, R. Efficient Sparse Pose Adjustment for 2D mapping. In Proceedings of the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, Taipei, Taiwan, 18–22 October 2010; pp. 22–29. [Google Scholar] [CrossRef] [Green Version]
  23. Hess, W.; Kohler, D.; Rapp, H.; Andor, D. Real-time loop closure in 2D LIDAR SLAM. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 1271–1278. [Google Scholar] [CrossRef]
  24. Zheng, F.; Tang, H.; Liu, Y.-H. Odometry-Vision-Based Ground Vehicle Motion Estimation with SE(2)-Constrained SE(3) Poses. IEEE Trans. Cybern. 2018, 49, 2652–2663. [Google Scholar] [CrossRef] [PubMed]
  25. Zheng, F.; Liu, Y.-H. Visual-Odometric Localization and Mapping for Ground Vehicles Using SE(2)-XYZ Constraints. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 3556–3562. [Google Scholar] [CrossRef]
  26. Forster, C.; Carlone, L.; Dellaert, F.; Scaramuzza, D. On-Manifold Preintegration for Real-Time Visual–Inertial Odometry. IEEE Trans. Robot. 2017, 33, 1–21. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Constraint model: (left) deterministic constraints and (right) stochastic constraints, considering the motion perturbations addressed in this article.
Figure 1. Constraint model: (left) deterministic constraints and (right) stochastic constraints, considering the motion perturbations addressed in this article.
Sensors 22 04778 g001
Figure 2. The flowchart of our algorithm.
Figure 2. The flowchart of our algorithm.
Sensors 22 04778 g002
Figure 3. Factor graph optimization.
Figure 3. Factor graph optimization.
Sensors 22 04778 g003
Figure 4. Simplified diagram of TWIP motion.
Figure 4. Simplified diagram of TWIP motion.
Sensors 22 04778 g004
Figure 5. Pose of TWIP during movement (Euler angle).
Figure 5. Pose of TWIP during movement (Euler angle).
Sensors 22 04778 g005
Figure 6. Motion of TWIP in Plane Coordinate System.
Figure 6. Motion of TWIP in Plane Coordinate System.
Sensors 22 04778 g006
Figure 7. Ground constraints when TWIP is moving on approximately flat ground.
Figure 7. Ground constraints when TWIP is moving on approximately flat ground.
Sensors 22 04778 g007
Figure 8. Experimental platform: Two-Wheeled Inverted Pendulum (TWIP) robot (left) and environment perception system (right).
Figure 8. Experimental platform: Two-Wheeled Inverted Pendulum (TWIP) robot (left) and environment perception system (right).
Sensors 22 04778 g008
Figure 9. Experimental environment: indoor straight corridor (left) and outdoor structured environment (right).
Figure 9. Experimental environment: indoor straight corridor (left) and outdoor structured environment (right).
Sensors 22 04778 g009
Figure 10. Localization and mapping results of our algorithm on Dataset Corridor.
Figure 10. Localization and mapping results of our algorithm on Dataset Corridor.
Sensors 22 04778 g010
Figure 11. Dataset Corridor evaluation: projections of trajectories estimated by different algorithms on the x y plane.
Figure 11. Dataset Corridor evaluation: projections of trajectories estimated by different algorithms on the x y plane.
Sensors 22 04778 g011
Figure 12. The x-axis estimation errors of different algorithms on Dataset Corridor.
Figure 12. The x-axis estimation errors of different algorithms on Dataset Corridor.
Sensors 22 04778 g012
Figure 13. The y-axis estimation errors of different algorithms on Dataset Corridor.
Figure 13. The y-axis estimation errors of different algorithms on Dataset Corridor.
Sensors 22 04778 g013
Figure 14. Dataset Corridor evaluation: projections of trajectories estimated by different algorithms on the z-axis.
Figure 14. Dataset Corridor evaluation: projections of trajectories estimated by different algorithms on the z-axis.
Sensors 22 04778 g014
Figure 15. Localization and mapping results of our algorithm on Dataset Outdoor.
Figure 15. Localization and mapping results of our algorithm on Dataset Outdoor.
Sensors 22 04778 g015
Figure 16. Dataset Outdoor evaluation: projections of trajectories estimated by different algorithms on the xy plane.
Figure 16. Dataset Outdoor evaluation: projections of trajectories estimated by different algorithms on the xy plane.
Sensors 22 04778 g016
Figure 17. The x-axis estimation errors of different algorithms on Dataset Outdoor.
Figure 17. The x-axis estimation errors of different algorithms on Dataset Outdoor.
Sensors 22 04778 g017
Figure 18. The y-axis estimation errors of different algorithms on Dataset Outdoor.
Figure 18. The y-axis estimation errors of different algorithms on Dataset Outdoor.
Sensors 22 04778 g018
Figure 19. Dataset Outdoor evaluation: projections of trajectories estimated by different algorithms on the z-axis.
Figure 19. Dataset Outdoor evaluation: projections of trajectories estimated by different algorithms on the z-axis.
Sensors 22 04778 g019
Table 1. State parameters and frame of TWIP.
Table 1. State parameters and frame of TWIP.
SymbolsDescriptions
X , Z , O The x-axis, z-axis, and origin of the world frame
X B , Z B , O B The x-axis, z-axis, and origin of the robot body frame
X L , Z L , O L The x-axis, z-axis, and origin of the lidar frame
x k , y k , z k , k = i , j The position of the robot in the world frame at time k (in meters)
θ p k , k = i , j The pitch angle of the robot relative to the world frame at time k (in radians)
θ y k , k = i , j The yaw angle of the robot relative to the world frame at time k (in radians)
Table 2. The estimation errors (RMSE) of different methods on Dataset Corridor.
Table 2. The estimation errors (RMSE) of different methods on Dataset Corridor.
DimensionFast_lio2Lio_samLoamOdomOurs
x m 0.46800.41110.92181.54680.1747
y m 0.26360.46950.55501.10350.2921
p i t c h r a d 0.02870.04200.05900.0176
y a w r a d 0.17400.18100.31700.60100.0970
Table 3. The estimation errors statistics (RMSE) of different methods on Dataset Outdoor.
Table 3. The estimation errors statistics (RMSE) of different methods on Dataset Outdoor.
DimensionFast_lio2Lio_samLoamOdomOurs
x m 0.31130.34860.47701.67860.0635
y m 0.45490.42130.49991.27510.1625
p i t c h r a d 0.02200.02810.02820.0172
y a w r a d 0.29900.49000.61700.93680.1803
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhai, Y.; Zhang, S. A Novel LiDAR–IMU–Odometer Coupling Framework for Two-Wheeled Inverted Pendulum (TWIP) Robot Localization and Mapping with Nonholonomic Constraint Factors. Sensors 2022, 22, 4778. https://doi.org/10.3390/s22134778

AMA Style

Zhai Y, Zhang S. A Novel LiDAR–IMU–Odometer Coupling Framework for Two-Wheeled Inverted Pendulum (TWIP) Robot Localization and Mapping with Nonholonomic Constraint Factors. Sensors. 2022; 22(13):4778. https://doi.org/10.3390/s22134778

Chicago/Turabian Style

Zhai, Yanwu, and Songyuan Zhang. 2022. "A Novel LiDAR–IMU–Odometer Coupling Framework for Two-Wheeled Inverted Pendulum (TWIP) Robot Localization and Mapping with Nonholonomic Constraint Factors" Sensors 22, no. 13: 4778. https://doi.org/10.3390/s22134778

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop