2011 IEEE International Conference on Robotics and Automation Shanghai International Conference Center May 9-13, 2011, Shanghai, China
Autonomous movement generation for manipulators with multiple simultaneous constraints using the attractor dynamics approach Hendrik Reimann, Ioannis Iossifidis and Gregor Sch¨oner Abstract— The movement of autonomous agents in natural environments is restricted by potentially large numbers of constraints. To generate behavior that fulfills all given constraints simultaneously, the attractor dynamics approach to movement generation represents each constraint by a dynamical system with attractors or repellors at desired or undesired values of a relevant variable. These dynamical systems are transformed into vector fields over the control variables of a robotic agent that force the state of the whole system in directions beneficial to the satisfaction of the behavioral constraint. The attractor dynamics approach was recently successfully applied to the generation of manipulator motion trajectories avoiding collision with obstacles [1] and constraints on gripper orientation during reaching and grasping movements [2]. Continuing that body of work, this paper proposes a system which generates movements satisfying both obstacle avoidance and gripper orientation constraints simultaneously. As an extension, the additional constraint of avoiding hardware limits for joint angles is included. Properties of the resulting system are demonstrated by a systematic study generating movements with a large number of constraints in different scene setups. Specific characteristics are highlighted by several showcase example movements.
I. INTRODUCTION To gain a meaningful degree of autonomy, robotic agents must be capable to close the loop of processing incoming sensor information, forming and maintaining a movement plan based on behavioral goals, and interacting with the environment according to that plan, all within a reasonable time span. Knowledge about the scene the agent is situated in must be represented in a form that can be linked easily to the stream of sensory data and that provides information needed for movement generation. The specific way of transforming this sensory information into motor commands determines which information has to be extracted and represented. The movement generation process is constrained by both behavioral goals and states that are to be avoided. The total number of simultaneous constraints quickly surpasses the number of available degrees of freedom, so finding trajectories according to all constraints is not a trivial task. Global optimization approaches attempt to solve it by rating possible movement trajectories according to some optimality criterion based upon the given constraints and then searching the trajectory space, which can be time consuming and requires global knowledge of the environment [3]. Local methods of movement generation avoid such search by valuing the local state of a system and changing it in a Hendrik Reimann and Gregor Sch¨oner are with the Institut f¨ur Neuroinformatik, Ruhr-Universit¨at Bochum, 44801 Bochum, Germany. Ioannis Iossifidis is with the Institute of Applied Computer Science, Ruhr West University of Applied Science, 45470 M¨ulheim an der Ruhr, Germany. Contact:
[email protected].
978-1-61284-380-3/11/$26.00 ©2011 IEEE
direction in which that value is expected to increase. The trajectories generated by such local approaches are usually globally still viable, though not optimal. The computational cost is significantly lower compared to global optimization, though [4]. A dynamical system with an attractor generates a trajectory where the state variable relaxes towards that attractor when near it, by locally mapping the current state to a rate of change of the system variables. The attractor dynamics approach to movement generation represents a behavioral constraint as a desired or undesired value of some relevant variable and defines desired dynamics by setting an attractor or repellor on that value. These changes of relevant variables for different constraints are treated as different “forcelets”, each of which forces the system state in the direction towards an attractor of the corresponding behavioral variable, or away from the repellors. Specifying the relevant behavioral variable and its desired value for a constraint automatically reduces the demands on the sensory processing system to provide a current value for that variable. We have recently employed this approach to generate single reaching movements for manipulators that avoid collision with multiple obstacles in a scene [1] and sequences of movements in which the orientation of the gripper was constrained in order to grasp or manipulate an object in a certain way [2]. This paper presents two new contributions to this line of work. First, movements that simultaneously fulfill orientation constraints and avoid obstacles are generated. Second, the avoidance of hardware limits on available joint angles is included. These additions significantly increase the number of constraints simultaneously active during movement. Related work The Artificial Potential Field Approach (APFA) [5] is similar in spirit to the attractor dynamics approach in that constraints are represented as vector fields over a set of control variables. For complex movements with multiple constraints, Sentis and colleagues organize the constraints into categories hierarchically ordered by importance and solve the constraints in each categories only in the null-space of the higher rated goals [6]. While this separation guarantees that the higher valued constraints cannot be violated by influences from lower valued goals, the strict classification system makes it hard to capture gradual shifts in relative importance of constraints over the course of a whole movement. Aside from this difference in behavioral organization, the methods of vector field generation of the APFA and the attractor
5470
dynamics approach have been compared in more detail in [1]. Another approach using dynamical systems is the Dynamic Movement Primitive (DMP) framework introduced by Ijspeert and colleagues [7]. Movement trajectories are generated by shifting attractor landscapes over the control variables, the time courses of which are learned from movements demonstrated by other agents, usually human teachers. Complex movements that are separable into different nonsimultaneous segments are reproduced convincingly by DMP [8]. While generalizing very well to other movements of the same general class as one learned from examples, qualitative differences introduced by the presence of new constraints are not straightforward to deal with in this framework [9]. Exact global approaches to motion planning are investigated by many researchers, an overview can be found in [10]. II. MOVEMENT GENERATION The attractor dynamics approach to behavior generation states that each behavioral constraint should be represented by a desired or undesired value (or set of values) for a relevant behavioral variable χ. It can then be formalized by a dynamical system χ˙ = fχ with an attractor or repellor at the desired or undesired value(s). If the dynamics of the behavioral variable χ is generated by this system, the constraint will be fulfilled as χ relaxes towards a desired or away from an undesired value. Such a dynamical system fχ is called a behavioral forcelet for χ. The relevant behavioral variables are usually not expressed in the same coordinates that are used to send commands to the hardware of an autonomous agent. For a manipulator, the latter is usually a vector of joint angles, while behaviorally relevant constraints might be represented by the position or orientation of a tool point in cartesian workspace. To realize the dynamics specified by a behavioral forcelet fχ , it must be expressed by a dynamical system for the control variables, e.g. to generate a movement of the tool point in a desired direction, a suitable joint velocity vector must be found. In general, each forcelet fχ for a behavioral variable χ must be transformed into a forcelet Fχ over the control variables. In the case where χ = p(θ) is the cartesian tool position, this transformation can be made using the Jacobian Jp =
∂p ∂θ
(1)
with the relation Fp = Jp fp
(2)
implying that if the control variable dynamics are generated by Fp , the dynamics of the behavioral variable will follow fp , so the constraint represented by fp will be satisfied. A straightforward way to transform a given behavioral forcelet fp to a control variable vector field Fp is to use the pseudoinverse Jp+ of the Jacobian. When multiple behavioral constraints are active simultaneously, each one can be transformed into a vector field Fχ over the control variables as described above. Although the
relevant behavioral variables for the different constraints will usually not be the same, the vector fields Fχ are defined over the same variables, so they can be superposed to form a single vector field X F= Fχ . (3) χ
When this composite vector field is used to generate the dynamics of the control variables, the resulting dynamics of each behavioral variable χ will generally be different from the dynamics described by each behavioral forcelet fχ , but the influence of fχ will force the relevant variable χ in the right direction, towards a desired or away from an undesired state, so that the constraint will usually still be satisfied. For the movement generation system described in this paper, the state space is composed of the joint angles θi and joint velocities θ˙i . As the dynamics of the joint angles are fully described by the joint velocity state, the ˙ and the vector fields available degrees of freedom are the θ, erected by behavioral forcelets must be over these, i.e. joint accelerations, which determine the dynamics of the control variables. In some cases the dynamics of the behavioral variables and the control variables are of different order. The behavioral variables the dynamics depend not only upon the dynamics of the control variables, but is mostly affected by the current state of the control variables – the movement vector of the tool position depends upon the joint accelerations only in second order, it is mostly determined by the current joint velocity state. This means that the forcelets erected by the contribution of such a constraint will only affect the behavioral variable indirectly. To establish a stronger link between the dynamics of the control variables and the dynamics of the behavioral variable, a solution is to introduce an intermediate variable, the state of which directly affects the behavioral variable and the dynamics of which directly depends upon the dynamics of the control variable – usually simply the rate of change of the behavioral variable. The dynamics of the cartesian position of the tool point, e.g., is directly affected by the tool point velocity, while the dynamics of the tool point velocity directly depends upon the dynamics of the joint velocities. For behavioral variables that are not directly affected by the control variables, there are two different regimes of the behavioral variable that pose different general requirements on the vector field erected over the control space to affect it. In the first regime a behavioral variable is far away from its desired or undesired value, the exact state of the variable is not as important as its rate of change – for a far away goal, what counts is moving towards it, not the exact position. In the direct neighborhood of the desired or undesired value, the balance shifts as the exact state becomes more important. We call these two different regimes of a behavioral variable transport and stabilization. Formally they are defined by the value of indicator functions
5471
ι(tr) (χ) = σ(χ, aχ , bχ ) and ι(st) (χ) = 1 − ι(tr) (χ), (4)
where
σ(x, a, b) =
−1 2
cos
0
x−a b−a π
1
+
1 2
:
x ≤ a,
: :
a < x < b, b ≤ x.
(5) aeef
is used as a sigmoid function rising smoothly from 0 to 1 between the given thresholds a, b. These indicator func(tr) (st) tions allow us to define different forcelets fχ , fχ for a behavioral variable that will be used in the transport and stabilization regimes, and switch between them, using (st) fχ = ιχ(tr) (χ)fχ(tr) + ι(st) χ (χ)fχ
(6)
as the total forcelet. In this text, italic letters indicate scalars, bold letters indicate vectors or points in cartesian workspace, bold capital letters are elements of joint space, and other entities are denoted by italic capital letters. The letter αχ always indicates a gain factor relevant to χ. A. Reaching Moving the end-effector point p to a desired goal position g corresponds to the desired state k = 0, v = 0, where k = g − p is the vector from the end-effector point to the target, v = p˙ is the end-effector velocity vector. To attain this state, we extract two relevant behavioral variables from the state space: the movement speed v = | v |, and the angle between the current movement direction v and the direction towards the target k, given by hv, ki . (7) φ = cos−1 | v || k | In the transport phase, the desired state is for the end-effector to move towards the target with some appropriate speed, which corresponds to a desired value of φ = 0 for the movement direction and v = vdes for the magnitude, the value of which can be specified arbitrarily within a certain range. Simple vector fields over the behavioral variables with attractors at these desired values are given by fφ = −αφ sin φ and fv = −αv (v − vdes ).
(8)
In the stabilization phase, when the end-effector is near the target, we use the cartesian velocity vector v as a relevant behavioral variable instead, setting fv = −αv v −αp (g − p) ,
(9)
which corresponds to a damped harmonic oscillator that relaxes to the single attractive state k = 0, v = 0. These forcelets for the behavioral variables are then trans(tp) formed into vector fields Fpos for the transport phase and (st) Fpos for stabilization over the control variables. Details about this transformation can be found in [1].
Fig. 1. The robotic platform CoRA. The axis aeef of the end-effector frame has to be aligned with the main axis of a long cylindrical object in order to grasp it.
B. Gripper orientation Different kinds of objects present different constraints for grasping, the specifics depending on the shape of the gripper. Our previous work [2] has shown that for objects with a long cylindrical shape, e.g. bottles, pens, or handles of many tools, it is sufficient to align the grasp axis of the manipulator gripper with the long axis of the object to grasp it. To make the grasp axis aeef of the gripper (see fig. 1) collinear with the object axis aobj , the relevant behavioral variable is the angle γ = cos−1 haobj , aeef i (10) between the object axis aobj and the end-effector grasp axis aeef , along with the rate of change ρ = γ˙ of this angle. The constraint is expressed by the desired values γ = 0, ρ = 0. As γ is strictly positive, we choose some negative value for a preferred rate of change ρdes , and use this as a linear attractor for the actual rate of change, setting fγ(tp) = −αρ (ρ − ρdes ).
(11)
Similar to reaching, the orientation is stabilized by a forcelet depending on both the current magnitude of deviation and the rate of change, (12) fγ(st) = −αρ ρ − αγ γ , which is a damped harmonic oscillator for γ. Behavioral coupling To successfully grasp an object, both the positional and the orientational requirement must be met at the same time. For most movements, reaching the target with the gripper takes
5472
much longer than finding the proper orientation. In these cases, it is not necessary to constrain the orientation early in the movement, while leaving it unconstrained provides additional freedom to follow other constraints. This can be formalized by weighting the contribution of the orientation forcelet with a factor depending upon the relation between the expected remaining transport times of the reaching and orientation forcelets. Assuming the relevant behavioral variables φ, v and ρ are close to their desired values, the remaining time T until d and γ reach the desired state can be estimated as γ |k| , Tγ = . (13) Td = vdes ρdes Applying the weight factor wγ = σ(Td − Tγ , −ǫ, ǫ)
(14)
will turn the orientation forcelet on when the expected transport time for orientation becomes larger than the one for reaching, where ǫ determines the threshold slope. Combining this weight with the switch from transport to stabilization phase gives the total orientation forcelet (st) . (15) (γ)f fγ = wγ ιγ(tr) (γ)fγ(tr) + ι(st) γ γ Again, this behavioral forcelet is transformed into a vector field Fγ over the control variables. For details of this transformation, please refer to [2]. C. Obstacle avoidance To prevent collision of the manipulator link segments with an obstacles in the environment during a movement, the link segment position and movement relative to the obstacle are used as behavioral variables. The magnitude of the repelling forcelet is set to S fobs = αobs · wδ · wψ · wm ,
(16)
which is a product of weight factors w depending on the distance δ between link segment and obstacle, the angle ψ between the current movement direction of the link and the direction towards the obstacle, and the magnitude m of the movement towards the obstacle. The direction this forcelet acts in is chosen to mainly increase the angle ψ, with a small contribution upwards. For details about these terms and motivation for the choice of behavioral variables, please refer to [1]. The result is a forcelet FSobs over the control variables for each link segment S.
beneficial anymore in a later phase. If they are detrimental to the current behavioral goal, they are effectively perturbations and will be reduced accordingly. In case they are neither beneficial not detrimental to a behavioral goal, but lie in a direction that does not affect the behavioral variables at all, they remain unchanged by the behavioral forcelets. This is known as build-up of null-space velocities and is a common problem for second order approaches to movement generation (see [11]). One way to counter this effect is to introduce a small homogeneous damping term ˜ damp = −αdamp θ˙ F
that slowly reduces velocities in directions that do not affect any currently relevant behavioral variable. This homogeneous damping also restricts the freedom in directions that are currently relevant for behavioral goals, though. To avoid this, the damping term is only activated when the accuracy requirements on the behavioral variables are high, i.e. in the stabilization phase of the behavioral goals (st) ˜ Fdamp = ι(st) γ ιpos Fdamp .
(18)
This leaves maximal freedom by not reducing movement in any direction during transport, but increases the stability of the whole system by reducing movement in the null-space of the behavioral variables during stabilization. E. Joint angle limits Part of any movement generation system for robotic manipulators is accounting for the hardware limits imposed on the single joints. These are defined as the bounds of the interval [θi− , θi+ ] of values the i-th joint can be moved to. When the interface between the movement generation system and the hardware is simply a vector of desired joint angles sent to the hardware, the joint limits can already be guaranteed by reducing or increasing values outside [θi− , θi+ ] to the nearest value inside the interval. If a joint limit is encountered, this will lead to a joint angle trajectory that sticks to the boundary of the workspace defined by the joint limit, resulting in a sharp change. Also, the relation between directions in joint space and changes of a behavioral variable (see eq. 2) breaks down, as the directions can point towards the joint limit, out of the allowed workspace. These problems can be alleviated by interpreting each single joint angle as the relevant behavioral variable for the joint limit constraint, and erecting forcelets ri− , ri+ ri± = αlim σ(δ ± , alim , blim ),
D. Homogeneous damping The forcelet erected over the control variables for each behavioral goal accelerates the joint angles in a direction that changes the behavioral variable in the desired way. Due to the geometrical structure of the state space and the nature of the Jacobian mapping between joint velocities and rates of change of a behavioral variable (see eq. 2), this direction changes during movement, even in the absence of other perturbations. Because of this change, velocities that were generated during one phase of the movement might not be
(17)
(19)
that repell θ from the undesired values θi− , θi+ , where δ + = θ+ − θ,
δ − = θ − θ−
(20)
are the distances from the joint angle limits. The total joint limit avoidance forcelet is then given by X ˜ lim = (ri− + ri+ )ei , (21) F i
where ei is the i-th unit vector.
5473
2
very large relative to the joint velocity. Fig. 2 illustrates the resulting vector field for θi , θ˙i and sketches the role of the single factors. A forcelet fi− is defined for the lower joint limit analogously. Similar to above, the total joint limit avoidance forcelet is defined as X (fi− + fi+ )ei . (24) Flim =
1.5
joint velocity θ˙ (rad /s)
1
i
0.5
F. Complete behavior To generate movement behavior that follows all the constraints described in this section, the corresponding forcelets are added up to generate a vector field X F = Fpos + Fγ + FSobs + Fdamp + Flim (25)
0 −0.5
S
over the control variables. The flow of this vector field
−1
θ¨ = F −1.5 −2 −1.5
(26)
is used to generate a trajectory for θ˙ and θ. III. IMPLEMENTATION AND RESULTS −1
−0.5
0
0.5
1
1.5
joint angle θi (rad) ˙ Fig. 2. Vector field for joint limit avoidance. Rate of change for θ is θ, rate of change for θ˙ is flim = f − + f + (see eq. 22). The upper joint limit forcelet f + is active in the upper right area, limited by the red line, the weight factor wγ rises smoothly between the solid and the dashed line. The same areas are indicated by green lines for the lower joint limit forcelet f −.
This forcelet suffers from two problems: if a joint limit is approached with a high velocity, the repelling forcelet might not be sufficiently strong to reduce the movement to zero before the limit is reached. If on the other hand the joint limit is approached slowly, the magnitude of the repelling force is much higher than necessary. These two problems are really two faces of the same problem: determining how undesired the state of the variable is without taking into account its current rate of change. A value close to a joint limit can be tolerable as long as the distance from the limit is not reduced further, i.e. the joint does not move towards the limit, or only very slowly, and oppositely a value far away from a joint limit can still be dangerous if the distance from the limit is rapidly shrinking. To make a more meaningful evaluation of how dangerous the current state θ, θ˙ is in terms of hitting a joint limit, we use ν + fi+ = −αlim wlim , (22) δ+ where ν + (23) wlim = 1 − σ(δ + , , ν), ν = θ˙ + c, 2 with a safety offset c. This forcelet is large for combinations of large positive joint velocities and small distances from the upper limit. The distance weight factor wd is added to turn the forcelet off completely when the distance to the limit is
The movement generation system summarized by eq. 25 and 26 was implemented for the manipulator CoRA (Cooperative Robotic Assistant). CoRA is a modular, anthropomorphic, 7 DoF arm mounted on a 1 DoF trunk for a total of 8 DoF. It is equipped a with stereo vision system mounted on a 2 DoF head. For more details, please refer to [12]. The behavior generated by the whole system and the effects of single contributions was tested in a simulation framework. The vector field given by eq. 26 was integrated numerically with an Euler step of 25ms to generate the movement trajectories. We first demonstrate the robustness of the approach by a systematic experiment generating movements in a large number of setups. The roles of the new contributions proposed in this paper are then analyzed in detail using example movements with special scene setups. A. Systematic survey To explore the capabilities of successfully generating movements that adhere to all the constraints described in section II, a systematic experiment was conducted. The manipulator started in one of 6 initial configurations, roughly similar to how a human would hold the right arm when manipulating something on a table. The gripper was located in front of the base or 40cm to the left or right, 15 or 35cm above the work table. The target was in one of 28 different positions: 20 or 40cm above the table, 60 or 70cm in front of the base, and from 60cm to the left to 60cm to the right of the base, in steps of 20cm. The obstacle was a cylinder with a diameter of 8cm and a length of 30cm. It was placed in one of 27 positions, the locations of which depended upon the initial position of the gripper pinit and the target position g: one location was halfway between the gripper and the target, the others locations were on the corners and the centers of the edges and sides of a cube around the first one. The side length
5474
joint angles θ (rad)
1.5 1 0.5 0 −0.5 −1
0
B. Effect of damping dependency on the behavioral state The homogeneous damping term’s (eq. 18) effect of reducing the velocities building up in the null-space of state variables that are currently relevant becomes evident in movements where different behavioral constraints, e.g. reaching the target and avoiding an obstacle, are at odds, their contributions into the total vector field largely opposing each other. In these situations, even small differences between the forcelets can build up over time, leading to a way out of the conflict. Homogeneous damping is a hindrance to this, as illustrated in fig. 4, where joint angle profiles for two movements with the same setup are shown, one with damping depending on the behavioral state as defined in eq. 18, the other with damping permanently active. The scene for the movement was set up in a way such that after avoiding an obstacle with the last link segment and turning towards the target, reaching the target would lead to the back of the ‘wrist’ link segment colliding with the obstacle. One way to avoid this is to turn the wrist and reach the target from a different direction. This solution emerged almost immediately in the undamped case, after about 10 sec. the movement is completed successfully. With permanent damping, the manipulator does not leave the configuration range where the forcelet for wrist obstacle avoidance and the forcelet for target reaching oppose each other for a long time – for about 20 seconds, the arm meanders in approximately the same configuration, until finally reaching the target in a configuration similar to the first movement, taking 3 times as long to finish. C. Behavioral coupling To illustrate the effect of coupling the gripper orientation to the reaching forcelet, fig. 5 shows the behavioral variables
2
3
4
5
time (s)
6
7
8
9
1
joint angles θ (rad)
Fig. 3. Sketch of the experimental setup. The 6 initial gripper positions are marked blue, the 28 target positions green. For one example combination of gripper and target position, the 27 obstacle positions are indicated by small orange markers. Two example initial configurations of the whole manipulator are also shown.
of the cube was one sixth of the distance | g − pinit |; the cube was aligned with the z-axis and the direction from pinit to g. See fig. 3 for an overview of all possible combinations. Out of these 6 · 28 · 27 = 4536 movements, 4423 were completed with all constraints met throughout the movement, a success rate of 97.5%.
1
0.5
0
−0.5
−1 1 0
2 5
3 10
4 15
time (s)
5
6 20
7 25
8 30
Fig. 4. Joint angle profiles for a movement with damping depending on the behavioral state as described in eq. 18 (upper), and damping permanently tuned on (lower).
γ and d and the activation weight of the coupling term wγ for two movements through a scene with one obstacle, which was encountered after ca. 3sec. In the first case, the gripper orientation forcelet was active throughout the whole movement, in the second case, the gripper orientation forcelet was activated by the temporal coupling term given in eq. 15. The evasive movement induced by encountering the obstacle leads to a deactivation of the gripper orientation forcelet at t ∼ 3s, resulting in more freedom to avoid the obstacle, as indicated by the orientation variable not further relaxing toward the desired value γ = 0. The same is repeated a bit later at t ∼ 6s, when another manipulator segment is in danger of colliding with the obstacle. In the case where the orientation forcelet is active throughout the whole movement, a similar avoidance motion is induced by the obstacle. The larger restrictions on the first evasive motion from the active orientation forcelet lead to a disadvantageous manipulator configuration at the second evasive motion, which turns out comparatively much larger. As a result, deactivating the orientation constraint by coupling it to the state of the reaching forcelet decreases the total movement time by almost 2s, more than 20%. D. Joint limit avoidance The effects of different modes of joint limit avoidance are demonstrated by a movement in which the final configuration is very close to the joint limit for the 5th joint, the ‘elbow’, due to obstacle placement. Fig. 6 shows the 5th joint angle for three different avoidance modes. When the limit is simply guaranteed by the low-level
5475
1.6
1
1.55
joint angles θ (rad)
1.2
0.8 0.6 0.4
γ wγ d
0.2 0
0
1
2
3
4
5
6
7
8
9
1.5 1.45 1.4 1.35 1.3 1.25 no 0
1 0.8
10
15
time (s)
simple 20
combined 25
30
Fig. 6. Angle profile for the 5th joint (‘elbow’) for the same movement with three different modes of joint limit avoidance. In the first movement (blue), excessive joint angle commands θ > θ + were simply reduced to the limit θ + . The second movement (red) used the simple angle-dependent repellation from the limit given by eq. 21, which resulted in a cycle. The last movement (green) used the combined angle-velocity dependent forcelet given by eq. 24. The joint limit θ + = π/2 is indicated by the dashed line.
0.6 0.4 0.2 0
5
0
1
2
3
4
5
time (s)
6
7
8
9
Fig. 5. Behavioral variables γ (rad) and d (as fraction of initial value), and the resulting weight factor for temporal coupling wγ , for two movements. One movement was with permanently active orientation forcelet (upper), for the other movement the orientation forcelet was activated by temporal coupling to the reaching forcelet (lower).
motor system, the target is reached, but the joint velocity goes through a very sharp drop as the limit is encountered. With the avoidance strategy of accelerating the joint away from the limit when it comes too close, given in eq. 21, the movement fails, as the manipulator enters a cycle of approaching the target, then being forced away from it by the joint limit forcelet. Using the forcelet depending on the relation of the current distance from the joint angle limit and rate of change towards it, given in eq. 24, the target is reached with a much smoother curve than without the repelling forcelet. In order to isolate the effects of the different joint limit forcelets and minimize influences from other behavioral goals, the hand orientation forcelet was disregarded and the damping term activated throughout whole movement in this case. lengths IV. CONCLUSIONS AND FUTURE WORK We presented a local scheme for movement generation constrained by multiple simultaneous behavioral goals and restrictions. Target reaching and acquiring a gripper orientation suitable for grasping were combined with avoidance of obstacles collision and hardware joint limits. The gripper orientation and damping forcelets were switched on and off depending upon the current state of the behavioral variables relevant to other constraints. The system successfully integrated the large number of constraints and solved the complex task based on purely local planning. The performance achieved in the systematic experiment was surprisingly strong for a system without capabilities to compare and choose from possible trajectories globally. Because local planning relies only on local sensing
as well, this implies that complex constraint satisfaction can be achieved even in systems with limited perceptual and representational capacities. The roles of the damping term, the coupling of gripper orientation to the state of the reaching forcelet and the specific choice of joint limit avoidance forcelet were explored in the isolation of scene setups specifically designed to test each contribution. Especially the joint limit forcelet provides an example of the benefits of using both position and velocity information as state variables for movement generation, as the desirability of a specific variable state, or the lack thereof, largely depends upon the current rate of change of that variable. Failures to fulfill the behavioral goals or globally far from optimal trajectories can mostly be explained by problems inherent to local approaches. Drawbacks were mostly dealt with heuristically, a class of problems was parameterized as good as possible, allowing the relevant behavioral forcelets and corresponding vector fields to be modified depending on that parameter. In spite of the impressive capacity of the attractor dynamics approach to integrate many constraints in a multidegree of freedom arm, there are clearly limits to such a local approach. As the complete system becomes more complicated, so do the combinations of factors leading to failures. Finding functional representations for these, accounting for them by modifying the forcelets accordingly, and tuning these modifications properly puts increasing demands upon the experience of the system designer. A fruitful way to avoid these limitations could be to complement the benefits of local approaches with global planning. One recurring problem is getting stuck in a local optimum, be it spurious attractor or cycle. These could be avoided by first changing the configuration into a globally different regime, and then using the same local approach as before. If the regime change is represented as an intermediate goal, it could be realized by simply switching the reaching forcelet to the final target after reaching the intermediate
5476
goal. This would reduce the global planning to finding a very small set of suitable intermediate goals. As an example, in situations where the arm is trying to reach a target while avoiding an obstacle on the obstacle’s right side, because it started in that regime, but turns out to be too short to reach it on that route, defining an intermediate goal like “move the elbow and gripper to the left of the obstacle” could already be enough to attain a successful movement. In this limited form, the global planning could avoid the problems of high dimensional state space and computation times. V. PARAMETERS A. Target acquisition αφ = 10; vdes = 150 mm / sec; αvel = 15;
αp = 5
B. Obstacle avoidance see [1] C. Gripper orientation αγ = 10; αρ = 15; 0.01 rad
ρdes = −0.3 rad / sec;
ǫ =
D. Joint limit avoidance αlim = 10 (simple); αlim = 0.2 (combined); alim = 0 rad; blim = 0.2 rad; c = 0.1 rad; θi± = ±π rad (i = 1, 2, 4, 6, 8); θi± = ± π2 rad (i = 3, 5, 7) ACKNOWLEDGMENT The authors acknowledge support from the German Federal Ministry of Education and Research within the National Network Computational Neuroscience – Bernstein Fokus: “Learning behavioral models: From human experiment to technical assistance”, grant FKZ 01GQ0951.
R EFERENCES [1] H. Reimann, I. Iossifidis, and G. Sch¨oner, “Generating collision free reaching movements for redundant manipulators using dynamical systems,” in Proceedings of the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), accepted. [2] ——, “Integrating orientation constraints into the attractor dynamics approach for autonomous manipulation,” in Proceedings of the 2010 IEEE/RAS International Conference on Humanoid Robots, accepted. [3] R. B. Rusu, I. A. Sucan, B. Gerkey, S. Chitta, M. Beetz, and L. E. Kavraki, “Real-time perception-guided motion planning for a personal robot,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), St. Louis, MO, USA, 2009. [4] J. Latombe, Robot motion planning. Kluwer Academic Publishers, Boston, 1991. [5] O. Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,” The International Journal of Robotics Research, vol. 5, no. 1, p. 90, 1986. [6] L. Sentis and O. Khatib, “Synthesis of whole-body behaviors through hierarchical control of behavioral primitives,” International Journal of Humanoid Robotics, vol. 2, pp. 505–518, 2005. [7] A. J. Ijspeert, J. Nakanishi, and S. Schaal, “Movement imitation with nonlinear dynamical systems in humanoid robots,” in Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA), 2002. [8] P. Pastor, H. Hoffmann, A. Asfour, and S. Schaal, “Learning and generalization of motor skills by learning from demonstration,” in 9th IEEE-RAS International Conference on Humanoid Robots, 2009. [9] S. Khansari-Zadeh and A. Billard, “Imitation learning of globally stable non-linear point-to-point robot motions using nonlinear programming,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2010. [10] H. Choset, S. Hutchinson, K. Lynch, G. Kantor, W. Burgard, L. Kavraki, and S. Thrun, Principles of robot motion: Theory, algorithms, and implementation. The MIT Press, 2005. [11] J. M. Hollerbach and K. C. Suh, “Redundancy resolution of manipulators through torque optimization,” IEEE Transactions on Robotics and Automation, vol. 3, pp. 308–316, 1987. [12] I. Iossifidis, C. Bruckhoff, C. Theis, C. Grote, C. Faubel, and G. Sch¨oner, “Cora: An anthropomorphic robot assistant for human environment,” in Robot and Human Interactive Communication, 2002, pp. 392–398.
5477