Requirement: ROS Kinetic, Gazebo-8, and ROS packages:
- gazebo_ros
- message_filter
- vision_msgs
Recommended ROS Packages:
Requirements:
- An X server
- Docker
- Nvidia-Docker
- Place this package and the above recommended packages (if you want to ckeck out the validation example with tensorflow_detector) in
workspace/src
folder on your local machine. - Replace the
WORKSPACE
variable indocker/run_demo.bash
to point to your workspace in your local machine. - Then, RUN:
cd projection/docker
bash run_demo.bash
To check out the basic version, like the one in the gif below,
- Place this packge in your workspace's src folder (Ignore this step if you followed previous steps for using docker).
- RUN
catkin_make
. - RUN
roslaunch projection getbox.launch
.
This will open Rviz and Gazebo,
- The Image with the 2D bounding box can be found on ros topic
/ShowBoundingBox/image_raw
- The minimum and maximum corners of the 2D Bounding Box is on ROS topic
/pixels
: The message is in the order (x_min, y_min, x_max, y_max) - The object (person) in the default world launched can be moved around, and the corresponding Bounding Boxes can be seen overlayed on the image in Rviz.
To set random poses to the object and see the corresponding Bounding Boxes,
RUN roslaunch projection getbox_setpose.launch
- This will launch a node(setPose.py) to publish random poses to the setPosesPlugin attached to the Model. Like this:
Like this:
- Make sure that you have tensorflow installed, for tensoflow installation check here.
- Get all of recommended the recommended ROS packages along with this package and place them in your workspace. (Ignore this step if you followed previous steps for using docker).
- RUN
catkin_make
. - RUN
roslaunch projection demo.launch
, this will launch the mcity world with prius car and a person (object) by default and you can move the car using your joystick orWASD
on your keyboard, The person model will move randomly along with the car. - To get the accuracy score of the tensorflow detection, RUN
rosrun projection validate.py
.
To set the prius to follow a predifined path like this:
- RUN :
roslaunch projection demo_setpose.launch
, this will also runsetPose_prius.py
node to set pose of the prius according to the poses in the csv file. - Then again, to get the accuracy of the tensorflow detection, RUN
rosrun projection validate.py
.