This should start rviz, and bringup your first usb camera (you can change it with the arguments `camera_name` and `camera_id`). Cosypose will then run in loop and display the results in rviz.
* __Note:__ The camera must be calibrated first. See [this section](#usb-camera-calibration)
### Details
...
...
@@ -60,16 +66,15 @@ This node creates a service `/pose_estimation`. It expects, as an input for each
***Optionally** A list of `CosyObjects` for warm-starting the pose estimation.
(If this list is not empty, then the detection phased is skipped and the pose estimation is only run on the given objects.)
In debug mode, this service publish messages, for each call, in displayable by rviz. By default, it publishes on :
-`/ros_cosypose/pose_debug` a 6D PoseArray (that can be display by RViz as frames)
-`/ros_cosypose/marker_debug` a MarkerArray that contains the meshes and pose of each detected object.
#### pose_estimation_loop.py node :
This node simply calls the `/pose_estimation` indefinitely.
It subscribes to a camera image topic, and run the pose estimation in loop on the latest image. It then publishes the results on the `/cosyobject_list` topic.
(It can also "track" objects by warm-starting every estimation with the result of the previous one)
#### rviz_translator.py node :
This node subscribe to the `/cosyobject_list` topic (published by object_pose_estimation.py node) and transforms the incoming messages to other format that are displayable by rviz. By default, it publishes on :
-`/cosyobject_poses` a 6D PoseArray (that can be display by RViz as frames)
-`/cosyobject_markers` a MarkerArray that contains the meshes and pose of each detected object.
### USB Camera Calibration
You will need a large [checkerboard](http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration?action=AttachFile&do=get&target=check-108.pdf) with known dimensions. Here is a 8x6 checkerboard. (Calibration uses the interior vertex points of the checkerboard, so an "9x7" board uses the interior vertex parameter "8x6")