World Robot Summit 2018 Information

Robot competition Tunnel Disaster Response and Recovery Challenge scheduled to be held in October 2018 as part of the World Robot Challenge (WRC) 2018 Disaster Robotics Category at World Robot Summit (WRS) will be held as a simulation competition using Choreonoid. This page will inform you of information on this competition.

Note: The deadline for participating in this event is March 15th. Those who wish to participate, please apply earlier to participate in the entry for challenges .

Update: March 12, 2018

Competition Overview

This competition competes for the ability to perform tasks assuming tunnel accidents and disasters, consists of six tasks in all, and is implemented as a simulation game targeting virtual environments on computers.

Regarding the rule etc. of this competition, please refer to the item of “Tunnel Disaster Response and Recovery Challenge” in WRC 2018 Disaster Robotics Category . The following document describing detailed rules is published.

Simulator

The simulator used in this competition is the integrated robot simulator Choreonoid .

We are improving Choreonoid now for the implementation of the competition. The latest Choreonoid source code is released in the repository on github , anyone can download and try it.

Choreonoid supports Ubuntu Linux and Windows, but the OS used for competition will be Ubuntu Linux. The version of Ubuntu to use is unspecified, but the use of Ubuntu Linux 18.04 scheduled to be released this April is powerful. Currently, Ubuntu Linux 16.04 is used to improve Choreonoid and develop competition tasks.

In this competition we will use AGX Dynamics as a physics engine. AGX Dynamics is a commercial physical engine and requires a license to use it, but for participating in this competition, participation license is to be provided free of charge. License for Choreonoid can also be purchased from VMC Inc.

The simulation PCs used at the competition will be prepared by competition organizers. To do the simulation to prepare for the participation of the competition, please install Choreonoid on each participant’s PC.

Teleoperation device

In this competition, teleoperation can be used to perform the task by the robot. In that case, construct a teleoperation terminal on a device (PC etc) different from the simulation PC and connect the virtual robot and the teleoperation terminal in the PC for simulation with a network. Participants need to prepare teleoperation terminals for this purpose. Any teleoperation terminal can be used as long as it can connect to the virtual robot via a network.

Prototypes of competition tasks

By installing the Choreonoid development version stored in Github’s repository, we can now try out prototypes of competition tasks currently under development. We provide prototypes that are executable without the AGX Dynamics, so please try by looking for participation in this competition.

The following explains how to execute prototype task simulations.

Preparation of PC for simulation

This competition is supposed to be done using Ubuntu Linux and we currently develop competition tasks on Ubuntu 16.04, so prepare a PC environment that can use Ubuntu 16.04.

As for PC specifications, you can try out the simulation in general in environments that satisfy the following conditions.

  • CPU: Intel Core i series, AMD Ryzen series etc.

  • Memory: 4 GB or more

  • GPU (graphics board): NVIDIA’s GeForce or Quadro’s GPU is recommended. Intel’s Core i built-in GPU is also acceptable.

The AMD GPUs do not have sufficient support for Linux, and their operation can not be guaranteed.

The specification of the PC used in the actual competition is under consideration of the following.

  • CPU: Core i 7 8700 K (6 cores, 3.7 GHz, up to 4.7 GHz in turbo boost)

  • Memory: 32 GB

  • GPU: GeForce GTX 1080

In order to execute all tasks without problems in real time, you need a PC with this specification and AGX Dynamics.

The operation on the virtual machine is deprecated. Please use the PC environment that natively installs Ubuntu Linux.

Installing development version Choreonoid

Please install the latest development version of Choreonoid on Ubuntu Linux 16.04 first according to Building and Installation from Source Code (for Ubuntu Linux) from Choreonoid latest version (development version) manual .

For details of the installation, refer to the above document, as an outline start up the terminal and input the following commands.

sudo apt -y install git
git clone https://github.com/s-nakaoka/choreonoid.git
cd choreonoid
misc/script/install-requisites-ubuntu-16.04.sh
cmake .
make

Note that in the last make command, -j option can be used like

make -j 8

to make the compiling parallel and the processing ends more quickly. The number after -j is the number of parallel processing, it is good to specify a value slightly larger enter the number of logical cores of CPU.

Note

If you have the AGX Dynamics license, you can install AGX Dynamics and build Choreonoid’s “AGX Dynamics plugin”, simulation using AGX Dynamics is possible. The AGX Dynamics plugin needs to have BUILD_AGX_DYNAMICS_PLUGIN and BUILD_AGX_BODYEXTENSION_PLUGIN set to ON in CMake setting when building Choreonoid. For details, refer to Installation of AGX Dynamics Plugin .

Even after installation, you can always use the latest version of Choreonoid by executing the following on the source directory where you did the above work

git pull
make

