RobREx - Autonomy in rescue and exploration robots

Rescue and exploration robots (RERs) aid rescue crews in the face of disasters. Current RERs, including those manufactured by PIAP, are teleoperated, what significantly diminishes their operating range and requires constant human supervision. The conducted market analysis shows that in the near future the demand for autonomous devices will dominate. The goal of the project is to produce a set of technologies and an adequate architecture necessary for the production of autonomous RERs, or in general service and field robots. The project will deliver technologies enabling: perception of the environment; navigation and control of mobile platforms and manipulators; impedance control of manipulators and grippers; intelligent two-handed manipulation; active sensing and the use of ontology common to people and robots. The results will be demonstrated on two robots: a mobile manipulator SCOUT/GRYF manufactured by PIAP and a two-handed robot manipulator.

Test scenarios

Three computers were used in the test scenarios. Task Manager was running on the first computer. A few of the Service Managers were running on the second computer. Other system components (Repository, Service Registry, simulation and remaining Service Managers) were running on the third computer. Besides simulation, the system components do not require a lot of computing power, so running them on a single computer was possible.

Scenario 1a

The first test scenario consists in transporting an object from an open locker onto a platform. The transported object is, in this case, a jar with a content (granules). This task is performed by one service of type TransferObject representing one robot equipped with a gripper. The task is defined as follows:
  • initial conditions: Jar002 IsIn Cabinet001
  • final conditions: Jar002 Ison Platform001

Scenario 1b

During the execution of the transport task, a different types of failures may occur. In this scenario, the drive of the robot was damaged. In this case, the robot can still communicate with the rest of the system. It also has a working gripper. The robots puts the object on the ground and sends information about its position to Task Manager (final conditions: Jar002.PositionX = 12.5 AND Jar002.PositionY = 1.3 AND Jar002.PositionZ = 7). As a result, Task Manager may take actions allowing for the completion of the task. In this scenario, Task Manager searches for another service of the type TransferObject (the same type as the type of the service that failed) and invokes it. The initial situation of this task is the situation received from the robot (the current position of the jar). Realization of the second service consists in moving to the position of the jar, lifting it, transporting it to the target position, and putting it on the platform.

Scenario 2

Scenario 2 is, partially, an extension of the previous scenario. A hazardous explosive (a bomb) has to be moved to a platform of a device that can dispose of such dangerous objects. The task is realized by two services. The first one is a transport service, the second one disposes of an object which had been previously placed on its platform. The task is defined as follows:
  • Initial conditions: Bomb001 IsIn Cabinet001
  • Final conditions: Bomb001 IsOn Platform001

Scenario 3a

The task realized in this scenario consists in moving the content of a jar located in a cabinet to a bowl placed on a table. The transfer of the granulate involves an operation of moving the jar and pouring its content to the bowl. The task is defined as follows:
  • Initial conditions: ?Granules002 IsIn Jar001
  • Final conditions: ?Granules002 IsIn Bowl001

Scenario 3b

During the execution of the task described in scenario 3a, a situation may occur in which some of the content of the jar may be placed outside of the bowl. In this case, a procedure handling that type of failures, is executed. The procedure is defined in the abstract plan for transferring content of an object. The procedure involves a service of type CleanArea which cleans material (e.g. granules) from the floor. After cleaning, the granules are transferred to a designated location, e.g. the bowl form the original task. In this case, after execution of the failure handling procedure, the main task is successfully completed (all the granules are in the target object). If the task requires transferring of all the granules, and cleaning robot was not able to find them all or they can not be placed in a target container, the task fails. In this scenario, the first option was chosen, hence the final condition for cleaning task is “?Granules002 IsIn Bowl001”. Initial condition for the cleaning task is identical to the description of the situation received from the transfer service that failed to put all the granules into the bowl, which says that some of them are on the floor (? Granules002 IsOn Floor001).

Scenario with a failure