Skip to content

Latest commit

 

History

History
175 lines (107 loc) · 6.96 KB

File metadata and controls

175 lines (107 loc) · 6.96 KB

rc_reason_clients for ROS1

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

Building

  • Create a ROS workspace
  • clone the repository
  • install dependencies rosdep install .
  • build with your favorite catkin tool, e.g. catkin build

Running

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

rc_april_tag_detect_client and rc_qr_code_detect_client

Clients to interface with TagDetect (AprilTag and QRCode detection) running on the device. See the TagDetect documentation for details.

TagDetect parameters

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)

TagDetect services

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

rc_silhouettematch_client

Client to interface with SilhouetteMatch running on the device. See the SilhouetteMatch documentation for details.

SilhouetteMatch parameters

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)

SilhouetteMatch Services

To run the client: rosrun rc_reason_clients rc_silhouettematch_client _host:=10.0.2.40

rc_itempick_client

Client to interface with ItemPick running on the device. See the ItemPick documentation for details.

ItemPick parameters

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)

ItemPick services

To run the client: rosrun rc_reason_clients rc_itempick_client _host:=10.0.2.40

rc_boxpick_client

Client to interface with BoxPick running on the device. See the BoxPick documentation for details.

BoxPick parameters

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)

BoxPick services

To run the client: rosrun rc_reason_clients rc_boxpick_client _host:=10.0.2.40

rc_hand_eye_calibration_client

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.

HandEyeCalibration parameters

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")

HandEyeCalibration services

To run the client: rosrun rc_reason_clients rc_hand_eye_calibration_client _host:=10.0.2.40

rc_load_carrier_client

Client to interface with LoadCarrier detection and RegionOfInterest configuration running on the device.

See the LoadCarrier documentation for details.

LoadCarrier parameters

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)

LoadCarrier services

To run the client: rosrun rc_reason_clients rc_load_carrier_client _host:=10.0.2.40

rc_cadmatch_client

CADMatch is only available for the rc_cube.

Client to interface with CADMatch on the rc_cube.

See the CADMatch documentation for details.

CADMatch parameters

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)

CADMatch services

To run the client: rosrun rc_reason_clients rc_cadmatch_client _host:=10.0.2.40