/ROLAND

ROLAND: Robust Landing of UAV on Moving Platform using Object Detection and UWB based Extended Kalman Filter

Primary LanguageC++OtherNOASSERTION

ROLAND: Robust Landing of UAV on Moving Platform using Object Detection and UWB based Extended Kalman Filter

ChanYoung Kim, EungChang Mason Lee, JunHo Choi, JinWoo Jeon, SeokTae Kim, and Hyun Myung, "ROLAND: Robust Landing of UAV on Moving Platform using Object Detection and UWB based Extended Kalman Filter," in Proc. of International Conference on Control, Automation and System (ICCAS), 2021.


Result video

Dependencies

[click to see]
  • (Optional) Joystick, I used sony dualshock4
  • OpenCV upper than 4.4.0 for OpenCV-DNN-YOLO, and also cv_bridge
    • OpenCV, cv_bridge manual build refer here
  • ROS and Gazebo
    • refer here
    • $ sudo apt install ros-<distro>-desktop-full
  • robot-pose-ekf package, refer here
$ sudo apt install ros-<distro>-robot-pose-ekf
$ git clone --recursive https://github.com/engcang/ROLAND

or

$ git clone https://github.com/engcang/ROLAND
$ cd ROLAND
$ git submodule update --init --recursive
  • [Important] Set gazebo model path
$ cd ROLAND/gazebo_maps
$ tar -xf bounding_wall_world.tar.xz
$ tar -xf common_models.tar.xz

$ cd ROLAND/gazebo_maps
$ echo "export GAZEBO_MODEL_PATH=:$(pwd)/bounding_wall_world:$(pwd)/common_models:$(pwd)/drone_package_for_gazebo:$GAZEBO_MODEL_PATH" >> ~/.bashrc

$ cd ~/your_workspace
$ echo "export LD_LIBRARY_PATH=:$(pwd)/devel/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
$ . ~/.bashrc
  • For VINS-Fusion,
$ echo "export MALLOC_CHECK_=0" >> ~/.bashrc
$ source ~/.bashrc


Components

[click to see]

How to run

[click to see]
  • launch gazebo world
$ roslaunch ekf_landing world.launch
  • start kalman filter node
$ roslaunch ekf_landing kalman.launch
  • move around the drone / jackal: control joystick
  • start autolanding node
$ rosrun ekf_landing autolanding_node