Gathering useful information for collision avoidance for Autonomous Mobile Robot via ONLY depth camera
- undergraduate project from Human Machine Systems Lab, Korea University
- AMR : Turtlebot3-burger
- Depth Camera : Intel Realsense D435
- MCU : Jetson Nano
- OS : Jetpack 4.6.1
- Object Detection : yolov5 (pytorch)
- metaOS : ros-melodic (trivial)
- set_environment: shell script for building the development environment
- RGBDRealsenseCamera: basic camera module that can be broadly used for every realsense camera that has rgb and depth frame in it
- DCCAFilterManager: managing detailed settings for the input frame data as a preprocessing
- DCCACamera: real-time object detection and distancing
- dcca_relay: sample data formulation using gathered data
- various sample codes from pyrealsense2 sdk
- Get RGB and Depth frame as input
- Apply object detection on RGB frame
- Apply clustering algorithm on Depth frame in the same region w.r.t. detected region from RGB frame, and obtain distance
- Formulate sample data using detected label and obtained distance
- clone this repository
git clone https://github.com/skykongkong8/DCCA-Turtlebot3.git
- go to workspace directory
cd DCCA-Turtlebot3/workspace
- run dcca_relay.py
python3 dcca_relay.py
- caution: if you want to use other modules, you might subtly change importing paths of this repository after cloning...
- adapt into ros-melodic
- issue: opencv4 vs ros1 -> solve by: do it without opencv4
- conjugate with motion planning
This section is about every trivial error that I encountered during the development of this repository, so you may skip here!
- installing sci-kit learn on Jetson nano
sudo apt-get install scikit-learn
do NOT use pip
- almost always use waitKey(t) function while streaming via opencv
- realsense cameras return depth values with NaN values, so be aware (especially when you are trying to handle them with opencv, Matrix in cpp)
Unrecognized or unsupported array type in function ‘cvGetMat’