• Non ci sono risultati.

Semi-autonomous Teleoperated Robot via Motion Description Languages

N/A
N/A
Protected

Academic year: 2021

Condividi "Semi-autonomous Teleoperated Robot via Motion Description Languages"

Copied!
76
0
0

Testo completo

(1)

Facolt`

a di ingegneria

Tesi di Laurea Magistrale in Ingegneria

Robotica e dell’Automazione

Semi-autonomous Teleoperated

Humanoid Robot via Motion

Description Languages

Candidato:

Corrado Pavan

Relatore:

Prof. Antonio Bicchi

Controrelatore:

Prof. Lucia Pallottino

Centro interdipartimentale di ricerca Enrico Piaggio Dipartimento di Ingegneria dell’informazione

Sessione di Laurea del 9/05/2014

Anno Accademico 2012-2013

(2)

do anything that is tedious or distressing. At present machinery competes against man. Under proper conditions machinery will serve man. There is no doubt at all that this is the future of machinery, and just as trees grow while the country gen-tleman is asleep, so while Humanity will be amusing itself, or enjoying cultivated leisure – which, and not labour, is the aim of man – or making beautiful things, or reading beautiful things, or simply contemplating the world with admiration and delight, machinery will be doing all the necessary and unpleasant work.”

(3)

The DARPA Robotics Challenge (DRC) highlights the need to develop a new gen-eration of robots who can assist humans in disasters scenarios.

In the recent years, the improvements of low-level capabilities in humanoid robotics raised the possibility to move towards a more autonomous behavior in that field. The lack of strategical reasoning and overall mission awareness of the current robots, however, forced us to include a human-in-the-loop, creating a framework to control the robot using intuitive high-level commands.

In this work we developed a semi-autonomous, teleoperated framework with ad-justable autonomy to control a humanoid robot in the disaster scenario that will be set up during the DRC.

Based on reactive, behavioral and symbolic control literature, we designed a library of motion primitives, i.e. symbolic high-level commands to be issued through a simple control interface and input devices (mouse or gamepad). Following the guidelines of the DRC, the interface has been designed to be usable by people with little to none robotics training.

The control interface has been tested on the COMAN humanoid robot in the demonstration of the valve task of the DRC, showing its effectiveness.

(4)

Abstract 2

Contents 3

1 Introduction 1

1.1 Disasters scenarios . . . 3

1.1.1 DARPA Robotic Challenge . . . 3

1.1.2 Real disaster scenarios . . . 5

1.2 Problem statement . . . 5

1.3 Main contributions . . . 8

2 Human-Robot Interaction 9 2.1 Teleoperation . . . 9

2.1.1 Teleoperation spectrum. . . 10

2.1.2 Teleoperation in Humanoid Robotics . . . 11

2.1.3 Teleoperation in Urban Search And Rescue Robotics . . . . 13

2.2 Graphical Interfaces . . . 14

2.2.1 GUI for USAR application . . . 15

2.3 Hints from videogames . . . 16

3 Symbolic Control 20 3.1 Motion Description Languages . . . 21

3.1.1 MDLe . . . 21

3.1.2 Maneuver Automaton . . . 23

3.1.3 Wholebody control of humanoid robots . . . 26

3.1.3.1 Sentis’ approach . . . 26

3.1.3.2 Mansard’s approach . . . 28

4 Semi-autonomy via MDLs 30 4.1 A MDL for humanoid robots . . . 32

4.1.1 Locomotion primitives . . . 34

4.1.2 Manipulation primitives . . . 34

4.1.3 Locomanipulation primitives . . . 35

4.2 Case study: valve turning task . . . 37

4.2.1 Semantic description of the library . . . 37

4.2.1.1 Locomotion atoms . . . 38

(5)

4.2.1.4 Flat walk plan . . . 39

4.2.2 Finite State Machine . . . 40

4.3 Semi-autonomous control architecture. . . 40

4.3.1 Traded Control . . . 41

4.3.2 Shared Control . . . 42

4.3.3 Direct Control . . . 43

5 Implementation 45 5.1 Hardware . . . 45

5.1.1 The COMAN humanoid robot . . . 45

5.1.2 Teleoperation Station . . . 46 5.1.2.1 Control devices . . . 46 5.1.2.2 Displays . . . 47 5.2 Software . . . 48 5.2.1 GUI design . . . 48 5.2.2 Perception layout . . . 51 5.2.3 Display layout . . . 52 5.2.4 Status layout . . . 54 5.2.5 Control layout . . . 54 5.2.5.1 Planning widget . . . 55 5.2.5.2 Traded control . . . 56 5.2.5.3 Shared control . . . 57 5.2.5.4 Direct control . . . 59 5.2.5.5 Device choice . . . 60 6 Results 62 6.1 Valve turning task . . . 62

6.2 First Demo environment . . . 62

6.2.1 Teleoperation station . . . 63

6.3 Description of the results and discussion . . . 64

6.4 Future work . . . 66

(6)

Introduction

Recent disasters like Deepwater Horizon oil spill and Fukushima Daiichi nuclear disaster have highlighted the need to develop robots that can perform hazardous activities in future disaster response operations [1].

Initiatives such as the DARPA Robotics Challenge (DRC), introduced the idea of using humanoid robots to manage disaster situations. Humanoid robots can be particularly suited for these scenarios, relying on the ability to deal with man-made environments: traversing stairs and uneven terrains by the locomotion side, manipulating tools engineered for humans- requiring both strenght and dexterity-by the manipulation side.

Despite the increasing low-level capabilities of humanoid robots (e.g. improved limb motions like running and unstructured terrain traversing, self-balancing, com-pliant interaction with the environment, object recognition), teleoperation in still

Figure 1.1: A picture of a disaster scenario

(7)

essential to exploit the human competence in terms of decision making, strategic thinking, perception capabilities and awareness of the overall task [2].

Considering the three main primitives in AI robotics [3], i.e. the sense-plan-act paradigm, we can say that huge steps have been made in the lower two (plan and act) but the higher level is still an open issue. For the time being it constitutes a capability which need a human-in-the-loop to be realized.

Therefore teleoperation, i.e. robots controlled remotely by humans, rather than robots working entirely autonomously, it’s foundamental in this scenario. Teleop-eration is however an interim solution, with full autonomy being the ideal long term goal.

Moreover, telecommunication problems like intermittent availability, low-bandwidth and latency of the connection are expected in such disaster scenarios. The in-creased robot autonomy and the communication issues suggest to move toward the so-called semi-autonomous or supervisory control.

Real disaster scenarios, in addition, include even harder technological constraints challenges for the robot which work in that environment like heat and fire, smoke and hazardous fluid leakage which reduce much more both the perception capabil-ities of the robot (smoke can occlude the view, heat can put on risk the hardware, etc.) and the communication channel due to radioactivity or extreme heat of the environment.

In these context, even the situation awareness of a human operator can be in seri-ous trouble and his strategical reasoning can be put under a huge stress so there is a crucial need for a remote teleoperation control station controlled by a human. The peculiar challenges described above involve different robotics and control re-search areas, from Urban Search and Rescue (USAR) to Human-Robot Interaction (HRI), from Teleoperation to Humanoid Robotics.

In this work, a semi-autonomous control framework to control a humanoid robot in the disaster scenario described above is presented.

Furthermore, a teleoperation pilot control interface is developed to be tested in such scenarios. The human operator can issue symbolic commands to the robot, selecting the level of autonomy which the robot performs tasks with and can re-ceive visual and status informations back. The interface is thought to be modular and reconfigurable based on the peculiar needs for the task or the environment conditions and is thought to be general in the sense that it can be used by different kinds of robots performing in disaster scenarios.

(8)

and in real experiments during demonstrations based on DRC tasks within the WALK-MAN project.

1.1

Disasters scenarios

Disaster scenarios are situations in which men-made environments and areas pop-ulated by men are in situation of danger and devastation. Such scenarios can be variegated, including earthquakes, vulcanic eruptions, flood and fires disasters, landslides and hazardous material leakage.

In these situations, the environment presents many challenges which men are not able to contrast or in which human beings cannot be expendables. This is the reason why it is crucial to bring to the limit the robot capabilites to deal with such situations. Recently, the DARPA Robotic Challenge has enlighted the need of such technologies and is the first international attempt to improve the robot capabilities in dealing with disaster scenarios.

As will be described in the following, this challenge includes scenarios and tasks which are kept under control and which are not as estreme and difficult as real disaster situations.

Even if in the DRC is reasonable that some task can be done almost autonomously by the robots, in realistic situations the limitations imposed by the environment can be particularly hard. In such scenarios, even if low-level and autonomous ca-pabilites of robots will improve in the future, a teleoperation control station will be used to deal with these extreme situations, enlighting the unavoidability of it in managing extremely dangerous and challenging situations in which the robot would perform by itself in no way.

1.1.1

DARPA Robotic Challenge

The DARPA Robotics Challenge (DRC) is a competition of robot teams ”vying to develop robots capable of assisting humans in responding to natural and man-made disasters [5]”. Participating teams will compete in a series of challenge tasks selected by DARPA for their relevance to disaster response with humanoid robots featuring task-level autonomy that can operate in the hazardous, degraded condi-tions common in disaster zones.

(9)

executing complex tasks in dangerous, degraded, human-engineered environments. Competitors in the DRC are expected to focus on robots that can use standard tools and equipment commonly available in human environments, ranging from hand tools to vehicles, with an emphasis on adaptability to tools with diverse specifications.”

The DRC disaster scenario reconstructs the situation occurred in Fukushima-Daiichi nuclear power plant and the participating robots have to performs this series of eight different tasks, illustrated in Figure 1.2:

1. Drive and exit an utility vehicle;

2. Walk across a rough terrain;

3. Remove debris from a doorway;

4. Open a series of doors;

5. Climb an industrial ladder;

6. Cut through a wall;

7. Carry and connect a fire hose;

Figure 1.2: Illustration of the DRC scenario and relative tasks to be done by the competing robots (courtesy of DARPA)

(10)

8. Locate and close leaking valves.

To achieve its goal, the DRC aims to ”advance the current state of the art in the enabling technologies of supervised autonomy in perception and decision-making, mounted and dismounted mobility, dexterity, strength, and platform endurance. The improvement of supervised autonomy, in particular, could allow control of robots by non-expert operators, lower the operator’s workload, and allow effec-tive operation even with low-fidelity (low bandwidth, high latency, intermittent) communications”. In particular, in the DRC, the communication channel has the following specifications:

• Bandwidth: 0-1000 kbps • Delay: 0-1 s

• Dropout: 0-5 s

1.1.2

Real disaster scenarios

In real disaster situations, the environment conditions can be much worser than in the DRC context.

Fire hazard, heat, smoke, explosions, rescue of people in danger, radioactivity, hazardous materials leakage, highly rough and unstructured terrains with water and liquid substances leakage, collapsed buildings and structures, landslides are all hard problems that can arise in a real disaster and impose more restrictions in the control of a search and rescue robot and in the teleoperation of it.

This unpredictability is the main reason why a man-in-the-loop is crucial and a teleoperation interface will be used for a long time, being the strategic capabilities and situation awareness of robots very inadequate at the present state and in the immediate future.

1.2

Problem statement

The goal of this thesis is to design an effective hardware/software pilot control interface to be used to control the COMAN humanoid robot in the DRC. The

(11)

interface serves the pilot to work together with the robot as a co-worker, solving problems which arise in the challenge scenario. It constitutes an high-level control interface from which the pilot, who is not necessarily a robotics specialist, can issue high-level commands to the robot and control its conduct.

The thesis is basically divided in two parts.

First, a literature review is presented, introducing Human-Robot Interaction (HRI) topics and giving a formal definition of what is meant with high-level commands in the context of Motion Description Languages (MDLs).

Second, the result of the work done during the thesis is presented. We first in-troduce the preliminary results on the definition of a high-level motion primitives library for a humanoid robot, then the designed GUI is described: it serves to con-trol the robot and to give the operator an intuitive overview of what is happening in the sourranding of the robot and to the robot itself. The GUI have to maximize the information trasfer and, at the same time, to minimize the cognitive workload on the operator.

The operator has the possibility to switch between three different levels of control: from clicking a point on the map, instructing the robot to navigate in that position (high-level plan), to directly control the robot movements in the cartesian space

(12)

through high level instructions using a simple device (cartesian level); fiinally, for safety requirements, the operator is also allowed to work at the lowest level when necessary, controlling directly the joint positions of the robot (joint level).

The operator can also manage to decide which information should be received from the robot, depending on both the peculiar situation in which the robot is involved and the communication channel status, in order to reconstruct an effective local map of the environment and to have the best situation awareness of the task. The thesis is then structured as follows.

Chapter 2, Human-Robot Interaction

This chapter introduces the wide field of the interaction between humans and robots, specifically from the point of view of the teleoperation, stressing partic-ularly on the recent developments for humanoid robots and also on the field of USAR robotics, beeing incident to the problem faced in this work.

Moreover, the solutions found in HRI literature to realize an effective control interface are discussed, showing analogies with videogames and exploiting inter-esting hints to realize an interface usable for operators who have had little to none robotics training.

Chapter 3, Symbolic control

This chapter presents a review of the literature relative to the so-called symbolic control, connecting dots between different approaches in this open area of research and introducing the interesting ideas and formalizations useful for this project.

Chapter 4, Semi-autonomy via MDLs

In this chapter the fromalization of the overall semi-autonomous control scheme is presented, showing the solutions used both from the control and the pilot interface point of view.

(13)

Chapter 5, Implementation

This chapter focuses on the implementation of the work. First a brief introduction on the hardware used is presented, then a detailed discussion of the developed software is shown.

Chapter 6, Results and conclusions

This chapter presents the tests done both with the simulated and the real COMAN robot in a scenario which reproduce a DRC task in order to verify the effectiveness of the pilot teloperation interface. Finally a discussion about the results of the work is given, showing strong and weak points and containing suggestions for future work on the project.

1.3

Main contributions

The main contributions of this thesis are:

1. The definition of motion primitives (in the MDLs sense) for the control of a humanoid robot

2. The integration between symbolic control and teleoperation, realizing a semi-autonomous teleoperation framework based on MDLs

3. The design of an effective pilot interface to control a robot through this semi-autonomous framework; the interface is designed to be modular and usable in different scenarios and with different robotic platforms

4. The design of the overall teleoperation control station for the operator to control effectively the robot through different display, interfaces and device solutions

Part of the work done in this thesis is cointained in the related publication “A modular approach for remote operation of humanoid robots in search and rescue scenarios [6]”.

(14)

Human-Robot Interaction

Human–Robot Interaction (HRI) is a field of study ”dedicated to understanding, designing, and evaluating robotic systems for use by or with humans [7]”. This section focuses on the remote interaction between operator and robot separated spatially or even temporally in a teleoperation context.

Moreover, the definition of what constituite an effective interface in order to en-able the operator to exploit the robot capabilities and to have a good situation awareness during the overall mission is presented.

2.1

Teleoperation

Teleoperation is when a human operator controls a robot from a distance. The operator and the robot have some type of master-slave relationship. In most cases, the human operator sits at a workstation and directs a robot through some sort of interface, located out of viewing distance from the robot (see Figure 2.1). The human operator is often referred as the local and the robot as the remote [3].

Recently emerged the necessity to move beyond the classical real-time direct teleoperation approach, taking advantage of the improved autonomous capabilities of robots and taking in consideration the communication problems that can arise in a disaster scenario: limited bandwidth, time delays and communication dropouts.

(15)

Figure 2.1: Operating principle of teleoperation. The operator is connected to the robot via a connection medium and controls the robot based on the feedback

received from the remote site.

2.1.1

Teleoperation spectrum

Teleoperation is strictly related to autonomy being these terms the extremes of the teleoperation-autonomy spectrum of a control architecture. The spectrum range spans from direct teleoperation to full autonomy and can be divided in these main areas [2]:

• Direct control: the operator manually controls the robot and no autonomy is used;

• Supervisory or Semi-autonomous control: defined by Sheridan [8] as the ”in-termittent programming and continually receiving information from a robot that itself closes an autonomous control loop . . . to the task environment”, constitutes a main definition which includes the following submethods:

– Shared control: the operator indicates the robot’s high-level behavior, then the robot performs the actions indicated, modifying them if they violate safety or stability conditions;

– Traded control: the operator initiates a task (or subtask) for the robot to perform, stopping ongoing actions as needed;

– Collaborative control: there is not a master-slave interaction but a collaborations between peers. The robot has a strong goal-oriented reasoning and is treated as a co-worker rather than a tool;

(16)

• Cooperative control: multiple operators cooperate to control a single robot via any of the above methodologies.

To be thorough, complete autonomy should be included as the extreme edge of the spectrum, meaning that no human intervention is needed in the control.

Direct Shared Traded

Collab orativ e Coop erativ e Supervisory Teleoperated Autonomous

Figure 2.2: Teleoperation spectrum: from direct control to full autonomy

2.1.2

Teleoperation in Humanoid Robotics

In the field of humanoid robotics, teleoperation is the first solution used, due to the low autonomous capabilities of the humanoid robotics in the early stages. Teleoperation literature still include some examples of fully-teloperated humanoid robots who can perform complex tasks like driving lift trucks [9] and backhoes [10] with ad-hoc cockpits. The NASA Robonaut humanoid, performing Extravehicular Activity is the cutting-edge of this field [11], including haptic interfaces, predictive displays and telepresence devices.

Recent works introduced motion capture devices instead of master-slave systems for the whole-body motions [12] and for manipulate power tools [13].

The mentioned works, however, lie again on the field of direct control and are not suitable for the pourpose of this work: they don’t take into account telecommuni-cation problems that arise in a disaster scenario.

A solution that can overcame communication problems is to reduce the high-DOF humanoid control problem to the command space of a three axis joystick. These solutions are examples of shared control architectures as said in Chapter 2.1.1. For instance, Chestnutt proposed an intelligent joystick for biped gait control [14] and Stilman proposed a single joystick teleoperation system for the whole body control [15], both for the HRP-2 robot.

(17)

Figure 2.3: Examples of teleoperation in humanoid robotics.

by Sian [16], who used symbolic command interfaces through a keyboard or a mouse letting the operator, e.g. to indicate the target object to be grasped on a graphic interface, whereupon the approach-grasp operation would be carried out by the robot. All this methods are still examples of stand-alone control frame-works lying on the plan layer of the AI hierarchical paradigm; they don’t focus indeed on the connection with plan and sense layers (see Chapter 3.1.3 for more details).

In a recent survey [2], Goodrich offered an overall view of Teleoperation for Hu-manoid Robotics, stressing particularly on the reasons why teleoperation is still essential for humanoids. ”Although progress continues to be made, several chal-lenges persist that need teleoperation to cope with:

• automatic recognition of objects;

• interpreting and undestanding scenes and semantic spatial reasoning; • prediction and planning.

In these fields, humans can provide better perception and strategic capabilities then actual state-of-the-art algorithms”.

(18)

Figure 2.4: Example of teleoperation in USAR robotics: control station for the iRobot packbot robot.

2.1.3

Teleoperation in Urban Search And Rescue Robotics

The purpose of the Urban Search And Rescue (USAR) field is to ”find humans-or other valuable assets- in distress during catastrophes (search) and to relocate them to safety (rescue). Although the ”Urban” part of the name indicates that this activity usually takes place in cities, USAR-missions also takes place in more lightly populated areas [17]”. USAR Robotics is thus stricly related to the work exposed in this work; even if before DRC humanoid robots haven’t been used for a USAR mission, the context where the challenge is conceived is typical of this field, pushing to the limit the capabilities of the involved robots. For this reason it’s crucial to undestand the solutions implemented in this field for a better comprehension of the implicated problems.

In the USAR field, ”to exploit the improved autonomy capabilities of robots and to overcame the problems related to degraded communications, supervisory con-trol interfaces are becoming more common as the use of autonomy increases [18].” In a recent survey on USAR [19], various example of semi-autonomous controllers are presented as a tradeoff solution to combine the recent improvements on low-level robot autonomy and the necessity to include a human-in-the-loop in the control sytems. In semi-autonomous or supervisory control, ”the remote is given

(19)

an istruction that it can safely do on its own [3]”; this scheme effectively integrate teleoperation with the increasing low-level robot autonomy, e.g. allowing a robot to focus on low-level tasks (i.e. terrain traversing), whereas the human operator is in charge of high-level control and supervisory tasks such as specifying the di-rection of motion or the point to be reached [19].

In particular, adjustable autonomy allows the operator to choose the level of au-tonomy of the robot ”on the fly”, based on the task. A major challenge in the design of intelligent systems is to ”ensure that the degree of autonomy can be continuously and transparently adjusted in order to meet whatever performance expectations have been imposed by the system designer and the humans and agents which the system interacts with [20]”. This approach can reduce significantly the amount of bandwidth needed.

”Recently, a handful of semi-autonomous controllers with adjustable autonomy, specifically developed for robot navigation and victim identification tasks in USAR applications, have been presented [19]. They showed ”better performances in terms of area coverage and number of victims identified, . . . minimizing the number of collisions and decreasing the workload of the operator.”

The importance of adjustable autonomy emerges for two reasons. On the one hand, e.g. ”if the robot gets stuck in a cluttered environment, the operator may have to take control of low level operations in order to assist the robot”. On the other hand, ”high level control may be required from the robot controller when the operator cannot perform the task”, due to loss of situation awareness (e.g. when an object obstructs the visual), during a communication dropout or to reduce his cognitive fatigue.

2.2

Graphical Interfaces

In humanoid robotics, an interesting example is given in [16], where a GUI is de-signed for the operator to interact with the robot. In this situation, the interface is thought to be use indoor in a laboratory environment so no stress in put on the problems which arise in a disaster scenario. The interface is . . .

In order for teleoperation to perform well, the human-robot interface must be as efficient and capable as possible. It has to ”maximize the information transfer while minimizing cognitive and sensorimotor workload of the operator [18]”. It

(20)

should be noted that ”the importance of the operator interface does not diminish as level of autonomy increases”. In a supervisory control context, the interface must ”provide mechanism for the operator and the robot to exchange informations at different levels of details or abstraction”, moving toward a supervising interface, becoming robot more autonomous.

HRI in the recent years has emerged as a major challenge, expecially in USAR robotics: an efficient and capable operator interface plays a leading role in the success of a USAR mission. The problem to evaluate how good is performing the user interface is also interesting. Considering the taxonomy of metrics to evaluate the quality of a human-robot interface developed in [21] and [17], the main features that affect the effectiveness of a user interface can be recap in the following.

Cognitive fatigue The mental unbalance that can happen to people when they concentrate too hard for too long on a task.

Situational awareness The process of informing a human operator sufficiently in order to let him feel phisically present at the site, in order to produce effective robot behaviors.

Context switching The situation where the user must switch from one mode of working to another.

Neglect tolerance The time when the operator is not actively controlling the robot.

An effective interface must thus reduce cognitive fatigue, context switching and negative effect of neglect and at the same time improve situational awareness.

2.2.1

GUI for USAR application

In USAR Robotics several example of control interface have been developed. In [22], basing on a multi-year study during Robot Rescue Competitions, Yanco defined the design guidelines for an effective HRI interface in USAR missions, summarizable in:

• Use of a single monitor for the interface with large video windows;

(21)

Moreover, it emerged in [22] and related works, that the main features to exploit at best the robot capabilities by the operator, thus fundamental to include in a teleoperation interface for a USAR robot, can be summarized in:

Camera view Place cameras in order to enhance situational awareness and give the operator the possibility to switch between them;

Status of the robot Allows a third-person perspective which performs better than first-person;

Health status Information concerning the status of sensors, boards, environment conditions, etc;

Map Three-dimensional map of the environment obtained by sensor fusion of Lidar, stero cameras, IMU in order to have a proper situational awareness;

Informations Use graphical representation of informations rather than textual or numerical.

Figure 2.5: Examples of different USAR interfaces

2.3

Hints from videogames

Exists an often stated hypotheses that people with gaming experience will be able to interact better (in some sense) with mobile robots than those with limited ex-periences in games and ”a few researchers have used video games as inspiration

(22)

for human-robot interfaces [23].”

An interesting example that encloses the previous concepts is represented by graphic adventure games, specifically the point-and-click scheme, where the player interacts with the environment and the objects therein using an on-screen cursor, e.g. a mouse. In Figure2.6, e.g. the player selects a point on the map, whereupon the character determines the obstacle-free path and reaches it.

This is a rought idea of how a locomotion planning module would work in the computation of the optimal path in the obstacle-free space of a flat environment.

(a) The character is Idle, operator selects a point and a plan is computed

(b) The character performs a turn-on-spot motion

(c) The character pursues the path in WalkRun mode

(d) The character reaches the goal and returns Idle Figure 2.6: Example of four screenshots of a walk action in a point-and-click

game.

Particularly related to what has been mentioned in the previous sections is the fist-person adventure, similar to point-and-click adventure games, but using a

(23)

first-person perspective. Figure2.7 shows how a player can control the movement of the character with the analog left stick of a joypad or the arrow keys of a keyboard, and select different points on the screen with the analog right stick of the joypad or a mouse, choosing between the possible commands to be issued to the character in order to interact with the environment. This example offers an intuitive idea of how perception would work in sinergy with the control: as soon as objects are recognized in the environment, a bunch of associated action are displayed to the operator in order to issue high level commands, e.g when a door is recognized, the operator is informed of the allowable actions that he can perform on it, e.g. ”Open”. Other examples are also illustrated in Figure 2.7: a ”Push” action suggested once a car is recognized, three different actions associated with a window object and a generic ”Take” action associated with a perceived tool (awl).

(24)

Figure 2.7: Examples of different interactions with the environment in a FPA game.

(25)

Symbolic Control

In [7] emerged the connection between the implementation of autonomy in tele-operated robotics and behavior-based, hybrid control methods. In Chapter 2.1.2

also, the problem to reduce the control space of a humanoid robot has been pre-sented.

It’s clear also that for a robot to be autonomous it needs to interact in some sense with the environment, i.e sensing and acting in reaction of what has been sensed. Symbolic control is a promising direction of research in control theory that pursues these goals, providing a general model which allows to reduce the complexity of the control task and to accomodate the complexity of the environment [24]. Basing on the three-layered sense-plan-act hierarchical process, this field of re-search aims to formalize the interaction between these layers through a symbolic description based on automata and formal languages deriving from theory of com-putation.

Basically, symbolic control provides a qualitative control-driven discretization of the control space of a complex nonlinear system, subdividing the global control task into ”more easily defined behavioral building blocks [24].”

In this section, a review of the main contributions in this field of research is pre-sented, aiming to find a unifying theme in these approaches and emphasizing the interesting cues presented therein.

(26)

3.1

Motion Description Languages

In the field of non linear control of complex mechanical systems with a high num-ber of DOFs, the necessity to avoid the computation of a control law in the state-space of the system has emerged. For systems with a complex dynamics such as unmanned ground or aerial vehicles it is easier to brake down the global control task into more easily defined behavioral building blocks, ”each defined with re-spect to a particular subtask, sensing modality or operating point [24].”

These behaviors can be formalized in specific strings that can ”make up words in so-called Motion Description Languages (MDLs)”. At the highest level of ab-straction, the control of a system with this kind of language can be seen as the generation of symbolic inputs to a control system based on sensory information about its current state, desired state and the state of the environment it is oper-ating in. In the case of mobile robots, these symbolic inputs could be command like ”move”, ”turn”, ”stop” etc. which, combined with sensor information, can be put togheter to generate more complex behaviors such as ”avoid obstacle”, ”follow trace” etc [25].

These symbolic inputs can be mapped into appropriate control laws that can be accepted by the system, avoiding the effort to design a continuous control law for the overall system. In fact, ”in many cases the non linear dynamics, nonholonomic constraints and limited control authority make the generation of explicit control laws exceedingly difficult” for such systems [25].

Controlling a system using a MDL transforms the control problem into the gen-eration of strings of accepted symbols which can be pieced together and used as input for the system to be controlled.

3.1.1

MDLe

The first example of the formalization of MDLs it is because of Roger Brockett, who first introduced this approach in [26]. The MDLe (extended MDL) [25], enriches the approach introducing the concept of reactive behavior deriving from the motor schema approach by Arkin and reactive robotic systems introduced by Brooks [27]. In these types of control, calling in short behavioral approach, the problem is decomposed in several sub-problems, eventually solvable in parallel, whose solutions then need to be composed in one single motion command to the

(27)

robot. In the MDLe formalization, ”the physical system is modeled by a so-called kinetic state machine, which stands as an abstraction between the simplest elements of a control language (yet to be defined) and continuous-time control [28].” This kinetic state machine is governed by differential equation of the form

˙x = f (x) + G(x)u (3.1) z = h(x) ∈ Rp

where x(·) : R+ → Rn, u(·) : Rp × R+ → Rm may be an open loop command

or feedback law of the type u = u(t, h(x)) and G is a matrix whose columns are vector fields in Rn.

Definition 3.1. An atom of a motion language, denoted by σ is a triple of the form σ = (u, ξ, T ) where u is as defined earlier, ξ : Rp → [0, 1] is a boolean interrupt function defined on the space of outputs from the p-dimensional sensory data and T ∈ R+∪ ∞ represents the time at which the atom will ”time out”.

As said in [28], to evaluate or run the atom σ = (u, ξ, T ) means to apply the input u to the kinetic state machine until the interrupt function ξ is “high” (logical 1) or until T units of time elapse, whichever occurs first.

Definition 3.2. An alphabet Σ is a finite set of independent atoms. Thus Σ = σ1, . . . , σn for some finite n where σi is such that every σi 6= σj for i, j = 1, . . . , n.

Hence an alphabet is a set of atoms that cannot be derived from others atoms in the alphabet.

Definition 3.3. A language Σ∗ is the set of all strings over the fixed alphabet Σ.

Definition 3.4. A behavior, denoted by π is an element (i.e. word) of the language Σ∗, with an associated timer Tb and interrupt ξb. For example, given an alphabet

Σ = σ1, σ2 with σ1 = (u1, ξ1, T1) and σ1 = (u2, ξ2, T2), a behavior π could be

π = ((σ1σ2), ξb, Tb)

Evaluating π means evaluating σ1 followed by σ2 until the interrupt function ξb

returns “high” (logical 1), or Tb units of time have elapsed, or σ2 has terminated.

Definition 3.5. Given a kinetic state machine and a world-model, a plan Γ is de-fined as an ordered sequence of behaviors which, when executed, achieves the given goal, with as before ξpand Tpwith obvious meanings, e.g. Γ = ((π, (u3, ξ3, T3)), ξp, Tp).

(28)

Let U be a finite subset of u : Rp× R+→ Rm, i.e. U is the finite set of possible

control laws (including the trivial unull = 0). Furthermore, B is a finite subset of

ξ : Rp → [0, 1], i.e. it is a finite set of boolean functions of p variables (including the null interrupt ξnull : Rp → 1).

Definition 3.6. Absorbing an atom’s timer into the atom’s interrupt function, it’s convenient to redefine interrupts on Rp× R+ and write (u, ψ) instead of (u, ξ, T ),

where ψ = (ξ and (t ≤ T )).

Under this convention an atom is made up of a control quark selected from U and an interrupt quark selected from B0 [28].

The MDLe framework defines an hybrid dynamical system can be nicely modeled with a FSM or Finite-State Automaton.

Definition 3.7. A finite-state automaton is a tuple F = (X , Z , U , Q, Z, δ, ρ) where

X ∈ Rn is the continuous state

Z ∈ Rp is the continuous observation

U ∈ Rm is the continuous input

Q is the set of discrete states Z is the set of discrete events

δ : Q ×X × U → X × Z is the continuous dynamics ρ : Q × Z → Q is the discrete dynamics

In Figure3.1an example of the FSM representation of a two-behavior MDLe plan: ((a, ψa)(b, ψb), ψc)σN U LL is presented, where a = ((a1, ψ1) · · · (aN, ψN)),

b = ((b1, ζ1) · · · (bM, ζM)) and σN U LL = (uN U LL, ξN U LL).

3.1.2

Maneuver Automaton

One of first examples of symbolic control of a nonlinear system was introduced through the so-called control quanta [29], applicable to driftless systems with sym-metries. ”A control quantum is any reasonable (e.g. measurable) control signal with finite time support [24]. The application of a control quantum to a driftless system results into a finite displacement of the system.” It can also be seen as an atom in the so-called Motion Description Language (MDL).

(29)

a

1

a

2

a

N

b

1

b

2

b

M

ψ

1

ζ

1

ψ

N

ζ

M

null

Figure 3.1: FSM representation of a two-behaviour MDLe plan as presented in Chapter 3.1.1(courtesy of [28])

Recently, the concept of Manouver Automaton [30] generalized the concept of con-trol quanta proposing a method based on MDLs to simplify the concon-trol problem of non linear systems with symmetries (e.g. the non-linear model of an acrobatic helicopter), instead of using control quanta ”chosen from a collection of controls, by piecing together (in an appropriate way) a set of elementary trajectories of the robot, chosen from a small library.” These trajectories ”can be combined sequen-tially to produce more complicated trajectories, called motion primitives”, which generalize the notion of steady state or relative equilibrium of systems. Moreover the rules for combining atoms, control quanta or motion primitives define a lan-guage that can be encoded as a set of text strings accepted by a finite automaton. In this context an atom of the language is a trim trjectory (e.g. see the library in Table 3.1), a term which indicate a steady-state motion or relative equilibrium of the system in the aerospace community, or a maneuver (e.g. see the library in Table 3.2), that is a primitive which is ”compatible, from the left and from the right, with trim primitives”; in other words, ”maneuvers are primitives that begin and end at steady-state conditions”. For a formal definition of the compatibility relation see [30]. Transitions from one trim trajectory to another are only permit-ted through the execution of a maneuver. The problem can be nicely modeled as a hybrid system where nodes represent trim primitives and edges represent ma-neuvers (Figure 3.2). It’s possible thus to create a motion plan composed of a maneuver sequence through the FSM states specifying the time spent at the trim primitives and thus it’s possible to compute an optimal plan with respect to the minimum time to move from one point to another, solving a nonlinear program [30].

(30)

law, initiated at some specified initial conditions, together with a timer. If the motion primitive is a maneuver, the timer is set to its specific duration; if it is a trim primitive, the timer is set to the corresponding coasting time. Let us consider the model of a small helicopter, descibed by the state

x = (R, p, ω, v, α, β, ωr)

and by the control inputs

u = (δa, δe, δc, δr)

Trim primitives are represented by tracking controllers which regulate the state variables and control inputs in order to trim the helicopter at some specific values of interest: desired altitude, velocity, sideslip, and turn rate. A maneuver is basi-cally a transition over a time T regulated by the controller to bring the helicopter to the reference values specific for a given trim primitive.

Simplified libraries of two trim primitives and two maneuvers are presented re-spectively in Table 3.1 and Table 3.2; they represent respectively a hover and a forward level flight at 15 m/s. The associate automaton is depicted in Figure 3.2.

ID v[m/s] ψ[◦/s] φ[◦] θ[◦] δr δc Description

α (0, 0, 0) 0 4.87 -0.06 0.075 0.089 hover

β (15, 0, 0) 0 4.18 -8.65 0.064 0.082 forward flight at 15 m/s

Table 3.1: Example of a Trim Primitive Library composed by two primitives with respective control parameters and description.

ID Pred Succ Duration [s] δp δφ[◦] a α β 7.5 (67.5, 0, 0) 0 b β α 5 (22.5, 0, 0) 0

Table 3.2: Example of a Maneuver Library composed by two maneuvers

a

b

α

β

Figure 3.2: MA representing the possible maneuvers and trim primitives dis-cussed above

(31)

3.1.3

Wholebody control of humanoid robots

In humanoid robotics the attempt of simplifying the control problem and compos-ing parallel wholebody primitives have been tackled with the so called operational-space or task-function approach, introduced by Khatib in [31]. In this framework, the wholebody motion control problem of a humanoid robot is simplyfied consid-ering the cartesian space instead of the state space of the robot. This solution eases the design of control laws, designing them in a more intuitive way and with also the possibility of using the sensor space, closing the control loop in a more robust and accurate way.

A task in the task-function approach can be seen as an atom in the MDL, consist-ing in the lower level motion primitive of the robot behavior; tasks can thus be combined sequencially or simultaneously basically defining behaviors in the MDL framework.

3.1.3.1 Sentis’ approach

According to the formalization done in [32], these low-level tasks can be divided in three main cathegories:

Constraints Primitives designed to deal with physical and movement constraints that could endanger the robot or the robot’s physical environment.

Operational space Primivitives designed to provide manipulation and locomo-tion skills, involving compliant contact interaclocomo-tions. Operalocomo-tional tasks usu-ally involve the control of the robot’s hands, head and feet but are also used to operate other parts of the robot’s body such as the global center of gravity, the hip, or any other point in the robot’s body.

Postural Primitives designed to control the additional redundancy of the robot and used for many different purposes such as mimic human-like postures or to minimize torque effort.

Exploiting the natural redundancy of humanoid robots, these low-level tasks can be composed in parallel creating a prioritization between tasks and projecting the Jacobian of lower level tasks in the space of free motions, i.e. the null-space of higher level task Jacobians, until the column space of the wholebody Jacobian is

(32)

completed, realizing a whole-body behavior.

The parallel composition of multiple low-level tasks constitutes an action primitive [32]. In Table 3.3 two examples of action primitives are presented, respectively an Accelerate-Body-Upwards and a Right-Hand-Hit motions, considering a character playing volleyball.

Whole-body behaviors are thus depicted as state machines where each state is an action primitive, composed by low-level tasks parameterized by the user during execution and each transition is determined by specific sensor readings. A sim-plified two-states FSM (part of a complete action primitive in [32]) including the two action primitives presented above is illustrated in Figure 3.3. The transition between them is determined by the event of streching performed by the character’s knees.

Accelerate Body Upwards (partial)

Control Primitive Priority Level Control Parameters Obstacle avoidance 1 dsaf e= 0.1m, kp = 800, vmax = 2m/s

Static balance 2 xgoal = Cf eet, kp = 1000

Hip height 3 xgoal = in, vmax = in, kp = 400

. . . .

Right Hand Hit (partial)

Control Primitive Priority Level Control Parameters Obstacle avoidance 1 dsaf e= 0.1m, kp = 800, vmax = 2m/s

Static balance 2 xgoal = Cf eet, kp = 1000

Hand position 3 xgoal = in, ˙xgoal = in, kp = in

. . . .

Table 3.3: Sentis’ library of action primitives composed by low-level tasks with respective control parameters.

Accel. body Upwards Right Hand Hit Event: KNEES STRECHED

(33)

3.1.3.2 Mansard’s approach

A similar approach to this problem has been introduced by Mansard who defined the task as the unifying feature- the atom- of the task-function approach. A task can be seen, e.g. in the kinematic description, as an equality constraint as ˙e = J ˙q or as an inequality constraint as ˙e≤ J ˙q ≤ ˙e where ˙e is the vector of velocities in the cartesian space, ˙q is the joint velocity vector and J is the Jacobian and ˙e and

˙e are respectively the lower and upper bounds.

The composition of these atoms can be pursued through the StackOfTasks frame-work, a generic solution to take into account both unilateral (equality) constraints (e.g. zero-velocity at rigid-contact points) and bilateral (inequality) constraints (joint limits, obstacles, self-collisions) in a strict hierarchy. The control law in this case is the optimal solution of a quadratic program (QP). For instance, again in the inverse kinematics formulation for simplicity, considering two tasks with pri-ority of e∗1 higher than e∗2, the expression of the QP is given by (using the slack variable formulation):

minimize

˙ q,w2

kw2k2

subject to ˙e∗1 ≤ J1q + w˙ 1∗ ≤ ˙e ∗ 1 ˙e∗2 ≤ J2q + w˙ 2 ≤ ˙e ∗ 2 (3.2)

This approach is suitable also for computing the optimal torque as the result of a inverse dynamics problem because it shares the same QP problem structure and relative solving methods [33].

This method can be seen as the improvement of Khatib and Sentis work, includ-ing inequality constraints in the compute of a strict hierarchy and givinclud-ing a new computation approach through the resolution of an optimization problem.

Tasks can be for example the assignment of specific position e∗ in the task space, with associated proportional control law

˙e = −kp(e − e∗) (3.3)

These kind of tasks are the equivalent to operational space primitives introduced above with the possibility to include inequalities in a strict hierarchy rather than dealing with them through approximate solutions such as potential fields ap-proaches or damping functions.

(34)

With this approach is possible to create a plan composed of different tasks insert-ing them with the right timinsert-ing in the stack of tasks to create complex whole-body motion. Figure 3.4 gives an undetailed representation of what is meant with the concept of stack of tasks: ten tasks e1, . . . , e10 (both unilateral and bilateral

con-straints) are inserted sequentially in the stack, creating a whole-body behavior. This solution allows to skip the ad hoc creation of action primitives in Sentis ap-proach and only deal with task primitives, composing them both in parallel and sequencially to create whole-body motions.

Figure 3.4: Sequence of parallel tasks to be executed by the robot: arrows represent the causality between task during time execution.

(35)

Semi-autonomy via MDLs

In the previous Chapter 2, Chapter 3, the literature related to this project has been showed.

The generation of motion for humanoid robots is challenging due to their three-like structure and the fact that, unlike UGV and UAV, humanoid robots don’t possess intrinsic stability due to their bipedal posture.

Moreover, being the locomotion of a humanoid robot instrinsically unstable, it’s not easy to define what constitutes a feasible combination of motion primitives and a compatibility relation between them.

The MA approach is an effective way to control a small-scale helicopter and gives a general guideline to attack complex nonlinear problem such as the control of a humanoid robot.

However, the control of humanoid robots don’t permit to apply directly this method for the whole-body control of a humanoid robot. In the MA approach, for the start and end conditions of the motion primitives, the actuated-joint velocities are zero, a factor which reduces the action space further. Another problem is that feet collisions in the walking motion act like impulses or hybrid dynamics, which negate the underlying invariance assumptions of a trim primitive in [30].

Furthermore, planning the motion of a humanoid robot is very challenging: the large number of DOF and the set of constraints (balance, contact, actuator limits) the robot undergoes, makes the classical sampling methods more difficult to use than for a classical manipulator. The solution of this problem, as said in [30], is to compute a plan sampling in the space of the motion primitives rather than in the state-space of the system, reducing the computational time of the plan. In the case of a humanoid robot these primitives are often referred as whole-body motion

(36)

primitives.

The definition of what constitute feasible whole-body motion primitives and how to execute them in parallel is also an open issue in Robotics.

As reported in Chapter3.1.3, the operational space control is an effective solution to compose primitives (depicted as cartesian space tasks) to create wholebody motions for an humanoid robot. This approach however is limited to the paral-lelization of primitives in a statically stable configuration of the robot (i.e. holding the COG condition), which constitutes a task by itself. Furthermore, the combina-tion of tasks depends on the remaining null-space of the wholebody Jacobian, once a task is performed and so the intrinsic nature of the Jacobian limits the number of tasks that can be put togheter. A strict hierarchy between tasks then limits the excution of tasks with the same priority as putting both hands contemporary on a wall. A weighted approach for the task composition is another possible solution to tackle this problem [34].

In these cases, as shown in Chapter 3.1.3, a behavior is composed by parallel composition of hierarchized atoms [32], constituing a stack of tasks [33] but the problem of determining how to combine these primitives to develop a high-level plan or even better a control policy, moving towards a complete robot autonomy, is still open and challenging.

In [32], Sentis distinguishes the overall control of the humanoid between three layers: Behavioral, Action, Execution. His work is focused mainly on the second and third ones. The same is done in [24], subdividing it in three levels: Specifica-tion, ExecuSpecifica-tion, Implementation. The introduction of the term symbolic control framework subsume the effort done to find a common language to let this lay-ers communicate through the methods of formal logic, languages and automata theory. These layers are also referrered as sense-plan-act paradigm [3] in the AI literature.

The analogy between these approaches is evident but there is not so far a common ground.

There isn’t yet however an effective approach to link the so called Specification [24] (or Behavioral [32] or Sense [3]) layer with the lower layers. This is still an open issue and an ambitious challenge and still have not a unique definition in the control literature.

In this chapter a preliminary approach to tackle the problem of creating a symbolic control for a humanoid robot is presented. It’s necessary to mantain the reactive

(37)

structure of the MDLe framework because the robot has to interact with the envi-ronment and his behavior depends heavily on proprioceptive sensor readings and environment condition changings.

Lacking the robot of perception and sensing capabilities or beeing difficult to use them as useful triggering events, teleoperation is still essential to fill in the gap between definition and composition of motion primitives. It can be view as the triggering event or boolean interrupt function (see Definition 3.1) which deter-mines the choice of the proper motion primitive or the transition between states in the respective automaton. Teleoperation can be useful also to specify particular parameters (see for comparison Chapter 3.1.3) of the primitives on-the-fly, giving the operator the possibility to take more control on them.

Teleoperation has to be seen however as an interim solution, beeing full autonomy the long-term goal. For the time being it can be seen as the temporary lacking connection between the sense layer and the plan and act two.

Moreover, at the present state, the tasks composition doesn’t take into account the instability connected with the locomotion of a humanoid.

The ultimate goal is therefore the formalization of a maneuver automaton for hu-manoid robots, finding and formalizing what constitutes a feasible maneuver (in the sense of stability and robustness) to move between tasks (or stack of tasks) and how to compute a plan that take into account these constraints.

Finally, this maneuver automaton should be enriched to react adaptively to the changing environment, including reactive behavior rather than simply asensorized maneuver primitives, connecting dots between behavioral-based, reactive control, MDLs, task-based control and moving towards a maneuver-based motion policy for humanoids, connecting all the three layers of the AI paradigm.

4.1

A MDL for humanoid robots

In this section a formalization of the control problem for a humanoid robot in a MDL fashion is presented. Each atom of the language can be seen as an action performed by the robot.

We created a library of parameterized motion primitives, based on the MDL frame-work, which share the main structure of atoms, behaviors and plans in MDL but enrich it with parameters relative to the specific primitives instead of the simple timer T used in the original triple σ = (u, ξ, T ).

(38)

Given the dynamical or kinematical model of a nonlinear system, in the state-space representation as seen in Chapter 3, the problem is to find the control input to realize the defined action on the environment. These control inputs can be quan-tized in the sense of MDL in order to create a library of atomic motion primitives to simplify the whole-body control of the system. An atom or atomic behavior in our formalization can be seen as a triple (see Definition 3.1)

σ = (u, ξ, p) (4.1)

where u is a control action, ξ is a trigger action and p is a parameter: it can be the time of activation (as in MDLe) or another parameter or a vector of parameters (including also the time) which define the primitive. The same can be done for behaviors, characterized by parameters as well as atoms, with obvious meanings of symbols.

π = (σ1(u1, ξ1, p1) . . . σN(uN, ξN, pN), ξb, pb) (4.2)

An humanoid robot can handle a huge variety of human-oriented task but it’s possible to distinguish between tasks that can be accomplished using only some portions of the body (e.g. only legs). This classification simplify the composition of control laws. For instance in the kinematic formulation it’s possible to consider only a portion of the Jacobian relative to the task. This decomposition basically defines this categorization between tasks:

• Locomotion tasks (walk forward, walk sideways, turn in place, etc.); • Manipulation tasks (reach, grasp, turn, etc. with hands standing stable); • Locomanipulation tasks (climb a ladder, open a weighted-door, pull an heavy

object, etc.).

For each field it’s possible to define the relative atoms, behaviors and plans consti-tuing the language that describes the overall behavior of the robot and to define an automaton which formalizes it.

The first step in this direction is to define the atoms of the language. At the present state of the work, some atoms are properly defined and are used in a real test on the robot, others are just qualitative proofs of concept, due to the lack of necessary knowledge of robot capabilities. They are useful however to have a

(39)

complete library of the robot possible actions and to give a reasonable point of departure for future developments.

Also some behaviors are presented, representing possible combinations of atoms which constitute more complex tasks.

Finally a practical case study is presented, i.e. a valve turning task, with its respective library. An automaton representation of the language, defining what constitutes states and what constitutes transitions from one state to another, is given for this case.

At the actual state of work it’s difficult to define what constitutes a trigger to change between primitives. Due to the lack of perception capabilities, at the present state of the work we consider the command issued by the pilot as the triggering event for the primitives and the respective parameters are determined by the pilot. In the long run scenario, the triggering events are expected to de-rive from sensor readings, object recognition and other vision algorithms and the parameters will be considered in the coast function of the optimization problem computed by a high level planner.

The operator will be however necessary in the event that these solutions fail. In fact, he can idetermine both interrupts and parameters of the primitives: the ac-tion of pushing a button constitutes the boolean interrupt, the time the button remain pushed represents the time spent on the primitives and the analogical but-tons and sticks of the joypad can be used to modulate the continuous values of the primitives’ parameters.

4.1.1

Locomotion primitives

The locomotion field includes all the behaviors that concern only the lower part of the body, which includes all the joints starting from the hips and ending with the feet, including also waist joints, needed for stabilization.

4.1.2

Manipulation primitives

The manipulation field includes all the behaviors that can be handled only with the upper part of the body, which includes all the joints from the waist to the neck and the hands, considering a stable standing or squatting position guaranteed by a whole-body stabilizer.

(40)

Atoms

ID ξ p Description

α . . . lt [m], l/r forward step β . . . lt [m], l/r side step

γ . . . lt [m], l/r forward step while turning

Behaviors ID ξ p Description πf w = (α1, . . . , αn) . . . f/b, d [m] forward walking πsw = (β1, . . . , βm) . . . l/r, d [m] side walking πtw = (γ1, . . . , γp) . . . l/r, a [◦] turn walking Plans ID ξ p Description Γw = (πf w1, πsw1, πtw1, . . . ) - T [s], d [m] walking plan

Table 4.1: Locomotion primitives library: lt stands for lenght, l/r for left-/right, f/b for forward/backward, d for distance, a for angle, T for time.

Atoms

ID ξ p Description

δ . . . l/r, a lateral movement  . . . u/d, a vertical movement ζ . . . f/b, a longitudinal movement η grasped valve l/r, s, a turn valve trajectory ϑ perceived object v reach/move away ι reached object a grasp/ungrasp κ perceived handle u/d handle turn

Behaviors

ID ξ p Description

πtv = (ϑ, ι, η, ι, ϑ) valve closed v, a turn valve

πht = (ϑ, ι, κ, ι, ϑ) handle limit v, a handle turn

Plans

ID ξ p Description

Γ = (δ, ζ, ι, , ι, πht) - T [s] manipulation plan

Table 4.2: Manipulation primitives library: l/r stands for left/right, u/d for up/down, f/b for forward/backward, v for velocity, s for size, a for amount.

4.1.3

Locomanipulation primitives

With locomanipulation is intended all the behaviors which corcern both the upper and the lower part of the body, the whole body of the robot.

(41)

These behaviors must take into account different parts of the body related with both locomotion and manipulation, basically considering kinematic chains which include parts of both lower and upper body. For example the act of pulling an heavy object is a manipulation task done performing a great force on the envi-ronment, including a specific position of feet, torso and waist of the robot at the same time. Moreover all locomotion tasks that need other body parts to be done such as walk on uneven terrain using hands for support or walking while holding objects or performing other manual tasks can be considered as locomanipulation tasks. These tasks are thus particularly suitable to be dealt with the stack of task framework. Atoms ID ξ p Description σ1 - - homing configuration σ2 - u/d, a stand/squat σ4 - a headscan σ5 - a spread σ6 - f/b, a push/pull σ7 - a lift body σ8 - f/b, a accelerate/brake Behaviors ID ξ p Description πod pcv door - open door

πcl pcv ladder - climb ladder

πcw pcv wall - cut wall

πrd pcv debris - remove debris

πth pcv hose - take hose

πch pcv hydrant - connect hose

Plans

ID ξ p Description Γe ptd car - enter car

Γd ptd location - drive car

Γec ptd car - exit from car

Γrd ptd door - remove debris from doorway

Γch ptd hose - locate/connect hose

Γov ptd valve - locate/open valve

Table 4.3: Locomanipulation motion primitives library: pcv stands for per-ceived, ptd fot pointed.

(42)

4.2

Case study: valve turning task

In this section a case study to give an operating example of what has been in-troduced before is presented. In Table 4.4, a library of motion primitives needed to execute the turn valve task is presented. This library is sufficient to drive the robot through the scenario and to complete the valve turning task. It is com-posed by both locomotion and manipulation atoms, a manipulation behavior and a locomotion plan.

Atoms

ID ξ p Description

σh homing command - simple homing

λf w forward command d [m], f/b forward walk

λsw side command d [m], l/r side walk

λtw turn command a [◦], l/r turn in place

µr object is perceived - reach object

µa reached position - approach object

µg object is approached - grasp object

µt valve is grasped l/r, a [◦] valve turn

µu valve turned n [◦] - ungrasp object

µma valve is not grasped - move away

Behaviors

ID ξ p Description

πvt perceived valve v, a valve turn behavior

((µr, µa, µg, µt, µu, µma), ξvt)

Plans

ID ξ p Description

Γf w selected map point T , d example of flat walk plan

((λf w, λsw, λtw, λf w), ξf w)

Table 4.4: Primitives library for the turn valve task:

4.2.1

Semantic description of the library

Here we give a semantic explanation of the symbolic commands illustrated in Table 4.4, i.e. the continuous control laws associated with the respective discrete symbols in the library.

(43)

4.2.1.1 Locomotion atoms

This atomic behaviors are developed basing on the work of Li and others [35] and we refer there for a thorough explanation.

In this case, a walking atom is constituted by a walking gait with a predefined constant gait frequency and step lenght. These atoms are characterized by a parameter that correspond to a distance in meters for the forward and side walking and an angle in degrees for the turn in place atom.

4.2.1.2 Manipulation atoms

Simple homing atom The homing atom is a pre-programmed joint motion to position the body in a initial stable configuration which constitute the start state of the FSM. Basically is a predefined motion in joint space, which are controlled via PID controllers in position with the following control law:

˙

qi = −kp(qi− ˜qi), i = 1, . . . , n (4.3)

where qi, ˜qi are respectively the joint actual positions and the joint reference

posi-tions of the involved joints, kp is the control gain and n is the number of joints.

Reach/Approach/Move away atoms The reach atom is a simple inverse kinematics control law of the type, where the symbol ] stands for generalized pseudo-inverse:

˙

q = J (q)]˙e (4.4)

which drives the robot hands in a cartesian position dependent on the valve center position issued by the operator, with a simple proportional control law of the type

˙e = −kp(e − ˜e) (4.5)

where ˜e is the desired cartesian position and kp the control gain.

Right and left position are translated of n cm along two vectors pointing out from the center of the valve in two different direction, which are the 10-and-4 clock position.

(44)

vectors pointing to the center of the valve in order to touch it.

The move away atom drives the hand in a safe poisition distant from the valve along the vectors directed outside from the center of the valve in order to issue again the reach primitive and the next atoms of the behavior.

Grasp/ Ungrasp atoms Grasp and Ungrasp atoms are simply a commanded position to the hand servomotor which closes/opens completely the hand fingers through a system of bands and tendons.

Turn valve atom The Turn valve atom is obtained commanding a trajectory in the cartesian space which follow the shape of the valve, i.e. an arc trajectory with a pre-specified lenght for both hands.

4.2.1.3 Turn valve behavior

The turn valve behavior is the composition of the atoms explained above, formally πvt = ((µr, µa, µg, µt, µu, µma), ξvt, pvt)

where every atoms has his associated trigger action and parameters as described in the library of Table 4.4.

4.2.1.4 Flat walk plan

The compute of a plan, at the present state, is made with RRT∗ algorithm that produces a search in the primitives space, taking into account the dynamics of a Dubins vehicle, including the side movement. An example of a plan computed by the planner can be Γf w = ((λf w1, λsw1, λtw1, λf w2), ξf w) where each primitives are

parameterized by the parameters pf w1 = (0.3), psw1 = (0.1), ptw1 = (5.0), pf w2 =

(−1.0). The robot is basically commanded to move forward for 30 cm, then side-ways for 10 cm, then turn in place 5 degrees and finally move backward for 1 meter, resulting an overall diplacement of [0.1 − cos(5), 0.3 − (sin(5), 5] in SE(2), w.r.t the body frame of the robot.

(45)

4.2.2

Finite State Machine

The overall behavior of the robot can be represented with a FSM, illustrated in figure Figure 4.1, where each node corresponds to a motion primitive and each edge defines the transitions between connected states due to triggering events. At the actual state of the work, these transitions are operator-dependent, in the sense that the operator triggers the transition from one state to another by pressing a button or a combination of them. Each button represents a triggering event for both atoms and behaviors (composed by atoms) like the valve turning. A locomo-tion plan can be depicted as a path in the graph which connects and parameterizes the walking primitives λf w, λsw, λtw.

μ

r

μ

a

μ

g

μ

t

μ

ma

a

λ

fw

fw

sw

sw

fw

fw

sw

tw

tw

tw

h

h

h

λ

sw

λ

tw

σ

h

g

t

u

ma

r

ξ

vt

μ

u

h

h

r

h

h

h

Figure 4.1: Finite State Machine representing the possible behaviors of the robot: solid edges depict atomic-interrupt transitions, dashed edges depict

behavior-interrupt transitions.

4.3

Semi-autonomous control architecture

The analysis of the related work, presented in Chapter2, has highlighted that the importance of the operator interface does not diminish as the level of autonomy increases. Even if a robot is capable of operating autonomously, it still needs to convey what it is doing during the task execution to the operator. Thus, as robots become more autonomous, interfaces are used less for control and more for monitoring and diagnosis, moving toward a tele-support perspective or task-level

Riferimenti

Documenti correlati

Robotic system in industrial and house context with focus on manipulation has in- creased. The manipulation might be controlled totally by a computer system or it can be

Inoltre vengono valutati il funzionamento a dodici mesi dall’esordio, la durata della psicosi non trattata (DUP), le condizioni psichiatriche pregresse, la

Investigations were conducted throughout Liguria in northwest Italy, particularly in the east of the region. The study sites are located in areas that were, until at least the end of

A discrete model of such system, based on the simple symmetric random walk on Z, has been inves- tigated in [9], notably in the weak polymer–solvent coupling limit, where

In the second phase we prospectively submitted the Screening Tool for Rheumatologic Investigation in Inflammatory bowel disease (STRII) questionnaire to

È l’area della tutela dei diritti, nella quale l’Africa subsahariana ha saputo coniugare i principi del costituzionalismo liberale, la strutturazione piramidale

While typical transient observations, such as those of GRBs, are at cosmological distances that hinder the detection prospects of very high-energy photons due to

JP, Joffe AM, Coursin DB, Herr DL, Tung A, Robinson BR, Fontaine DK, Ramsay MA, Riker RR, Sessler CN, Pun B, Skrobik Y, Jaeschke R, American College of Critical Care Medicine.