Non-Holonomic RRT & MPC: Path and Trajectory Planning for an Autonomous Cycle Rickshaw

Page created by Teresa Frazier
 
CONTINUE READING
Non-Holonomic RRT & MPC: Path and Trajectory Planning for an Autonomous Cycle Rickshaw
Non-Holonomic RRT & MPC: Path and Trajectory Planning for an
                                                            Autonomous Cycle Rickshaw
                                                  Damir Bojadžić∗ , Julian Kunze∗ , Dinko Osmanković† , Mohammadhossein Malmir‡ , Alois Knoll‡

                                            Abstract— This paper presents a novel hierarchical motion
                                         planning approach based on Rapidly-Exploring Random Trees
                                         (RRT) for global planning and Model Predictive Control (MPC)
                                         for local planning. The approach targets a three-wheeled cycle
                                         rickshaw (trishaw) used for autonomous urban transportation
arXiv:2103.06141v1 [cs.RO] 10 Mar 2021

                                         in shared spaces. Due to the nature of the vehicle, the algorithms
                                         had to be adapted in order to adhere to non-holonomic
                                         kinematic constraints using the Kinematic Single-Track Model.
                                            The vehicle is designed to offer transportation for people and
                                         goods in shared environments such as roads, sidewalks, bicycle
                                         lanes but also open spaces that are often occupied by other
                                         traffic participants. Therefore, the algorithm presented in this
                                         paper needs to anticipate and avoid dynamic obstacles, such as
                                         pedestrians or bicycles, but also be fast enough in order to work
                                         in real-time so that it can adapt to changes in the environment.
                                         Our approach uses an RRT variant for global planning that
                                         has been modified for single-track kinematics and improved by               Fig. 1: A photo of our target vehicle with main computer
                                         exploiting dead-end nodes. This allows us to compute global
                                         paths in unstructured environments very fast. In a second step,
                                                                                                                     and retrofitted sensors highlighted.
                                         our MPC-based local planner makes use of the global path to
                                         compute the vehicle’s trajectory while incorporating dynamic                   In this regard, the vehicle is designed to appropriately
                                         obstacles such as pedestrians and other road users.                         address passengers and goods transportation in shared urban
                                            Our approach has shown to work both in simulation as                     environments like parks or bicycle lanes and also larger
                                         well as first real-life tests and can be easily extended for more           exhibition sites or factory premises. Rickshaws are far more
                                         sophisticated behaviors.                                                    space efficient than cars for single-person transportation.
                                            Index Terms— Autonomous Vehicle Navigation, Rapidly-
                                         Exploring Random Trees (RRT), Model Predictive Control
                                                                                                                     Combined with the reduced spatial requirements emerging
                                         (MPC), Kinematic Single-Track Model                                         from autonomous operation, this renders large parts of
                                                                                                                     parking spaces unnecessary, which therefore allows cities to
                                                               I. INTRODUCTION                                       become more human-centered instead of vehicle-centered.
                                                                                                                        In this paper, we want to tackle some of the significant
                                            In the context of autonomous driving, the focus usually                  challenges to the vehicle’s motion planning that arise from
                                         lies on cars and trucks that can be used for the transportation             autonomous driving in shared urban environments. Firstly,
                                         of people and goods [1], [2], [3]. On the other hand, there                 these environments require the vehicle to drive not only
                                         are also small wheeled mobile robots that are employed                      in a network of streets, but also in public open spaces.
                                         for industrial intra-factory logistics and package delivery                 Secondly, sharing spaces with pedestrians, cyclists and other
                                         tasks [4], [5], [6]. While the former type usually operates                 road users requires the planner to incorporate their behavior
                                         under a set of traffic regulations and on a network of roads                as well. Therefore, our approach consists of a two-step
                                         at velocities of sometimes more than 100 km/h, the latter                   hierarchical planning architecture with an RRT-based path
                                         is often required to just drive at a pedestrian speed and                   planner and an MPC-based trajectory planner. The planner
                                         in contrast finds itself in more unstructured environments                  is embedded into a system architecture based upon the
                                         without a clear set of rules. However, our work targets a                   Robot Operating System (ROS1) [7] and Kubernetes1 . Our
                                         class of vehicles that is situated between a car and a small                RRT planner is able to traverse large open environments
                                         mobile robot, both with respect to the environment as well                  very quickly while taking care of the vehicle’s kinematic
                                         as the level of dynamics.                                                   constraints and to provide a global path on a static map
                                            ∗ WARP Student Team & Department of Informatics, Techni-
                                                                                                                     for our vehicle to follow. The MPC planner computes the
                                         cal University of Munich (TUM), Germany @tum.de                                                        dynamic obstacles like pedestrians. While in its current state,
                                            † Department of Automatic Control and Electronics, Faculty of Elec-
                                                                                                                     the MPC planner only avoids obstacles in a naïve manner,
                                         trical Engineering, University of Sarajevo, Bosnia & Herzegovina
                                         dinko.osmankovic@etf.unsa.ba
                                                                                                                     its architecture is designed to be able to add sophisticated
                                           ‡ Chair of Robotics, Artificial Intelligence and Real-time Systems, De-   behavior predictions for other road users easily.
                                         partment of Informatics, Technical University of Munich (TUM), Germany
                                         hossein.malmir@tum.de, knoll@mytum.de                                         1 https://kubernetes.io/
