본문 바로가기

Enginius/Robotics

Non-parametric Bayesian Motion Controller

1. Introduction

 왜 연구를 해야 하나

 With respect for robot to fully coexist with humans, path planning and navigation in dynamic environment where future path of dynamic obstacles are not given is an important problem to solve. . 


 기존 연구의 한계 (확장성, 연산 복잡도, 시간) 

 Many of the existing state of art studies are restricted to operate only on the research environment in that it need certain patterns of motions or pedestrian tracking data obtained from overhead camera system. 

 These restrictions make it difficult for these algorithms to be adapted to real real world environment. 

 Another, but perhaps most difficult, reason why these algorithms cannot be used in real world situation is its high computational cost. 

 Even ordinary RRT,  known as one of the fasted path planning algorithm, is not suitable for real time application 

 

 기존 연구의 한계 (파라미터)

 Reactive control algorithm, such as  potential field method and vector filed histogram is known to alleviate the computational cost effectively. However, these algorithms suffers from difficult parameter tuning. For example, in potential field method, two types of potential functions must be designed to model attractive force to goal point and repulsive force from obstacles. While designing each function is not easy, combining these two functions to obtain overall control is an extremely difficult, If too much priorities are given to the attraction force, the robot might collide with 



d

 Modified RRT in a receding horizontal control (RHC) manner


2. Related Work

1. MIT's work (CC-RRT and RR-GP)

: RR-GP를 위해서는 위치에 따른 경향성 있는 traj가 필요하다. 그냥 RRT하는 것 보다는 속도가 빠르다는 장점이 있지만, training이 어렵고, 예외 처리 역시 어렵다. 

 CC-RRT는 로봇과 장애물의 관계를 linear inequality로 표현하였다. 곡선의 경우는 처리하기 어렵다. 또한 각 장애물의 P를 구해야 하기 때문에, 많은 parameter들이 존재한다. 실제로 구현하기 어렵고, 논문에서도 시뮬레이션만 보였다. 


2. CALTECH's work (RHC) 

: Receding Horizontal Control (RHC) using interaction Gaussian Process (IGP)

IGP로 현재 traj와 주어진 사람의 traj사이의 cost를 정의한다. 

이 알고리즘은 사람의 traj를 모두 알아야하는 단점이 있다. 여기선 이를 위해서 천정에 카메라를 설치해서 multi-person tracking을 하였다. 즉 확장성이 떨어진다. 


3. Potential Field Method (PFM)

: 간단하고, 빠르다. 

 하지만 이 potential field의 세기에 따라 로봇이 원하는 방향으로 못가거나 부딛칠 수 있다. 즉 파라미터에 약하다. 


4. Vector Field Histogram (VFS)

: 현재 장애물과 자신의 관계를 polar coordinate으로 옮긴 후에 smoothed histogram을 그린다. 

얼마큼 smooth할지, 얼마나 큰 valley여야 로봇이 지나갈 수 있게 할지, 거리와 cost와의 관계인 gain은 얼마로 할지 등의 parameter에 취약하고, 실제로 결과가 좋지 못하다. 


5. Reactive Navigation 

: 정해진 갯수의 traj를 뽑고, 이 중에서 안전한 것을 고른다. 

뽑는 것 자체가 computational cost가 많이 들고, 문제가 생길 수 있다. 


6. Dynamic RRT

: 장애물의 trajectory의 prediction이 필요하다. 


6. 정리 


 

 Snapshot

Trajectory prediction

 Overhead view

 CC-RRT, Potential Field method, RRT

 RR-GP, IGP, ,mIGP, D-RRT

 Robot's view

 VFH

 VFH+, Proposed Method


 

  Deterministic

 Probabilistic 

 Overhead view

 RR-GP, RRT, D-RRT, Potential Field method

 IGP, mIGP, CC-RRT

 Robot's view

 VFH, VFH+

 Proposed Method



3. Non-parametric Bayesian Motion Controller 

