LAIS is a learning-based automonous inspection system developed for quadrotor platform. In this work, it consists of 2-D object detector, 3-D object state estimation and path planning. The 2-D object detector support YOLO series. The 3-D object state estimation and flight trajectory can be visualized by Rviz in real-time.
- Ubuntu 16.04 or 18.04
- ROS Kinetic or Melodic: ROS Install
- OpenCV >= 4.4: OpenCV Linux Install
- Python 3.8
- CUDA >= 10.0: CUDA Toolkit Archive
- CUDNN >= 7.0: cuDNN Archive
- clone repository into working space
cd ~/catkin_ws/src
git clone https://github.com/JazzyFeng/LAIS.git
- Install 3rd Party library
cd ~/catkin_ws/src/LAIS/3rdPartLib/
./install3rdPartLib.sh
- Compile
cd ~/catkin_ws
catkin_make
- Download Yolov4.cfg, Yolov4.weight and obj.names
- Change these lines :
static string cfg_path
static string weight_path
static string classid_path
- Compile and launch
camera
node:
cd ~/catkin_ws
catkin_make
rosrun LAIS camera
- To visualize 2-D bounding boxes, uncomment the line drawBoundingBox
yolo.drawBoundingBox(image_rgb);
- To visualize the estimate of object position in inertial frame, launch
rviz
node:
cd ~/catkin_ws
roslaunch rviz.launch
- To improve the detection speed or accuracy, change the default input size yoloNet
static yoloNet yolo = yoloNet(cfg_path, weight_path, classid_path, 608, 608, 0.5);
- Connect the quadrotor with flight controller and launch mavros
roslaunch mavros px4.launch
- Launch the D435i camera by realsense-ros
roslaunch realsense2_camera rs_camera.launch
- Launch the
camera
node andfj005
node:
cd ~/catkin_ws
roslaunch LAIS fj005.launch
- To visualize the detected object and flight trajectory in inertial frame, launch
rviz
node:
cd ~/catkin_ws
roslaunch rviz.launch
Yurong Feng(Dept.ME,PolyU): [email protected]