This package provides ROS1 client nodes that interface with Roboception devices like the rc_visard 3D sensor and rc_cube.
Please consult the manuals for detailed descriptions of parameters and services:
These rc_reason client nodes communicate with the device via REST-API and make the functionality available in a ROS native way:
- automatically provide all parameters as ROS parameters
- provide ROS services
- Create a ROS workspace
- clone the repository
- install dependencies
rosdep install .
- build with your favorite catkin tool, e.g.
catkin build
The parameters and services of each client have the same names as in the REST-API (see documentation).
Additionally every client has a host
parameter which needs to be set to the IP address or hostname of the device (i.e. rc_cube or rc_visard) and a pipeline
parameter which defaults to 0.
Example to run the april tag detection client for pipeline 1:
rosrun rc_reason_clients rc_april_tag_detect_client _host:=10.0.2.40 _pipeline:=1
Clients to interface with TagDetect (AprilTag and QRCode detection) running on the device. See the TagDetect documentation for details.
The clients have additional parameters to enable publishing of detected tags on /tf
or as markers.
The child_frame_id is set to <tagId>_<instanceId>
.
publish_tf
: Publish detected tags on tf (default: True)publish_markers
: Publish detected tags as visualization markers (default: True)
For AprilTag detection:
rosrun rc_reason_clients rc_april_tag_detect_client _host:=10.0.2.40
For QRCode detection:
rosrun rc_reason_clients rc_qr_code_detect_client _host:=10.0.2.40
Client to interface with SilhouetteMatch running on the device. See the SilhouetteMatch documentation for details.
The client has a additional parameters to enable publishing of detected instances on /tf
or the base plane as marker.
The child_frame_id is set to <templateId>_<instanceId>
.
publish_tf
: Publish detected instances on tf (default: True)publish_markers
: Publish base plane as visualization marker (default: True)
To run the client:
rosrun rc_reason_clients rc_silhouettematch_client _host:=10.0.2.40
Client to interface with ItemPick running on the device. See the ItemPick documentation for details.
The client has an additional parameters to enable publishing of detected load carriers and grasps on /tf
or as markers:
publish_tf
: Publish detected instances on tf (default: True)publish_markers
: Publish detected instances as visualization markers (default: True)
To run the client:
rosrun rc_reason_clients rc_itempick_client _host:=10.0.2.40
Client to interface with BoxPick running on the device. See the BoxPick documentation for details.
The client has an additional parameters to enable publishing of detected load carriers, grasps and items on /tf
or as markers:
publish_tf
: Publish detected instances on tf (default: True)publish_markers
: Publish detected instances as visualization markers (default: True)
To run the client:
rosrun rc_reason_clients rc_boxpick_client _host:=10.0.2.40
Client to interface with HandEyeCalibration running on the device.
The hand-eye calibration is published via TF2 (on /tf_static
) at startup and when a new calibration is performed or requested.
See the HandEyeCalibration documentation for details.
The client has the additional parameters for publishing via TF2:
camera_frame_id
: Name of the frame on the camera (default: "camera")end_effector_frame_id
: Name of the frame calibrated to when using a robot_mounted camera (default: "end_effector")base_frame_id
: Name of the frame calibrated to when using a statically (externally) mounted camera (default: "base_link")
To run the client:
rosrun rc_reason_clients rc_hand_eye_calibration_client _host:=10.0.2.40
Client to interface with LoadCarrier detection and RegionOfInterest configuration running on the device.
See the LoadCarrier documentation for details.
The client has an additional parameters to enable publishing of detected load carriers on /tf
or as markers:
publish_tf
: Publish detected load carriers on tf (default: True)publish_markers
: Publish detected load_carriers as visualization markers (default: True)
To run the client:
rosrun rc_reason_clients rc_load_carrier_client _host:=10.0.2.40
CADMatch is only available for the rc_cube.
Client to interface with CADMatch on the rc_cube.
See the CADMatch documentation for details.
The client has an additional parameters to enable publishing of detected load carriers on /tf
or as markers:
publish_tf
: Publish detected load carriers on tf (default: True)publish_markers
: Publish detected load_carriers as visualization markers (default: True)
To run the client:
rosrun rc_reason_clients rc_cadmatch_client _host:=10.0.2.40