Since development of Choreonoid will continue for the time being to hold this competition in the future, please try while updating to the latest version from time to time.

Files of competition task prototypes

Choreonoid simulation projects corresponding to the prototypes of the competition tasks are stored under “sample / WRS2018” of the Choreonoid source. The files of the projects are divided into target task, use robot, simulator item to be used, and each file has the following file name.

  • Task - Robot model.py

Here, one of T1 to T6 set in this competition is entered in “Task”.

“Robot model” contains one of the following four.

  • DoubleArmV7S(Double arm robot, simplified track version)

  • DoubleArmV7A(Double arm robot, AGX track version)

  • AizuSpiderSS(Aizu Spider robot, simplified track version)

  • AizuSpiderSA(Aizu Spider robot, AGX track version)

For example, in task T1, a project using a simplified track version of a double arm robot will be named “T1-DoubleArmV7S.py” .

Unlike a regular Choreonoid project file (extension .cnoid), these file are written as a Python script. This can load the project by specifying it with the –python option when starting Choreonoid. For example, in the pre-built Choreonoid source directory, from the command line

bin/choreonoid --python sample/T1-DoubleArmV7S.py

invokes Choreonoid and load the “T1-DoubleArmV7S.py” project.

Note that the prototypes do not contain all the models necessary for the competition. In the present situation, please think that it is a test-like thing to know the outline of the competition to the last. Task T6 is currently under development and no prototype is provided.

Introduction of robot models

In the prototypes, we make it possible to use “double arm robot” (Osaka Univ.), which is one of the platform robots by the competition committee. The appearance of this robot model is shown below.

../../_images/DoubleArmV7A.png

This model uses continuous tracks (crawlers), and we are offering a version that performs simplified simulations on the tracks and a version that simulates more real tracks using AGX Dynamics. The base name of the model is “DoubleArmV7”, and by adding “S” of “Simplified” or “A” of “AGX” as a suffix, the models are named

  • DoubleArmV7S(Simplified version)

  • DoubleArmV7A(AGX version)

respectively.

The model files are stored as “DoubleArmV7S.body” and “DoubleArmV7A.body” files under the “share / model / DoubleArmV7” of the Choreonoid source directory.

Note

Simplified track version can be used with Choreonoid’s standard function, and the prototypes are set to simulate using AIST simulator item. In order to use the AGX track version, it is necessary to install AGX Dynamics and AGX Dynamics plugin as mentioned in Installing development version Choreonoid . The AGX track version is simulated using the AGX simulator item.

As another platform robot, “WAREC-1” developed by Waseda University can also be used. The appearance of this is shown below.

../../_images/WAREC1.png

This robot is a type of legged robot and can be used as a four-legged robot, or it can be used like a humanoid robot by using two limbs as the legs and the other two limbs as the arms.

The model file of this robot is stored under “share/model/WAREC1” under the file name “WAREC1.body”. However, we do not prepare competition task prototypes for this model at present.

In this competition, the above platform robots are set up, but from the rule it is also possible to participate by using other robots. In the competition task prototypes, we also made it possible to use a model of robot “Aizu Spider” jointly developed by Aizu University and Aizuk Corporation. The model of this robot is shown below.

../../_images/AizuSpiderSA.png

This model is a general configuration of a disaster response robot, and it has two main continuous tracks and four sub tracks mounted on the front and back flippers. Also equipped with Kinova’s JACO-2 arm, manipulation can also be done. The one shown in the above figure is a single-arm version with one arm, and it is used for prototype as well. As with double arm robot, there are two types of continuous tracks as follows.

  • AizuSpiderSS (Simplified track version)

  • AizuSpiderSA (AGX track version)

In addition, the following variation models are also available from the difference in the number of arms mounted.

  • AizuSpiderNS (No arm, simplified track version)

  • AizuSpiderNA (No arm, AGX track version)

  • AizuSpiderDS (Double arm, simplified track version)

  • AizuSpiderDA (Double arm, AGX track version)

All of the files of these models are included in the “share / model / AizuSpider” under the Choreonoid source, and are the file names with the extension “.body” appended to the above model name.

How to operate the robots

In the competition task prototypes, all robot operations are manually operated using a game controller device.

Supported game controllers

Currently supported game controllers are as follows:

  • Sony Playstation 4 Dualshock 4 Game Pad

  • Sony Playstation 3 Dualshock 3 Game Pad

  • Logicool F310 Game Pad

  • Microsoft XBOX Controller

  • Microsoft XBOX 360 Controller

If you need to purchase a new one, we recommend Dualshock 4. Dualshock 4 is easy to obtain, and it has excellent operability and durability, and it is also used for the development of competition tasks.

Note