II. RELATED WORK                              Figure 1) where driver seat, handlebar, and pedal-powered
A. Rapidly-Exploring Random Trees                                drive have been removed. Instead, the rear wheel electric
                                                                 drive is controlled directly by our computer. Moreover, a
   Rapidly-Exploring Random Trees (RRT) count toward
                                                                 separate steering motor and braking actuator have been
some of the most popular planning algorithms. Many mod-
                                                                 installed to allow these functions to be computer-operated
ifications and improvements to the algorithm have been
                                                                 as well.
introduced. One of such is presented in [8], where the au-
thors introduce the Theta∗ -RRT algorithm that hierarchically       Besides the vehicle’s proprioceptive sensors for measuring
combines (discrete) any-angle search with (continuous) RRT       e.g. accelerations, wheel speed and steering angle, several
motion planning for non-holonomic wheeled robots. The            exteroceptive sensors have been added in order to allow
authors show that this variant outperforms its siblings RRT      environmental perception and mapping. Figure 1 highlights
[9], A∗ -RRT [10], RRT∗ [11] and A∗ -RRT∗ [12] both in path      the main computer and sensors that have been retrofitted to
length and speed.                                                the vehicle. For triggering emergency braking, a 270◦ FOV
   Another extension of RRT is presented in [13], where the      2D Lidar has been mounted at the front. Furthermore, data
authors suggest the usage of so-called key configurations for    from an RGB camera and a 3D Lidar is fused for object
tackling problems such as moving through narrow passages         detection, providing information on static and dynamic ob-
with non-holonomic vehicles.                                     stacles. Finally, several proprioceptive sensors are combined
                                                                 with a GNSS sensor as well as the 3D Lidar for mapping
B. Model Predictive Control                                      the environment and localizing the vehicle on that map. The
   This paper was additionally inspired by the work of [14],     navigation stack uses processed obstacle information, map
where the authors utilized a Model Predictive Control (MPC)      and vehicle pose to first generate a global path and then
approach for local planning. Moreover, global path cost-         to iteratively compute a trajectory for the vehicle to follow.
to-go computation is done via a fast D∗ -lite algorithm,         Finally, simple PID controllers for each separate actuator
and a Gaussian smoothing is applied on the precomputed           make sure that the trajectory is being correctly executed.
costmap. The authors show that MPC can run on such a             Figure 2 gives an overview over the key components that
precomputed map and that MPC is robust enough to adapt           are relevant for autonomously operating the vehicle.
to dynamic obstacles that appear at runtime that were not           Regarding our software architecture, all components have
part of the original costmap. That way, the dynamic nature       been containerized and are orchestrated via K3s Kubernetes3
of the environment is also accounted for.                        in order to simplify a capsuled development of individual
   In addition to the previous research paper, [15] represents   components as well as to allow for hot redundancy which
