Connecting OpenAI Gym and ROS - kairproject/kair_algorithms_draft GitHub Wiki

Contents

  1. Introduction
  2. Backgrounds 1.1 RL algo 1.2 Robotics
  3. Open Manipulator
    2.1 Dependencies
    2.2 Installation
  4. Create the open manipulator environment
  5. References

0. Introduction

Openai Gym์€ Environments๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๊ฐ•ํ™”ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋น„๊ตํ•˜๋Š”๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ Openai Gym์—์„œ์˜ ๋กœ๋ด‡ ํ•™์Šต ํ™˜๊ฒฝ์€ Gazebo๋ฅผ ์ด์šฉํ•˜๋Š” ROS ๊ธฐ๋ฐ˜์˜ ๋กœ๋ด‡๋“ค์„ ํ•™์Šตํ•˜๊ฒŒ๋Š” ๋ชปํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๋ณธ ํŽ˜์ด์ง€๋Š” ์ด๋Ÿฌํ•œ Openai Gym๊ณผ ROS๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ Gazebo์ƒ์—์„œ์˜ Robot๊ณผ Gym ํ™˜๊ฒฝ์„ ํ†ตํ•ด ๊ฐ•ํ™”ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค.

1. Openai_ros package

๋จผ์ € openai_ros package๋ฅผ ์„ค์น˜ํ•˜์—ฌ์•ผํ•œ๋‹ค. package๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ class๋ฅผ ํฌํ•จํ•œ๋‹ค.

Training Environments:

  • GazeboEnvironment: Gazebo์™€ Openai ํ™˜๊ฒฝ์„ ์—ฐ๊ฒฐํ•œ๋‹ค. openai_ros package์—์„œ robot_gazebo_env.py์— class code๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด๊ณณ์—์„œ ํ™•์ธ ํ•˜๋ฉด ๋œ๋‹ค.
  • RobotEnvironment: ROS ๊ธฐ๋ฐ˜์˜ ์ฃผ์š” ๋กœ๋ด‡๋“ค์„ ์ง€์›ํ•œ๋‹ค. ์„ผ์„œ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๊ฑฐ๋‚˜ actions๋ฅผ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.
  • TaskEnvironment: GazeboEnvirionment์™€ RobotEnvironment์— ํ•จ๊ป˜ ๋กœ๋ด‡์„ ํ•™์Šต ์‹œํ‚ฌ๋•Œ ์ˆ˜ํ–‰๋  task์— ๋Œ€ํ•œ ์ •์˜๊ฐ€ ์žˆ๋Š” class์ด๋‹ค.

Training Script:

1.1 Dependencies

1.2 Installation

2. Open Manipulator

2.1 Dependencies

2.2 Installation

3. Create the open manipulator environment

4. References