In order to use Dualshock 3, 4 on a PC, it is necessary to prepare a Micro USB cable separately, so please note this point. Or you can use the USB wireless adaptor for Dualshok4 .

Please connect the game controller in advance to the simulation PC.

How to operate the double arm robot

The operation method of the double arm robot using the game controller is as follows.

Directional pad

Tracks

L1 button + left stick

Tracks

L1 button + right stick

Tracks

Left stick horizontal axis

Arm base yaw axis

Right stick horizontal axis

Arm first joint yaw axis

Left stick vertical axis

Arm first joint pitch axis

Right stick vertical axis

Arm second joint pitch axis

Y, A buttons(Triangle, Cross buttons)

End effector pitch axis

X, B buttons(Square, Circle buttons)

End effector yaw axis

L1 button + X, B buttons(Square, Circle buttons)

End effector roll axis

R1 button, R2 trigger

End effector opening and closing

Log button (PS button)

Switching operation target arm

The L1 button is a button to switch the operation target with respect to some sticks and buttons. Hold down the L1 button and operate the “…” part for “L1 button + …”.

How to operate Aizu Spider

For Aizu Spider, the vehicle body is the main body of Aizu Spider, and there is a configuration that zero to two JACO-2 arms are installed there.

In operation of the game pad, first change the operation target with the logo button (PS button). At the beginning, the vehicle body is the target, each time you press the button

  • Body -> First Arm -> Second Arm -> Body -> …

It switches in such a way.

The operation method of the vehicle body part is as follows.

Directional pad

Tracks

Left stick

Tracks

Right stick

Rise and fall of all flippers

L2 trigger + right stick

Rise and fall of the left front flipper

R2 trigger + right stick

Rise and fall of the right front flipper

L1 button + right stick

Rise and fall of the left back flipper

R1 button + right stick

Rise and fall of the right back flipper

Right stick button (push in the right stick)

Align the positions of all the flippers

※ The direction pad becomes the operation of the tracks regardless of what the operation target is.
※ L1, L2, R1, R2 can be used in any combination. For example if you hold down both L1 and L2 and operate the right stick, you can operate the left flippers at the same time.

The operation method of the arm part is as follows.

Left stick horizontal axis

Arm first joint

Left stick vertical axis

Arm second joint

Right stick vertical axis

Arm third joint

Right stick horizontal axis

Arm fourth joint

X, B button(Square、Circle button)

Arm fifth joint

L1, R1 buttons

Arm sixth joint

L2, R2 triggers

Opening and closing of the hand

Notes

The manual operation with the game controller introduced here provides the minimum necessary function for the test and it is very low level which can not operate the inverse kinematics of the hand. There is no need to use the same operation method in actual competition. In the competition, rather than compete for the skills of manual operation, we would like to compete for robot task performance by constructing an efficient operation interface and improving autonomy of the robot.

In the prototypes, all robot operations are handled within the controller directly connected to the simulator, but in the actual competition, the robot must be operated from another operation terminal on the PC connected via the network. Each participant needs to develop a communication program etc. to do this. (Generally, communication programs are built using ROS and OpenRTM.)

We are also planning to provide a sample of the teleoperation interface which also considered the above.

Introduction of competition tasks

This competition consists of a total of 6 tasks from T1 to T6. Here, we introduce the outline of each task while explaining the contents of the task prototypes and operation method. For details of each task and the accurate rules of the competition, please see the rule book .

Task T1

Let’s first look at Task T1, traversing obstacles. Please start up Choreonoid as below and read the prototype of T1. (We assume that we will execute the command on the pre-built Choreonoid source directory below.)

bin/choreonoid --python sample/WRS2018/T1-DoubleArmV7S.py

Then the following screen will be displayed.

../../_images/T1-DoubleArmV7S.png

Let ‘s start the simulation here. Then you can operate the double arm robot with the game controller. Please maneuver the robot well, overcome the rough terrain and avoid obstacles.

In the actual competition, multiple target markers to be surveyed will be installed in the environment. While moving through the tunnel, the robot has to read the contents of the markers. The robot also need to do this by teleoperation. In the case of teleoperation, tasks need to be carried out by relying only on information obtained from the cameras and the sensors mounted on the robot. In order to carry out the task quickly and reliably, improvement of the autonomy of the robot is also considered to be the key.

The project “T1-DoubleArmV7S” read here is a simplified version of the continuous tracks of the robot model, and it is set to simulate with the AIST simulator item of the standard function of Choreonoid. This allows you to run without the AGX Dynamics license. However, as you can see, the track sections do not rotate the track shoes, but the mechanism is such that the rigid body of the track sections forcibly generates thrust against the ground and moves. In this simulation, operation may become unstable depending on the contact situation between the track surface and the environment, and if the robot is moving on an irregular ground, the robot may suddenly fly or fall down, but this please understand that it is the limit of the simulation method.