a novel online motion planning approach based on nonlinear       is an important feature for safety critical systems [17]. In
MPC. Using non-euclidean rotation groups, the authors have       addition, we employ ROS14 to facilitate the communication
formulated an optimization problem that solves local plan-       between individual components. Consequently, our naviga-
ning via optimal control. The authors demonstrate that the       tion stack is based on the ROS navigation package5 of which
proposed algorithm is able to solve a quasi-optimal parking      we use the default map server but implement our own global
maneuver whilst also avoiding dynamic obstacles.                 and local planner. For mapping and localization, we modified
   The power and capability of MPC extends even to rac-          the Google Cartographer ROS integration6 to match our
ing scenarios. In [16] the authors propose a Linear Time         sensor setup.
Varying Model Predictive Control (LTV-MPC) approach for             The next section will go into detail on how the global
achieving minimum lap time in a racing scenario while also       and local planner have been designed in order to match our
modeling the ability of the vehicle to drift in corners, thus    use-case.
giving it a time advantage. The MPC approach was not
                                                                                            IV. APPROACH
only able to keep up with the high demand and complex
dynamic model of the vehicle, but also maintains stability       A. GLOBAL PLANNER
under extreme drifting conditions.
                                                                    The global planner computes a global path X from
   To the best of the authors knowledge, there is no existing
                                                                 starting state [x0 , y0 , θ0 ] to goal state [xn , yn , θn ] with non-
prior work that suggests using Non-Holonomic RRT for
                                                                 predefined length n on a given map. The global path is
global planning and online MPC for local planning designed
                                                                 then defined as an array of individual states as shown in
for a three-wheeled cycle rickshaw. In the following sections,
                                                                 Equation 1.
the vehicle and system architecture are first introduced
followed by in-depth description of the adapted approach                                                
                                                                                x0       x1       x2            xn
for path and trajectory planning steps.
                                                                         X =  y0  ,  y1  ,  y2  , ...,  yn               (1)
   III. VEHICLE AND SYSTEM ARCHITECTURE                                        θ0       θ1       θ2            θn
   Our approach targets a trishaw (three-wheeled cycle
rickshaw) vehicle that has been modified to operate au-            3 https://rancher.com/docs/k3s/latest/en/
                                                                   4 https://www.ros.org/
