Skip to content

aax1n/UAV-Navigation-Using-Visual-SLAM

 
 

Repository files navigation

UAV Navigation System Using Visual SLAM in Dynamic Environment

This repo has supported Pictures Dataset and ROS Bag, so it's simple enough to be built.

RealsenseD435i and UAV

  • Dynamic Object Detect (YOLOv8)
  • Dense PointCloud Mapping
  • Octomap Path Planning
  • UAV Control Using PX4 (Thanks to Lishen Pu from Tongji)

0. Prerequisites

We have tested on:

[OS] = Ubuntu 18.04

[OpenCV] = 3.2

[Eigen3]= 3.3.1

[Pangolin] = 0.5

[ROS] = Melodic

[libtorch] from Baidu Netdisk code: 8y4k

1. Build

cd ORB_SLAM3_Icarus
chmod +x build.sh
./build.sh

rgbd_tum, RGBD(ROS) and ros_RealsenseD435i (if you have your own equipments) targets will be build.

The frequency of camera topic must be lower than 15 Hz.

You can run this command to change the frequency of topic which published by the camera driver in /launch file, but it's optional

roslaunch camera_topic_remap.launch

2. SLAM

TUM Dataset

From https://cvg.cit.tum.de/data/datasets/rgbd-dataset/download

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt config/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE

Evaluation on TUM

Dynamic ORB SLAM2 ORB SLAM2
ate Dynamic ate ORB

Your own datasets in ROS

Remember to change the topic in ros_rgbd.cc !!

OpenLORIS-Scene Dataset

From https://lifelong-robotic-vision.github.io/dataset/scene

roscore
./Examples/ROS/RGBD Vocabulary/ORBvoc.txt  PATH_TO_SETTINGS_FILE
rosbag play YOUR_OWN_ROS_BAG 

3. Path Planning

Get an Otcomap in .bt (/map files)

roslaunch rrtInteractive.launch (cd to this file)
./Examples/Planner/path_planner 

Interact with 3D Navigation button

Select your start and goal points in rviz.

4. UAV Control (code is comming soon...)

1) Preparation

Make sure that your gazebo/mavlink is working !!

You should learn how to establish your own project with PX4 or XTDrone

2) Gazebo Simulation and QGround

3) Octomap Navigation and PX4 Control

About

National college Research Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.1%
  • Other 0.9%