1. Motion pattern modelling using Autoregressive Gaussian Process Model 


 There are a number of existing methods uses Gaussian process to cluster motion trajectories. Most of the approaches uses ceiling view (reference )coordinate to model motion patterns. These algorithms are relatively hard to be used in real-world experiments in that the motion patterns must be modeled in the entire possible operating space which is practically infeasible in many cases. 

 Moreover, with respect to incorporate interactions between operating robot and dynamic obstacles (pedestrians), ceiling-view coordinates are not suitable in that the interaction usually depends on the position of operating robot which is constantly moving. 

 In order to handle above-mentioned drawbacks of existing motion pattern modelling and prediction considering human-robot interaction, our approach uses relative coordinate, i.e., the coordinate where the origin is the position of an operating robot. By using relative coordinate, we can effectively handle not only the burden modelling motion pattern in entire work space, but also interactions between operating robot and pedestrians. 


 In modelling motion patterns we used Gaussian process auto-regressive (GP-AR) model, i.e., the input to the GP model is a trajectory not just a single position. The main difference between existing GP motion model and GP-AR model is that GP-AR model can effectively make predictions by using predefined number of past trajectories. 


 We used potential fields to generate the interactive behavior of pedestrians. However the trajectories can be obtained with actual pedestrian data set. 


2. Motion controller using Autoregressive Gaussian Process Model 


 Human can navigate through dense and crowded environment by effectively predicting future trajectory of other pedestrians. If we can effectively capture and adapt the algorithms behind deciding the navigation rule based on past, current and future trajectories to robots, we can successfully implement the navigation algorithms that can navigate through crowded environments. 



 Gaussian process regression is again used to control the robot based on AR-GP model. The input of the GP controller is the past trajectory of AR length. In our model, we set AR length to be 3 and it can capture not only speed but also acceleration. 


 We converted the relative coordinate to the relative polar coordinate to implement motion controller. Since GP is fully characterized by the kernel function which means correlation between input data, using appropriate coordinate is important with respect to successful regression and polar coordinate is known to effectively capture the relationship between the operating robot and pedestrians. This approach is similar to that of vector field histogram which also uses polar coordinates. 




3. Handling multiple person 


 We calculate the weight of each detected person inversely proportional to the distance. 


4. Probabilistic Motion Controller 



4. Experiments

1. Simulation 

 

2. Real-world Experiments 

 


5. Reference

1. Trautman_ICRA_13 - "Robot Navigation in Dense Human Crowds: the Case for Cooperation"

: Caltech 식당에서 488번의 실험을 했다. (실제 실험을 한데 의의가 있다.)

 Interacting Gaussian Process (IGP)를 이용해서 사람들 사이에서 로봇의 trajectory의 확률 분포를 계산하고, MAP estimator를 통해서 최적의 trajectory를 구한다. 이는 Receding Horizontal Control과도 유사하다. 

 실험에선 [Fox_97] 과 유사한 Reactive Navigation Planner"와 비교하였다. 

 이 논문에선 "Point Grey Bumblebee2 stereo camera"를 천정에 설치하여서 사람의 궤적을 구했다. 

 

2. Fox_97 - "The Dynamic Window Approach to Collision Avoidance"

: 충동을 피하기 위한 Reactive Navigation Planner

 매 step마다 Goal 까지 가는 N개의 path를 뽑고, 이중에서 안전한 것을 고른다. 


3. Aoude_AutonRobot_13 - "Probabilistically safe motion planning to avoid dynamic obstacles with uncertain motion patterns"

: 이 논문에선 그전 연구되었던 RR-GP와 CC-RRT를 이용해서 움직이는 장애물에 대한 motion planning을 하였다. 

 시뮬레이션만 하였다. 

 RR-GP를 위해서는 경향성이 있는 trajectory가 필요하다. RRT의 sampling을 빠르게 할 수 있다는 장점은 있지만 예외 상황 처리가 쉽지 않다는 단점이 있다. 

 CC-RRT는 확률을 이용해서 장애물을 크게 하는 효과가 있다. 


4. Luders_AIAA_10 - "Chance Constrained RRT for probabilistic Robustness to Environmental Uncertainty"

