Autonomous Human-Robot Interactive Skills A Collaboration Project between KAIST and Stanford University Principle Investigators Prof. Ju-Jang Lee (KAIST) and Prof. Oussama Khatib (Stanford University) Participating Researches KAIST Stanford University Dr. Sudath R. Munasinghe Mr. Jaeheung Park Mr. Chang-Mok Oh Mr. James Warren 1. Introduction Objectives: The objective of this project is to develop basic autonomous skill primitives for robots to be able to inhabit and corporately behave in human-populated environments. These primitives will be organized in a task behavior library (TBL), allowing for intuitive task-level robot programming. TBL will provide a set of standard task templates that can be used in various robot behaviors by instantiating them with the appropriate control primitives, parameters, and properties. Motivation: Humans have a variety of sensing and perception capabilities including, visual, auditory, and tactile, which allow them to outperform machines and compensate for the generic lack of control resolution. There is an increased interest in exploring methodologies to mimic, or actually transfer human skills to robotic systems, and to make those systems capable of performing complex tasks. Methodologies: The transferred human skills would be essential for robotic systems to behave in human-populated environments, and also to perform complex tasks that are ascribed to human capabilities. Proper behavior in human-populated environments is particularly essential for service robots, where the capability to perform complex humanlike tasks is particularly essential for robotic substitutes for humans. We have concentrated on two major approaches to implement advanced robotic capabilities; (1) model-based approach, and (2) human demonstration. Model-based approach takes an insight into the specific tasks(s), and tries to describe and model the skilled human behavior precisely. Using these models, human skills can me implemented on robots with required strategies and parameters. Human demonstration is a direct skill transfer based on sensory-motor relationships, and motion patterns of human motions such as hand manipulation, gait-skills etc. Human demonstration can motion pattern can be easily recorded by a motion capture facility. 2. Model-based Approach The major difficulty with the extension of a robotic task to human-populated environments lies in the various uncertainties of the real world. Our approach to deal with these constrained motion uncertainties is to rely on sensor-based compliant strategies. In assembly task for example, contacts can be recognized when they occur and take the advantage of them in compliant way to guide the object in the assembly task. Sensor data can be used during motion to adapt the path to the actual geometry of the moving objects (e.g. sliding along the surfaces). Sensing can also be used to decide when to stop a motion and then to select the next move if the goal has not been achieved. The manipulation task primitives are parameterized by a compliance frame, operational point, and other task related parameters. By selecting these parameters appropriately, we can instantiate the basic skill primitives in many different ways to adapt to the needs of a specific task. We have implemented such strategies for several simple tasks including insertion, object stacking, and surface following. In this project, we are focusing on new strategies for compliant motion tasks in order to develop models for advanced primitives that allow complex tasks to be specified at a higher level of abstraction. 2.1 Advanced Skill Primitives 2.1.1 Mobile Manipulation Obstacle Avoidance and Real-Time Path Planning: Most motion planning algorithms presumes that the environment is completely known at planning time [1]. Most of them actually assume that the world will not change in the future, implying that all obstacles are static. Some of them allow for moving obstacles, with known or predictable motion functions. To generate a motion those algorithms build a representation of the obstacles in the configuration space of the robot. The configuration space is the space describing all possible spatial positions and arm configurations of the robot. If a particular configuration, described by the spatial position of the robot and its arm configuration is in collision with the environment, it does not correspond to a physically possible configuration. If we are dealing with robots with many joints, the configuration space is high-dimensional and the computation of configuration space obstacles, or even approximations to it, is computationally very costly and can take from multiple seconds to hours. Planning algorithms that also allow for obstacles moving on a known trajectory augment the configuration space with another dimension: time. Motion planning is performed by finding a continuous curve connecting the initial and the final configuration of the robot. Sounds simple, but it can get pretty complex. This all works fine until an unforeseen obstacle appears, or a known obstacle does not move as it was assumed during planning. Now the motion generated by the motion planning algorithm might not be valid any more. The environment has changed and the assumptions that lead to that particular motion do not hold any more. The solution is to plan a new motion from scratch, given the new information about the environment. If a robot is supposed to accomplish a task in a space that changes frequently, however, this is not practical any more. For a robot to be able to inhabit human-populated environments, it is required that the robot be able to cope with unpredictable changes in the environment. To allow the execution of motion plans in dynamic environments the global planning process can be augmented with a fast, reactive obstacle avoidance component. With this augmentation, an initial motion plan can be generated under the assumption that all obstacles are known [2]. During execution the robot deviates from the planned path, guided by potential fields caused by previously unknown or moving obstacles. The planner attempts to rejoin the original path at a later point that remains unaffected by changes in the environment. Deviation from the pre-planned path, however, can result in local minima that require replanning [3]. To overcome this problem, the concept of elastic bands was introduced [4] in that a path is represented as a curve, called “elastic band”, in configuration space, and it is incrementally modified according to the position of obstacles in the environment to maintain a smooth and collision-free path. Figure 1 illustrates the elastic path being planed for PUMA robot on a mobile base. Fig. 1 Elastic path-planning for obstacle avoidance [Stanford mobile platform] At each workspace location of the mobile manipulator, collision-free space around each rigid link is determined by integrating the collision free bubbles along the spine of that rigid link. These collision-free hyperspaces make the protective hull [5], and by covering entire elastic band with overlapping protective hulls we can guarantee that the path it represents is collision-free. However, as the number of degrees of freedom of the robot increases, the estimate of the local free space around a configuration would require consideration of an excessive amount of bubbles, which affects real-time performance. By defining bubbles in robot workspace, considering the distances to of the obstacles will greatly reduce this drawback. Let ρ (p) be the function that computes the minimum distance from a point p to any obstacle, then the workspace bubble of free space around p { } is defined as B (p) = q : p − q < ρ (p) . Considering p along the spine of a rigid body (a single link or the mobile base), a set of free space bubbles can be determined for that rigid body. This set of bubbles Pqb determines the protective hull for that rigid body in that configuration. The collection of these hulls PqR = UP b q determined the protective b∈R hull of the robot R at configuration q. An elastic stripe S TR = (q1 , q 2 ...q n ) is a sequence of configurations q i on the trajectory T of the robot R. The elastic stripe determined in this way is shown in Figure 2. Fig. 2 Protective hulls and elastic stripe along the trajectory with modification to an incoming obstacle The continuity of the protective hulls along the trajectory, and the existence of a safe trajectory has been verifies in [6]. When the elastic stripe undergoes modification at ith configuration, an internal force generates at p ij , the origin of jth link co-ordinate frame ⎛ d ij−1 ⎞ i i i +1 (p ij+1 − p ij−1 ) − (p ij − p ij−1 ) ⎟ , where d j = p j − p j is the ⎜ d i −1 + d i ⎟ j ⎝ j ⎠ as given by Fiint ⎜ , j = kc distance in the initial original trajectory. These forces cause the elastic stripe to contract and to maintain a constant ratio of distances between every three consecutive configurations. Meanwhile, the obstacles cause external forces due to ⎧k (d − d (p)) 2 their potential fields Vext (p) = ⎨ r 0 0 ⎩ if d (p) < d 0 otherwise where d(p) is the distance from p to the closest obstacle, and d 0 defines the region of influence around the obstacle. The repulsive external force acting at point p is therefore Fpext = −∇Vext = k r (d 0 − d (p)) d where d is the vector between p and closest d point on the obstacle. Under the influence of external forces, each configuration along the trajectory undergoes modifications. Modifications of configuration has to come from joint torques, thus, it is required to map the external forces to joint torques. This mapping under absence of task requirements is given by Γ = J pT Fp , where J p is the Jacobian at p. The 9 degree of freedom Stanford mobile platform consists of a PUMA 560 manipulator mounted on a holonomic mobile base. Figure 3 shows the motion of the robot while responding to an incoming obstacle. Fig. 3 Elastic stripe for a 9-dof robot incrementally modified by a moving obstacle The approaching obstacle deforms the elastic stripe to avoid collision. As the obstacle moves away, internal forces cause the elastic stripe to assume the original straight line trajectory. For mobile manipulation, some degrees of freedom are used for task execution while others can be used to achieve task-independent motion behavior. This is achieved by unifying motion and force control behaviors of redundant manupulatiors [7]. Redundant Γ = J T (q)F + [I − J T (q) J −T (q)]Γ0 manipulator dynamics is given by where the first term on RHS is the torques due to the forces action at the end-effector, whereas the second term on RHS affects internal motion. This decomposition can be used to achieve advanced motion behaviors such as mobile manipulation. To ensure the execution of a task specified in a particular task frame f, the internal and external forces are mapped into the null space of the Jacobian Jf associated with the task frame. This corresponds to the sets of tasks where the end-effector is required to move on a certain trajectory and the redundant degrees of freedom can be used for obstacle avoidance. We adapt the adapt the operational space formulation [8] to realize mobile manipulation, in that the position and orientation of the end-effector is controlled independent of the base motion and other redundant joints, which can be used for obstacle avoidance. However, task execution has to be suspended temporarily when and while task-consistent motion behavior is infeasible due to kinematic constraints or change in the environment. Therefore, it is necessary to develop a criterion to determine task suspension and resumption. Let N T ( J (q)) = [ I − J T (q) J −T (q)] be the dynamically consistent nullspace mapping of the Jacobian J(q) associated with the task. The coefficient c = N T ( J (q))Γ0 Γ0 corresponds to the magnitude ratio of the torque vector Γ0 before and after mapping into the nullspace, thus indicates how well the behavior be implemented within the nullspace of the task. We use an experimental lower limit c < c s at which it becomes desirable to suspend the task in favor of the behavior. Task suspension is gradually, as a transition. The reverse transition takes place to resume the task at an upper value c > c r . Unnecessary transitions can be avoided by introducing a dead-band c s < c r . The mobile manipulation experiment with the Stanford mobile platform is shown in Fig. 4, in that the end-effector maintains its straight-line position profile (which is the specified task) within the entire motion, while the mobile base adapts repulsive curvatures to avoid an incoming obstacle. Fig. 4 Mobile manipulation: keeping end-effector along a straight-line (task) while avoiding collision with unforeseen obstacles Figure 5 shows (1) Real-time obstacle avoidance without specified end-effector task, (2) Mobile manipulation with end-effector task (without suspension), and (3) Mobile manipulation with task suspension Fig. 5 Mobile manipulation: Task suspension and resumption (3rd trial) First trial shows only obstacle avoidance under no task specified at the end-effector. Econd trial has a task specified to keep the end-effector along a straight line. The obstacle doesn’t come extremely close, therefore the end-effector task is maintained witout suspension. However, in the third trial, the task has to be suspended for a while until the obstacle moves away. The task and posture decoupling can be used to realize skilled behavior as illustrated in Fig. 6 Fig. 6 PUMA 560 in vacuuming the floor, opening a door, and ironing a fabric. These skilled behaviors involve a specific task defined at the end-effector in terms of position, orientation and contact force. The task is satisfied independent of the overall posture of the arm. 2.1.2 Human-Robot Cooperative Skills In human-Robot cooperative skills, our investigation is to develop protocols for tactile communication and guided motion skills for human-robot cooperative tasks. Guided motion involves tight cooperation achieved through compliant motion actions, or looser free-space motion commands. The robot for instance, may support a load while being guided by the human to an attachment. These motion skills rely on the interaction skills and the guided-motion primitives. The issues involved in human-robot cooperation have similarities with those associated with multi-robot cooperation. The investigation of guided motion primitives is influenced by the decentralized control behaviors we have developed for cooperative robots. In decentralized corporation of two robots, each robot relies on a model based on an augmented load that takes into account the inertial properties and the dynamics of the other robot. Relying on the interaction skills and using a simplified model of the human arm inertial properties, we are going to investigate a similar approach to human-robot cooperation. This approach will provide the basis for the development of effective human-robot guided-motion primitives. Our approach is based on the concepts of virtual linkage [9] and augmented object [10]. The virtual linkage characterizes the internal forces of the cooperative task, whereas augmented object describes the closed-chain dynamics of the system. The two concepts are briefly described as follows: Virtual linkage and augmented objects: The model for internal forces for multi-grasp manipulation is illustrated in Fig. 7 below. Fig. 7 Virtual linkage concept for multi-robot cooperation in three-grasp manipulation task In this model, grasp points are connected by a closed, non-intersecting set of virtual links. For N-grasp manipulation task, the virtual linkage model is a 6(N-1) degree of freedom mechanism that has 3(N-1) linearly actuated members and N spherically actuated joints. By applying forces an torques at the grasp points we can independently specify internal forces in the 3(N-2) linear members and 3N internal moments at the spherical joints. The internal forces of the object are then characterized by these forces and torques in a physically meaningful way. The relationship between applied forces, their resultants, and ⎡ f1 ⎤ ⎡Fres ⎤ internal forces is ⎢ = G ⎢⎢ M ⎥⎥ , where Fres is the resultant force at the operational ⎥ ⎣ Fint ⎦ ⎢⎣f N ⎥⎦ point, Fint is the internal forces, f i is the forces applied at the ith grasp point, and G is the grasp description matrix. The inverse of the grasp description matrix provides the forces required at the grasp points to produce the resultant and ⎡ f1 ⎤ ⎡F ⎤ internal forces ⎢⎢ M ⎥⎥ = G −1 ⎢ res ⎥ acting on the object. The resultant force on the ⎣ Fint ⎦ ⎢⎣f N ⎥⎦ object describes the required motion behavior, whereas internal forces refer to the specified task at the object. Once these two quantities are specified, the individual grasp-point forces can be determined using G −1 . Further, the grasp point forces can be decomposed into corresponding motion and task components for each robot as f i = f i ,motion + f i ,task and implemented using a decentralized control structure as shown below Fig. 8 Decentralized control for autonomous robots in cooperative tasks Figure 9 illustrates the cooperative behavior of two PUMA 560 robots based on the augmented object and virtual linkage concepts. The decoupled task and posture (motion) control is also included in the decentralized control structure. Fig. 9 Two PUMA 560 robots in a cooperative task The decoupled motion and force (task) control together with the decentralized behavior make the skill primitive for a robot to b able to cooperate with other robots and human operators in a highly skilled manner [11] 3. Direct Skill Transfer Direct skill transfer can be generally applied to a variety of human skills. It does not require an insight, or a model of the particular skill. Human demonstrated data can be learned by a neural network, and then implemented on robots. In this approach, we view human skills in terms of spacio-temporal motion patterns. We could define human skills as proper combination of joint motion profiles. Our approach here is to capture the kinematics of human demonstration and analyze it to reveal the underlying organization of the skill human motions. We are first considering how a human leaves a cup on a table quite easily, without damaging both of the objects, and also in no time of thinking and planning. On the other hand, it is a very difficult task for a robot to perform without the three-dimensional vision information, and advanced contact force sensory system that the humans are equipped with. Object manipulation under constrained environments requires compliance motion, in that the contact information itself is used as important information in guiding the object towards the target position. Therefore, the motion-capture profiles should be supplemented with vision, and contact information, and then investigate the high level organization of human skilled behaviors. This part of the project is still being carried out at KAIST. 4. Strengthening KAIST-Stanford Relationship The project indeed has been a very successful venture for both KAIST and Stanford University. Both sides visited each other twice in the duration of two years. Our visiting of each other actually strengthened our personnel relationships, and mutual understanding. In addition to the project work, we have learned a lot about what is going on the other side. It enlightened us about the cutting-edge research in robotics. After working on this project, now we have strong relationship and better grounds for promoting advanced future collaborations. 5. Summary and Conclusion This project has been dedicated for developing basic autonomous capabilities for robots to be able to inhabit human-populated environments. We have particularly concentrated on skill primitives on (1) Mobile manipulation and (2) Cooperative behavior. With regard to mobile manipulation skills, we have developed methods for (1a) Decoupling force and motion control by null space mapping, (1b) Real-time obstacle avoidance by elastic strip and potential fields. With regard to cooperative skills, we have developed (2a) Compliance control with virtual linkages and augmented object, and (2b) Decentralized control structure for autonomous behavior. Another parallel thread of this project has been devoted to revealing the organizational structure of skilled human behavior by way of analyzing captured motion of human demonstration, augmented with contact and vision information. However, this work is still in progress, and we are mot is a position to publish any results on that as of yet. The primitives that we have developed for mobile manipulation and cooperative skills can be stored in a task behavior library (TBL) and the complex behaviors that a robot would need to inhabit human-populated environment can be instantiated from this TBL. 6. Acknowledgement This collaboration work was funded under the Brain Korea 21 project between KAIST and Stanford University. References [1] J. C. Latombe, “Robot Motion Planning” Kluwer Academic Publisher, Boston 1991. [2] J.P.H. Steel, G. P. Starr, “mobile robot path planning in dynamic environments”, in Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, vol. 2, pp. 922-925, 1988. [3] W. Choi, J .C. Latombe, “A reactive architecture for replanning and executing robot motions with incomplete knowledge,” in Proceedings of the IEEE/RSJ International workshop on Intelligent Robots and Systems, vol. 1, PP. 24-29, 1991 [4] S. Quinlan and O. Khatib, “Elastic bands: Connecting path planning and control,” in Proceedings of the IEEE International Conference on Robotics and Automation, vol. 2 , pp. 802-807, 1993 [5] S. Quinlan, “Real-time modifications of collision free paths”, Ph.D. thesis, Stanford University, 1994 [6] O. Broke, O. Khatib, and S. Viji, “Mobile manipulation: Collision-free path modification and motion coordination,” in Proc. Proceedings of the 2nd International Conference on Computational Engineering in Systems Applications, vol. 4, pp. 839-845, 1998. [7] O. Khatib, “A unified approach for motion and force control of robot manipulators: The operational space approach”, IEEE Journal of Robotics and Autonation, vol. RA-3, no. 1, pp. 43-53, Feb., 1987 [8] O. Khatib, “A unified approach motion and force control of robot manipulators: The operational space formulation,” International Journal of Robotics and Automation, 3(1):4353, 1987 [9] O. Khatib, “Object manipulation in a multi-effector robot system” in R. Bolls and B. Roth (Eds.), Robotics Research 4, pp 137-144, MIT Press [10] D. Williams and O. Khatib, “The virtual linkage: a model for internel forces in multi-grasp manipulation”, in Proceedings International Conference on Robotics and Automation, vol. 1, pp. 1025-1030 [11] O. Khatib, K. Yokai, O. Nrock, K. Chang, and A. Casal, “Robots in human environments: Basic autonomous capabilities”, in archives Robotics Laboratory, Department of computer science, Stanford University, Stanford, CA 94086, USA