330 research outputs found

    ์ถฉ๋Œ ํ•™์Šต์„ ํ†ตํ•œ ์ง€์—ญ ๊ฒฝ๋กœ ๊ณ„ํš ๋ฐฉ๋ฒ•

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ (์„์‚ฌ)-- ์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› : ๊ณต๊ณผ๋Œ€ํ•™ ์ „๊ธฐยท์ •๋ณด๊ณตํ•™๋ถ€, 2019. 2. ์ด๋ฒ”ํฌ.๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๊ฐ•ํ™” ํ•™์Šต ๊ธฐ๋ฐ˜์˜ ์ถฉ๋Œ ํšŒํ”ผ ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•œ๋‹ค. ์ถฉ๋Œ ํšŒํ”ผ๋ž€ ๋กœ๋ด‡์ด ๋‹ค๋ฅธ ๋กœ๋ด‡ ๋˜๋Š” ์žฅ์• ๋ฌผ๊ณผ ์ถฉ๋Œ ์—†์ด ๋ชฉํ‘œ ์ง€์ ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋‹จ์ผ ๋กœ๋ด‡ ์ถฉ๋Œ ํšŒํ”ผ์™€ ๋‹ค๊ฐœ์ฒด ๋กœ๋ด‡ ์ถฉ๋Œ ํšŒํ”ผ, ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ผ ๋กœ๋ด‡ ์ถฉ๋Œ ํšŒํ”ผ ๋ฌธ์ œ๋Š” ํ•˜๋‚˜์˜ ์ค‘์‹ฌ ๋กœ๋ด‡๊ณผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์›€์ง์ด๋Š” ์žฅ์• ๋ฌผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ค‘์‹ฌ ๋กœ๋ด‡์€ ๋žœ๋คํ•˜๊ฒŒ ์›€์ง์ด๋Š” ์žฅ์• ๋ฌผ์„ ํ”ผํ•ด ๋ชฉํ‘œ ์ง€์ ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. ๋‹ค๊ฐœ์ฒด ๋กœ๋ด‡ ์ถฉ๋Œ ํšŒํ”ผ ๋ฌธ์ œ๋Š” ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ค‘์‹ฌ ๋กœ๋ด‡์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด ๋ฌธ์ œ์—๋„ ์—ญ์‹œ ์žฅ์• ๋ฌผ์„ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ค‘์‹ฌ ๋กœ๋ด‡๋“ค์€ ์„œ๋กœ ์ถฉ๋Œ์„ ํšŒํ”ผํ•˜๋ฉด์„œ ๊ฐ์ž์˜ ๋ชฉํ‘œ ์ง€์ ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. ๋งŒ์•ฝ ํ™˜๊ฒฝ์— ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์žฅ์• ๋ฌผ์ด ๋“ฑ์žฅํ•˜๋”๋ผ๋„, ๋กœ๋ด‡๋“ค์€ ๊ทธ๊ฒƒ๋“ค์„ ํ”ผํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ถฉ๋Œ ํšŒํ”ผ๋ฅผ ์œ„ํ•œ ์ถฉ๋Œ ํ•™์Šต ๋ฐฉ๋ฒ• (CALC) ์„ ์ œ์•ˆํ•œ๋‹ค. CALC๋Š” ๊ฐ•ํ™” ํ•™์Šต ๊ฐœ๋…์„ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ•™์Šต ๊ทธ๋ฆฌ๊ณ  ๊ณ„ํš ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€ ํ™˜๊ฒฝ์œผ๋กœ ๊ตฌ์„ฑ ๋œ๋‹ค. ํ•™์Šต ํ™˜๊ฒฝ์€ ํ•˜๋‚˜์˜ ์ค‘์‹ฌ ๋กœ๋ด‡๊ณผ ํ•˜๋‚˜์˜ ์žฅ์• ๋ฌผ ๊ทธ๋ฆฌ๊ณ  ํ•™์Šต ์˜์—ญ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ํ•™์Šต ํ™˜๊ฒฝ์—์„œ ์ค‘์‹ฌ ๋กœ๋ด‡์€ ์žฅ์• ๋ฌผ๊ณผ ์ถฉ๋Œํ•˜๋Š” ๋ฒ•์„ ํ•™์Šตํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ์ •์ฑ…์„ ๋„์ถœํ•ด ๋‚ธ๋‹ค. ์ฆ‰, ์ค‘์‹ฌ ๋กœ๋ด‡์ด ์žฅ์• ๋ฌผ๊ณผ ์ถฉ๋Œํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ๊ฒƒ์€ ์–‘์˜ ๋ณด์ƒ์„ ๋ฐ›๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ ์ค‘์‹ฌ ๋กœ๋ด‡์ด ์žฅ์• ๋ฌผ๊ณผ ์ถฉ๋Œ ํ•˜์ง€ ์•Š๊ณ  ํ•™์Šต ์˜์—ญ์„ ๋น ์ ธ๋‚˜๊ฐ€๋ฉด, ๊ทธ๊ฒƒ์€ ์Œ์˜ ๋ณด์ƒ์„ ๋ฐ›๋Š”๋‹ค. ๊ณ„ํš ํ™˜๊ฒฝ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์žฅ์• ๋ฌผ ๋˜๋Š” ๋กœ๋ด‡๋“ค๊ณผ ํ•˜๋‚˜์˜ ๋ชฉํ‘œ ์ง€์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ํ•™์Šต ํ™˜๊ฒฝ์—์„œ ํ•™์Šตํ•œ ์ •์ฑ…์„ ํ†ตํ•ด ์ค‘์‹ฌ ๋กœ๋ด‡์€ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์žฅ์• ๋ฌผ ๋˜๋Š” ๋กœ๋ด‡๋“ค๊ณผ์˜ ์ถฉ๋Œ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณธ ๋ฐฉ๋ฒ•์€ ์ถฉ๋Œ์„ ํ•™์Šต ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ถฉ๋Œ์„ ํšŒํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„์ถœ๋œ ์ •์ฑ…์„ ๋’ค์ง‘์–ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ๋ชฉํ‘œ ์ง€์ ๊ณผ๋Š” ์ผ์ข…์˜ `์ถฉ๋Œ'์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ชฉํ‘œ ์ง€์ ์— ๋Œ€ํ•ด์„œ๋Š” ๋„์ถœ๋œ ์ •์ฑ…์„ ๊ทธ๋Œ€๋กœ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ •์ฑ…๋“ค์„ ์œตํ•ฉํ•˜๊ฒŒ ๋˜๋ฉด, ์ค‘์‹ฌ ๋กœ๋ด‡์€ ์žฅ์• ๋ฌผ ๋˜๋Š” ๋กœ๋ด‡๋“ค๊ณผ์˜ ์ถฉ๋Œ์„ ํšŒํ”ผํ•˜๋ฉด์„œ ๋™์‹œ์— ๋ชฉํ‘œ ์ง€์ ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•™์Šต ํ™˜๊ฒฝ์—์„œ ๋กœ๋ด‡์€ ํ™€๋กœ๋…ธ๋ฏน ๋กœ๋ด‡์„ ๊ฐ€์ •ํ•œ๋‹ค. ํ•™์Šต๋œ ์ •์ฑ…์ด ํ™€๋กœ๋…ธ๋ฏน ๋กœ๋ด‡์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋”๋ผ๋„, ์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ™€๋กœ๋…ธ๋ฏน ๋กœ๋ด‡๊ณผ ๋น„ํ™€๋กœ๋…ธ๋ฏน ๋กœ๋ด‡ ๋ชจ๋‘์— ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. CALC๋Š” ๋‹ค์Œ์˜ ์„ธ ๊ฐ€์ง€ ๋ฌธ์ œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 1) ํ™€๋กœ๋…ธ๋ฏน ๋‹จ์ผ ๋กœ๋ด‡์˜ ์ถฉ๋Œ ํšŒํ”ผ. 2) ๋น„ํ™€๋กœ๋…ธ๋ฏน ๋‹จ์ผ ๋กœ๋ด‡์˜ ์ถฉ๋Œ ํšŒํ”ผ. 3) ๋น„ํ™€๋กœ๋…ธ๋ฏน ๋‹ค๊ฐœ์ฒด ๋กœ๋ด‡์˜ ์ถฉ๋Œ ํšŒํ”ผ. ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•์€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ์‹ค์ œ ๋กœ๋ด‡ ํ™˜๊ฒฝ์—์„œ ์‹คํ—˜ ๋˜์—ˆ๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ ๋กœ๋ด‡ ์šด์˜์ฒด์ œ (ROS) ๊ธฐ๋ฐ˜์˜ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ธ ๊ฐ€์ œ๋ณด์™€ ๊ฒŒ์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ•œ ์ข…๋ฅ˜์ธ PyGame์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ๋Š” ํ™€๋กœ๋…ธ๋ฏน๊ณผ ๋น„ํ™€๋กœ๋…ธ๋ฏน ๋กœ๋ด‡์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์‹ค์ œ ๋กœ๋ด‡ ํ™˜๊ฒฝ ์‹คํ—˜์—์„œ๋Š” ๋น„ํ™€๋กœ๋…ธ๋ฏน ๋กœ๋ด‡์˜ ํ•œ ์ข…๋ฅ˜์ธ e-puck ๋กœ๋ด‡์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๋˜ํ•œ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ ํ•™์Šต๋œ ์ •์ฑ…์€ ์‹ค์ œ ๋กœ๋ด‡ ํ™˜๊ฒฝ ์‹คํ—˜์—์„œ ์žฌํ•™์Šต ๋˜๋Š” ๋ณ„๋„์˜ ์ˆ˜์ •๊ณผ์ • ์—†์ด ๋ฐ”๋กœ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜์˜€๋‹ค. ์ด๋Ÿฌํ•œ ์‹คํ—˜๋“ค์˜ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•์€ Reciprocal Velocity Obstacle (RVO) ๋˜๋Š” Optimal Reciprocal Collision Avoidance (ORCA)์™€ ๊ฐ™์€ ๊ธฐ์กด์˜ ๋ฐฉ๋ฒ•๋“ค๊ณผ ๋น„๊ตํ•˜์˜€์„ ๋•Œ ํ–ฅ์ƒ๋œ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, ํ•™์Šต์˜ ํšจ์œจ์„ฑ ๋˜ํ•œ ๊ธฐ์กด์˜ ํ•™์Šต ๊ธฐ๋ฐ˜์˜ ๋ฐฉ๋ฒ•๋“ค์— ๋น„ํ•ด ๋†’์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์˜€๋‹ค.This thesis proposes a reinforcement learning based collision avoidance method. The problem can be defined as an ability of a robot to reach its goal point without colliding with other robots and obstacles. There are two kinds of collision avoidance problem, single robot and multi-robot collision avoidance. Single robot collision avoidance problem contains multiple dynamic obstacles and one agent robot. The objective of the agent robot is to reach its goal point and avoid obstacles with random dynamics. Multi-robot collision avoidance problem contains multiple agent robots. It is also possible to include unknown dynamic obstacles to the problem. The agents should reach their own goal points without colliding with each other. If the environment contains unknown obstacles, the agents should avoid them also. To solve the problems, Collision Avoidance by Learning Collision (CALC) is proposed. CALC adopts the concept of reinforcement learning. The method is divided into two environments, training and planning. The training environment consists of one agent, one obstacle, and a training range. In the training environment, the agent learns how to collide with the obstacle and generates a colliding policy. In other words, when the agent collides with the obstacle, it receives positive reward. On the other hand, when the agent escapes the training range without collision, it receives negative reward. The planning environment contains multiple obstacles or robots and a single goal point. With the trained policy, the agent can solve the collision avoidance problem in the planning environment regardless of its dimension. Since the method learned collision, the generated policy should be inverted in the planning environment to avoid obstacles or robots. However, the policy should be applied directly for the goal point so that the agent can `collide' with the goal. With the combination of both policies, the agent can avoid the obstacles or robots and reach to the goal point simultaneously. In the training algorithm, the robot is assumed to be a holonomic robot. Even though the trained policy is generated from the holonomic robot, the method can be applied to both holonomic and non-holonomic robots by holonomic to non-holonomic converting method. CALC is applied to three problems, single holonomic robot, single non-holonomic robot, and multiple non-holonomic robot collision avoidance. The proposed method is validated both in the robot simulation and real-world experiment. For simulation, Robot Operating System (ROS) based simulator called Gazebo and simple game library PyGame are used. The method is tested with both holonomic and non-holonomic robots in the simulation experiment. For real-world planning experiment, non-holonomic mobile robot named e-puck is used. The learned policy from the simulation can be directly applied to the real-world robot without any calibration or retraining. The result shows that the proposed method outperforms the existing methods such as Reciprocal Velocity Obstacle (RVO), PrEference Appraisal Reinforcement Learning (PEARL), and Optimal Reciprocal Collision Avoidance (ORCA). In addition, it is shown that the proposed method is more efficient in terms of learning than existing learning-based method.1. Introduction 1 1.1 Motivations 1 1.2 Contributions 6 1.3 Organizations 7 2 Related Work 8 2.1 Reinforcement Learning 8 2.2 Classical Navigation Methods 11 2.3 Learning-Based Navigation Methods 13 3. Learning Collision 17 3.1 Introduction 17 3.2 Learning Collision 18 3.2.1 Markov Decision Process Setup 18 3.2.2 Training Algorithm 19 3.2.3 Experimental Results 22 4. Single Robot Collision Avoidance 25 4.1 Introduction 25 4.2 Holonomic Robot Obstacle Avoidance 26 4.2.1 Approach 26 4.2.2 Experimental Results 29 4.3 Non-Holonomic Robot Obstacle Avoidance 31 4.3.1 Approach 31 4.3.2 Experimental Results 33 5. Multi-Robot Collision Avoidance 36 5.1 Introduction 36 5.2 Approach 37 5.3 Experimental Results 40 5.3.1 Simulated Experiment 40 5.3.2 Real-World Experiment 44 5.3.3 Holonomic to Non-Holonomic Conversion Experiment 49 6. Conclusion 52 Bibliography 55 ์ดˆ๋ก 62 ๊ฐ์‚ฌ์˜ ๊ธ€ 64Maste

    Towards Optimally Decentralized Multi-Robot Collision Avoidance via Deep Reinforcement Learning

    Full text link
    Developing a safe and efficient collision avoidance policy for multiple robots is challenging in the decentralized scenarios where each robot generate its paths without observing other robots' states and intents. While other distributed multi-robot collision avoidance systems exist, they often require extracting agent-level features to plan a local collision-free action, which can be computationally prohibitive and not robust. More importantly, in practice the performance of these methods are much lower than their centralized counterparts. We present a decentralized sensor-level collision avoidance policy for multi-robot systems, which directly maps raw sensor measurements to an agent's steering commands in terms of movement velocity. As a first step toward reducing the performance gap between decentralized and centralized methods, we present a multi-scenario multi-stage training framework to find an optimal policy which is trained over a large number of robots on rich, complex environments simultaneously using a policy gradient based reinforcement learning algorithm. We validate the learned sensor-level collision avoidance policy in a variety of simulated scenarios with thorough performance evaluations and show that the final learned policy is able to find time efficient, collision-free paths for a large-scale robot system. We also demonstrate that the learned policy can be well generalized to new scenarios that do not appear in the entire training period, including navigating a heterogeneous group of robots and a large-scale scenario with 100 robots. Videos are available at https://sites.google.com/view/drlmac

    Model Predictive Control for Autonomous Driving Based on Time Scaled Collision Cone

    Full text link
    In this paper, we present a Model Predictive Control (MPC) framework based on path velocity decomposition paradigm for autonomous driving. The optimization underlying the MPC has a two layer structure wherein first, an appropriate path is computed for the vehicle followed by the computation of optimal forward velocity along it. The very nature of the proposed path velocity decomposition allows for seamless compatibility between the two layers of the optimization. A key feature of the proposed work is that it offloads most of the responsibility of collision avoidance to velocity optimization layer for which computationally efficient formulations can be derived. In particular, we extend our previously developed concept of time scaled collision cone (TSCC) constraints and formulate the forward velocity optimization layer as a convex quadratic programming problem. We perform validation on autonomous driving scenarios wherein proposed MPC repeatedly solves both the optimization layers in receding horizon manner to compute lane change, overtaking and merging maneuvers among multiple dynamic obstacles.Comment: 6 page

    Collision avoidance and dynamic modeling for wheeled mobile robots and industrial manipulators

    Get PDF
    Collision Avoidance and Dynamic Modeling are key topics for researchers dealing with mobile and industrial robotics. A wide variety of algorithms, approaches and methodologies have been exploited, designed or adapted to tackle the problems of finding safe trajectories for mobile robots and industrial manipulators, and of calculating reliable dynamics models able to capture expected and possible also unexpected behaviors of robots. The knowledge of these two aspects and their potential is important to ensure the efficient and correct functioning of Industry 4.0 plants such as automated warehouses, autonomous surveillance systems and assembly lines. Collision avoidance is a crucial aspect to improve automation and safety, and to solve the problem of planning collision-free trajectories in systems composed of multiple autonomous agents such as unmanned mobile robots and manipulators with several degrees of freedom. A rigorous and accurate model explaining the dynamics of robots, is necessary to tackle tasks such as simulation, torque estimation, reduction of mechanical vibrations and design of control law
    • โ€ฆ
    corecore