: 로봇이 장애물과 충돌할 constraints를 linear inequalities로 놓고, 이들에 대한 조건을 확률적으로 표현한 후에 이들이 satisfies an upperbound on probability of collision 할 때만 tree를 확장시킨다. 

 이 때 장애물의 uncertainty에 해당하는 P_x와 Navigation의 안정에 해당하는 p_{safe}를 고려해서 tree expansion을 한다. 이를 계산하기 위해서 Error function (ERF)가 사용된다. 결국 P_x와 p_{safe}가 커질 수록 동일한 조건에서 해당 장애물이 커지는 효과를 내고, 결과적으로 더 안정된 Navigation을 할 수 있게 된다. 


5. Ziebart_IROS_09 - "Planning-based Prediction for Pedestrians"

: Pedestrian 예측을 했다. Reinforcement Learning으로 하였다. (환경을 grid로 나누었다. <= 단점)

 Fully observed world를 가정한다. 

6. Pradhan_ACC_11 - "Robot crowd navigation using predictive position fields in the potential function framework"

: 장애물의 이동을 ellipse potential field로 표현하였다. 

시뮬레이션으로 실험을 하였다. => 실제 실험을 하지 못했다. 


7. Trautman_IROS_10 - "Unfreezing the robot navigation in dense interacting crowds"

: iGP (Interacting Gaussian process)와 PCLRHC (partially closed loop receding horizon control)를 이용해서 실험을 했다. 

 저자들이 제안한 IGP가 더 좋은 결과를 보였다. 사람들이 많은 경우에도 사람들 사이에 공간이 생길 것을 '예측'하고, 해당 위치로 Navigation을 한다. <= 이 부분은 AR GP로 motion predict하는 것과도 비슷하다. 

 실제 실험을 하지는 못했다. 


8. Henry_ICRA_2010 - "Learning to navigate through crowded environments"

: The goal of this research is to enable mobile robots to navigate through crowded environments such as indoor shopping malls, airports, or downtown side walks. 

 이 논문에서는 Inverse Reinforcement Learning (IRL)를 이용해서 human-like navigation behavior를 학습하였다. 

 이후에 IRL를 partially observable environments로 확장하였다. 

 시뮬레이션으로 실험하였다. 


9. Aoude_AIAA_11 - "Mobile Agent Trajectory Pedestrian using Bayesian Nonparametric Reachability Trees"

: This paper presents an efficient trajectory prediction algorithm that has been developed to improve the performance of future collision avoidance and detection systems. 

 mixture of Gaussian process를 RRT에 적용한다. 

 단점은 전체 영역에 대한 GP 모델을 만들어야 하는 단점이 있다. 내가 제안한 모델에선 로봇 주변에 대한 로봇 예측만 하면 되기 때문에 이러한 단점이 덜 작용한다. 


10. Amidi_CMU_90 - "Integrated Mobile Robot Control"

: CMU의 Navlab의 Navigation testbed에 사용된 Pure pursuit 알고리즘에 대해서 설명이 되어있다. 

 Pure pursuit is a proportional controller of the steering angle using the x displacement as the error and (2/\sigma) as the gain. 

 

11. Joseph_Auton_Robot_11 - "A bayesian nonparametric approach to modeling motion patterns"

: DP prior GP mixture를 이용해서 Motion pattern을 모델링한다. 


12. Ringdahl_Thesis_03 - "Path Tracking and Obstacle Avoidance Algorithms for Autonomous Forest Machines"

: VHS+ 를 제안하였다. 이전 control을 고려한다. 


13. Ulrich_ICRA_00 - "VFH*: Local Obstacle Avoidance with Look-Ahead Verification"

: VHS*를 제안하였다. 


























'Enginius > Robotics' 카테고리의 다른 글

Kalman Filter 유도하기  (1) 2014.03.05
Matlab RobotLib  (3) 2014.02.10
RRT Path Planning in Dynamic Environment  (4) 2013.08.09
Pure pursuit control algorithm  (0) 2013.07.22
Robot's that fly and cooperate - Vijay Kumar  (0) 2012.04.18