Skip to content

screwing

David Leins edited this page Apr 10, 2023 · 4 revisions

HOME > TECHNICAL INFO: SCREWING

Short Description

For this task, a screw, a nut, and a fixture are placed on the workspace table. The goal is to thread the screw into the nut. This requires solving the following sub tasks: pick up the nut, place the nut into the fixture, pick up the screw, align screw into nut, and tighten the screw. Each sub task should be completed within 5 minutes, otherwise the whole run will be terminated prematurely.

Object Information

The sections below list the objects, as well as their attached sensors and attributes.

Properties

Properties can be found in the rosparam server under the depicted name. The get the full path, run rosparam list | grep PROPERTY_NAME while the simulation is running.

Sensors

Sensor topics can be listened to from the command line by running rostopic echo /PATH/TO/SENSOR, e.g. rostopic echo /screw_top_pos. If testing mode is active, each sensors publishes a second topic without noise. These topics can be reached by simply appending the _GT suffix to the topic path.

Note: The higher you choose the difficulty level, the less information you are provided with and the more noisy the sensors get.

Screw

The following image displays the information available for the screw object in the scene. The red circles indicate the locations of the position sensors. Note, for each position sensor, there exists a quaternion sensor at the exact same location.

Nut

The following image displays the information available for the nut object in the scene. The red circles indicate the locations of the position sensors. Note, for each position sensor, there exists a quaternion sensor at the exact same location.

Fixture

The following image displays the information available for the fixture object in the scene. The red circles indicate the locations of the position sensors. Red arrows denote width, length, or height properties. Note, for each position sensor, there exists a quaternion sensor at the exact same location.

Difficulty levels

There are 3 levels of difficulty for the screwing task:

Difficulty 1 (easy)

  • Screw and nut in upright position
  • Fixed spawn areas for screw, nut, and fixture
  • (noisy) Cartesian object poses
  • Small noise level for sensor values and poses
  • Fixed shape models for screw and nut
  • High friction gripper fingers

Difficulty 2 (medium)

  • Screw and nut in upright, lying or flipped position
  • Screw, nut, and fixture spawn randomly on the table
  • (noisy) Cartesian object poses
  • Medium noise level for sensor values and poses
  • Models for screw and nut vary in type and size
  • Realistic friction for gripper fingers

Difficulty 3 (vision-only)

  • Screw and nut in upright, lying or flipped position
  • Screw, nut, and fixture spawn randomly on the table
  • No Cartesian poses, realistic sensor noise
  • Models for screw and nut vary in type and size
  • Realistic friction for gripper fingers

Scoring

For the scoring the sub tasks are weighted as shown in the following table:

sub task weight $w_s$
Pick up the nut 10
Place the nut into the fixture 10
Pick up the screw 10
Align screw into nut 40
Tighten the screw 20

The task will be evaluated for a fixed number of iterations on each difficulty level. Initial poses of objects will be randomized across iterations, but identical for all participants. The total score is aggregated as the weighted sum of all successfully completed sub tasks over all iterations, as shown in the following equation,

$$ \text{score} = \sum_{d \in D} \sum_{s \in S} w_{s} \cdot P(d,s), $$

where $D$ is the set of difficulty levels, $S$ is the set of sub tasks, $w_s$ is the weight of sub task $s$ as indicated above, and $P(d,s)$ is the success rate of sub task $s$ on difficulty level $d$.

Align Screw Into Nut Clarification

For the screw and nut to be considered aligned, the following criteria have to be met:

  1. the cartesian distance between nut head and screw tip must be below 0.002m
  2. the roll and pitch offset between screw and nut both have to be below $\frac{\pi}{9}$ degrees
  3. then the screw might need to be turned until its simulated thread is correctly aligned (rotation-wise of course) with the nut