In the actual competition, simulation is performed with the AGX simulator instead of the AIST simulator. This prototype is also available, so if you can use AGX Dynamics please try it too. In that case, if it is a double-arm robot model, read “T1-DoubleArmV7A.py”.

bin/choreonoid --python sample/WRS2018/T1-DoubleArmV7A.py

The operation method of the robot is the same as the simplified version. In the case of the AGX version, the part of the tracks actually propels to rotate around the wheel. If you actually use this to try out rough terrain travel etc, you can see that the behavior of the tracks is closer to the real thing.

Let’s try T1 on the Aizu Spider model. As before, load the following projects.

  • T1-AizuSpiderSS.py (simplified version)

  • T1-AizuSpiderSA.py (AGX version)

Aizu Spider also operates with the game controller.

Since the size of the robot is smaller than that of the double arm robot, it is more difficult to move on the rough terrain. In addition, since troubles in simplified tracks appear more remarkably in this Aizu Spider model, it is necessary to pay attention to the robot operation so that such symptoms do not occur in rough terrain movement. In the AGX version, such a problem will rarely appear.

Task T2

T2 is the task of vehicle inspection.

The corresponding project files are as follows:

  • T2-DoubleArmV7S.py (Double arm robot, simplified version)

  • T2-DoubleArmV7A.py (Double arm robot, AGX version)

  • T2-AizuSpiderSS.py (Aizu Spider, simplified version)

  • T2-AizuSpiderSA.py (Aizu Spider, AGX version)

Load a project by executing a command like

bin/choreonoid --python sample/WRS2018/T2-AizuSpiderSS.py

Then the models are displayed as shown below.

../../_images/T2-AizuSpiderSS.png

Here is the vehicle in the tunnel. Open a door of the vehicle and investigate inside it.

The door should open by handling the door knob, but that part is under development now. Instead, the door is a little open in advance, so the robot can open it by inserting a hand through that gap. However, because the joint movement range can not be set with the AIST simulator, even if the hinge of the door exceeds the movable range it will move. That part works correctly with the AGX simulator.

Task T3

Task T3 is vehicle inspection using tools and victim extraction.

The following files are prepared for the prototype simulation project:

  • T3-DoubleArmV7S.py (Double arm robot, simplified version)

  • T3-DoubleArmV7A.py (Double arm robot, AGX version)

  • T3-AizuSpiderSS.py (Aizu Spider, simplified version)

  • T3-AizuSpiderSA.py (Aizu Spider, AGX version)

At first glance it has the same structure as T2, but in the vehicle there is a necessary rescuer (dummy target) confined. In the actual competition, the door does not open by normal operation, so it is necessary to first cut the door lock and the hinges using a spreader tool, move the door, and carry out the dummy target from the inside of the vehicle. However, this part is under development now. In this prototype, it is just the state that a dummy target was added to T2.

Task T4

T4 is a task to secure the route.

The following files are prepared for the prototype simulation project:

  • T4-DoubleArmV7S.py (Double arm robot, simplified version)

  • T4-DoubleArmV7A.py (Double arm robot, AGX version)

  • T4-AizuSpiderSS.py (Aizu Spider, simplified version)

  • T4-AizuSpiderSA.py (Aizu Spider, AGX version)

In the prototype, as some obstacles are scattered in the tunnel, please experience the operation of removing these obstacles by pushing it up or lifting it with a robot. The double-arm robot and Aizu Spider can grab obstacles and lift if you manipulate the arm well, so please try it. . Please refer to the rule book for accurate competition content.

Task T5

T5 is the task of fire extinguishment.

The following files are prepared for the prototype simulation project:

  • T5-DoubleArmV7S.py (Double arm robot, simplified version)

  • T5-DoubleArmV7A.py (Double arm robot, AGX version)

  • T5-AizuSpiderSS.py (Aizu Spider, simplified version)

  • T5-AizuSpiderSA.py (Aizu Spider, AGX version)

When loading this project, the following fire cabinet are installed in the tunnel.

../../_images/FireCabinet1.png

When opening the door of this hydrant cabinet, the hose reels and valves are contained as shown below.

../../_images/FireCabinet2.png

Please operate the robot well, open the door of the fire cabinet, pull the reel forward, or turn the valve.

This task is also under development and we will make it possible to remove hoses from reels in the future. A nozzle will be also installed in the fire cabinet, connect the nozzle to the hose that you take out, and you can start fire extinguishing work by turning the valve. A fire is occurring inside the tunnel, and we will operate the hose aiming at that part. As you turn on the nozzle, water will come out, so the robot will apply it extinguishing by applying it to the flame.

Task T6

T6 is a task to perform sharing and bleaching. This task is also under development and prototypes are not yet available.