TBM3 - “Prepare Box for manual Assembly Step”
Objects to be collected
- AX-01 Bearing Box (Type A) or AX-16 Bearing Box (Type B)
- AX-02 Bearing
- AX-03 Axis
- AX-04 Shaft Nut
- AX-05 Distance Tube
- AX-09 Motor with Gearbox
Box with QR code
All the above specified objects need to be collected and packed into a box at a specific workstation or shelf. The box will be either colored _red_ or _blue_ and is labeled with an QR code. The following picture illustrates an example for _blue_ box used in the competition: !blue_box.jpg!
For this task benchmark the robot does +not+ have to control any networked device in the environment. The force fitting machine will be operated by a human worker. Therefore the communication between the refbox and the robot is relatively straightforward:
- The robot sends a "BeaconSignal":https://github.com/mas-group/rockin-refbox/blob/rockin/rockin/msgs/BeaconSignal.proto message at least every second.
- The robot waits for "BenchmarkState":https://github.com/mas-group/rockin-refbox/blob/rockin/rockin/msgs/BenchmarkState.proto messages. The robot is suppose to start the task benchmark as soon as _state_ is equal to _RUNNING_. Otherwise, the robot should wait until the value changes from _INIT_ to _RUNNING_.
- The robot waits for a "Inventory":https://github.com/mas-group/rockin-refbox/blob/rockin/rockin/msgs/Inventory.proto message from the refbox (which is sent out continuously by the refbox) in order to receive the initial distribution of objects and their locations in the environment. *NOTE:* the inventory will not get updated during a run, i.e. it always reflects the initial situation only.
- The robot waits for a "Order":https://github.com/mas-group/rockin-refbox/blob/rockin/rockin/msgs/Order.proto message from the refbox (which is sent out continuously by the refbox) in order to receive the actual task, i.e. where should which object be at the end.
- The task benchmark ends when all objects are at their final location as specified in the "Order":https://github.com/mas-group/rockin-refbox/blob/rockin/rockin/msgs/Order.proto message.
List of variables to be logged
Additionally, the robot is required to log any relevant sensor data used to perform classification (e.g., planned trajectories and replanning). This offline data has to be logged on a USB stick which is directly connected to the robot. The offline log may be a rosbag or the corresponding YAML representation, as specified in document: "RoCKIn YAML Data File Specification". Online data has to be sent directly to the referee box.
Online data: No online benchmarking data has to be sent to the referee box during this task benchmark.
Offline data: RoCKIn requires that robots save some data when executing the benchmarks. The modalities for this are explained by "this document". The following are expected ROS topic names and corresponding data types stored in a YAML file or rosbag:
- initial_plan [nav_msgs/Path]
- notification [std_msgs/String]
- new_plan [nav_msgs/Path]
- pose2d [geometry_msgs/Pose2D]
- pose [geometry_msgs/Pose]
- base path [nav_msgs/Path]
- tf [tf/tfMessage] or [tf2_msgs/TFMessage]
Important! Calibration parameters for cameras must be saved. This must be done also for other sensors (e.g., Kinect) that require calibration, if a calibration procedure has been applied instead of using the default values (e.g., those provided by OpenNI).