Skip to content

AdvancedExecutionProcedures

Hiroki Yamada edited this page Sep 18, 2021 · 16 revisions

Execution Mode

The application starts in the competition mode if the the executionMode of InteractiveCleanupConfig.json is 0, it starts in the data generation mode if it is 1.

In the mode for the competition, the pre-generated EnvironmentInfoXX.json file is used to relocate objects and AvatarMotionXX.dat is used to reproduce the movements of the human avatar. In this case, if these files are not found, an error will occur.

In the data generation mode, need to prepare the VR headset(Oculus Quest 2). The position and orientation of relocatable objects is determined randomly upon execution, and the graspable objects are determined by the objects pointed by the human avatar. Then EnvironmentInfoXX.json and AvatarMotionXX.dat will be output.

Generate the Competition data using Oculus Quest 2

Competition data means EnvironmentInfoXX.json and AvatarMotionXX.dat.
You can use Oculus Quest 2 to generate the competition data.
Please install Steam, SteamVR and Oculus Software on your PC. Oculus Link is also required.
Note that EnvironmentInfo01.json and AvatarMotion01.dat will be updated when you perform the following data generation procedure.

  1. Start the ROS side application.
  2. Set the executionMode of InteractiveCleanupConfig.json to 1 and start the application.
  3. Proceed as usual until receiving "I_am_ready" message.
  4. Perform the pointing action using Oculus Touch Controller as follows:
    1. Press the A button or the X button. (Start recording)
    2. Control the thumbstick to move the avatar as needed. And press the middle finger trigger to display a laser pointer. The laser is just a guide for pointing.
    3. Select the grasping target with the laser pointer and press the index finger trigger.
    4. Select the destination with the laser pointer and press the index finger trigger.
    5. Move back to initial position if you moved. (This is for re-pointing)
    6. Press the A button or X button. (End recording)
  • The default number of the graspable objects is 13.
  • If you want to change the positions of the graspable objects, change the positions of Layout2019IC01/GraspingCandidatesPositions/GraspingCandidatesPositionXX.
    (The graspable objects will be placed randomly at the positions of GraspingCandidatesPositionXX.)
  • There are white objects at the initial position of the human avatar as a landmark.

The competition data is output in the above procedure, and it is also possible to verify in real time how the robot moves according to the movements of the human who is pointing.

Resume the Competition from the middle

If a session is terminated before completion for any reason, have to restart the application and resume the competition from the next session.

In that case, first add the score of the session that ended illegally to InteractiveCleanupScore.txt.
Then set isScoreFileUsed to true in InteractiveCleanupConfig.json and run the application. The application will then read the scores from the InteractiveCleanupScore.txt and resume the competition from the next session that ended illegally.

Playback of Robot Movements during the session

This section describes how to playback the robot's movements during the session so that you can check them later. Be aware this playback cannot fully reproduce collisions and changes to scores.

If you run the application with playbackType set to 1 in InteractiveCleanupConfig.json, the robot's movements during the session will be exported to PlaybackXX.dat.
After that, set the playbackType to 2 and then run the application to read and play the robot's movements from Playback00.dat.

Note the number for the file to read is “00” for playback. You need to change the file name number to "00". Only one file can be used for playback each time.

Clone this wiki locally