pjhae / Mujoco_autonomous_drone_landing

Drone landing on moving target

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Autonomous Landing of Quadrotor on a Moving Target Using Vision-based RL

0. Requirements

Installation : GYM, MUJOCO, Stable-Baselines3 + (Linux)

  1. Move to :
YOUR_PATH/python3.X/site-packages/gym/
  1. Clone this repository in
YOUR_PATH/python3.X/site-packages/gym/envs/
  1. Move [train_test_] directory to :
YOUR_PATH/python3.X/site-packages/gym/
  1. Train/Test
cd YOUR_PATH/python3.X/site-packages/gym/train_test_
(Training v1) python PPO_train.py
(Training v2) python PPO_train_custum-v3.py
(Test) python PPO_check.py

1. Problem Statement

Our main Our fundamental goal is to control the robot in simulation using a vision-based RL algorithm.

TASK : Autonomous Quadrotor landing on a moving platform

image

Control Input(=Neural network output) and Constraints

image

2. Hardware 3D design (Quadrotor , Car)

Design Tool : Solidworks (+ SWtoURDF)

image

image

3. MUJOCO camera sensor

image

For mounting Camera on Robot Model, you can see the file in gym/mujoco/assets/Drone_ver_1.0/assets

To get RGB data from camera for observation, you can see the file in gym/mujoco/drone_v2.py

4. Policy Net

image

• Input : Image RGB data + Current Action and Pitch angle [Vx, Vy, Vz, Pitch angle]

• Output : Vx, Vy, Vz, Wy

• RL algorithm : PPO

5. Training env

you can see the code for specific MDP setting(S,A,R..) info

YOUR_PATH/python3.X/site-packages/gym/envs/mujoco/

image

image

drone_v1.py : Simplified vector verification

drone_v2.py : TASK

6. Turn-Off Flag

If the drone's four points touch the landing box, the propeller no longer needs to rotate

  • So, Let’s set all control inputs to zero. (= Turn off)
  • This algorithm is implemented using the Turn-off flag.

image

7. Results - Simplified vector obs verification

image

8. Results - Camera obs + CNN feature extraction

image

9. VIDEO

Video : YOUTUBE link

You can watch video through the link above.

About

Drone landing on moving target


Languages

Language:Python 100.0%