US8116908B2 - Multi-modal push planner for humanoid robots - Google Patents

Multi-modal push planner for humanoid robots Download PDF

Info

Publication number
US8116908B2
US8116908B2 US12/134,078 US13407808A US8116908B2 US 8116908 B2 US8116908 B2 US 8116908B2 US 13407808 A US13407808 A US 13407808A US 8116908 B2 US8116908 B2 US 8116908B2
Authority
US
United States
Prior art keywords
configuration
mode
transition
configurations
subject device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US12/134,078
Other versions
US20080306628A1 (en
Inventor
Victor Ng-Thow-Hing
Kris Hauser
Hector Gonzalez-Banos
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to US12/134,078 priority Critical patent/US8116908B2/en
Assigned to HONDA MOTOR CO., LTD. reassignment HONDA MOTOR CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HAUSER, KRIS, GONZALEZ-BANOS, HECTOR, NG-THOW-HING, VICTOR
Publication of US20080306628A1 publication Critical patent/US20080306628A1/en
Application granted granted Critical
Publication of US8116908B2 publication Critical patent/US8116908B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Definitions

  • the present invention is related to a method and system for planning motions in a robot, more specifically to a method and system for planning motions involving multiple modes where each mode is subject to different constraints.
  • robots or other devices may need to perform operations in multiple modes.
  • One mode for example, walking
  • another mode for example, pushing
  • multi-modal planning is found in many areas of robotics including legged locomotion and reconfigurable robots.
  • Algorithms for planning single-mode motions may not be suitable for planning multi-modal operations.
  • Single-mode planning methods assume that all the motions of robots or devices are subject to the same set of constraints.
  • Effective single-mode motion planning methods such as probabilistic roadmap (PRM) methods are currently available to obtain efficient paths to reach the target configuration of robots.
  • PRM probabilistic roadmap
  • multi-modal planning not only the motions within each mode but also transition configurations between two adjacent modes must be decided.
  • the transition configuration is a configuration that the robot takes before transitioning from one mode to another mode.
  • transition from one mode to another mode must be made via the transition configuration.
  • the choice of the transition configuration also significantly impacts the effectiveness of overall path to the target configuration.
  • Conventional single-mode planning methods are not effective in producing effective transition configurations.
  • transition configurations there may be multiple transition configurations or a continuous set of transition configurations for transitioning from one mode to another mode.
  • One way of addressing the continuous set of transition configurations is to discretized the continuation set of transition configurations and expand path searches from the discretized transition configurations. If the discretization of the transition configurations is too sparse, transition configurations leading to the target configuration may be missed. In such case, a path to the target configuration may not be obtained from the discretized points of transition configurations. Conversely, if the discretization is too dense, excessive resources may be needed to conduct searches for the path of configurations.
  • Pushing operation is a useful form of manipulation that involves multi-modal motion planning.
  • the robot may first walk (a first mode) to the table, reach its arm (a second mode) toward the object, and then push (a third mode) the object to a certain location.
  • the robot may need to perform a number of pushes. Between the pushes, the robot may need to reach or retract its arm, switch hands, or walk to a new location while satisfying various sets of constraints.
  • some pushes may be irreversible because of limited reach of the manipulators and other constraints on the configuration of the robots or devices. For these reasons and others, pushing motions need to be planned carefully to achieve a target objective.
  • Embodiments of the present invention provide a method, a system and a computer readable storage medium for planning motions for a subject device (e.g., a humanoid robot) operable in two or more modes (e.g., walk, reach/retract and push). Each mode has a set of constraints that must be followed by the subject device.
  • a first transition configuration of the subject device is selected from candidate transition configurations shared by the most constrained mode (e.g., push mode) and a mode adjacent to the most constrained mode (e.g., reach/retract mode) and closer to an initial configuration of the subject device.
  • a search is performed to obtain a first series of configurations between the first transition configuration and the initial configuration. Another search is also performed to identify the path from the first transition configuration to the target configuration.
  • a tree is generated to include multiple nodes. Each node represents the configuration that may be taken by the subject device to reach the target configuration from the initial configuration. To expand the tree with a sampled transition configuration, distances between the nodes of the tree and the sampled transition configuration are calculated. The sampled transition configuration is connected to a node with the shortest metric distance.
  • a feasibility table and a utility table are generated and stored.
  • the feasibility table stores information about feasibility of reaching transition configurations for the first transition configuration from the first mode.
  • the utility table stores the utility of the candidate transition configurations for the first transition configuration.
  • the utility represents changes in configurations effective in reaching the target configuration.
  • the transition configuration is sampled based on the utility and the feasibility of the transition configuration.
  • FIG. 1 is a diagram illustrating a robot in an environment including an object for pushing, according to one embodiment of the present invention.
  • FIG. 2A is a mode transition diagram illustrating permissible transitions between modes, according to one embodiment of the present invention.
  • FIG. 2B is a conceptual diagram illustrating manifolds representing configurations that can be taken by a system including a subject device and an object being manipulated by the subject device.
  • FIG. 3A is a diagram illustrating an example where the most constrained mode appears as the last mode, according to one embodiment of the present invention.
  • FIG. 3B is a diagram illustrating another example where the most constrained mode appear between the first mode and the last mode, according to one embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating components of a robot, according to one embodiment of the present invention.
  • FIG. 5 is a block diagram illustrating components of a motion planner, according to one embodiment of the present invention.
  • FIGS. 6A and 6B are diagrams illustrating a coordinate system for describing operation in a push mode, according to one embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a utility table, according to one embodiment of the present invention.
  • FIG. 8 is a flow chart illustrating a method of planning multi-modal motions, according to one embodiment of the present invention.
  • FIG. 9 is a flow chart illustrating a method of expanding a tree using expansion strategy, according to one embodiment of the present invention.
  • Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
  • the present invention also relates to an apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
  • the configuration of a subject device is a specification of the position and the orientation of each rigid components of a subject device with respect to a fixed coordinate system.
  • the set of all configuration forms the configuration space of the subject device.
  • the subject devices may take a subset of the configurations within the configuration space due to various constraints imposed by, among others, obstacles, kinematics constraints, self-collision, and dynamics of the subject device.
  • An object configuration is the configuration of an object being manipulated by the subject device.
  • the configuration of the subject device and the object configuration are collectively referred to as “configuration” herein.
  • d′ is the number of degrees of freedom of the object being manipulated.
  • the object configuration of an object pushed on a flat surface has three degrees of freedom (two horizontal coordinates and the orientation of the object).
  • the subject device may be any device that has one or more degrees of freedom and is operable in two or more modes where each mode imposes different sets of constraints on the configuration of the subject device.
  • the subject device includes, among others devices, a robot, industrial equipment, a vehicle, virtual devices and computer-animated characters.
  • Two modes are referred to as being adjacent if transition between the two modes is permissible.
  • the modes must share at least one common configuration (hereinafter referred to as a “transition configuration”) that can be taken by the subject device in both modes.
  • Multi-modal motions are planned by first performing searches on the most constrained mode of operation, and then expanding the search to other modes.
  • Searching motions for the most constrained mode involves sampling transition configurations for transition between the most constrained modes and a mode adjacent to the most constrained mode.
  • the transition configurations are sampled so that non-feasible configurations are precluded. Further, the transition configurations are also sampled in a manner so that transition configurations with higher utility are sampled with a higher probability.
  • a series of configurations between a starting transition configuration and an ending transition configuration are searched within a single-mode using a conventional single-mode motion planning method.
  • FIG. 1 illustrates a robot 130 in an environment including an object 112 for pushing, according to one embodiment of the present invention.
  • the robot 130 is a humanoid robot that is capable of performing various operations akin to human motions.
  • One example of such a robot is ASIMO advanced humanoid robot of Hyundai Motor Co., Ltd., Tokyo, Japan.
  • the present invention is not limited to humanoid robots and may be used in other types of robots and mechanical devices that are operable in multiple modes.
  • the robot 130 may operate in multiple modes to accomplish certain tasks. For example, the robot 130 of FIG. 1 may walk (a first mode) over to the table 110 , reach/retract its arm (a second mode), and push (a third mode) an object 112 to a target location 114 . In order to accomplish such tasks, the robot 130 must take a series of configurations. By operating in different modes, the robot 130 may perform diverse types of tasks more effectively relative to operating only in a single mode.
  • the configuration of the robot 130 may include, among others, planar coordinate of the robot 130 (x robot , y robot , ⁇ robot ), the joint angles for each arm, open/close parameter for each hand, and the joint angles of the legs.
  • the object configuration of the object being pushed has three parameters: two parameters representing a planar horizontal coordinate (x and y) and one parameter representing the orientation of the object.
  • the configuration of the overall system includes the configuration of the robot 130 and the object configuration.
  • the robot 130 operates in at least the following five distinct modes: (i) a walking mode, (ii) a reach/retract left arm mode, (iii) reach/retract right arm mode, (iv) a mode where an object is pushed using the left arm, and (v) a mode where an object is pushed using the right arm.
  • a walking mode for example, the left and right legs of the robot 130 must operate in a predefined series of configurations so that the robot 130 walks to a destination without tipping over or causing collision between different parts of the body (i.e., self-collision).
  • the arms in a reach/retract mode, the arms must be coordinated so that self-collisions or collisions with other obstacles (e.g., table 110 ) do not occur.
  • the arm and hand of the robot In a push mode, the arm and hand of the robot must move along a path so that the tip of the hand maintains contact with the object and pushes the object in the right direction.
  • FIG. 2A is a mode transition diagram illustrating permissible transitions between the modes in a robot 130 , according to one embodiment of the present invention.
  • the robot 130 is allowed to transition from the walking mode to the pushing mode via the reach/retract mode but not directly from the walking mode to the pushing mode. After retracting the arms, the robot 130 may return to the walking mode to walk to a different location. Direct transition between the reach/retract right hand mode and reach/retract left arm mode is also allowed so that the robot 130 changes the hand pushing the object.
  • the transition diagram of FIG. 2A is merely illustrative. Modes may be added, replaced or omitted depending on the configuration of subject device, the object being manipulated or the task the subject device is designed to accomplish.
  • FIG. 2B is a conceptual diagram illustrating manifolds 210 through 250 representing configurations that can be taken by the system including the robot 130 and the object 112 being manipulated.
  • the robot 130 and the object 112 may take any configuration within configuration space 200 absent any constraints imposed by modes.
  • the configuration space 200 is defined so that awkward or ineffective movements of the robot are prevented (e.g., pushing an object without facing the object).
  • Each manifold represents a set of configurations of the robot 130 and the object 112 that may be taken when the robot 130 is operating in a mode.
  • the manifolds 210 to 240 may indicate configurations of the robot 130 and the object 112 in a reach/retract mode at four different planar coordinates of the robot 130 (x robot , y robot , ⁇ robot ).
  • the manifold 250 represents configurations that the robot 130 and the object 112 may take in a pushing mode.
  • the manifolds 210 through 250 represent modes for reaching/retracting an arm and pushing the object 112 to the target location 114 using the tip of the robot's hand.
  • the configuration of robot 130 before reaching out the arm is represented by a point A on the manifold 240 .
  • the robot 130 reaches its arm so that the system takes configuration B. While transitioning from configuration A to configuration B, the robot 130 takes a series of configuration within the manifold 240 .
  • the configuration of the object 112 does not change during such transition because the object 112 stays on the table 110 without any manipulation.
  • the robot 130 may push the object 112 by taking a series of configurations within the manifold 250 .
  • the tip of the robot's hand starts touching the object 112 at configuration B.
  • the robot 130 is subject to the constraints that (i) the robot's hand maintains contact with the object 112 , and (ii) a normal vector at the contact point of the robot's hand and the object 112 maintains a horizontal direction to push the object 112 without tipping over the object 112 .
  • the configuration of the object 112 along with the configuration of the robot 130 , changes between configuration B and configuration C because the robot 130 pushes the object 112 .
  • the system takes the configuration C.
  • the robot 130 retracts its arm so that the system takes configuration D.
  • the system takes a series of configurations as represented by a line C-D while its arm is being retracted to configuration D.
  • configurations B and C are transition configurations that are shared by both the reach/retract mode and the push mode.
  • the major difficulty in planning motions involving multiple modes lies in determining such transition configurations that are effective in reaching the target configuration.
  • a series of configurations within a mode may be obtained by using conventional single-mode planning described, for example, in Oussama Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,” International Journal of Robotics Research, Vol. 5, No. 1, 1986, pp. 90-98, which is incorporated by reference herein in its entirety.
  • search for the paths of configurations starts and expands from the most constrained mode.
  • the most constrained mode refers to a mode that is subject to the most restrictive constraints, and thus, requires the most amount of computation and resource to obtain an effective series of configurations within the mode.
  • the constraints may be due to, among other reasons, presence of obstacles, kinematics limits of the robot, unpredictable or unstable control characteristics of motions, and the need for an effector to maintain certain relationship with the object being manipulated.
  • FIG. 3A is a diagram illustrating an example where the most constrained mode appears as the last mode N.
  • the robot 130 operates in modes A through N in a sequence. Specifically, the robot 130 starts at an initial configuration 312 in mode A, and then proceeds to mode B and other subsequent modes, ending at mode N.
  • a target configuration 324 is in mode N.
  • the robot 130 must transition between modes via transition configurations sampled from candidate transition configurations 316 , 318 , 320 , and 322 shown as hashed area of ellipses representing configurations for a mode.
  • the dots in the transition configurations 316 , 318 , 320 , and 322 represent transition configurations that are sampled to search for the path of configurations (i.e., a series of configurations to be taken by the robot 130 ) between the initial configuration 312 and the target configuration 324 .
  • the most constrained mode is the pushing mode.
  • a transition configuration is sampled from the candidate transition configurations 322 .
  • a single-mode planning is performed within the mode N to determine if there is a path of configurations to the target configuration 324 within the mode N. If there is a path, then searches for path of configurations to the initial configuration 312 is performed by expanding a tree of nodes that represent the transition configurations for various modes. If there is no path between the sampled transition configuration and the target configuration 324 , then other transition configurations are sampled from the candidate transition configuration.
  • By starting and expanding the search from the most constrained mode paths of configurations unlikely to result in feasible transition configurations in the most constrained mode are discarded before further investigation. Because the most constrained mode requires the most amounts of resources, starting and expanding the search from effective transition configurations of the most constrained mode reduces resources wasted on planning for path that fails to yield effective paths in the most constrained mode.
  • FIG. 3B is a diagram illustrating another example where the most constrained mode F appear as an intermediate mode between the first mode A and the last mode N.
  • the example of FIG. 3B is the same as the example of FIG. 3A except that the mode F, having candidate transition configurations 342 and 346 , is the most constrained mode.
  • First transition configurations are sampled from the candidate transition configuration 342 .
  • Second candidate transition configurations are also sampled from the candidate transition configuration 346 .
  • the dots in hashed area 342 of mode F represent sampled first transition configurations.
  • the dots in hashed area 346 of mode F represent sampled second transition configurations.
  • first transition configurations and the second transition configurations that do not produce any feasible path of configurations between them are discarded from further investigation. Conversely, combinations of the first and second transition configurations that produced paths of configurations become nodes of a tree for expanding toward the initial configuration 312 or the target configuration 324 .
  • the paths of configurations between the initial configuration 312 and the target configuration 324 are searched more efficiently by first sampling the transition configurations for the most constrained mode, and then expanding the search to a series of configurations in other modes.
  • searching for high utility paths in the most constrained mode first less resource is wasted on searching paths for other less constrained mode that leads only to a non-feasible or low utility path in the most constrained mode.
  • FIG. 4 is a block diagram illustrating components of a robot 130 , according to one embodiment of the present invention.
  • the robot 130 includes, among other components, sensors 440 , a computing module 410 , and effectors 490 .
  • the computing module 410 receives sensor signals 442 from the sensors 440 to determine its location and orientation relative to various objects in the environment surrounding the robot as well as determine the current configurations of the robot.
  • the sensors include, among other components, image sensors, linear sensors and rotary sensors for determining the position and orientation of one body segment (e.g., arm) with respect to another body segment (e.g., upper arm).
  • the sensor signals 442 may function as feedback signals to control the motions of the robot 130 .
  • the effectors 490 include, among others, motors, hydraulic actuators, solenoids, and other components for causing physical changes in the configuration of the robot 130 .
  • the computing module 410 identifies the current configuration of the robot 130 , plans motions to accomplish certain tasks, and executes the planned motions by sending generated effector signals 482 to the effectors 490 .
  • the computing module 410 includes, among other components, an object detector 450 , an environment mapper 460 , a motion planner 470 , and a controller 480 .
  • the object detector 450 determines identity and/or the location of objects in the environment.
  • the object detector 450 is implemented using techniques, for example, as disclosed in copending U.S. patent application Ser. No. 12/124,016 entitled “Rectangular Table Detection Using Hybrid RGB and Depth Camera Sensors,” filed on May 20, 2008.
  • the environment mapper 460 maintains and tracks information about the objects in the surroundings of the robot 130 . Specifically, the environment mapper 460 receives object information 452 , and maps the objects 110 , 112 to three-dimensional coordinates. The environment mapper 460 may store information regarding shape or geometry information (e.g., width, height, and length of objects) and locations of the object as detected by the robot 130 . In one embodiment, the environment mapper 460 also stores information about location and attributes (e.g., length, width and height) of objects that is provided by a user or other sources. The environment mapper 460 provides environment information 462 to the motion planner 470 . The environment information 462 includes the information concerning location and profiles of the objects in the surroundings of the robot 130 .
  • shape or geometry information e.g., width, height, and length of objects
  • location and attributes e.g., length, width and height
  • the motion planner 470 receives the environment information 462 and generates a motion plan (e.g., walk to a location via a certain path) to be executed by the robot 130 . Based on the plan, the motion planner 470 sends commands 472 (e.g., bend the leg joint by 30 degrees) to the controller 480 . The controller 480 then sends control signals 482 to various effectors 490 instructing the effectors 490 to perform certain motions.
  • a motion plan e.g., walk to a location via a certain path
  • commands 472 e.g., bend the leg joint by 30 degrees
  • FIG. 5 is a block diagram illustrating the motion planner 470 , according to one embodiment of the present invention.
  • the motion planner 470 includes, among other components, a search strategy chooser 510 , a critical mode planner 520 , a search tree expander 540 , and a plan path extractor 560 .
  • the search strategy chooser 510 selects one search strategy among multiple search strategies for searching and planning paths of configurations depending on priorities given weight under the circumstances. For example, if the least computation time is given the highest priority, a search strategy known to generate paths within the shortest time may be selected. If the speed of accomplishing the task after executing planned motions on the robot 130 is given the highest priority, a search strategy known to generate the most efficient paths may be selected.
  • the search strategy chooser 510 also determines the modes to be taken by the robot 130 to reach the target configuration. The search strategy may determine the sequence of modes, for example, based on conditions imposed on operations in different modes.
  • the critical mode planner 520 searches for transition configurations in the most constrained mode. In the example of FIG. 3A , the critical mode planner 520 searches for the path of configurations between the transition configuration 322 and the target configuration 324 . In the example of FIG. 3B , the critical mode planner 520 searches for the path of configurations between a configuration sampled from the transition configurations 342 and a configuration sampled from the transition configurations 346 . In one embodiment, the critical mode planner 520 is specialized and adapted to generate paths for only a certain mode of operation (e.g., push mode). In another embodiment, the critical planner 520 may be used to generate paths for a number of operations.
  • a certain mode of operation e.g., push mode
  • the critical mode planner 520 includes, among other components, a utility table generator 522 , a feasibility table generator 526 , and a transition configuration sample 530 .
  • the utility table generates and stores utility for the transition configurations of the most constrained mode.
  • the utility represents changes in configuration effective in reaching the target configuration within the most constrained mode.
  • the utility is determined by computing the average metric distance that can be taken from the starting transition configuration sampled from the transition configuration 322 .
  • the feasibility table generator 526 generates a feasibility table 528 indicating whether a starting transition configuration in the most constrained mode is feasible and can actually be taken while complying with various constraints. Certain transition configuration may not be taken by the robot 130 because of, among other reasons, collision between different parts of the subject device, obstacles or kinematics constraints such as the reachability of an end effector to a particular location.
  • the feasibility table 528 stores information on whether a certain starting transition configuration violates such constraints. For example, the feasibility table 528 may indicate a value of 1 for transition configurations that does not violate any constraints and a value of 0 for transition configurations that violate such constraints.
  • the feasibility table 528 is combined with the utility table 524 , for example, as described below in detail with reference to FIG. 7 .
  • the utility table 524 and the feasibility table 528 are precomputed and stored for reference by the transition configuration sampler 530 .
  • x, y and ⁇ define a coordinate system for the robot where x-axis is parallel to the direction the robot 130 is facing, y indicates the horizontal displacement normal to the x-axis, and ⁇ indicates the orientation of a normal vector at the tip of the hand contacting the object 112 .
  • the normal vector at the tip of the hand e.g., finger, palm or knuckle
  • the object 112 may be tipped over and a stable push may not be performed.
  • the height of the tip of the hand must also be fixed because raising the tip of the hand during pushing may also tip over the object 112 and lowering the tip of hand may cause the hand to collide with the surface of the table 110 .
  • the feasibility table generator 526 may first initialize all entries to zero (0) (constraints violated) for all transition configurations 322 .
  • a sample configuration from a robot arm's degrees of freedom is created and inverse kinematics is performed for the sampled configuration to determine (i) whether the hand may be brought to a height where contact with the object can be made, and (ii) a vector normal to the point of contact between the object 112 being pushed and the tip of the hand can be oriented horizontally. If the height can be brought to the fixed height and the normal vector can be oriented horizontally, a check is performed to confirm whether other constraints are also satisfied.
  • constraints may include, among others, that there is no self-collision, the tip of the hand touching the object lies in the robots' field of view, and there is no collision with other obstacles. If all the constraints are satisfied, the entry for the sampled transition configuration is changed to one (1) to indicate that this transition configuration is feasible.
  • the utility table generator 522 computes the utility for the push operation.
  • the utility for a transition configuration is computed as the expected distance an object can be pushed from the transition configuration in the absence of obstacles.
  • the utility can be estimated, for example, by performing a Monte Carlo integration over configurations from which push can be performed.
  • the Monte Carlo integration allows computation of the average path length an object can be pushed from a particular location.
  • the information about whether push can be performed from a configuration is stored in the feasibility table 528
  • the estimates of the utility are stored in the utility table 524 for each starting position computed.
  • a path w 0 (x, y, ⁇ )
  • w 0 (x, y, ⁇ )
  • w 1 can be reached from w 0
  • w 2 can be reached from w 1 .
  • the sequence terminates when the feasibility (i.e., reachability) at w k+1 becomes zero (0).
  • the average length is calculated and stored in the utility table 524 .
  • FIG. 7 is a diagram illustrating entries of the utility table 524 in the form of a three dimensional graph for push operation using a tip of an open right hand, according to one embodiment of the present invention.
  • a cloud of dots 710 represents utility and feasibility of the transition configurations that can be obtained by an open right hand of the robot 130 (i.e., the entry in the feasibility is one (1)).
  • the portions of the cloud 710 with darker area indicate the transition configuration with higher utility whereas the portions of the cloud 710 with lighter color indicate the transition configuration with lower utility.
  • Blank area outside the cloud 710 represents the transition configurations that are not feasible because of one constraint or another.
  • a similar utility table 524 may be generated for a left hand of the robot 130 and other hand configurations of the robot (e.g., closed hand or pushing by palm of the hand).
  • the transition configuration sampler 530 samples the transition configuration for obtaining the paths of configurations in the most constrained mode based on the precomputed utility and feasibility of the transition configuration. Specifically, the transition configuration sampler 530 samples a transition configuration from the set of feasible configurations whose feasible table 528 entries are equal to one (1) with probability proportional to the utility of the configuration as defined by the corresponding entry in the utility table 524 . Referring to FIG. 7 , the transition configurations marked with a darker color are more likely to be sampled compared to the transition configurations marked with a lighter color. Because the transition configurations are sampled randomly based on this utility distribution over feasible configurations rather than a uniform discretized grid, the chances of finding successful transition configurations that result in good pushing performance is increased.
  • the critical mode planner 520 plans a series of configurations to be taken within the most constrained mode 520 using a single mode planner 550 , as described below in detail.
  • the search tree expander 540 functions to expand nodes of a tree representing transition configurations between the initial configuration 312 and the target configuration 324 .
  • a node of the tree represents a transition configuration between the modes.
  • the search tree expander 540 samples a configuration q rand in the configuration space.
  • the configuration q rand may be sampled randomly or it may be chosen to coincide with the target configuration of the object being manipulated by the subject device.
  • the distances between the sampled configuration q rand the nodes of the tree are computed to select a node closest in distance to the sampled configuration q rand .
  • the tree After selecting the node in the tree that is closest to the sampled configuration q rand , the tree is expanded from this node towards the sampled configuration q rand , possibly adding new nodes in the path.
  • the search tree expander 540 includes, among other components, a distance metric calculator 542 and a node selector 544 .
  • the distance metric calculator 542 computes the distance between the sampled configuration and the nodes in the tree.
  • the distance between the sampled configuration and the nodes may be defined using a choice of metric that reflects the goal of the task. For example, in the push example described herein, the distance metric may be defined as the distance between the object configurations (i.e., the configuration of the object 112 ) of a node in the tree and the sampled configuration.
  • the configuration of the robot 130 is ignored because the goal of the task is to move the object 112 .
  • the node selector 544 determines the node that is closest to the sampled configuration.
  • the search tree expander 540 selects a transition configuration between a mode of the selected node and its adjacent mode.
  • the transition configuration for transitioning from the mode of the selected node and a node adjacent to the selected node may be selected using a variety of methods.
  • the transition configuration is randomly selected without any biasing.
  • intermediate mode transitions are sampled to find a path towards the mode transition selected by the transition configuration sampler 530 of the critical mode planner 520 .
  • the single mode planner 550 of the critical mode planner 520 searches a single-mode path in the critical mode between the node and the sampled transition configuration. After confirming that there is a path between the configuration as represented by the node and the sampled transition configuration, the tree is expanded by adding sampled transition configurations as a node that is connected to an existing node closest to the sampled transition configurations. In one embodiment, if the distances to two or more nodes are identical, one node may be randomly selected and evaluated for connection to the sampled transition configuration.
  • the single mode planner 550 plans single-mode motions between the sampled transition configuration and a node of the tree after the transition configuration is sampled by the search tree expander 540 .
  • the single-mode planner 550 implements various single-mode planning algorithms such as probabilistic roadmap (PRM) method and potential field methods as disclosed, for example, in Oussama Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,” International Journal of Robotics Research, Vol. 5, No. 1, 1986, pp. 90-98, which is incorporated by reference herein in its entirety.
  • PRM probabilistic roadmap
  • the plan path extractor 560 functions to generate the path of configurations after a path between the initial configuration 312 and the target configuration 324 is identified by expanding the tree.
  • the plan path extractor 560 eliminates nodes that do not yield the path, and outputs a series of configurations the robot 130 should take in reaching the target configuration 324 .
  • the motion planner 470 may generate the commands 472 fed to the controller 480 , as described above with reference to FIG. 4 .
  • FIG. 8 is a flow chart illustrating a method of planning motions in multiple modes, according to one embodiment of the present invention.
  • the target configuration is received 806 at the motion planner 470 .
  • the target configuration is defined in terms of the object configuration of the object being manipulated.
  • the object configuration may include horizontal coordinates and orientation of the object.
  • the motion planner 470 determines 808 permissible transitions between modes of the robot 130 , for example, as illustrated in FIG. 2A .
  • the motion planner 470 determines the most constrained mode in the path between the initial configuration 312 and the target configuration 324 .
  • the motion planner 470 computes and stores 814 feasibility of taking a transition configuration and the utility of the transition configuration.
  • a configuration q rand is then sampled 818 in the configuration space.
  • the configuration q rand may be sampled randomly or it may be chosen to coincide with the target configuration of the object being manipulated by the subject device.
  • a node in a search tree that is closest in distance to the sampled configuration q rand is selected 822 .
  • the tree is then expanded 826 from the selected node using expansion strategy.
  • a node newly added at the end of the expanded tree is defined as an end configuration.
  • the process After the tree is expanded, it is determined 830 whether the distance between the target configuration and the end configuration in the tree is below a threshold. If the distance between the target configuration and the end configuration is below the threshold, the path of configurations from the initial configuration to the target configuration is extracted and outputted. If the distance between the target configuration and the end configuration of the tree is not below the threshold, then the process returns to the step 818 .
  • FIG. 9 is a flow chart illustrating a method of expanding the search tree using an expansion strategy, according to one embodiment of the present invention.
  • the object configuration q obj is extracted 904 from the target configuration.
  • a transition configuration shared by the most constrained mode (e.g., push mode) and an adjacent mode (e.g., reach/retract mode) is sampled 908 .
  • Sampling of the transition configuration may be biased so that transition configurations with higher utility are sampled with higher possibility. Transition configurations that are not feasible may also be excluded from sampling.
  • a search is performed 910 backward from the sampled transition configuration to initial configuration. Transition configurations in modes between the initial configuration and the mode adjacent to the most constrained mode are obtained. If it is determined 912 that the search for a path backward is successful, the process proceeds to perform 916 a single mode planning within the most constrained mode between the transition configuration sampled in step 908 and the target configuration. If it is determined 920 that the single path planning is successful, the transition configurations sampled in step 908 and the transition configurations successfully obtained in step 910 are added to the search tree 924 .
  • step 910 , step 916 or both steps do no yield a successful path, the transition configurations are not added to the tree. Instead, the process returns to step 908 to sample another transition configuration and repeat the steps 910 through 920 .
  • step 910 of searching for the path backward from the sampled transition configuration to the initial configuration and step 916 of performing the single mode planning within the most constrained mode may be performed in parallel or in a reverse order (i.e., steps 916 and step 920 followed by steps 908 and 910 ).
  • the motion planner 470 also implements a blind motion search strategy where the transition configurations are sampled at equal possibility without any bias.
  • the blind motion search strategy does not involve computation of the feasibility or utility before sampling of the transition configuration.
  • the blind motion search strategy does not bias the sampling of the transition configuration to the transition configuration with higher utility. Therefore, the blind motion search strategy may result in more numbers of motions compared to the case where the sampling of the transition configurations was biased toward a higher utility.
  • the feasibility information of the transition configurations is precomputed and stored in the feasibility table 528 .
  • the utility of the transition configuration is not stored in the utility table 524 .
  • the feasibility information is then used to exclude non-feasible transition configurations from being sampled.

Abstract

Multi-modal planning method and system that search a path for the most constrained mode first, and then expands the searches for path in a less constrained mode. By searching the path for the most constrained mode first, less resource are wasted on searching for paths that does not result in a feasible path in the most constrained mode. Multi-modal planning is performed by precomputing feasibility and utility of transition configurations of two adjacent modes. The feasibility is used to exclude non-feasible transition configurations in the most constrained mode from being sampled. The utility is used to bias sampling of the transition configuration so that transition configurations with higher utility are sampled with higher probability. Paths of configurations with higher utility and efficiency are obtained by biasing the sampling of the transition configurations.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 60/933,909 entitled “Multi-Modal Motion Planning For A Humanoid Robot Manipulation Task,” filed on Jun. 8, 2007, the subject matter of which is incorporated by reference herein in its entirety.
FIELD OF THE INVENTION
The present invention is related to a method and system for planning motions in a robot, more specifically to a method and system for planning motions involving multiple modes where each mode is subject to different constraints.
BACKGROUND OF THE INVENTION
In order to accomplish a certain task, robots or other devices may need to perform operations in multiple modes. One mode (for example, walking) may impose one set of constraints on the configuration of the robot while another mode (for example, pushing) may impose another set of constraints on the configuration of the robot. Such multi-modal planning is found in many areas of robotics including legged locomotion and reconfigurable robots.
Algorithms for planning single-mode motions may not be suitable for planning multi-modal operations. Single-mode planning methods assume that all the motions of robots or devices are subject to the same set of constraints. Effective single-mode motion planning methods such as probabilistic roadmap (PRM) methods are currently available to obtain efficient paths to reach the target configuration of robots. In multi-modal planning, however, not only the motions within each mode but also transition configurations between two adjacent modes must be decided. The transition configuration is a configuration that the robot takes before transitioning from one mode to another mode. In multi-modal operations, transition from one mode to another mode must be made via the transition configuration. The choice of the transition configuration also significantly impacts the effectiveness of overall path to the target configuration. Conventional single-mode planning methods, however, are not effective in producing effective transition configurations.
In mutimodal operations, there may be multiple transition configurations or a continuous set of transition configurations for transitioning from one mode to another mode. One way of addressing the continuous set of transition configurations is to discretized the continuation set of transition configurations and expand path searches from the discretized transition configurations. If the discretization of the transition configurations is too sparse, transition configurations leading to the target configuration may be missed. In such case, a path to the target configuration may not be obtained from the discretized points of transition configurations. Conversely, if the discretization is too dense, excessive resources may be needed to conduct searches for the path of configurations.
Pushing operation is a useful form of manipulation that involves multi-modal motion planning. In a humanoid robot, for example, the robot may first walk (a first mode) to the table, reach its arm (a second mode) toward the object, and then push (a third mode) the object to a certain location. Even for a simple pushing task, the robot may need to perform a number of pushes. Between the pushes, the robot may need to reach or retract its arm, switch hands, or walk to a new location while satisfying various sets of constraints. Further, some pushes may be irreversible because of limited reach of the manipulators and other constraints on the configuration of the robots or devices. For these reasons and others, pushing motions need to be planned carefully to achieve a target objective.
SUMMARY OF THE INVENTION
Embodiments of the present invention provide a method, a system and a computer readable storage medium for planning motions for a subject device (e.g., a humanoid robot) operable in two or more modes (e.g., walk, reach/retract and push). Each mode has a set of constraints that must be followed by the subject device. A first transition configuration of the subject device is selected from candidate transition configurations shared by the most constrained mode (e.g., push mode) and a mode adjacent to the most constrained mode (e.g., reach/retract mode) and closer to an initial configuration of the subject device. A search is performed to obtain a first series of configurations between the first transition configuration and the initial configuration. Another search is also performed to identify the path from the first transition configuration to the target configuration.
In one embodiment, a tree is generated to include multiple nodes. Each node represents the configuration that may be taken by the subject device to reach the target configuration from the initial configuration. To expand the tree with a sampled transition configuration, distances between the nodes of the tree and the sampled transition configuration are calculated. The sampled transition configuration is connected to a node with the shortest metric distance.
In one embodiment, a feasibility table and a utility table are generated and stored. The feasibility table stores information about feasibility of reaching transition configurations for the first transition configuration from the first mode. The utility table stores the utility of the candidate transition configurations for the first transition configuration. The utility represents changes in configurations effective in reaching the target configuration. The transition configuration is sampled based on the utility and the feasibility of the transition configuration.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings.
FIG. 1 is a diagram illustrating a robot in an environment including an object for pushing, according to one embodiment of the present invention.
FIG. 2A is a mode transition diagram illustrating permissible transitions between modes, according to one embodiment of the present invention.
FIG. 2B is a conceptual diagram illustrating manifolds representing configurations that can be taken by a system including a subject device and an object being manipulated by the subject device.
FIG. 3A is a diagram illustrating an example where the most constrained mode appears as the last mode, according to one embodiment of the present invention.
FIG. 3B is a diagram illustrating another example where the most constrained mode appear between the first mode and the last mode, according to one embodiment of the present invention.
FIG. 4 is a block diagram illustrating components of a robot, according to one embodiment of the present invention.
FIG. 5 is a block diagram illustrating components of a motion planner, according to one embodiment of the present invention.
FIGS. 6A and 6B are diagrams illustrating a coordinate system for describing operation in a push mode, according to one embodiment of the present invention.
FIG. 7 is a diagram illustrating a utility table, according to one embodiment of the present invention.
FIG. 8 is a flow chart illustrating a method of planning multi-modal motions, according to one embodiment of the present invention.
FIG. 9 is a flow chart illustrating a method of expanding a tree using expansion strategy, according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
A preferred embodiment of the present invention is now described with reference to the figures where like reference numbers indicate identical or functionally similar elements.
Reference in the specification to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Some portions of the detailed description that follows are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps (instructions) leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient at times, to refer to certain arrangements of steps requiring physical manipulations of physical quantities as modules or code devices, without loss of generality.
However, all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or “determining” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any references below to specific languages are provided for disclosure of enablement and best mode of the present invention.
In addition, the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
The configuration of a subject device is a specification of the position and the orientation of each rigid components of a subject device with respect to a fixed coordinate system. For example, a configuration of the subject device may be specified by parameters q=(q0, q1, . . . , qd-1), where d is the number of degrees of freedom of the subject device. The set of all configuration forms the configuration space of the subject device. In each mode, the subject devices may take a subset of the configurations within the configuration space due to various constraints imposed by, among others, obstacles, kinematics constraints, self-collision, and dynamics of the subject device.
An object configuration is the configuration of an object being manipulated by the subject device. The configuration of the subject device and the object configuration are collectively referred to as “configuration” herein. The object configuration may be represented by parameters qobj=(q0, q1, . . . , qd′-1), where d′ is the number of degrees of freedom of the object being manipulated. For example, the object configuration of an object pushed on a flat surface has three degrees of freedom (two horizontal coordinates and the orientation of the object).
The subject device may be any device that has one or more degrees of freedom and is operable in two or more modes where each mode imposes different sets of constraints on the configuration of the subject device. The subject device includes, among others devices, a robot, industrial equipment, a vehicle, virtual devices and computer-animated characters.
Two modes are referred to as being adjacent if transition between the two modes is permissible. To transition from one mode to another, the modes must share at least one common configuration (hereinafter referred to as a “transition configuration”) that can be taken by the subject device in both modes.
Multi-modal motions are planned by first performing searches on the most constrained mode of operation, and then expanding the search to other modes. Searching motions for the most constrained mode involves sampling transition configurations for transition between the most constrained modes and a mode adjacent to the most constrained mode. The transition configurations are sampled so that non-feasible configurations are precluded. Further, the transition configurations are also sampled in a manner so that transition configurations with higher utility are sampled with a higher probability. After sampling the transition configurations, a series of configurations between a starting transition configuration and an ending transition configuration are searched within a single-mode using a conventional single-mode motion planning method.
Overview of Multi-Modal Planning
FIG. 1 illustrates a robot 130 in an environment including an object 112 for pushing, according to one embodiment of the present invention. The robot 130 is a humanoid robot that is capable of performing various operations akin to human motions. One example of such a robot is ASIMO advanced humanoid robot of Honda Motor Co., Ltd., Tokyo, Japan. Although the following embodiments are described below with reference to a humanoid robot 130, the present invention is not limited to humanoid robots and may be used in other types of robots and mechanical devices that are operable in multiple modes.
The robot 130 may operate in multiple modes to accomplish certain tasks. For example, the robot 130 of FIG. 1 may walk (a first mode) over to the table 110, reach/retract its arm (a second mode), and push (a third mode) an object 112 to a target location 114. In order to accomplish such tasks, the robot 130 must take a series of configurations. By operating in different modes, the robot 130 may perform diverse types of tasks more effectively relative to operating only in a single mode.
The configuration of the robot 130 may include, among others, planar coordinate of the robot 130 (xrobot, yrobot, θrobot), the joint angles for each arm, open/close parameter for each hand, and the joint angles of the legs. The object configuration of the object being pushed has three parameters: two parameters representing a planar horizontal coordinate (x and y) and one parameter representing the orientation of the object. The configuration of the overall system includes the configuration of the robot 130 and the object configuration.
In one or more embodiments, the robot 130 operates in at least the following five distinct modes: (i) a walking mode, (ii) a reach/retract left arm mode, (iii) reach/retract right arm mode, (iv) a mode where an object is pushed using the left arm, and (v) a mode where an object is pushed using the right arm. Each of these modes imposes different sets of constraints on the configuration of the robot 130. In a walking mode, for example, the left and right legs of the robot 130 must operate in a predefined series of configurations so that the robot 130 walks to a destination without tipping over or causing collision between different parts of the body (i.e., self-collision). Likewise, in a reach/retract mode, the arms must be coordinated so that self-collisions or collisions with other obstacles (e.g., table 110) do not occur. In a push mode, the arm and hand of the robot must move along a path so that the tip of the hand maintains contact with the object and pushes the object in the right direction.
FIG. 2A is a mode transition diagram illustrating permissible transitions between the modes in a robot 130, according to one embodiment of the present invention. The robot 130 is allowed to transition from the walking mode to the pushing mode via the reach/retract mode but not directly from the walking mode to the pushing mode. After retracting the arms, the robot 130 may return to the walking mode to walk to a different location. Direct transition between the reach/retract right hand mode and reach/retract left arm mode is also allowed so that the robot 130 changes the hand pushing the object. The transition diagram of FIG. 2A is merely illustrative. Modes may be added, replaced or omitted depending on the configuration of subject device, the object being manipulated or the task the subject device is designed to accomplish.
FIG. 2B is a conceptual diagram illustrating manifolds 210 through 250 representing configurations that can be taken by the system including the robot 130 and the object 112 being manipulated. The robot 130 and the object 112 may take any configuration within configuration space 200 absent any constraints imposed by modes. In one embodiment, the configuration space 200 is defined so that awkward or ineffective movements of the robot are prevented (e.g., pushing an object without facing the object).
Within the configuration space 200 are the manifolds 210 through 250. Each manifold represents a set of configurations of the robot 130 and the object 112 that may be taken when the robot 130 is operating in a mode. The manifolds 210 to 240, for example, may indicate configurations of the robot 130 and the object 112 in a reach/retract mode at four different planar coordinates of the robot 130 (xrobot, yrobot, θrobot). The manifold 250 represents configurations that the robot 130 and the object 112 may take in a pushing mode.
Assume that the manifolds 210 through 250 represent modes for reaching/retracting an arm and pushing the object 112 to the target location 114 using the tip of the robot's hand. The configuration of robot 130 before reaching out the arm is represented by a point A on the manifold 240. The robot 130 reaches its arm so that the system takes configuration B. While transitioning from configuration A to configuration B, the robot 130 takes a series of configuration within the manifold 240. The configuration of the object 112 does not change during such transition because the object 112 stays on the table 110 without any manipulation. After taking configuration B, the robot 130 may push the object 112 by taking a series of configurations within the manifold 250. The tip of the robot's hand starts touching the object 112 at configuration B. Between configurations B and C, the robot 130 is subject to the constraints that (i) the robot's hand maintains contact with the object 112, and (ii) a normal vector at the contact point of the robot's hand and the object 112 maintains a horizontal direction to push the object 112 without tipping over the object 112. The configuration of the object 112, along with the configuration of the robot 130, changes between configuration B and configuration C because the robot 130 pushes the object 112. After taking a series of configurations within the manifold 250, the system takes the configuration C. After taking the configuration C, the robot 130 retracts its arm so that the system takes configuration D. The system takes a series of configurations as represented by a line C-D while its arm is being retracted to configuration D.
In FIG. 2B, configurations B and C are transition configurations that are shared by both the reach/retract mode and the push mode. The major difficulty in planning motions involving multiple modes lies in determining such transition configurations that are effective in reaching the target configuration. After the transitional configurations to and from a mode are determined, a series of configurations within a mode may be obtained by using conventional single-mode planning described, for example, in Oussama Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,” International Journal of Robotics Research, Vol. 5, No. 1, 1986, pp. 90-98, which is incorporated by reference herein in its entirety.
In one or more embodiments of the present invention, search for the paths of configurations starts and expands from the most constrained mode. The most constrained mode refers to a mode that is subject to the most restrictive constraints, and thus, requires the most amount of computation and resource to obtain an effective series of configurations within the mode. The constraints may be due to, among other reasons, presence of obstacles, kinematics limits of the robot, unpredictable or unstable control characteristics of motions, and the need for an effector to maintain certain relationship with the object being manipulated.
FIG. 3A is a diagram illustrating an example where the most constrained mode appears as the last mode N. The robot 130 operates in modes A through N in a sequence. Specifically, the robot 130 starts at an initial configuration 312 in mode A, and then proceeds to mode B and other subsequent modes, ending at mode N. A target configuration 324 is in mode N. The robot 130 must transition between modes via transition configurations sampled from candidate transition configurations 316, 318, 320, and 322 shown as hashed area of ellipses representing configurations for a mode. The dots in the transition configurations 316, 318, 320, and 322 represent transition configurations that are sampled to search for the path of configurations (i.e., a series of configurations to be taken by the robot 130) between the initial configuration 312 and the target configuration 324. In the example of pushing described above with reference to FIGS. 1 through 2B, the most constrained mode is the pushing mode.
To obtain a path of configurations, a transition configuration is sampled from the candidate transition configurations 322. After the transition configuration is sampled, a single-mode planning is performed within the mode N to determine if there is a path of configurations to the target configuration 324 within the mode N. If there is a path, then searches for path of configurations to the initial configuration 312 is performed by expanding a tree of nodes that represent the transition configurations for various modes. If there is no path between the sampled transition configuration and the target configuration 324, then other transition configurations are sampled from the candidate transition configuration. By starting and expanding the search from the most constrained mode, paths of configurations unlikely to result in feasible transition configurations in the most constrained mode are discarded before further investigation. Because the most constrained mode requires the most amounts of resources, starting and expanding the search from effective transition configurations of the most constrained mode reduces resources wasted on planning for path that fails to yield effective paths in the most constrained mode.
FIG. 3B is a diagram illustrating another example where the most constrained mode F appear as an intermediate mode between the first mode A and the last mode N. The example of FIG. 3B is the same as the example of FIG. 3A except that the mode F, having candidate transition configurations 342 and 346, is the most constrained mode. First transition configurations are sampled from the candidate transition configuration 342. Second candidate transition configurations are also sampled from the candidate transition configuration 346. The dots in hashed area 342 of mode F represent sampled first transition configurations. The dots in hashed area 346 of mode F represent sampled second transition configurations. After sampling the first and second transition configurations from the candidate transition configurations 342 and 346, a single-mode planning is performed to find any path of configurations between the first and second transition configurations.
The first transition configurations and the second transition configurations that do not produce any feasible path of configurations between them are discarded from further investigation. Conversely, combinations of the first and second transition configurations that produced paths of configurations become nodes of a tree for expanding toward the initial configuration 312 or the target configuration 324.
Regardless of whether the most constrained mode appears as the last mode (as in the example of FIG. 3A) or somewhere between the first mode and the last mode (as in the example of FIG. 3B), the paths of configurations between the initial configuration 312 and the target configuration 324 are searched more efficiently by first sampling the transition configurations for the most constrained mode, and then expanding the search to a series of configurations in other modes. By searching for high utility paths in the most constrained mode first, less resource is wasted on searching paths for other less constrained mode that leads only to a non-feasible or low utility path in the most constrained mode.
Example Architecture of Subject Device
FIG. 4 is a block diagram illustrating components of a robot 130, according to one embodiment of the present invention. The robot 130 includes, among other components, sensors 440, a computing module 410, and effectors 490. The computing module 410 receives sensor signals 442 from the sensors 440 to determine its location and orientation relative to various objects in the environment surrounding the robot as well as determine the current configurations of the robot. The sensors include, among other components, image sensors, linear sensors and rotary sensors for determining the position and orientation of one body segment (e.g., arm) with respect to another body segment (e.g., upper arm). In one or more embodiments, the sensor signals 442 may function as feedback signals to control the motions of the robot 130.
The effectors 490 include, among others, motors, hydraulic actuators, solenoids, and other components for causing physical changes in the configuration of the robot 130.
The computing module 410 identifies the current configuration of the robot 130, plans motions to accomplish certain tasks, and executes the planned motions by sending generated effector signals 482 to the effectors 490. In one embodiment, the computing module 410 includes, among other components, an object detector 450, an environment mapper 460, a motion planner 470, and a controller 480.
The object detector 450 determines identity and/or the location of objects in the environment. In one or more embodiments, the object detector 450 is implemented using techniques, for example, as disclosed in copending U.S. patent application Ser. No. 12/124,016 entitled “Rectangular Table Detection Using Hybrid RGB and Depth Camera Sensors,” filed on May 20, 2008.
The environment mapper 460 maintains and tracks information about the objects in the surroundings of the robot 130. Specifically, the environment mapper 460 receives object information 452, and maps the objects 110, 112 to three-dimensional coordinates. The environment mapper 460 may store information regarding shape or geometry information (e.g., width, height, and length of objects) and locations of the object as detected by the robot 130. In one embodiment, the environment mapper 460 also stores information about location and attributes (e.g., length, width and height) of objects that is provided by a user or other sources. The environment mapper 460 provides environment information 462 to the motion planner 470. The environment information 462 includes the information concerning location and profiles of the objects in the surroundings of the robot 130.
The motion planner 470 receives the environment information 462 and generates a motion plan (e.g., walk to a location via a certain path) to be executed by the robot 130. Based on the plan, the motion planner 470 sends commands 472 (e.g., bend the leg joint by 30 degrees) to the controller 480. The controller 480 then sends control signals 482 to various effectors 490 instructing the effectors 490 to perform certain motions.
Components of Motion Planner
FIG. 5 is a block diagram illustrating the motion planner 470, according to one embodiment of the present invention. The motion planner 470 includes, among other components, a search strategy chooser 510, a critical mode planner 520, a search tree expander 540, and a plan path extractor 560. The search strategy chooser 510 selects one search strategy among multiple search strategies for searching and planning paths of configurations depending on priorities given weight under the circumstances. For example, if the least computation time is given the highest priority, a search strategy known to generate paths within the shortest time may be selected. If the speed of accomplishing the task after executing planned motions on the robot 130 is given the highest priority, a search strategy known to generate the most efficient paths may be selected. The search strategy chooser 510 also determines the modes to be taken by the robot 130 to reach the target configuration. The search strategy may determine the sequence of modes, for example, based on conditions imposed on operations in different modes.
The critical mode planner 520 searches for transition configurations in the most constrained mode. In the example of FIG. 3A, the critical mode planner 520 searches for the path of configurations between the transition configuration 322 and the target configuration 324. In the example of FIG. 3B, the critical mode planner 520 searches for the path of configurations between a configuration sampled from the transition configurations 342 and a configuration sampled from the transition configurations 346. In one embodiment, the critical mode planner 520 is specialized and adapted to generate paths for only a certain mode of operation (e.g., push mode). In another embodiment, the critical planner 520 may be used to generate paths for a number of operations.
The critical mode planner 520 includes, among other components, a utility table generator 522, a feasibility table generator 526, and a transition configuration sample 530. The utility table generates and stores utility for the transition configurations of the most constrained mode. The utility represents changes in configuration effective in reaching the target configuration within the most constrained mode. In one embodiment, the utility is determined by computing the average metric distance that can be taken from the starting transition configuration sampled from the transition configuration 322.
The feasibility table generator 526 generates a feasibility table 528 indicating whether a starting transition configuration in the most constrained mode is feasible and can actually be taken while complying with various constraints. Certain transition configuration may not be taken by the robot 130 because of, among other reasons, collision between different parts of the subject device, obstacles or kinematics constraints such as the reachability of an end effector to a particular location. The feasibility table 528 stores information on whether a certain starting transition configuration violates such constraints. For example, the feasibility table 528 may indicate a value of 1 for transition configurations that does not violate any constraints and a value of 0 for transition configurations that violate such constraints. In one embodiment, the feasibility table 528 is combined with the utility table 524, for example, as described below in detail with reference to FIG. 7. In one embodiment, the utility table 524 and the feasibility table 528 are precomputed and stored for reference by the transition configuration sampler 530.
The processes of generating the utility table 524 and the feasibility table 528 are described herein with reference to pushing of the object 112 placed on the table 110 using a hand of the robot 130. A three dimensional space of configuration including x, y, and θ are defined for a pushing operation, as illustrated in FIGS. 6A and 6B. x, y and θ define a coordinate system for the robot where x-axis is parallel to the direction the robot 130 is facing, y indicates the horizontal displacement normal to the x-axis, and θ indicates the orientation of a normal vector at the tip of the hand contacting the object 112.
When pushing the object 112 using a hand, the normal vector at the tip of the hand (e.g., finger, palm or knuckle) touching the object 112 must be horizontal. Otherwise, the object 112 may be tipped over and a stable push may not be performed. The height of the tip of the hand must also be fixed because raising the tip of the hand during pushing may also tip over the object 112 and lowering the tip of hand may cause the hand to collide with the surface of the table 110.
The feasibility table generator 526 may first initialize all entries to zero (0) (constraints violated) for all transition configurations 322. In one embodiment, a sample configuration from a robot arm's degrees of freedom is created and inverse kinematics is performed for the sampled configuration to determine (i) whether the hand may be brought to a height where contact with the object can be made, and (ii) a vector normal to the point of contact between the object 112 being pushed and the tip of the hand can be oriented horizontally. If the height can be brought to the fixed height and the normal vector can be oriented horizontally, a check is performed to confirm whether other constraints are also satisfied. Other constraints may include, among others, that there is no self-collision, the tip of the hand touching the object lies in the robots' field of view, and there is no collision with other obstacles. If all the constraints are satisfied, the entry for the sampled transition configuration is changed to one (1) to indicate that this transition configuration is feasible.
The utility table generator 522 computes the utility for the push operation. In one embodiment, the utility for a transition configuration is computed as the expected distance an object can be pushed from the transition configuration in the absence of obstacles. The utility can be estimated, for example, by performing a Monte Carlo integration over configurations from which push can be performed. The Monte Carlo integration allows computation of the average path length an object can be pushed from a particular location. The information about whether push can be performed from a configuration is stored in the feasibility table 528 The estimates of the utility are stored in the utility table 524 for each starting position computed.
When an object is pushed, the object traces out a helix that rotates around a center of rotation (COR). An assumption is made of a prior probability Π over stable CORs for a reasonable range of physical parameters of the object 112 such as mass of the object, friction between the effector surface and object surface, and density distribution of an object. Probability Π indicates the range of possible directions that an object can take if pushed from a position. The physical parameters may be simplified to be of uniform distribution to facilitate analysis.
Starting from w0=(x, y, θ), a path w0, w1, . . . , wk is generated where each of the k+1 points in the path w0, w1, . . . , wk represent configurations of the hand contact points that can be reached by pushing the object from the previous contact point in the path. For example, w1 can be reached from w0, and w2 can be reached from w1. The sequence terminates when the feasibility (i.e., reachability) at wk+1 becomes zero (0). After generating a number of paths, the average length is calculated and stored in the utility table 524.
FIG. 7 is a diagram illustrating entries of the utility table 524 in the form of a three dimensional graph for push operation using a tip of an open right hand, according to one embodiment of the present invention. A cloud of dots 710 represents utility and feasibility of the transition configurations that can be obtained by an open right hand of the robot 130 (i.e., the entry in the feasibility is one (1)). The portions of the cloud 710 with darker area indicate the transition configuration with higher utility whereas the portions of the cloud 710 with lighter color indicate the transition configuration with lower utility. Blank area outside the cloud 710 represents the transition configurations that are not feasible because of one constraint or another. A similar utility table 524 may be generated for a left hand of the robot 130 and other hand configurations of the robot (e.g., closed hand or pushing by palm of the hand).
After generating the utility table 524 and the feasibility table 528, the transition configuration sampler 530 samples the transition configuration for obtaining the paths of configurations in the most constrained mode based on the precomputed utility and feasibility of the transition configuration. Specifically, the transition configuration sampler 530 samples a transition configuration from the set of feasible configurations whose feasible table 528 entries are equal to one (1) with probability proportional to the utility of the configuration as defined by the corresponding entry in the utility table 524. Referring to FIG. 7, the transition configurations marked with a darker color are more likely to be sampled compared to the transition configurations marked with a lighter color. Because the transition configurations are sampled randomly based on this utility distribution over feasible configurations rather than a uniform discretized grid, the chances of finding successful transition configurations that result in good pushing performance is increased.
After the transition configuration is sampled, the critical mode planner 520 plans a series of configurations to be taken within the most constrained mode 520 using a single mode planner 550, as described below in detail.
The search tree expander 540 functions to expand nodes of a tree representing transition configurations between the initial configuration 312 and the target configuration 324. A node of the tree represents a transition configuration between the modes. First, the search tree expander 540 samples a configuration qrand in the configuration space. The configuration qrand may be sampled randomly or it may be chosen to coincide with the target configuration of the object being manipulated by the subject device. The distances between the sampled configuration qrand the nodes of the tree are computed to select a node closest in distance to the sampled configuration qrand.
After selecting the node in the tree that is closest to the sampled configuration qrand, the tree is expanded from this node towards the sampled configuration qrand, possibly adding new nodes in the path.
The search tree expander 540 includes, among other components, a distance metric calculator 542 and a node selector 544. The distance metric calculator 542 computes the distance between the sampled configuration and the nodes in the tree. The distance between the sampled configuration and the nodes may be defined using a choice of metric that reflects the goal of the task. For example, in the push example described herein, the distance metric may be defined as the distance between the object configurations (i.e., the configuration of the object 112) of a node in the tree and the sampled configuration. The configuration of the robot 130 is ignored because the goal of the task is to move the object 112. After the distance is computed, the node selector 544 determines the node that is closest to the sampled configuration. The search tree expander 540 then selects a transition configuration between a mode of the selected node and its adjacent mode.
The transition configuration for transitioning from the mode of the selected node and a node adjacent to the selected node may be selected using a variety of methods. In one embodiment of the search tree expander 540, the transition configuration is randomly selected without any biasing. In another embodiment, intermediate mode transitions are sampled to find a path towards the mode transition selected by the transition configuration sampler 530 of the critical mode planner 520.
The single mode planner 550 of the critical mode planner 520 searches a single-mode path in the critical mode between the node and the sampled transition configuration. After confirming that there is a path between the configuration as represented by the node and the sampled transition configuration, the tree is expanded by adding sampled transition configurations as a node that is connected to an existing node closest to the sampled transition configurations. In one embodiment, if the distances to two or more nodes are identical, one node may be randomly selected and evaluated for connection to the sampled transition configuration.
The single mode planner 550 plans single-mode motions between the sampled transition configuration and a node of the tree after the transition configuration is sampled by the search tree expander 540. The single-mode planner 550 implements various single-mode planning algorithms such as probabilistic roadmap (PRM) method and potential field methods as disclosed, for example, in Oussama Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,” International Journal of Robotics Research, Vol. 5, No. 1, 1986, pp. 90-98, which is incorporated by reference herein in its entirety.
The plan path extractor 560 functions to generate the path of configurations after a path between the initial configuration 312 and the target configuration 324 is identified by expanding the tree. The plan path extractor 560 eliminates nodes that do not yield the path, and outputs a series of configurations the robot 130 should take in reaching the target configuration 324. Based on the series of configurations, the motion planner 470 may generate the commands 472 fed to the controller 480, as described above with reference to FIG. 4.
Method for Planning Multi-Modal Operations
FIG. 8 is a flow chart illustrating a method of planning motions in multiple modes, according to one embodiment of the present invention. First, the target configuration is received 806 at the motion planner 470. In the example of pushing of an object to a location, the target configuration is defined in terms of the object configuration of the object being manipulated. In the example of pushing described above in detail, the object configuration may include horizontal coordinates and orientation of the object. The motion planner 470 determines 808 permissible transitions between modes of the robot 130, for example, as illustrated in FIG. 2A. Then, the motion planner 470 determines the most constrained mode in the path between the initial configuration 312 and the target configuration 324. The motion planner 470 computes and stores 814 feasibility of taking a transition configuration and the utility of the transition configuration.
A configuration qrand is then sampled 818 in the configuration space. The configuration qrand may be sampled randomly or it may be chosen to coincide with the target configuration of the object being manipulated by the subject device. A node in a search tree that is closest in distance to the sampled configuration qrand is selected 822. The tree is then expanded 826 from the selected node using expansion strategy. A node newly added at the end of the expanded tree is defined as an end configuration.
After the tree is expanded, it is determined 830 whether the distance between the target configuration and the end configuration in the tree is below a threshold. If the distance between the target configuration and the end configuration is below the threshold, the path of configurations from the initial configuration to the target configuration is extracted and outputted. If the distance between the target configuration and the end configuration of the tree is not below the threshold, then the process returns to the step 818.
FIG. 9 is a flow chart illustrating a method of expanding the search tree using an expansion strategy, according to one embodiment of the present invention. First, the object configuration qobj is extracted 904 from the target configuration. Then a transition configuration shared by the most constrained mode (e.g., push mode) and an adjacent mode (e.g., reach/retract mode) is sampled 908. Sampling of the transition configuration may be biased so that transition configurations with higher utility are sampled with higher possibility. Transition configurations that are not feasible may also be excluded from sampling.
A search is performed 910 backward from the sampled transition configuration to initial configuration. Transition configurations in modes between the initial configuration and the mode adjacent to the most constrained mode are obtained. If it is determined 912 that the search for a path backward is successful, the process proceeds to perform 916 a single mode planning within the most constrained mode between the transition configuration sampled in step 908 and the target configuration. If it is determined 920 that the single path planning is successful, the transition configurations sampled in step 908 and the transition configurations successfully obtained in step 910 are added to the search tree 924.
If step 910, step 916 or both steps do no yield a successful path, the transition configurations are not added to the tree. Instead, the process returns to step 908 to sample another transition configuration and repeat the steps 910 through 920.
The steps of FIG. 9 may be performed in a different sequence. For example, step 910 of searching for the path backward from the sampled transition configuration to the initial configuration and step 916 of performing the single mode planning within the most constrained mode may be performed in parallel or in a reverse order (i.e., steps 916 and step 920 followed by steps 908 and 910).
Alternative Embodiments
In one embodiment, the motion planner 470 also implements a blind motion search strategy where the transition configurations are sampled at equal possibility without any bias. The blind motion search strategy does not involve computation of the feasibility or utility before sampling of the transition configuration. The blind motion search strategy, however, does not bias the sampling of the transition configuration to the transition configuration with higher utility. Therefore, the blind motion search strategy may result in more numbers of motions compared to the case where the sampling of the transition configurations was biased toward a higher utility.
In one embodiment, only the feasibility information of the transition configurations is precomputed and stored in the feasibility table 528. The utility of the transition configuration is not stored in the utility table 524. The feasibility information is then used to exclude non-feasible transition configurations from being sampled.
Although the present invention has been described above with respect to several embodiments, various modifications can be made within the scope of the present invention. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims (21)

What is claimed is:
1. A method of planning motions for a subject device operable in two or more modes, each mode having a set of constraints on configuration of the subject device, comprising:
receiving a target configuration of the subject device;
selecting a first transition configuration of the subject device from candidate transition configurations shared by a most constrained mode of the two or more modes and a first mode adjacent to the most constrained mode, the first mode placed between the most constrained mode and a mode of an initial configuration;
at a computing device, performing a first search for a first series of configurations from the first transition configuration to the initial configuration;
performing a second search for a second series of configurations from the first transition configuration to the target configuration; and
outputting the first and second series of configurations.
2. The method of claim 1, wherein performing the first search comprises:
sampling a second transition configuration shared by the first mode and a second mode adjacent to the first mode, the second mode placed between the first mode and the mode of the initial configuration; and
searching a third series of configurations of the subject device in the first mode between the first transition configuration and the second transition configuration using a single-mode planning.
3. The method of claim 1, further comprising generating and expanding a tree including nodes, each node representing a configuration that may be taken by the subject device to reach the target configuration from the initial configuration.
4. The method of claim 1, further comprising:
determining feasibility of reaching transition configurations for the first transition configuration from the first mode; and
computing utility of the candidate transition configurations for the first transition configuration, the utility representing changes in configuration effective in reaching the target configuration within the most constrained mode from the first transition configuration; and
wherein selecting the first transition configuration comprises sampling a candidate transition configuration biased by the feasibility and the utility of the candidate transition configurations.
5. The method of claim 4, further comprising:
storing the determined feasibility for the candidate transition configurations in a feasibility table; and
storing the computed utility for the candidate transition configurations in a utility table.
6. The method of claim 1, wherein the target configuration is in the most constrained mode, and wherein the second search is performed using a single-mode planning.
7. The method of claim 1, wherein the most constrained mode comprises a mode for pushing an object.
8. A computer readable storage medium adapted to plan motions for a subject device, the computer readable storage medium structured to store instructions, when executed, cause a processor to:
receive a target configuration of the subject device, the subject device operable in two or more modes, each mode having a set of constraints on configurations that may be taken by the subject device;
determine two or more modes taken by the subject device to reach the target configuration from an initial configuration;
perform a first search for a first series of configurations from a first transition configuration of the subject device to the initial configuration of the subject device;
perform a second search for a second series of configurations from the first transition configuration of the subject device to the target configuration of the subject device; and
output the first and second series of configurations of the subject device.
9. The computer readable storage medium of claim 8, further comprising instructions to:
sample a second transition configuration shared by the first mode and a second mode adjacent to the first mode, the second mode placed between the first mode and the mode of the initial configuration; and
search a third series of configurations of the subject device in the first mode between the first transition configuration and the second transition configuration using a single-mode planning.
10. The computer readable storage medium of claim 8, further comprising instructions to generate and expand a tree including multiple nodes, each node representing a configuration that may be taken by the subject device to reach the target configuration from the initial configuration.
11. The computer readable storage medium of claim 8, further comprising instructions to:
determine feasibility of reaching transition configurations for the first transition configuration from the first mode; and
compute utility of the candidate transition configurations for the first transition configuration, the utility representing changes in configuration effective in reaching the target configuration within the most constrained mode from the first transition configuration; and
wherein the instructions to select the first transition configuration comprise instructions to sample a candidate configuration biased by the feasibility and the utility of the candidate transition configurations.
12. The computer readable storage medium of claim 11, further comprising instructions to:
store the determined feasibility for the candidate transition configurations in a feasibility table; and
store the computed utility for the candidate transition configurations in a utility table.
13. The computer readable storage medium of claim 8, wherein the target configuration is in the most constrained mode, and wherein the second search is performed using a single-mode planning.
14. The computer readable storage medium of claim 8, wherein the most constrained mode comprises a mode for pushing an object.
15. A system for planning motions for a subject device operable in two or more modes, each mode having a set of constraints on configurations that may be taken by the subject device, comprising:
a critical mode planner adapted to select a first transition configuration of the subject device from candidate transition configurations shared by a most constrained mode of the two or more modes and a first mode adjacent to the most constrained mode, the first mode placed between the most constrained mode and a mode of an initial configuration; and
a search tree expander adapted to perform a first search for a first series of configurations from the first transition configuration to the initial configuration;
a single mode planner adapted to perform a second search for a second series of configurations from the first transition configuration to the target configuration; and
a plan path extractor adapted to output a first and second series of configurations.
16. The system of claim 15, wherein the search tree expander is further adapted to:
sample a second transition configuration shared by the first mode and a second mode adjacent to the first mode, the second mode placed between the first mode and the mode of the initial configuration; and
search a third series of configurations of the subject device in the first mode between the first transition configuration and the second transition configuration using a single-mode planner.
17. The system of claim 15, the tree expander is further adapted to generate and expand a tree including multiple nodes, each node representing a configuration that may be taken by the subject device to reach the target configuration from the initial configuration.
18. The system of claim 15, wherein the critical mode planner is further adapted to:
determine feasibility of reaching transition configurations for the first transition configuration from the first mode; and
compute utility of the candidate transition configurations for the first transition configuration, the utility representing changes in configuration effective in reaching the target configuration within the most constrained mode from the first transition configuration; and
sample a candidate configuration biased by the feasibility and the utility of the candidate transition configurations.
19. The system of claim 18, further comprising:
a feasibility table adapted to store the determined feasibility for the candidate transition configurations; and
a utility table adapted to store the computed utility for the candidate transition configurations.
20. The system of claim 15, wherein the target configuration is in the most constrained mode, and the search tree expander is adapted to perform the second search using a single-mode planner.
21. The system of claim 15, wherein the most constrained mode comprises a mode for pushing an object.
US12/134,078 2007-06-08 2008-06-05 Multi-modal push planner for humanoid robots Expired - Fee Related US8116908B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/134,078 US8116908B2 (en) 2007-06-08 2008-06-05 Multi-modal push planner for humanoid robots

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US93390907P 2007-06-08 2007-06-08
US12/134,078 US8116908B2 (en) 2007-06-08 2008-06-05 Multi-modal push planner for humanoid robots

Publications (2)

Publication Number Publication Date
US20080306628A1 US20080306628A1 (en) 2008-12-11
US8116908B2 true US8116908B2 (en) 2012-02-14

Family

ID=40096616

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/134,078 Expired - Fee Related US8116908B2 (en) 2007-06-08 2008-06-05 Multi-modal push planner for humanoid robots

Country Status (3)

Country Link
US (1) US8116908B2 (en)
JP (1) JP5060619B2 (en)
WO (1) WO2008154228A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174435A1 (en) * 2009-01-07 2010-07-08 Samsung Electronics Co., Ltd. Path planning apparatus of robot and method thereof
US20110172818A1 (en) * 2010-01-12 2011-07-14 Honda Motor Co., Ltd. Trajectory planning method, trajectory planning system and robot
US20120277907A1 (en) * 2011-04-28 2012-11-01 Waseda University Trajectory planning method, trajectory planning system and trajectory planning and control system
US9990433B2 (en) 2014-05-23 2018-06-05 Samsung Electronics Co., Ltd. Method for searching and device thereof
US11220009B2 (en) * 2018-02-23 2022-01-11 Panasonic Intellectual Property Management Co., Ltd. Interaction device, interaction method, recording medium storing interaction program, and robot
US11314826B2 (en) 2014-05-23 2022-04-26 Samsung Electronics Co., Ltd. Method for searching and device thereof
US20220324108A1 (en) * 2020-04-16 2022-10-13 Boston Dynamics, Inc. Global arm path planning with roadmaps and precomputed domains
US20220379472A1 (en) * 2019-10-09 2022-12-01 Kawasaki Jukogyo Kabushiki Kaisha Control method, control device, robot system, program, and recording medium

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101667029B1 (en) * 2009-08-10 2016-10-17 삼성전자 주식회사 Method and apparatus of path planing for a robot
JP5447811B2 (en) * 2009-09-10 2014-03-19 国立大学法人 奈良先端科学技術大学院大学 Path plan generation apparatus and method, robot control apparatus and robot system
US20110153080A1 (en) * 2009-12-22 2011-06-23 Siemens Product Lifecycle Management Software Inc. Method and apparatus for industrial robotic pathscycle time optimization using fly by
DE102010008240B4 (en) * 2010-02-17 2015-10-15 Siemens Aktiengesellschaft Method for operating a multi-axis, preferably six-axis, robot
JP5715840B2 (en) * 2011-02-04 2015-05-13 本田技研工業株式会社 Trajectory planning method, trajectory control method, trajectory planning system, and trajectory planning / control system
US8589013B2 (en) 2011-10-25 2013-11-19 Jaybridge Robotics, Inc. Method and system for dynamically positioning a vehicle relative to another vehicle in motion
US9056394B2 (en) 2012-09-27 2015-06-16 Siemens Product Lifecycle Management Software Inc. Methods and systems for determining efficient robot-base position
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
US9188986B2 (en) 2013-10-01 2015-11-17 Jaybridge Robotics, Inc. Computer-implemented method and system for dynamically positioning a vehicle relative to another vehicle in motion for on-the-fly offloading operations
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9298863B2 (en) 2014-07-31 2016-03-29 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
US9457469B2 (en) * 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
US9517561B2 (en) * 2014-08-25 2016-12-13 Google Inc. Natural pitch and roll
US20170165835A1 (en) * 2015-12-09 2017-06-15 Qualcomm Incorporated Rapidly-exploring randomizing feedback-based motion planning
CN110297697B (en) * 2018-03-21 2022-02-18 北京猎户星空科技有限公司 Robot action sequence generation method and device
JP7077800B2 (en) * 2018-06-11 2022-05-31 オムロン株式会社 Route planning device, route planning method, and route planning program
US10678264B2 (en) * 2018-10-10 2020-06-09 Midea Group Co., Ltd. Method and system for providing remote robotic control
US10803314B2 (en) * 2018-10-10 2020-10-13 Midea Group Co., Ltd. Method and system for providing remote robotic control
US10816994B2 (en) 2018-10-10 2020-10-27 Midea Group Co., Ltd. Method and system for providing remote robotic control
CN112512752A (en) * 2019-08-02 2021-03-16 深圳市越疆科技有限公司 Obstacle avoidance method and device of device and controller
CN113894795B (en) * 2021-11-17 2023-11-28 青岛九维华盾科技研究院有限公司 Industrial robot external shaft position optimization method

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638445A (en) * 1984-06-08 1987-01-20 Mattaboni Paul J Autonomous mobile robot
US4852018A (en) 1987-01-07 1989-07-25 Trustees Of Boston University Massively parellel real-time network architectures for robots capable of self-calibrating their operating parameters through associative learning
US5438517A (en) * 1990-02-05 1995-08-01 Caterpillar Inc. Vehicle position determination system and method
US5889926A (en) * 1994-11-09 1999-03-30 Amada America, Inc. Method for planning/controlling robot motion
US5980084A (en) * 1997-11-24 1999-11-09 Sandia Corporation Method and apparatus for automated assembly
US6229552B1 (en) 1995-07-21 2001-05-08 The Motion Factory System and method for automatic motion generation
US6253147B1 (en) * 2000-10-04 2001-06-26 Caleb Technologies Corp. Real time tertiary operation for resolving irregularities in aircraft operations
US6292715B1 (en) 1998-10-27 2001-09-18 Perry Investments, Inc. Robotic process planning method and apparatus using templates
US20040019402A1 (en) * 1994-11-09 2004-01-29 Amada America, Inc. Intelligent system for generating and executing a sheet metal bending plan
US20040030741A1 (en) 2001-04-02 2004-02-12 Wolton Richard Ernest Method and apparatus for search, visual navigation, analysis and retrieval of information from networks with remote notification and content delivery
US6917855B2 (en) * 2002-05-10 2005-07-12 Honda Motor Co., Ltd. Real-time target tracking of an unpredictable target amid unknown obstacles
US6934615B2 (en) * 2003-03-31 2005-08-23 Deere & Company Method and system for determining an efficient vehicle path
US6986117B1 (en) * 2002-06-04 2006-01-10 Cadence Design Systems, Inc. Method and apparatus for identifying a path between source and target states
US7057367B2 (en) * 2002-02-18 2006-06-06 Japan Science And Technology Agency Two-leg walking humanoid robot
US20060213167A1 (en) 2003-12-12 2006-09-28 Harvey Koselka Agricultural robot system and method
US20060241809A1 (en) * 2005-03-30 2006-10-26 Ambarish Goswami Systems and methods for controlling a legged robot using a two-phase disturbance response strategy
US20070094174A1 (en) * 2005-07-28 2007-04-26 Microsoft Corporation Multi-ordered distributed constraint search
US7211980B1 (en) * 2006-07-05 2007-05-01 Battelle Energy Alliance, Llc Robotic follow system and method
US20070112461A1 (en) 2005-10-14 2007-05-17 Aldo Zini Robotic ordering and delivery system software and methods
US20100168950A1 (en) * 2009-01-01 2010-07-01 Masakuni Nagano Path Planning Device, Path Planning Method, and Computer Program
US20110035050A1 (en) * 2009-08-10 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus to plan motion path of robot

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004255529A (en) * 2003-02-26 2004-09-16 Sony Corp Robot device, control method thereof, and movement control system for robot device

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638445A (en) * 1984-06-08 1987-01-20 Mattaboni Paul J Autonomous mobile robot
US4852018A (en) 1987-01-07 1989-07-25 Trustees Of Boston University Massively parellel real-time network architectures for robots capable of self-calibrating their operating parameters through associative learning
US5438517A (en) * 1990-02-05 1995-08-01 Caterpillar Inc. Vehicle position determination system and method
US5889926A (en) * 1994-11-09 1999-03-30 Amada America, Inc. Method for planning/controlling robot motion
US6493607B1 (en) * 1994-11-09 2002-12-10 Amada America, Inc. Method for planning/controlling robot motion
US20040019402A1 (en) * 1994-11-09 2004-01-29 Amada America, Inc. Intelligent system for generating and executing a sheet metal bending plan
US6229552B1 (en) 1995-07-21 2001-05-08 The Motion Factory System and method for automatic motion generation
US5980084A (en) * 1997-11-24 1999-11-09 Sandia Corporation Method and apparatus for automated assembly
US6292715B1 (en) 1998-10-27 2001-09-18 Perry Investments, Inc. Robotic process planning method and apparatus using templates
US6253147B1 (en) * 2000-10-04 2001-06-26 Caleb Technologies Corp. Real time tertiary operation for resolving irregularities in aircraft operations
US20040030741A1 (en) 2001-04-02 2004-02-12 Wolton Richard Ernest Method and apparatus for search, visual navigation, analysis and retrieval of information from networks with remote notification and content delivery
US7057367B2 (en) * 2002-02-18 2006-06-06 Japan Science And Technology Agency Two-leg walking humanoid robot
US6917855B2 (en) * 2002-05-10 2005-07-12 Honda Motor Co., Ltd. Real-time target tracking of an unpredictable target amid unknown obstacles
US6986117B1 (en) * 2002-06-04 2006-01-10 Cadence Design Systems, Inc. Method and apparatus for identifying a path between source and target states
US6934615B2 (en) * 2003-03-31 2005-08-23 Deere & Company Method and system for determining an efficient vehicle path
US20060213167A1 (en) 2003-12-12 2006-09-28 Harvey Koselka Agricultural robot system and method
US20060241809A1 (en) * 2005-03-30 2006-10-26 Ambarish Goswami Systems and methods for controlling a legged robot using a two-phase disturbance response strategy
US20070094174A1 (en) * 2005-07-28 2007-04-26 Microsoft Corporation Multi-ordered distributed constraint search
US20070112461A1 (en) 2005-10-14 2007-05-17 Aldo Zini Robotic ordering and delivery system software and methods
US7211980B1 (en) * 2006-07-05 2007-05-01 Battelle Energy Alliance, Llc Robotic follow system and method
US20100168950A1 (en) * 2009-01-01 2010-07-01 Masakuni Nagano Path Planning Device, Path Planning Method, and Computer Program
US20110035050A1 (en) * 2009-08-10 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus to plan motion path of robot

Non-Patent Citations (59)

* Cited by examiner, † Cited by third party
Title
"Asmio Year 2000 Model," Honda Motor Co., Ltd., 2000, [Online] [Retrieved on Sep. 5, 2008], Retrieved from the Internet.
"Asmio Year 2000 Model," Honda Motor Co., Ltd., 2000, [Online] [Retrieved on Sep. 5, 2008], Retrieved from the Internet<URL:http://world.honda.com/ASIMO/technology/spec.html>.
Alami, R. et al., "Two Manipulation Planning Algorithms," Algorithmic Foundations of Robotics, 1995, Goldberg, K. et al. (eds.), pp. 109-125, Wellesley, MA.
Amato, N. et al., "A Randomized Roadmap Method for Path and Manipulation Planning," Proceedings of the 1996 IEEE International Conference on Robotics and Automation, 1996, pp. 113-120, vol. 1.
Balkcom, D. et al., "Introducing Robotic Origami Folding," IEEE International Conference on Robotics and Automation, Apr. 2004, pp. 3245-3250, vol. 4.
Ballard, D.H., "Generalizing in Hough Transform to Detect Arbitrary Shapes," Pattern Recognition, 1981, pp. 111-122, vol. 13, No. 2.
Barraquand, J. et al., "A Random Sampling Scheme for Path Planning," Giralt, G. et al. (eds.), Proceedings International Symposium on Robotics Research, 1996, pp. 249-264.
Barraquand, J. et al., "Robot Motion Planning: A Distributed Representation Approach," International Journal of Robotics Research, Dec. 1991, pp. 628-649, vol. 10, No. 6.
Benjamin, M.R., "Abstract of Interval Programming: A Multi-Objective Optimzation Model for Autonomous Vehicle Control," Ph.D. Thesis, Bruwon University, May 2002, 166 pages.
Bretl, T., "Motion Planning of Multi-Limbed Robots Subject to Equilibrium Constraints: The Free-Climbing Robot Problem," International Journal of Robotics Research, Apr. 2006, pp. 317-342, vol. 25, No. 4.
Brooks, R., "A Robust Layered Control System for a Mobile Robot," IEEE Journal of Robotics and Automation, Mar. 1986, vol. RA-2, No. 1.
Casal, A., "Reconfiguration Planning for Modular Self-Reconfigurable Robots," Ph.D. Thesis, Aero & Astro Dept., Stanford University, 2001.
Challou, D. et al., "Parallel Robot Motion Planning," Proceedings IEEE Int. Conf. on Robotis and Automation, May 4, 1993, pp. 46-51, vol. 2.
Chang, H. et al., "Assembly Maintainability Study with Motion Planning," Proceedings IEEE International Conference on Robotis and Automation, 1995, pp. 1012-1019.
Dollar, A. et al., "A Robust Compliant Grasper Via Shape Deposition Manufacturing," IEEE/ASME Transactions on Mechatronics, Apr. 2006, pp. 154-161, vol. 11, No. 2.
Drumwright, E. et al., "The Task Matrix Framework for Platform-Independent Humanoid Programming," in Humanoids 2006, Proceedings of the 2006 6th IEEE-RAS International Conference on Humanoid Robots, Genova, Italy, pp. 321-326.
Gat, E., "On Three-Layer Architectures," in Artificial Intelligence and Mobile Robots, 1998, Bonnasso, R.P. et al. (eds.), AAAI Press, pp. 195-210.
Gerkey, B.P. et al., "The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems," Proceedings of the International Conference on Advanced Robotics (ICAR 2003), Caimbra, Portugal, Jun. 30-Jul. 3, 2003, pp. 317-323.
Gheissari, N. et al., "Motion Analysis: Model Selection and Motion Segmentation," Proceedings of the 12th International Conference on Image Analysis and Processing (ICIAP 03), IEEE, 2003, 7 pages.
Gilbert, E.G. et al., "A Fast Procedure for Computing Distance Between Objects in Three-Dimensional Space," IEEE Journal of Robotics and Automation, Apr. 1988, vol. 4, No. 2.
Goldwasser, M. et al., "Complexity Measures for Assembly Sequences," Proceedings of the 1996 IEEE International Conference on Robotics and Automation, Apr. 1996, pp. 1581-1587.
Gottschalk, S. et al, "OBB-Tree: A Hierarchical Structure for Rapid Interference Detection," Computer Graphics (SIGGRAPH '96 Proceedings), ACM, 1996, pp. 171-180.
Hartley, R.I. et al., "Multiple View Geometry in Computer Vision," 2004, Cambridge University Press, 2nd edition, pp. 205-212.
Hauser, K. et al., "Multi-Modal Motion Planning for a Humanoid Robot Manipulation Task," In proceedings of the International Symposium of Robotics Research. Hiroshima, Japan, 2007, pp. 1-11.
Hauser, K. et al., "Non-Gaited Humanoid Locomotion Planning," Proc. IEEE Intl. Conf. on Humanoid Robotics, 2005, 6 pages.
Hayes-Roth, B., "A Blackboard Architecture for Control," Artificial Intelligence, 1985, pp. 251-321, vol. 26.
Haynes, G. et al., "Gait Regulation and Feedback on a Robotic Climbing Hexapod," Proceedings of Robotics: Science and Systems, Aug. 2006, 8 pages.
Hing, V.N. et al., "Expanding Task Functionality in Established Humanoid Robots," In proceedings of the IEEE Conference on Humanoid Robotics. Pittsburg, PA, 2007, 7 pages.
Horsch, T. et al., "Motion Planning for Many Degrees of Freedom-Random Reflections at C-Space Obstacles," Proceedings 1994 IEEE International Conference on Robotics and Automation, 1994, pp. 3318-3323, vol. 4.
Hsu, D. et al., "Path Planning in Expansive Configuration Spaces," International Journal of Computational Geometry & Applications, 1999, pp. 495-512, vol. 9, No. 4-5.
Ierusalimschy, R., Programming in Lua, 2006, 325 pages.
Kanehiro, F. et al., "Openhrp: Open Architecture Humanoid Robotics Platform," International Journal of Robotics Research, Feb. 2004, pp. 155-165, vol. 23, No. 2.
Kavraki, L. et al., "Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Space," IEEE Trans. on Robotics and Automation, Aug. 1996, pp. 566-580, vol. 12, No. 4.
Kavraki, L. et al., "Random Networks in Configuration Space for Fast Path Planning," Ph.D. Thesis, Stanford University, 1995, 150 pages.
Kavraki, L. et al., "Randomized Preprocessing of Configurations Space for Fast Path Planning," Proceedings 1994 IEEE International Conference on Robotics and Automation, 1994, pp. 2138-2139, vol. 3.
Kavraki, L. et al., "Randomized Query Processing in Robot Path Planning," ACM Symp. On Theory of Computing, 1995, pp. 353-362.
Khatib, O., "Real-Time Obstacle Avoidance for Manipulation and Mobile Robots," International Journal of Robotics Research, 1986, pp. 90-98, vol. 5, No. 1.
Koo, T.J. et al., "Multi-Modal Control of Systems with Constraints," Proceedings of the 40th IEEE Conference on Decision and Control, 2001, pp. 2075-2080, vol. 3.
Lamiraux, F. et al., "On the Expected Complexity of Random Path Planning," Proceedings 1996 IEEE International Conference on Robotics and Automation, Apr. 1996, pp. 3014-3019.
Latombe, J.-C., "Robot Motion Planning," Chapter 4, 1991, Kluwer Academic Publishers, Boston, MA, pp. 153-199.
Lavalle, S.M. et al., "Randomized Kinodynamic Planning," Proceedings 1996 IEEE International Conference on Robotics and Automation, 1999, pp. 473-479, vol. 1.
Lee, H. et al., "Quadruped Robot Obstacle Negotiation Via Reinforcement Learning," Proceedings of the 2006 IEEE International Conference on Robotics and Automation, May 2006, pp. 3003-3010.
Lynch, K.M. et al., "Stable Pushing: Mechanics, Controllability, and Planning," International Journal of Robotics Research, Dec. 1996, pp. 533-556, vol. 15, No. 6.
Motwani, R. et al., "Randomized Algorithms," Chapter 5, 1995, Cambridge University Press, pp. 101-126.
Nielsen, C.L. et al., "A Two-Level Fuzzy PRM for Manipulation Planning," Proceedings of the 2000 IEEE/RSJ Conference on Intelligent Robots and Systems, 2000, 6 pages.
Nieuwenhuisen, D. et al., "An Effective Framework for Path Planning Amidst Movable Obstacles," Workshop on Algorithmic Foundations of Robotics (WAFR), 2006, 16 pages.
PCT International Search Report and Written Opinion, PCT/US08/65677, Sep. 11, 2008, 9 pages.
Peshkin, M.A. et al., "The Motion of a Pushed, Sliding Workpiece," IEEE Journal of Robotics Automation, Dec. 1988, pp. 569-598, vol. 4, No. 6.
Pettersson, P.O., "Samling-Based Path Planning for an Autonomous Helicopter," Thesis, Linköping University, Sweden, 2006, 147 pages.
Quinlan, S., "Efficient Distance Computation Between Non-Convex Objects," Proceedings 1994 IEEE International Conference on Robotics and Automation, 1994, pp. 3324-3329, vol. 4.
Reif, J.H., "Complexity of the Mover's Problem and Generalizations," Proc. IEEE Symp. on Foundations of Computer Science, 1979, pp. 421-427.
Shoemake, K., "Animating Rotation with Quaternion Curves," Computer Graphics (SIGGRAPH '85 Proceedings), Jul. 1985, pp. 245-254, vol. 19, No. 3.
Simeon, T. et al., "A General Manipulation Task Planner," Workshop on Algorithmic Foundations of Robotics (WAFR), 2002, pp. 1-17.
Thorisson, K. et al., "Whiteboards: Scheduling Blackboards for Semantic Routing of Messages and Streams," in AAAI Workshop on Modular Construction of Human-Like Intelligence, Twentieth Annual Conference on Artificial Intelligence, Jul. 10, 2005, pp. 16-23, Pittsburgh, PA.
Vaughan, R.T. et al., "On Device Abstractions for Portable, Reusable Robot Code," IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003), Oct. 2003, pp. 2121-2427, Las Vegas, NV.
Wagner, D. et al., "ARToolKitPlus for Pose Tracking on Mobile Devices," in Computer Vision Winter Workshop 2007, Feb. 6-8, 2007, St. Lambrecht, Austria.
Wilfong, G., "Motion Planning in the Presence of Movable Obstacles," Proc. of the Fourth Annual Symposium on Computational Geometry, 1988, pp. 279-288.
Wilson, R., "On Geometric Assembly Planning," Ph.D. Thesis, Stanford University, Mar. 1992, 153 pages.
Yang, A. et al., "Robotalk:: Controlling Arms, Bases and Androids Through a Single Motion Interface," in Proceedings of the 12th International Conference on Advanced Robotics, Jul. 18-20, 2005, pp. 280-287, Seattle.

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174435A1 (en) * 2009-01-07 2010-07-08 Samsung Electronics Co., Ltd. Path planning apparatus of robot and method thereof
US8666548B2 (en) * 2009-01-07 2014-03-04 Samsung Electronics Co., Ltd. Path planning apparatus of robot and method thereof
US20110172818A1 (en) * 2010-01-12 2011-07-14 Honda Motor Co., Ltd. Trajectory planning method, trajectory planning system and robot
US8774968B2 (en) * 2010-01-12 2014-07-08 Honda Motor Co., Ltd. Trajectory planning method, trajectory planning system and robot
US20120277907A1 (en) * 2011-04-28 2012-11-01 Waseda University Trajectory planning method, trajectory planning system and trajectory planning and control system
US8825207B2 (en) * 2011-04-28 2014-09-02 Honda Motor Co., Ltd. Trajectory planning method, trajectory planning system and trajectory planning and control system
US11080350B2 (en) 2014-05-23 2021-08-03 Samsung Electronics Co., Ltd. Method for searching and device thereof
US10223466B2 (en) 2014-05-23 2019-03-05 Samsung Electronics Co., Ltd. Method for searching and device thereof
US9990433B2 (en) 2014-05-23 2018-06-05 Samsung Electronics Co., Ltd. Method for searching and device thereof
US11157577B2 (en) 2014-05-23 2021-10-26 Samsung Electronics Co., Ltd. Method for searching and device thereof
US11314826B2 (en) 2014-05-23 2022-04-26 Samsung Electronics Co., Ltd. Method for searching and device thereof
US11734370B2 (en) 2014-05-23 2023-08-22 Samsung Electronics Co., Ltd. Method for searching and device thereof
US11220009B2 (en) * 2018-02-23 2022-01-11 Panasonic Intellectual Property Management Co., Ltd. Interaction device, interaction method, recording medium storing interaction program, and robot
US20220379472A1 (en) * 2019-10-09 2022-12-01 Kawasaki Jukogyo Kabushiki Kaisha Control method, control device, robot system, program, and recording medium
US20220324108A1 (en) * 2020-04-16 2022-10-13 Boston Dynamics, Inc. Global arm path planning with roadmaps and precomputed domains
US11654559B2 (en) * 2020-04-16 2023-05-23 Boston Dynamics, Inc. Global arm path planning with roadmaps and precomputed domains

Also Published As

Publication number Publication date
JP2010528886A (en) 2010-08-26
US20080306628A1 (en) 2008-12-11
JP5060619B2 (en) 2012-10-31
WO2008154228A1 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
US8116908B2 (en) Multi-modal push planner for humanoid robots
US8892253B2 (en) Swarm robot and sweeping method using swarm robot
Hauser et al. Multi-modal motion planning for a humanoid robot manipulation task
Gochev et al. Planning with adaptive dimensionality for mobile manipulation
Littlefield et al. Efficient and asymptotically optimal kinodynamic motion planning via dominance-informed regions
US20100023164A1 (en) Route creation method and route creation device
JP2012190405A (en) Route information correcting device, track planning device, and robot
JP5659890B2 (en) Robot trajectory planning system and trajectory planning method
JP4760732B2 (en) Route creation device
Ayawli et al. Path planning for mobile robots using Morphological Dilation Voronoi Diagram Roadmap algorithm
Gochev et al. Motion planning for robotic manipulators with independent wrist joints
CN112828889A (en) Six-axis cooperative mechanical arm path planning method and system
CN112338916A (en) Mechanical arm obstacle avoidance path planning method and system based on fast expansion random tree
Kimmel et al. Fast, anytime motion planning for prehensile manipulation in clutter
JP2016040066A (en) Path generation method, path generation device, robot device, program and recording medium
Mi et al. A multi-heuristic A* algorithm based on stagnation detection for path planning of manipulators in cluttered environments
CN115390551A (en) Robot path planning method and device, electronic equipment and storage medium
US20220276657A1 (en) Trajectory generation of a robot using a neural network
Sadiq et al. Robot arm path planning using modified particle swarm optimization based on D* algorithm
Xu et al. Planning fireworks trajectories for steerable medical needles to reduce patient trauma
Vahrenkamp et al. IK-Map: An enhanced workspace representation to support inverse kinematics solvers
Raheem et al. Applying A* path planning algorithm based on modified c-space analysis
Vahrenkamp et al. Rdt+: A parameter-free algorithm for exact motion planning
CN116009558A (en) Mobile robot path planning method combined with kinematic constraint
JP2007331075A (en) Object holding system of mobile working robot and method therefor

Legal Events

Date Code Title Description
AS Assignment

Owner name: HONDA MOTOR CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NG-THOW-HING, VICTOR;HAUSER, KRIS;GONZALEZ-BANOS, HECTOR;REEL/FRAME:021061/0763;SIGNING DATES FROM 20080530 TO 20080605

Owner name: HONDA MOTOR CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NG-THOW-HING, VICTOR;HAUSER, KRIS;GONZALEZ-BANOS, HECTOR;SIGNING DATES FROM 20080530 TO 20080605;REEL/FRAME:021061/0763

ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20240214