tonomously. The vehicle base is a BAYK CRUISER2 (see
                                                                   5 http://wiki.ros.org/navigation
  2 https://bayk.ag/en/cruiser/                                    6 http://wiki.ros.org/cartographer
Perception
   2D Lidar
                                                        Static and                                                       Emergency
                          Object            Object        dynamic                                                         Braking
                         Detection         Tracking      obstacles
   Camera
                                                                                                                          Braking
                                                                              Navigation Stack                            Actuator
   3D Lidar
                                                                           Global          Local
                           SLAM                                                                        Controller
                                               Map                         Planner        Planner                          Drive
     IMU
                                                                                                                           Motor

    GNSS
                                           Vehicle                                                                        Steering
                                         Position and                                                                      Motor
                                         Orientation
  Odometry

              Fig. 2: A simplified system architecture highlighting our vehicle’s key components for locomotion.

   RRT [9] has been chosen as a suitable candidate to tackle         Algorithm 1 Extend Children
the global planning task. The expanding tree is able to               1:    children = {}
quickly navigate around the non-convex map and it presents            2:    range = max_steering_angle − min_steering_angle
a trade-off between exploration and exploitation with regard          3:    for i ≤ steering_samples do
to its branches. The main idea of the algorithm is to begin           4:        δ ← min_steering_angle + (i/steering_samples) ·
at a starting configuration and expand that starting state in a             range
tree like fashion by expanding edges of the tree inside the           5:        child ← parent
unoccupied space. At its core, the algorithm consists of two          6:        for j ≤ step_size do
main phases: the sampling phase and the extension phase.              7:            child.x ← child.x + v · cos(child.θ ) · T
   In the sampling phase, a point q_rand is randomly sam-             8:            child.y ← child.y + v · sin(child.θ ) · T
pled inside the unoccupied area of the map. After that, the           9:            child.θ ← child.θ + v/L · tan(δ ) · T
state q_nearest is selected. This is illustrated in the upper        10:            j ← j + integration_step_size
part of Figure 3. In the extension phase, the selected state         11:        children.insert(child)
is expanded in the direction of the randomly sampled point.          12:        i ← i+1
This process is then repeated.
   However, the vehicle in question adheres to non-
holonomic single-track kinematic constraints, meaning that
not all states that can be extended from the nearest state           egy is defined in Algorithm 1 and illustrated in Figure 3.
q_nearest are valid points. Therefore, the extend strategy           Essentially, the non-holonomic constraints can be imagined
will have to be modified to incorporate non-holonomic                as a cone of reachable states in front of the vehicle.
constraints [18], as defined by Equations 2 – 5, where xk               Further modifications and improvements to the algorithm
is the state of the vehicle at step k and uk is the control          have been implemented. This paper introduces the concept
input. The state vector x is defined as (x, y, θ ), with x and y     of extended dead-end nodes, which are nodes that cannot
given in m and θ ∈ (−π, π] given in rad. The control input           be further expanded. An example of these extended dead-
vector u is defined as (v, δ ), where v is the linear velocity       end nodes can be found in Figure 4. The idea is as follows:
of the vehicle given in m/s and δ is the front wheel steering        If a node is unable to spawn any further child nodes and
angle in rad. L is the length of the vehicle and T is the            all existing child nodes are marked as dead-end nodes,
discretized time step.                                               then that parent-node is also marked as a dead-end node.
                                                                     Nodes marked as dead-end are not considered for extension
                   xk = f(xk−1 , uk )                         (2)    when searching the tree for q_nearest and therefore yield a
                   xk = xk−1 + vk · T · cos θk−1              (3)    speedup to the searching process. To the best of the authors’
                                                                     knowledge, this is the first time that such extension is applied
                  yk = yk−1 + vk · T · sin θk−1            (4)       to speed up the searching process in RRT path planners.
                                        tan(δk )                        Observation: Due to the fact that the map is finite in
                  θk = θk−1 + vk · T ·                     (5)
                                           L                         size and a node can only be extended into a predefined
   We utilize an approach similar to [19] in order to incorpo-       constant number of child-nodes, the maximum number of
rate the non-holonomic constraints into the RRT algorithm.           possible nodes inside the tree is finite. Moreover, since in
To achieve this, the extend phase will be modified such that a       every iteration of the algorithm, a node is either added or
constant number of child-nodes is defined, that are generated        removed (marked as dead-end) from the tree, an interesting
using the non-holonomic equations, each with a steering              consequence emerges: Given a starting pose x0 , the algorithm
angle δ ∈ [min_steering_angle, max_steering_angle] dis-              is guaranteed to cycle through every possible tree-state
tributed evenly across the segment. The full extension strat-        reachable from the starting position. This observation holds
q_nearest                                                       q_nearest                        q_dead_end

                                                     q_rand

    q_init

                          q_nearest_child                           Fig. 4: If a parent-node is unable to spawn child-nodes (left),
       q_nearest                                                    that parent is marked as a dead-end node (right).
                                                     q_rand

                                                                    builds on their ideas and takes advantage of their mathemat-
                                                                    ical formulations.
    q_init
                                                                       The vehicle model is described by non-linear time-
                                                                    invariant differential equations with time step k ∈ N0 , the
                                                                    state trajectory x : R 7→ X and control trajectory u : R 7→ U ,
Fig. 3: Non-holonomic RRT Algorithm: (top) Generating               as given by Equations 2 – 5. The mapping f : X × U 7→ R p
random point q_rand and finding the nearest node q_nearest          with p = dim(X ) defines the change of state depending
inside the tree. (bottom) The nearest node is expanded into         on control input, where X and U represent the state and
child nodes out of which the nearest is found and added to          control space respectively. The system is subjected to state
the tree.                                                           and input constraints originating not only from the vehicle’s
                                                                    physical limitations but also from the dynamic environment
                                                                    in which it drives. State constraints and input constraints will
                                                                    be introduced in the following.
true regardless of the sampling strategy, even when we are
sampling from the same point in every iteration.                       The planning task is to guide the vehicle from xk ∈ X
                                                                    at time step k = 0 to an intermediate or ultimate goal set
B. LOCAL PLANNER                                                    X f (tN ) ∈ X within the planning horizon T = N∆t while
                                                                    minimizing an objective function and adhering to constraints.
   The task of the local planner is to compute a sequence              With the running cost γ : X × U 7→ R+        0 and terminal
of control signals u that the vehicle has to follow. Besides        cost Γ f : X 7→ R+     , the optimal  control problem   is given
                                                                                         0
knowledge of the map, the local planner also needs infor-           in Equation 7. For the intents and purposes of the local
mation about the dynamic obstacles inside the environment           planner, the running cost will take into account factors such
which the vehicle needs to avoid in order to not crash. The         as trajectory length and distance from obstacles, whereas the
trajectory, as generated by the local planner, can be seen in       terminal cost evaluates the final state xN and its distance from
Equation 6:                                                         the target point inside the global path.
                                                                               N−1
         v0       v1       v2            vn−1
  u =  δ0  ,  δ1  ,  δ2  , ...,  δn−1               (6)
                                                                                   min
                                                                                    u
                                                                                         ∑ γ(xk , uk )∆t + Γ f (xN )            (7)
                                                                                         k=0
        ∆t0      ∆t1      ∆t2           ∆tn−1
   The trajectory is a sequence of commands containing                           subject to:
a linear velocity v and a steering angle δ . Furthermore,                        x0 = xs          xk+1 = f(xk , uk )
temporal information is embedded inside the trajectory as                        xk ∈ X(k∆t) uk ∈ U(xk , k∆t)
∆t, which represents the duration of the given control input.
                                                                                 T = N∆t          k = 0, 1, 2, ..., N − 1
   The sum of times T = ∑i ∆ti is called the planning horizon
and represents how far the algorithm will plan into the future.        The constraint on the state xk ∈ X(k∆t) implies that
However, here the planner only returns and executes the first       the vehicle should not find itself in an illegal state, for
command of the sequence, i.e. u = [v0 , δ0 ]T in each planning      example colliding with other vehicles or static obstacles. The
iteration. This in turn means that each command is then             constraint is enforced as a penalty term inside the running
applied for a total time of ∆t0 = ∆t1 = ∆t2 = ... = ∆tn−1 =         cost function γ(·), but its validity is also manually checked
∆t = 1/ f where f is the constant frequency with which the          once a trajectory has been chosen by limiting the obstacle
planner is called.                                                  costs to a maximum tolerated value. If that value is exceeded,
   Due to its ability to tackle optimization problems on a          the trajectory is rendered invalid.
finite time-horizon, MPC has been chosen as a method for               The constraint on the control inputs uk ∈ U(xk , k∆t) is de-
trajectory generation. The approach was inspired by [15],           rived from the physical real-world limitations of the vehicle
and can be mathematically formulated as:                                    The distance to the obstacle is then passed to a function
                                                                         φ (·) : R+
                                                                                  0 7→ R, which serves a similar purpose to the inflation
                        0 ≤ vk        ≤ max_velocity                     function of the static obstacles and allows for adjusting the
                                                                   (8)
  min_steering_angle ≤ δk             ≤ max_steering_angle               shape and intensity of obstacle inflation. The simplest way
                                                                         to define the function would be φ (x) = 1x . This way, a cost
   Since the aim of the local planner is to follow points on             gradient is introduced around each obstacle that penalizes
the global plan, a reasonable way to define the terminal cost            closeness. This serves as a naïve first implementation and can
function is to define a target point xtarget on the global path          be later adapted to suit the planning task best. For example, it
and penalize the final state of the trajectory based on its              makes sense to also incorporate a sense of motion prediction
distance from the target point. The terminal cost is therefore           inside the function in order for the planner to anticipate
defined as shown in Equation 9 where c is a constant scaling             movements of the obstacles.
factor for the penalization.                                                In addition to these, further soft constraints can be im-
                                                                         posed, such as penalization on spikes and jumps in the first
                   Γ f (xN ) = c · kxtarget − xN k22               (9)   derivative of the control input u̇. For instance, introducing
   This definition of the terminal cost function makes in-               terms such as kuk+1 − uk k1 penalizes variations in control
tuitive sense, especially considering that the target points             inputs and yields a smoother trajectory.
xtarget moves along the global path as soon as the vehicle                  The next section deals with the evaluation of the suggested
is within a certain range of it. This range is defined as the            planning method.
global_lookahead_distance. On the other hand, defining the                                    V. EVALUATION
running cost γ(·) on the other hand, involves three different
                                                                            The evaluation of the approach is done in two stages,
terms and can be seen in Equation 10:
                                                                         the first stage being inside a simulation environment and
                                                                         the second stage in the form of live tests on the vehicle.
    γ(xk , uk ) = cl · vk · ∆t + cm · m(xk , yk ) + co · o(xk )   (10)   The optimal control problem is formulated and solved using
   The terms cl , cm and co represent cost scaling factors and           Google’s Ceres Solver [20].
are of high importance for the planning process. Namely, the                We conduct the simulation inside the Stage simulator ROS
cost factors directly influence how much each of the penalty             adaptation StageROS8 . The purpose of the simulations is
terms in the cost function influences the overall cost and               to tune the planning parameters and evaluate the planner
therefore changes the shape of the final trajectory.                     based on its ability to follow target points on a global path
   The first term of the running cost penalizes the length of            while avoiding static and dynamic obstacles. The dynamic
the trajectory. This is done by penalizing the velocity as a             obstacles represent pedestrians inside the map, which are
higher velocity yields a longer trajectory.                              simulated using the PedSim9 simulator which uses the social
   The next term is penalization with respect to the map.                force model for pedestrian dynamics [21].
The function m(·) evaluates the state based on the state                    The simulations have shown to be successful, with the
coordinates (xk , yk ) and returns a discrete cost value between         vehicle reaching its target position while also managing to
[0, 255] where 0 means that the space is free, and 255 implies           avoid dynamic obstacles. The global planner was able to
that the state is occupied. This value gradually decreases               generate paths of 150 m length in 0.2 s of computation time,
based on the distance from the obstacle, usually given by an             whereas the local planner operates at a frequency of 5 Hz
inflation function. This inflation directly introduces a gradi-          with a planning horizon of up to T = 12 s at times. These
ent that pushes the trajectory further away from the obstacle,           results have permitted to move ahead and test the approach
by increasing running costs. The inflation is generated by the           on the target vehicle.
ROS map server package7 provided in the navigation stack.                   Over the period of a few months, several tests have been
   The final term penalizes the state based on its relation to           conducted live on the vehicle, with the most important
dynamic obstacles. This is done in a similar fashion to the              improvements and highlights being recorded and uploaded to
way the previous term was evaluated. However, this term also             YouTube. In the real life tests, the planner has demonstrated
offers the possibility of further extending the cost function            its ability to calculate and follow a global path and reach the
with dynamic obstacle motion prediction. Equation 11 offers              designated goal area while driving at a maximum speed of
a simple way of evaluating that problem, where M is the total            1 m/s. Due to the inflation of the static obstacles inside the
number of obstacles.                                                     map, the vehicle was able to keep a safe distance from walls
                          M
                                                                         and stay inside the designated driving area10 . This holds true
               o(xk ) = ∑ φ (kobsi (k∆t) − xk k2 )                (11)   even when driving at night time11 .
                         i=1                                                After that, further tests with dynamic obstacles were con-
   The obstacle position is estimated at the time k∆t and the            ducted. The vehicle is able to correctly identify pedestrians
distance is evaluated and penalized. The term obsi (k∆t) is                8 http://wiki.ros.org/stage_ros
defined as the geometrical center of the obstacle i.                       9 https://github.com/srl-freiburg/pedsim_ros
                                                                           10 https://youtu.be/grg-59TbCVY
  7 http://wiki.ros.org/map_server                                         11 https://youtu.be/Sm1tj7WEJLQ
in its path and compute a trajectory that successfully avoids                                  R EFERENCES
them. Using the 2D Lidar mounted in front of the vehicle,          [1] E. Yurtsever, J. Lambert, A. Carballo, and K. Takeda, “A survey of
it is also able to detect immediate danger when a pedestrian           autonomous driving: Common practices and emerging technologies,”
jumps in front of the vehicle and to take immediate action             IEEE Access, vol. 8, pp. 58 443–58 469, 2020.
                                                                   [2] W. Schwarting, J. Alonso-Mora, and D. Rus, “Planning and decision-
by slowing down and turning right, thus avoiding collision             making for autonomous vehicles,” Annual Review of Control, Robotics,
with pedestrians12 .                                                   and Autonomous Systems, vol. 1, no. 1, pp. 187–210, 2018.
   Simulations and real life tests have shown that the sug-        [3] S. D. Pendleton, H. Andersen, X. Du, X. Shen, M. Meghjani, Y. H.
                                                                       Eng, D. Rus, and M. H. Ang, “Perception, planning, control, and
gested approach is valid and can be used for path and                  coordination for autonomous vehicles,” Machines, vol. 5, no. 1, 2017.
trajectory planning on the target vehicle. The vehicle and         [4] G. Fragapane, D. Ivanov, M. Peron, F. Sgarbossa, and J. O. Strandha-
algorithm are still under development and are, as of the time          gen, “Increasing flexibility and productivity in industry 4.0 production
                                                                       networks with autonomous mobile robots and smart intralogistics,”
of writing, not reliable enough for commercial use and fully           Annals of operations research, pp. 1–19, 2020.
autonomous driving.                                                [5] F. Rubio, F. Valero, and C. Llopis-Albert, “A review of mobile
                                                                       robots: Concepts, methods, theoretical framework, and applications,”
   Testing has also revealed areas of potential improvement            International Journal of Advanced Robotic Systems, vol. 16, no. 2, p.
for the planner. One of those problems is that, even with              1729881419839596, 2019.
inflation, the vehicle has a tendency to move very close to        [6] D. Wahrmann, A.-C. Hildebrandt, C. Schuetz, R. Wittmann, and
                                                                       D. Rixen, “An autonomous and flexible robotic framework for logistics
the edges of the driveable area and cut corners, causing the           applications,” Journal of Intelligent & Robotic Systems, vol. 93, no.
vehicle to freeze in front of obstacles with the global planner        3-4, pp. 419–431, 2017.
not able to find a path out from that state.                       [7] M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs,
                                                                       R. Wheeler, and A. Y. Ng, “ROS: an open-source robot operating
   Another experienced issue arises from a lack of consis-             system,” in ICRA workshop on open source software, vol. 3, no. 3.2,
tency when keeping up with the changing environment due                Kobe, Japan, 2009, p. 5.
to the dynamic nature of the obstacles. They sometimes             [8] L. Palmieri, S. Koenig, and K. O. Arras, “RRT-based nonholonomic
                                                                       motion planning using any-angle path biasing,” in 2016 IEEE Inter-
cause the vehicle to come to an immediate stop (to avoid               national Conference on Robotics and Automation (ICRA), 2016, pp.
collisions with pedestrians) and request a re-planning of the          2775–2781.
global path. This can become problematic in crowds where           [9] S. M. Lavalle, “Rapidly-exploring random trees: A new tool for path
                                                                       planning,” Computer Science Department, Iowa State University, Tech.
numerous re-planning attempts would be made.                           Rep. 98-11, 1998.
   However, it is the authors’ belief that these issues can       [10] J. Li, S. Liu, B. Zhang, and X. Zhao, “RRT-A* motion planning
be easily resolved by incorporating better obstacle inflation          algorithm for non-holonomic mobile robot,” in 2014 Proceedings of
                                                                       the SICE Annual Conference (SICE), 2014, pp. 1833–1838.
mechanisms, dynamic obstacle motion prediction functions          [11] J. D. Gammell, S. S. Srinivasa, and T. D. Barfoot, “Informed RRT*:
and further hyperparameter tuning of the planner.                      Optimal sampling-based path planning focused via direct sampling
                                                                       of an admissible ellipsoidal heuristic,” 2014 IEEE/RSJ International
                                                                       Conference on Intelligent Robots and Systems, 2014.
                   VI. CONCLUSIONS                                [12] M. Brunner, B. Brüggemann, and D. Schulz, “Hierarchical rough
                                                                       terrain motion planning using an optimal sampling-based method,”
   This paper presented a novel approach for online motion             in 2013 IEEE International Conference on Robotics and Automation,
                                                                       2013, pp. 5539–5544.
planning by utilizing a non-holonomic variant of the RRT          [13] E. Szadeczky-Kardoss and B. Kiss, “Extension of the rapidly exploring
algorithm for the purpose of global planning and an MPC                random tree algorithm with key configurations for nonholonomic
approach for local planning designed for a three-wheeled               motion planning,” in 2006 IEEE International Conference on Mecha-
                                                                       tronics, 2006, pp. 363–368.
rickshaw vehicle. Modifications have been made to both            [14] D. Osmankovic, A. Tahirovic, and G. Magnani, “All terrain vehicle
algorithms in order to better adapt them for the planning task.        path planning based on D* lite and mpc based planning paradigm
Among those modifications is the introduction of dead-end              in discrete space,” 2017 IEEE International Conference on Advanced
                                                                       Intelligent Mechatronics (AIM), pp. 334–339, 2017.
nodes in the non-holonomic variant of the RRT algorithm,          [15] C. Rösmann, A. Makarow, and T. Bertram, “Online motion planning
as described in section section IV.                                    based on nonlinear model predictive control with non-euclidean
   The planner performs well both in simulation and in real-           rotation groups,” 2020. [Online]. Available: https://arxiv.org/abs/2006.
                                                                       03534
life tests on the vehicle, as shown in section V. It is able      [16] M. Malmir, M. Baur, and L. Bascetta, “A model predictive controller
to generate a path from start to goal even in unstructured             for minimum time cornering,” in 2018 International Conference of
environments, and to follow that path to reach the goal                Electrical and Electronic Technologies for Automotive, 2018, pp. 1–6.
                                                                  [17] N. Bernhardt, “Fault-tolerant software architecture and efficient devel-
region. Furthermore, the planner is able to avoid static and           opment process for autonomous driving,” Unpublished Master’s thesis,
dynamic obstacles on its way and to keep a safe distance               Technische Universität München, 2020.
from walls and edges of the road by penalizing the vehicle’s      [18] S. M. Lavalle and J. Kuffner, “Rapidly-exploring random trees:
                                                                       Progress and prospects,” Algorithmic and computational robotics: New
closeness to obstacles.                                                directions, 2000.
                                                                  [19] J. Blanco, M. Bellone, and A. Giménez-Fernández, “TP-space RRT
                 ACKNOWLEDGMENT                                        – kinematic path planning of non-holonomic any-shape vehicles,”
                                                                       International Journal of Advanced Robotic Systems, vol. 12, 2015.
                                                                  [20] S. Agarwal, K. Mierle, and Others, “Ceres solver,” http://ceres-solver.
   We would like to thank everyone involved in developing              org.
the entire hard- and software stack around this autonomous        [21] D. Helbing and P. Molnár, “Social force model for pedestrian dynam-
micromobility solution at the WARP student team.                       ics,” Phys. Rev. E, vol. 51, pp. 4282–4286, 1995.

  12 https://youtu.be/Rnf0l_RLoyo
You can also read