This contains ROS packages to detect moving objects from stereo images.
-
NVIDIA GPU
-
To move a camera and a moving object in Gazebo simulator.
This can be replaced with other controller supported by joy package. But maybe change of key assignment is needed.
-
nvidia-docker2 is deprecated now but it is needed to use Docker Compose with NVIDIA GPU.
$ git clone https://github.com/ActiveIntelligentSystemsLab/moving_object_detector.git
$ cd moving_object_detector/docker
$ sudo docker-compose build
$ sudo docker-compose up --no-start
Launch below commands at moving_object_detector/docker
directory:
$ xhost +local:root
$ sudo docker-compose start
Then four containers are launched:
- ROS master
- RViz
- rqt
- Terminal
- To run nodes and commands, edit files
- Installed tools: byobu(tmux), gdb, htop and vim
Plug Xbox controller before start containers and run below command in the container terminal:
$ roslaunch moving_object_detector_launch gazebo_sim.launch
Then open new terminal tab (or use byobu) and run below command:
$ roslaunch moving_object_detector_launch detect_with_gazebo.launch
Move stereo camera by A+Left stick and move an object by A+Right stick.
Plug ZED before start containers and run below command in the container terminal:
$ roslaunch moving_object_detector_launch detect_with_gazebo.launch
$ sudo docker-compose stop
-
disparity_image_proc
Small library to process stereo_msgs/DisparityImage
-
moving_object_detector_launch
Launch files
-
moving_object_msgs
Message definition represents moving objects
-
moving_object_to_marker
Convert moving_object_msgs to visualization_msgs/MarkerArray to visualize by RViz
-
moving_object_tracker
Track moving objects by Kalman filter
-
scene_flow_constructor
Construct scene flow from camera transform, disparity image and optical flow
-
scene_flow_clusterer
Clustering scene flow and each clusters are treated as moving objects
-
kkl
Kalman filter library written by Kenji Koide.
-
viso2_stereo_server
Provide service which estimate camera motion from stereo image