WO2016103297A1 - アーム型のロボットの障害物自動回避方法及び制御装置 - Google Patents

アーム型のロボットの障害物自動回避方法及び制御装置 Download PDF

Info

Publication number
WO2016103297A1
WO2016103297A1 PCT/JP2014/006475 JP2014006475W WO2016103297A1 WO 2016103297 A1 WO2016103297 A1 WO 2016103297A1 JP 2014006475 W JP2014006475 W JP 2014006475W WO 2016103297 A1 WO2016103297 A1 WO 2016103297A1
Authority
WO
WIPO (PCT)
Prior art keywords
posture
robot
virtual
final
geometric model
Prior art date
Application number
PCT/JP2014/006475
Other languages
English (en)
French (fr)
Inventor
敦史 中矢
雅也 吉田
祥平 間瀬
大樹 ▲高▼橋
Original Assignee
川崎重工業株式会社
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 川崎重工業株式会社 filed Critical 川崎重工業株式会社
Priority to PCT/JP2014/006475 priority Critical patent/WO2016103297A1/ja
Priority to JP2016565597A priority patent/JP6378783B2/ja
Priority to CN201480083989.5A priority patent/CN107000223B/zh
Priority to US15/539,838 priority patent/US10350756B2/en
Priority to KR1020177019053A priority patent/KR101941147B1/ko
Priority to TW104121463A priority patent/TWI579669B/zh
Publication of WO2016103297A1 publication Critical patent/WO2016103297A1/ja

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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0095Manipulators transporting wafers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/683Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for supporting or gripping
    • H01L21/687Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for supporting or gripping using mechanical means, e.g. chucks, clamps or pinches
    • H01L21/68707Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for supporting or gripping using mechanical means, e.g. chucks, clamps or pinches the wafers being placed on a robot blade, or gripped by a gripper for conveyance

Definitions

  • the present invention relates to an obstacle automatic avoidance method and control device for an arm type robot.
  • Patent Document 1 discloses a method of returning to the work origin by going back along the route. Specifically, a control method for returning a robot that performs a series of operations along a desired route from a stop position to a work origin by sequentially executing a control program including a movement command, which has already been executed. When reversely executing the control program sequentially, each movement command is executed using the position argument of the previous movement command.
  • Patent Document 2 discloses a robot that can return to the origin even when the robot abnormally stops outside the moving path. Specifically, an area block creation process that divides an area map including at least an operation area where the robot operates into each area block having a predetermined area, and a direction setting that sets the return direction of the robot for each divided area block A process. Thereby, interference with an obstacle can be avoided.
  • Patent Document 1 cannot return to the work origin when the robot stops abnormally outside the movement path.
  • Patent Document 2 can do this.
  • the method described in Patent Document 2 has a problem in that it is necessary to set the return direction of the robot for each area block in advance, and the work amount of the worker who performs the setting work increases. Further, the determination of the return direction also requires a judgment based on the rules of experience of the workers, and there is a problem that it is difficult to secure the workers.
  • the data amount of the data in which the return direction of the robot is set for each area block becomes enormous. In other words, there is a problem that a complicated setting is required for the return direction of the robot.
  • the present invention has been made in view of the above problems, and is a robot obstacle automatic avoidance method and control that can safely reach a predetermined posture with a simple setting regardless of where the robot stops.
  • An object is to provide an apparatus.
  • an obstacle automatic avoidance method for a robot is an arm type robot including a robot arm in which one or more links are connected by a joint and a hand is provided at a tip.
  • An obstacle automatic avoidance method a geometric model representing step of modeling the robot as a geometric model by modeling the robot so as to have a geometric shape, an entry prohibited area where the geometric model should not enter, and the entry prohibited area
  • a region setting step for setting an operation region in which the geometric model operates, a final posture determining step for determining a final posture of the robot, and a case where the robot changes from the current posture toward the final posture.
  • An initial trajectory determining step for determining an initial trajectory of the hand at a predetermined point on the initial trajectory
  • a virtual posture calculating step for calculating a virtual posture of the robot to respond
  • an interference determining step for determining whether the geometric model in the virtual posture interferes with the entry prohibition region, and interference in the interference determining step.
  • the virtual posture is determined as a via posture, and when it is determined that interference occurs, a repulsive force that repels relatively the interference portion of the entry prohibition region and the interference portion of the geometric model is virtually generated, A posture in a state where an interference part of the geometric model is pushed out from the entry prohibition region to the motion region by a virtual repulsive force, and a via posture determination step for determining the calculated posture as a via posture; from the current posture An update trajectory that determines the trajectory of the hand as an update trajectory when changing to the final posture via the via posture
  • the initial trajectory determination step, the virtual posture calculation step, the interference determination step, the transit posture assuming that the via posture determined in the determination step and the latest via posture determination step is the current posture in the initial trajectory determination step. And a step of repeatedly executing the update trajectory determination step.
  • the robot's virtual posture corresponding to a predetermined point on the initial trajectory of the hand is calculated, and the robot's geometric model in the virtual posture is prohibited from entering. It is determined whether or not it interferes with an area (obstacle). If it is determined that there is no interference, the virtual posture is determined as a via posture that passes when the current posture changes from the current posture to the final posture. A posture in a state where the portion is pushed out from the entry prohibition region to the motion region is calculated, and the posture is determined as a via posture. Therefore, when the geometric model of the robot interferes with the entry prohibition area, a via posture that does not interfere with the entry prohibition area is given, so that collision with an obstacle is avoided.
  • the final posture determination step includes a sum of absolute values of angular displacements of the joints between the current posture of the robot and the final candidate posture among the plurality of final candidate postures of the robot set on a known trajectory.
  • the final candidate posture with the minimum value may be selected and determined as the final posture.
  • a posture close to the current posture of the robot can be selected as the final posture. Therefore, the time required to reach the final posture can be shortened.
  • the via posture determination step calculates a torque generated around the rotation axis of each joint of the robot in a virtual posture by the virtual repulsive force, and further changes after the predetermined time of the robot that changes due to the influence of the torque.
  • the calculation of the virtual posture is repeated with the virtual posture as a starting point to calculate the temporal change of the virtual posture of the robot, and based on the virtual posture of the robot when the temporal change of the virtual posture of the robot converges
  • the via posture may be determined.
  • the virtual repulsive force may be configured to increase in proportion to the distance that the geometric model has entered the entry prohibition area.
  • a route candidate posture generating step for generating a route candidate posture other than the posture pushed by the virtual repulsive force of the robot, and determining whether the route candidate posture is a posture approaching the final posture.
  • the route posture is determined based on the route candidate posture. 1 determination step.
  • the posture pushed back to the motion region corresponds to a point on the initial trajectory. Interference is repeated and the robot enters a stationary state, and the robot does not approach the final posture.
  • a via posture corresponding to a point that is not on the initial trajectory can be obtained, so even if it falls into such a stationary state, it passes through another via posture that approaches the final posture. Can reach the final posture.
  • a second determination is made as to whether to select the route candidate posture based on a probability value. If it is determined to be selected in the determination step and the second determination step, a second determination step of determining the via posture based on the via candidate posture may be included.
  • an arm-type robot control apparatus includes an arm-type robot including a robot arm in which one or more links are connected by a joint and a hand is provided at a tip.
  • the control device is defined by a geometric model expression unit that models the robot as a geometric model by modeling the robot so as to have a geometric shape, an entry prohibition area that the geometric model should not enter, and the entry prohibition area.
  • An initial trajectory determination unit that determines an initial trajectory of the robot, and calculates a virtual posture of the robot corresponding to a predetermined point on the initial trajectory.
  • a virtual posture calculation unit an interference determination unit that determines whether or not the geometric model in the virtual posture interferes with the entry prohibition region, a via posture determination unit that determines a via posture, an update trajectory determination unit, And when the interference determination unit determines that the interference determination unit does not interfere, the via posture determination unit determines the virtual posture as a via posture, and determines that interference occurs, the interference part of the entry prohibition area and the geometric model
  • a repulsive force that relatively repels the interference portion is virtually generated, and a posture in a state in which the interference portion of the geometric model is pushed from the entry prohibition region to the operation region by the virtual repulsion force is calculated.
  • the updated trajectory determining unit determines the trajectory of the hand when changing from the current posture to the final posture via the via posture.
  • the initial trajectory determination unit, the virtual posture calculation unit, the interference determination unit, and the via posture assuming that the latest via posture determined by the via posture determination unit is the current posture of the initial trajectory determination unit
  • the determination unit and the update trajectory determination unit are configured to repeatedly process.
  • the robot's virtual posture corresponding to a predetermined point on the initial trajectory of the hand is calculated, and the robot's geometric model in the virtual posture is prohibited from entering. It is determined whether or not it interferes with an area (obstacle). If it is determined that there is no interference, the virtual posture is determined as a via posture that passes when the current posture changes from the current posture to the final posture. A posture in a state where the portion is pushed out from the entry prohibition region to the motion region is calculated, and the posture is determined as a via posture. Therefore, when the geometric model of the robot interferes with the entry prohibition area, a via posture that does not interfere with the entry prohibition area is given, so that collision with an obstacle is avoided.
  • the present invention has an effect that the robot can safely reach a predetermined posture by simply avoiding interference with an obstacle regardless of where the robot stops at a simple setting.
  • FIG. 2 is a block diagram schematically showing a configuration example of a control system of the robot of FIG. 1. It is explanatory drawing which shows the selection method of the last attitude
  • FIG. 1 is a plan view illustrating a configuration example of an equipment 110 including the robot 100 according to Embodiment 1 of the present invention.
  • the equipment 110 is equipment for processing a substrate, for example, and the robot 100 is installed therein, and includes, for example, a wall 111 surrounding the chamber 113 and a wall 112 projecting inward from the wall 111 inside the chamber. These walls 111 and 112 constitute an obstacle in the operation of the robot 100.
  • the robot 100 is a robot that transports a substrate such as a semiconductor wafer or a glass wafer.
  • the robot 100 is an arm-type robot including a robot arm in which one or more links are connected by joints and a hand is provided at the tip. More specifically, the robot 100 is a horizontal articulated robot, and includes a base 1, a first arm 2, a second arm 3, and a hand 4, which are linearly connected. Yes. In the present embodiment, the first arm 2, the second arm 3, and the hand 4 constitute a robot arm.
  • the robot 100 also includes a controller 5 (see FIG. 2) that controls the operation of the robot 100.
  • the base 1 is, for example, a hollow cylindrical member.
  • a first arm drive unit 12 (see FIG. 2) including a servomotor is disposed inside the base 1.
  • the 1st arm drive part 12 is comprised so that the 1st joint shaft 2a mentioned later may be rotated.
  • the first arm 2 is, for example, a hollow plate-like member, and is formed in a substantially strip shape in plan view.
  • the first arm 2 has a first joint shaft 2 a formed so as to protrude downward from the bottom surface of the base end portion of the first arm 2.
  • shaft 2a is attached to the base 1 so that rotation is possible centering on the rotation axis L1 extended in az direction, and this part comprises the 1st joint. Accordingly, the first arm 2 is configured to rotate in the xy plane.
  • the rotation axis L1 constitutes the reference point O on the xy plane.
  • a second arm driving unit 13 (see FIG. 2) including a servo motor is disposed inside the first arm 2.
  • the 2nd arm drive part 13 is comprised so that the 2nd joint axis
  • the relative angular position q1 (see FIG. 3) around the rotation axis L1 with respect to the base 1 of the first arm 2 is detected by the encoder of the servo motor of the first arm driving unit 12.
  • This encoder constitutes the first arm angular position detector 15 (see FIG. 2).
  • the first arm 2 may be referred to as the first link, and the first joint axis 2a may be referred to as one axis.
  • the second arm 3 is, for example, a hollow plate-like member, and is formed in a substantially strip shape in plan view.
  • the second arm 3 is provided with a second joint shaft 3 a so as to protrude downward from the bottom surface of the base end portion of the second arm 3.
  • the second joint shaft 3a is attached to the first arm 2 so as to be rotatable about a rotation axis L2 extending in parallel with the rotation axis L1, and this portion constitutes a second joint. Accordingly, the second arm 3 is configured to rotate on the xy plane.
  • a hand drive unit 14 (see FIG. 2) including a servo motor is disposed.
  • the hand drive unit 14 is configured to rotate a third joint shaft 4a described later.
  • the relative angular position q2 (see FIG. 3) around the rotation axis L2 of the second arm 3 with respect to the first arm 2 is detected by the encoder of the servo motor of the second arm drive unit 13.
  • This encoder constitutes the second arm angular position detector 16 (see FIG. 2).
  • the second arm 3 is sometimes referred to as a second link, and the second joint axis 3a is sometimes referred to as a two-axis.
  • the hand 4 holds a substrate and is formed in a flat plate shape.
  • the hand 4 has a third joint shaft 4a formed so as to protrude downward from the bottom surface of the base end portion thereof.
  • shaft 4a is attached to the 2nd arm 3 so that rotation is possible centering on the rotation axis L3 extended in parallel with rotation axis L1, L2, and this part comprises the 3rd joint. Therefore, the hand 4 is configured to rotate in the xy plane.
  • the relative angular position q3 (see FIG. 3) around the rotation axis L3 with respect to the second arm 3 of the hand 4 is detected by the servo motor encoder of the hand drive unit 14.
  • This encoder constitutes the hand angle position detector 17 (see FIG. 2).
  • the hand 4 is sometimes referred to as the third link, and the third joint axis 4a is sometimes referred to as the third axis.
  • FIG. 2 is a block diagram schematically showing a configuration example of the control system of the robot 100.
  • the controller 5 provided in the robot 100 includes, for example, a control unit 21 having a computing unit such as a CPU and a storage unit 22 having a memory such as a ROM and a RAM.
  • the controller 5 may be composed of a single controller that performs centralized control, or may be composed of a plurality of controllers that perform distributed control in cooperation with each other.
  • the control unit 21 includes a first arm control unit 31, a second arm control unit 32, a hand control unit 33, a final posture determination unit 34, an initial trajectory determination unit 35, a virtual posture calculation unit 36, a geometric model expression unit 37, and a region setting.
  • These functional units 31 to 41 are functional blocks (functional modules) realized by the control unit 21 executing a predetermined control program stored in the storage unit 22.
  • the first arm control unit 31 controls the first arm driving unit 12 to rotate the first arm 2 around the rotation axis L1 in the xy plane.
  • the second arm control unit 32 controls the second arm driving unit 13 to rotate the second arm 3 around the rotation axis L2 in the xy plane.
  • the hand control unit 33 controls the hand driving unit 14 to rotate the hand 4 around the rotation axis L3 in the xy plane.
  • the main control unit (not shown) of the control unit 21 detects the first arm angular position detection unit 15, the second arm angular position detection unit 16, and the hand angular position detection of the robot 100. Based on the angular position detected by the unit 17 and the final posture, the final angular position is output to the first arm control unit 31, the second arm control unit 32, and the hand control unit 33, respectively.
  • the first arm control unit 31, the second arm control unit 32, and the hand control unit 33 are respectively angles of corresponding control objects (first joint axis 2a, second joint axis 3a, and third joint axis 4a).
  • the corresponding first arm drive unit 12, second The arm driving unit 13 and the hand driving unit 14 are feedback-controlled.
  • the geometric model expression unit 37 represents the robot 100 as a geometric model M by modeling it to have a geometric shape.
  • the geometric model expression unit 37 represents the first arm 2, the second arm 3, and the hand 4 with geometric models M1, M2, and M3.
  • the geometric model M1 of the first arm 2 is, for example, an oval model as shown in FIG.
  • the geometric model M1 is expressed so as to be separated from the figure outside the figure obtained by projecting the first arm 2 onto the xy plane.
  • the geometric model M2 of the second arm 3 is, for example, an oval model.
  • the geometric model M2 is expressed so as to be separated from the figure outside the figure obtained by projecting the second arm 3 onto the xy plane.
  • the geometric model M3 of the hand 4 is, for example, a water drop type model.
  • the geometric model M3 is defined (defined) so as to be separated from the figure outside the figure obtained by projecting the hand 4 holding the substrate onto the xy plane.
  • the area setting unit 40 is defined (defined) by an entry prohibition area S1 into which the geometric models M1 to M3 should not enter and an entry prohibition area S1, and the geometric models M1 to M3 operate.
  • the operation area S2 to be set is set.
  • the entry prohibition region S1 and the operation region S2 are stored in the storage unit 22, and the region setting unit 40 reads out the entry prohibition region S1 and the operation region S2 from the storage unit 22, thereby preventing the entry prohibition region.
  • S1 and operation area S2 are set.
  • the entry prohibition region S1 is set so as to include a region inside the inner wall surface (wall surface of the wall 111 and the wall 112) of the chamber 113 of the facility 110. Further, a virtual line extending along the boundary between the entry prohibition area S1 and the operation area S2 constitutes the boundary line B.
  • the final posture determination unit 34 determines the final posture Pt of the robot 100.
  • the final posture determination unit 34 selects and determines one final posture Pt from a plurality of final candidate postures Ptc stored in the storage unit 22.
  • the final candidate posture Ptc is a posture set on a known trajectory that does not interfere with the entry prohibition area S1. Therefore, if the robot 100 can reach any one of the postures, the robot 100 can follow the known trajectory and operate without interfering with the entry prohibition area S1.
  • FIG. 3 is an explanatory diagram showing a method for selecting the final posture Pt of the robot 100.
  • the final posture determination unit 34 selects one final posture Pt from a plurality of final candidate postures Ptc (one of which is shown in FIG. 3), first, the current posture Ps and the final candidate posture Ptc The total sum E of the absolute values of the joint angle displacement of each joint axis is calculated based on the following equation.
  • the final candidate posture Ptc having the smallest value of E is selected, and this is determined as the final posture Pt.
  • the initial trajectory determination unit 35 determines the initial trajectory Ta of the hand 4 when the robot 100 changes from the current posture Ps toward the final posture Pt determined by the final posture determination unit 34.
  • the initial trajectory Ta is a trajectory that is uniquely determined by being given the current posture Ps and the final posture Pt.
  • the virtual posture calculation unit 36 calculates the virtual posture Pp of the robot 100 at a predetermined point on the initial trajectory Ta.
  • the interference determination unit 38 determines whether or not the geometric models M1 to M3 of the robot 100 in the virtual posture Pp interfere with the entry prohibition area S1.
  • the via posture determining unit 39 calculates a via posture Pv that passes when the current posture Ps changes toward the final posture Pt.
  • the via posture determination unit 39 determines the virtual posture Pp as the via posture Pv.
  • the via posture determination unit 39 determines that at least one of the geometric models M1 to M3 interferes with the entry prohibited area S1, the interference part of the entry prohibited area S1 and the interference part of the geometric model are relatively compared.
  • FIG. 4 is a flowchart showing a method of calculating the via posture Pv of the robot 100.
  • FIG. 5A to 5C are explanatory diagrams showing a method for calculating the via posture Pv of the robot 100.
  • FIG. 5A to 5C are explanatory diagrams showing a method for calculating the via posture Pv of the robot 100.
  • the robot 100 is a robot having three links, but the following is a concept when generalized as a robot having n links.
  • the distance di at which the geometric model of the robot 100 has entered the entry prohibition area S1 is determined (step S71).
  • the calculation of the distance di is performed according to the form of interference between each geometric model and the entry prohibition area S1 in the virtual posture Pp.
  • a point P (x, y) on the geometric model Mi having the maximum distance from the boundary line B in the interference portion of the geometric model Mi (the portion marked with light ink in FIG. 5A). Is calculated. Then, in the normal direction of the boundary line B, the distance between the point P and the boundary line B is set to the distance di.
  • the distance between the point P and the vertex Q of the boundary line B is set to the distance di.
  • the side from the vertex Q of the boundary line B toward one intersection R of the geometric model and the boundary line B A point P1 (x, y) on the geometric model Mi having a maximum distance from the boundary line B is calculated. Then, the distance between the point P1 and the boundary line B is set to the distance di1 in the normal direction of the line segment QR.
  • the distance between the point P2 and the boundary line B is set to the distance di2 in the normal direction of the line segment QR '.
  • the calculation of the distance di is configured to be performed according to the form of interference between the geometric model in the virtual posture Pp and the entry prohibition region S1, but is not limited to the above configuration.
  • a virtual repulsive force fi is calculated for each link based on the following equation (2) (step S72).
  • the virtual repulsive forces fi1 and fi2 are calculated based on the equation (2), respectively, and then the virtual repulsive forces fi1 and fi2 are combined to generate the virtual repulsive force.
  • the force fi is calculated.
  • the virtual repulsive force fi is not generated in the i-th link determined not to interfere with the entry prohibition area S1.
  • step S73 a virtual torque ⁇ generated around each axis of the robot 100 generated by the virtual repulsive force fi is calculated (step S73).
  • the virtual repulsive force fi generated in the i-th link determined to interfere with the boundary line B is configured to affect not only the i-th link but also the i ⁇ n-th link. ing.
  • the virtual repulsive force fi affects other links and generates torque. Therefore, another link is rotated by the torque, and a via posture Pv different from the virtual posture Pp can be generated.
  • the calculation of the angle ⁇ i is performed according to the form of interference between each geometric model and the entry prohibition area S1.
  • the angle ⁇ i is an angle formed by the normal direction of the boundary line B and the x axis in the xy plane.
  • the angle ⁇ i is an angle formed by the line segment PQ and the x axis.
  • the angle ⁇ i is an angle formed by the resultant vector of the virtual repulsive force and the x axis.
  • q (•) is a symbol with a single symbol (dot) on q.
  • a virtual posture Pp is set based on q [k] (step S74).
  • the avoidance trajectory determination unit 41 determines the trajectory of the hand 4 as the updated trajectory Tb when the current posture Ps changes to the final posture Pt via the via posture Pv.
  • FIG. 6 is a flowchart showing an operation example of the robot 100 according to the embodiment of the present invention.
  • 7A to 7F are diagrams showing an operation example of the robot 100 according to the embodiment of the present invention.
  • the final posture determination unit 34 of the control unit 21 determines the final posture Pt of the robot 100 (final posture determination step) (step S10).
  • the final posture determination unit 34 of the control unit 21 calculates E values for the four final candidate postures Ptc1 to Ptc4, and selects the final candidate posture Ptc4 that minimizes the value of E as the final posture Pt. .
  • the displacement of each axis required to reach the final posture Pt from the current posture Ps can be reduced. The average time required for the process can be shortened.
  • the initial trajectory determination unit 35 of the control unit 21 determines an initial trajectory Ta that the robot 100 changes from the current posture Ps toward the final posture Pt (initial trajectory determination step) (step S20).
  • the virtual posture calculation unit 36 of the control unit 21 is a robot at a predetermined point on the side near the current posture Ps in the initial trajectory Ta and toward the final posture Pt from the current posture Ps.
  • 100 virtual postures Pp are calculated (virtual posture calculation step) (step S30).
  • the vicinity means an attitude obtained by making a minute change to each axis from the current attitude.
  • the region setting unit 40 of the control unit 21 reads and sets the entry prohibition region S1 and the operation region S2 from the storage unit 22 (region setting step) (step S35).
  • the geometric model representation unit 37 of the control unit 21 models the first arm 2, the second arm 3, and the hand 4 of the robot 100 in the virtual posture Pp, and uses the geometric models M1, M2, and M3, respectively.
  • Express geometric model expression step
  • the geometric models M1 to M3 are simplified models of the first arm 2, the second arm 3, and the hand 4 of the robot 100, it is possible to reduce the amount of calculation required to determine interference described later. Interference can be quickly determined.
  • the outer periphery of the figure drawn by the virtual lines of the geometric models M1 to M3 is defined (defined) so as to be separated from this figure outside the figure obtained by projecting the hand 4 holding the substrate onto the xy plane. Is done. That is, since the geometric model is expressed more thickly than the first arm 2, the second arm 3, and the hand 4, the interference determination unit 38 of the control unit 21 performs the geometric model and the entry prohibition region S1 in step S50 described later. Even when it is determined that the robot 100 and the robot 110 are interfering with each other, it is possible to prevent the robot 100 and the equipment 110 from interfering with each other and prevent the robot 100 or the substrate held by the robot 100 from actually contacting the equipment 110. can do.
  • the entry prohibition area S1 is set so as to include an area inside the inner wall surface of the chamber 113 of the equipment 110, the robot 100 or a substrate held by the robot 100 is more likely to come into contact with the equipment 110. It can be surely prevented.
  • the interference determination unit 38 of the control unit 21 determines whether or not the geometric models M1 to M3 in the virtual posture Pp interfere with the entry prohibition region S1 (interference determination step) (step S50). That is, the fact that the geometric model and the entry prohibition area S1 interfere is a state where the boundary line and the boundary line B of the geometric model intersect.
  • the geometric model expression unit 37 generates the geometric model in the step immediately before the interference determination by the interference determination unit 38.
  • the present invention is not limited to this. You may perform in the arbitrary steps before interference determination.
  • the setting of the entry prohibition area S1 and the entry prohibition area S2 by the area setting unit 40 may be performed in an arbitrary step before the interference determination by the interference determination unit 38.
  • step S60 the via attitude
  • Step S70 when the interference determination unit 38 of the control unit 21 determines in step S50 that the geometric model and the boundary line B interfere (Yes in step S50), the via posture determination unit of the control unit 21 7E, as shown in FIG. 7E, calculates a posture in a state where the interference portion of the geometric model is pushed out from the entry prohibition region S1 to the motion region S2, and determines the calculated posture as a via posture Pv (delay via posture determination). Step) (Step S70).
  • the updated trajectory determining unit 41 of the control unit 21 moves the hand 4 when changing from the current posture Ps to the final posture Pt via the via posture Pv. Is determined as the update trajectory Tb (update trajectory determination step) (step S80).
  • control unit 21 determines (assumes) the via posture Pv as a new current posture Ps and determines (assumes) the updated trajectory Tb as a new initial trajectory Ta (step S90).
  • the virtual posture calculation unit 36 of the control unit 21 calculates a new virtual posture Pp at a predetermined point near the current posture Ps on the initial trajectory Ta and on the side from the current posture Ps toward the final posture Pt. (Step S100).
  • step S100 it is determined whether or not the virtual posture Pp calculated in step S100 matches the final posture Pt. If it is determined that they do not match (No in step S110), steps S40 to S110 are repeatedly executed. That is, steps S40 to S110 are executed until the current posture Ps matches the final posture Pt.
  • step S100 matches the final posture Pt (Yes in step S110)
  • the process is terminated.
  • FIG. 7F a final update trajectory Tb that avoids interference with the entry prohibition region S1 is generated.
  • the robot 100 is configured to actually move the robot 100 from the current posture Ps toward the final posture Pt along the final update trajectory Tb after the above processing is completed. . That is, when the transit posture Pv is reset as the new current posture Ps in step S90, the control unit 21 does not move the first arm 2, the second arm 3, and the hand 4 toward the current posture Ps.
  • the history of the updated trajectory Tb is stored in the storage unit 22.
  • the present invention is not limited to this, and each time the transit posture Pv is determined as a new current posture Ps in step S90, the control unit 21 moves toward the current posture Ps by the first arm 2, the second arm 3, And the hand 4 may actually be moved.
  • the robot 100 is a virtual posture of the robot 100 corresponding to a predetermined point on the initial trajectory Ta of the hand 4 when the robot 100 changes from the current posture Ps toward the final posture Pt.
  • Pp is calculated, and it is determined whether or not the geometric models M1 to M3 of the robot 100 in the virtual posture Pp interfere with the entry prohibition area S1 defined (delimited) corresponding to the obstacle.
  • the virtual posture Pp is determined as a via posture Pv that passes when the current posture Ps changes from the current posture Ps toward the final posture Pt.
  • the virtual repulsive force fi is determined.
  • the initial trajectory Ta is a trajectory that is uniquely determined by being given the current posture Ps and the final posture Pt.
  • the via posture Pv determined in step S70 is a posture uniquely determined by the positional relationship between each geometric model and the boundary line B in the virtual posture Pp. Therefore, in the first embodiment, for example, when the direction pushed back by the repulsive force coincides with the direction of the initial trajectory Ta, the updated trajectory Tb determined based on the posture pushed by the virtual repulsive force fi is In some cases, the final posture Pt may not be approached.
  • This embodiment is an embodiment in consideration of a case where the update trajectory Tb does not approach the final posture Pt.
  • FIG. 8 is a flowchart showing an operation example of the robot 100 according to the second embodiment of the present invention.
  • step S70 the determination of the via posture in step S70 is executed as follows.
  • step S271 it is determined whether or not the vehicle is in a stationary state (stationary state determining step) (step S271).
  • whether or not the vehicle is in the stationary state is determined based on the sum E of absolute values of the joint angle displacement of each joint axis between the virtual posture Pp and the final posture Pt based on the following equation (5). To calculate.
  • steps S71 to S74 are executed. Steps S71 to S74 are the same as steps S71 to S74 in the first embodiment, and a description thereof will be omitted.
  • step S271 if it is determined in step S271 that the control unit 21 is in a stationary state, the via-posture determination unit 39 of the control unit 21 has a posture other than the posture pushed by the virtual repulsive force fi in the vicinity of the current posture Ps.
  • a route candidate posture Pvc is calculated (route candidate posture generation step) (step S272).
  • the route candidate posture Pvc is a randomly generated posture. However, it is not limited to this. Instead of this, for example, it may be generated according to the situation around the current posture Ps.
  • step S273 it is determined whether or not the via candidate posture Pvc is a posture closer to the final posture Pt than the current posture Ps (first determination step) (step S273).
  • whether or not the via candidate posture Pvc is a posture approaching the final posture Pt is determined based on the value of E calculated based on the following equation (6) and the following equation (7). This is done by comparing the value of E calculated based on this.
  • the above equation (6) is to obtain the sum E (qr) of the absolute value of the joint angle displacement of each joint axis between the route candidate posture Pvc and the final posture Pt.
  • the above equation (7) is to obtain the sum E (q) of absolute values of the joint angle displacement of each joint axis between the current posture Ps and the final posture Pt.
  • the said Formula (8) is a type
  • the via posture determining unit 39 of the control unit 21 determines that the posture approaches the final posture Pt (Yes in step S273), the via posture Pv is determined based on the via candidate posture Pvc (first determining step) (Ste S274). Further, it is determined whether or not the trajectory from the current posture to the transit posture Pv does not interfere with the entry prohibition area S1.
  • step S275 determines whether or not the via candidate posture Pvc is selected as the via posture Pv (second).
  • This selection is performed using probability values.
  • this selection is performed by calculating the transition probability P ( ⁇ , t) according to the evaluation value of the via candidate posture Pvc by the following equation (9), and using the via candidate posture Pvc according to this probability. Decide whether to select Pv. Also, this transition probability graph is illustrated as a line indicated by a in the figure.
  • the transition probability P ( ⁇ , t) becomes closer to 0, that is, the smaller the degree that the route candidate posture Pvc deviates from the final posture Pt than the current posture Ps, the route candidate posture Pvc passes through.
  • the possibility of being selected as the posture Pv is increased (approaching 1), and the greater the degree that the via candidate posture Pvc deviates from the final posture Pt than the current posture Ps, the more likely the via candidate posture Pvc is selected as the via posture Pv.
  • the nature becomes low (approaching 0).
  • the via posture Pv is determined based on the via candidate posture Pvc (second determination step) (step S276).
  • control part 21 performs the process after step S80 similarly to the said embodiment.
  • the probability of selecting a posture that deviates from the final posture Pt is reduced by decreasing the value of the parameter t as shown by the line b in the graph of FIG. May be.
  • the robot 100 moves the posture pushed into the motion region S2 to a point on the initial trajectory Ta. Therefore, the interference of the geometric model with respect to the entry prohibition area S1 is repeated, and the robot 100 enters the stationary state, and the robot 100 does not approach the final posture Pt (cannot reach the final posture).
  • a via posture Pv corresponding to a point not on the initial trajectory Ta can be obtained, and an updated trajectory Tb is determined based on this posture, via another via posture Pv that approaches the final posture Pt.
  • the final posture Pt can be reached.
  • the state in which the current final posture Pt cannot be reached can be suitably removed. Since it is determined whether or not the route candidate posture is selected based on a probability value that decreases in proportion to the degree of divergence between the final posture Pt and the route candidate posture Pvc, the degree of divergence from the current posture Ps is small. The possibility that the route candidate posture Pvc is selected as the route posture Pv is increased. As a result, a state in which the current final posture cannot be reached more appropriately can be suitably removed.
  • FIGS. 10A and 10B are diagrams showing simulation conditions of the robot 100 in the present embodiment.
  • the current posture Ps, the entry prohibition area S1, the action area S2, and the geometric model M of the robot 100 are set.
  • FIG. 10C is a diagram illustrating a simulation result of the robot 100, and is a diagram illustrating a hand trajectory. As shown in FIG. 10C, it can be seen that the robot 100 reaches the final posture Pt from the current posture Ps.
  • the robot 100 is configured as a horizontal articulated robot, the geometric model is expressed in the xy plane, and the presence / absence of interference in the z-axis direction is not determined, but the present invention is not limited to this.
  • the robot may be configured with vertical articulated joints, the geometric model may be expressed three-dimensionally, and interference may be determined in a three-dimensional space.
  • the virtual posture calculation unit 36 calculates the virtual posture Pp of the robot 100.
  • the virtual posture calculation unit 36 may calculate the virtual posture Pp of the geometric model of the robot 100.
  • the present invention can be applied to industrial robots.

Abstract

ロボット(100)を幾何モデル(M)として表現する幾何モデル表現ステップ(S40)と、初期軌道上の所定の点に対応するロボットの仮想姿勢(Pp)を算出する仮想姿勢算出ステップ(S30)と、仮想姿勢における幾何モデルが進入禁止領域と干渉するか否かを判定する干渉判定ステップ(S50)と、干渉すると判定した場合、仮想反発力によって幾何モデルの干渉部分が進入禁止領域から動作領域に押し出された状態の姿勢を算出し、算出した姿勢を経由姿勢として決定する経由姿勢決定ステップ(S70)と、現在姿勢から経由姿勢を経由して最終姿勢に変化する場合におけるハンドの軌道を更新軌道(Tb)として決定する更新軌道決定ステップ(S80)と、最新の経由姿勢決定ステップにおいて決定された経由姿勢を初期軌道決定ステップにおける現在姿勢と仮定して初期軌道決定ステップから更新軌道決定ステップまでのステップを繰り返して実行するステップと、を含む、ロボットの障害物自動回避方法。

Description

アーム型のロボットの障害物自動回避方法及び制御装置
 本発明は、アーム型のロボットの障害物自動回避方法及び制御装置に関する。
 従来から停止したロボットを障害物との干渉を自動的に回避して、所定の姿勢に到達させる方法が知られている。
 特許文献1には、経路を遡行して作業原点まで復帰する方法が開示されている。具体的には、移動コマンドを含んで記述された制御プログラムを順次実行することにより所望の経路で一連の動作を行うロボットを停止位置から作業原点に復帰させる制御方法であって、既に実行された制御プログラムを順次逆実行するに際し、各移動コマンドをその一つ前の移動コマンドの位置引数を用いて実行する。
 特許文献2には、移動経路の外でロボットが異常停止した場合でも原点に復帰することができるロボットが開示されている。具体的には、ロボットが動作する動作エリアを少なくとも含むエリアマップを、所定の領域を持つエリアブロックごとに区画するエリアブロック作成工程と、区画されたエリアブロックごとにロボットの復帰方向を設定する方向設定工程と、を備える。これによって、障害物との干渉を回避することができる。
特開平7-28520号公報 特開2009-90383号公報
 特許文献1に記載の方法では、移動経路の外でロボットが異常停止した場合には、作業原点に復帰できない。一方、特許文献2の方法ではそれが可能である。しかし、特許文献2に記載の方法は、予めエリアブロックごとにロボットの復帰方向を設定する必要があり、設定作業を行う作業者の作業量が増大するという問題があった。また、復帰方向の決定も作業者の経験則による判断を要し、作業者の確保が困難であるという問題があった。更に、エリアブロックごとにロボットの復帰方向を設定したデータはデータ量が膨大になるという問題があった。換言すると、ロボットの復帰方向に関して複雑な設定が必要であるという問題があった。
 本発明は、上記課題に鑑みてなされたものであり、ロボットがどの位置で停止しても、単純な設定で安全に所定の姿勢に到達させることが可能なロボットの障害物自動回避方法及び制御装置を提供することを目的とする。
 上記課題を解決するため、本発明のある態様に係るロボットの障害物自動回避方法は、1以上のリンクが関節によって連結され、先端部にハンドが設けられたロボットアームを備えるアーム型のロボットの障害物自動回避方法であって、前記ロボットを、幾何形状を有するようモデリングして幾何モデルとして表現する幾何モデル表現ステップと、前記幾何モデルが進入してはいけない進入禁止領域と、当該進入禁止領域によって規定され、前記幾何モデルが動作する動作領域とを設定する領域設定ステップと、前記ロボットの最終姿勢を決定する最終姿勢決定ステップと、前記ロボットが現在姿勢から前記最終姿勢に向かって変化する場合における前記ハンドの初期軌道を決定する初期軌道決定ステップと、前記初期軌道上の所定の点に対応する前記ロボットの仮想姿勢を算出する仮想姿勢算出ステップと、前記仮想姿勢における前記幾何モデルが前記進入禁止領域と干渉するか否かを判定する干渉判定ステップと、前記干渉判定ステップにおいて干渉しないと判定した場合、前記仮想姿勢を経由姿勢として決定し、干渉すると判定した場合、前記進入禁止領域の干渉部分と前記幾何モデルの干渉部分とが相対的に反発する反発力を仮想的に発生させ、仮想反発力によって前記幾何モデルの干渉部分が前記進入禁止領域から前記動作領域に押し出された状態の姿勢を算出し、該算出した姿勢を経由姿勢として決定する経由姿勢決定ステップと、前記現在姿勢から前記経由姿勢を経由して前記最終姿勢に変化する場合における前記ハンドの軌道を更新軌道として決定する更新軌道決定ステップと、最新の経由姿勢決定ステップにおいて決定された経由姿勢を前記初期軌道決定ステップにおける前記現在姿勢と仮定して前記初期軌道決定ステップ、前記仮想姿勢算出ステップ、前記干渉判定ステップ、前記経由姿勢決定ステップ、及び前記更新軌道決定ステップを繰り返して実行するステップと、を含むよう構成されている。
 上記構成によれば、ロボットが現在姿勢から最終姿勢に向かって変化する場合におけるハンドの初期軌道上の所定の点に対応するロボットの仮想姿勢を算出し、仮想姿勢におけるロボットの幾何モデルが進入禁止領域(障害物)と干渉するか否かを判定する。そして、干渉しないと判定した場合には仮想姿勢を、現在姿勢から最終姿勢に向かって変化する場合に経由する経由姿勢として決定し、干渉すると判定した場合には、仮想反発力によって幾何モデルの干渉部分が進入禁止領域から動作領域に押し出された状態の姿勢を算出し、その姿勢を経由姿勢として決定する。従って、ロボットの幾何モデルが進入禁止領域と干渉する場合には、進入禁止領域に干渉しない経由姿勢が与えられるので、障害物との衝突が回避される。但し、この場合には当初の初期軌道から逸れるので最終姿勢に近づくことは担保されない。一方、ロボットの幾何モデルが進入禁止領域と干渉しない場合には、初期軌道上の点に対応する経由姿勢が与えられるので、最終姿勢に近づく。そして、上記構成によれば、新たに与えられた経由姿勢を現在姿勢としてこの手順を繰り返すので、ロボットの幾何モデルが進入禁止領域と干渉しない手順が出現する都度、その手順における初期軌道上の点に対応する経由姿勢が与えられて最終姿勢に近づく。従って、試行錯誤を繰り返すことにより、最終的に、ロボットが、障害物との衝突を回避しながら現在姿勢から最終姿勢に変化する場合におけるハンドの更新軌道を得ることができる。
 その結果、ロボットの幾何モデル、進入禁止領域、及び動作領域の設定という単純な設定で、ロボットがどの位置で停止しても障害物との干渉を自動で回避して、安全にロボットを所定の姿勢(例えば、退避姿勢)に到達させることができる。
 前記最終姿勢決定ステップは、既知の軌道上に設定される前記ロボットの複数の最終候補姿勢のうち、前記ロボットの現在姿勢と前記最終候補姿勢との前記各関節の角度の変位の絶対値の総和が最小の値である最終候補姿勢を前記最終姿勢として選択し、決定してもよい。
 この構成によれば、ロボットの現在姿勢に近い姿勢を最終姿勢として選択することができる。よって、最終姿勢に到達するまでに要する時間を短縮することができる。
 前記経由姿勢決定ステップは、前記仮想反発力によってある仮想姿勢における前記ロボットの前記各関節の回動軸周りに生じるトルクを算出し、更に該トルクの影響によって変化する前記ロボットの所定時間経過後の仮想姿勢を算出する演算を前記仮想姿勢を起点として繰り返し行うことによって前記ロボットの仮想姿勢の経時変化を算出し、前記ロボットの仮想姿勢の経時変化が収束したときの前記ロボットの仮想姿勢に基づいて前記経由姿勢を決定してもよい。
 この構成によれば、ロボットと進入禁止領域との干渉を回避した経由姿勢を適切に与えることができる。
 前記仮想反発力は、前記幾何モデルが進入禁止領域に進入した距離に比例して大きくなるように構成されていてもよい。
 この構成によれば、ロボットの幾何モデルが進入禁止領域に深く進入した場合であっても、速やかに進入禁止領域の外に押し出すことができる。
 前記ロボットの姿勢が前記最終姿勢に近づくように経時変化せず、停留状態に陥っているか否かを判定する停留状態判定ステップと、前記停留状態判定ステップにおいて停留状態に陥っていると判定された場合、前記ロボットの前記仮想反発力によって押し出された状態の姿勢以外の経由候補姿勢を生成する経由候補姿勢生成ステップと、前記経由候補姿勢が前記最終姿勢に近づく姿勢であるか否かを判定する第1判定ステップと、前記第1判定ステップにおいて、前記経由候補姿勢が前記最終姿勢に近づく方向に変化する姿勢であると判定された場合、該経由候補姿勢に基づいて前記経由姿勢を決定する第1決定ステップとを有していてもよい。
 この構成によれば、例えば、反発力により押し戻す方向が初期軌道の方向と一致する場合には、動作領域に押し戻された姿勢が初期軌道上の点に対応するので、進入禁止領域に対する幾何モデルの干渉が繰り返されて停留状態に陥り、ロボットが最終姿勢に近づかない。しかし、上記構成によれば、初期軌道上にない点に対応する経由姿勢が得られるので、このような停留状態に陥った場合であっても、最終姿勢に近づく別の経由姿勢を経由して、最終姿勢に到達することができる。
 前記第1判定ステップにおいて、前記経由候補姿勢が前記最終姿勢から遠ざかる方向に変化する姿勢であると判定された場合、確率値に基づいて前記経由候補姿勢を選択するか否かを判定する第2判定ステップと、前記第2判定ステップにおいて選択すると判定されると、当該経由候補姿勢に基づいて前記経由姿勢を決定する第2決定ステップとを有していてもよい。
 この構成によれば、最終姿勢に近づく別の姿勢を生成できない場合であっても、別の経由姿勢を経由して最終姿勢に到達することができるか否かを試みることができる。これによって、現在の最終姿勢に到達できない状態を好適に脱することができる。
 上記課題を解決するため、本発明のある態様に係るアーム型のロボットの制御装置は、1以上のリンクが関節によって連結され、先端部にハンドが設けられたロボットアームを備えるアーム型のロボットの制御装置であって、前記ロボットを、幾何形状を有するようモデリングして幾何モデルとして表現する幾何モデル表現部と、前記幾何モデルが進入してはいけない進入禁止領域と、当該進入禁止領域によって規定され、前記幾何モデルが動作する動作領域とを設定する領域設定部と、前記ロボットの最終姿勢を決定する最終姿勢決定部と、前記ロボットが現在姿勢から前記最終姿勢に向かって変化する場合における前記ハンドの初期軌道を決定する初期軌道決定部と、前記初期軌道上の所定の点に対応する前記ロボットの仮想姿勢を算出する仮想姿勢算出部と、前記仮想姿勢における前記幾何モデルが前記進入禁止領域と干渉するか否かを判定する干渉判定部と、経由姿勢を決定する経由姿勢決定部と、更新軌道決定部と、を備え、前記経由姿勢決定部は、前記干渉判定部が干渉しないと判定した場合、前記仮想姿勢を経由姿勢として決定し、干渉すると判定した場合、前記進入禁止領域の干渉部分と前記幾何モデルの干渉部分とが相対的に反発する反発力を仮想的に発生させ、仮想反発力によって前記幾何モデルの干渉部分が前記進入禁止領域から前記動作領域に押し出された状態の姿勢を算出し、該算出した姿勢を経由姿勢として決定し、前記更新軌道決定部は、前記現在姿勢から前記経由姿勢を経由して前記最終姿勢に変化する場合における前記ハンドの軌道を更新軌道として決定し、前記経由姿勢決定部が決定した最新の経由姿勢を前記初期軌道決定部の現在姿勢と仮定して、前記初期軌道決定部、前記仮想姿勢算出部、前記干渉判定部、前記経由姿勢決定部、及び前記更新軌道決定部が繰り返し処理するよう構成されている。
 上記構成によれば、ロボットが現在姿勢から最終姿勢に向かって変化する場合におけるハンドの初期軌道上の所定の点に対応するロボットの仮想姿勢を算出し、仮想姿勢におけるロボットの幾何モデルが進入禁止領域(障害物)と干渉するか否かを判定する。そして、干渉しないと判定した場合には仮想姿勢を、現在姿勢から最終姿勢に向かって変化する場合に経由する経由姿勢として決定し、干渉すると判定した場合には、仮想反発力によって幾何モデルの干渉部分が進入禁止領域から動作領域に押し出された状態の姿勢を算出し、その姿勢を経由姿勢として決定する。従って、ロボットの幾何モデルが進入禁止領域と干渉する場合には、進入禁止領域に干渉しない経由姿勢が与えられるので、障害物との衝突が回避される。但し、この場合には当初の初期軌道から逸れるので最終姿勢に近づくことは担保されない。一方、ロボットの幾何モデルが進入禁止領域と干渉しない場合には、初期軌道上の点に対応する経由姿勢が与えられるので、最終姿勢に近づく。そして、上記構成によれば、新たに与えられた経由姿勢を現在姿勢としてこの手順を繰り返すので、ロボットの幾何モデルが進入禁止領域と干渉しない手順が出現する都度、その手順における初期軌道上の点に対応する経由姿勢が与えられて最終姿勢に近づく。従って、試行錯誤を繰り返すことにより、最終的に、ロボットが、障害物との衝突を回避しながら現在姿勢から最終姿勢に変化する場合におけるハンドの更新軌道を得ることができる。
 本発明は、単純な設定で、ロボットがどの位置で停止しても障害物との干渉を自動で回避して、安全にロボットを所定の姿勢に到達させることができるという効果を奏する。
本発明の実施の形態1に係るロボットを備える設備の構成例を示す平面図である。 図1のロボットの制御系統の構成例を概略的に示すブロック図である 図1のロボットの最終姿勢の選択方法を示す説明図である。 図1のロボットの経由姿勢の算出方法を示すフローチャートである。 図1のロボットの経由姿勢の算出方法を示す説明図である。 図1のロボットの経由姿勢の算出方法を示す説明図である。 図1のロボットの経由姿勢の算出方法を示す説明図である。 図1のロボットの動作例を示すフローチャートである。 図1のロボットの動作例を示す図である。 図1のロボットの動作例を示す図である。 図1のロボットの動作例を示す図である。 図1のロボットの動作例を示す図である。 図1のロボットの動作例を示す図である。 図1のロボットの動作例を示す図である。 本発明の実施の形態2に係るロボットの動作例を示すフローチャートである。 図8のロボットの処理において用いる遷移確率を示すグラフである。 図8のロボットのシミュレーション条件を示す図である。 図8のロボットのシミュレーション条件を示す図である。 図8のロボットのシミュレーション結果を示す図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、本実施の形態によって本発明が限定されるものではない。また、以下では、全ての図を通じて、同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
 (実施の形態1)
 図1は、本発明の実施の形態1に係るロボット100を備える設備110の構成例を示す平面図である。
 設備110は、例えば基板の処理を行う設備であり、内部にロボット100が設置され、例えば、チャンバ113を囲む壁111と、チャンバ内部において壁111から内側に突出している壁112とを有する。これら壁111及び壁112は、ロボット100の動作における障害物を構成する。
 [ロボットの構成]
 ロボット100は、例えば半導体ウェハ、ガラスウェハ等の基板を搬送するロボットである。
 図1に示すように、ロボット100は、1以上のリンクが関節によって連結され、先端部にハンドが設けられたロボットアームを備えるアーム型のロボットである。更に具体的には、ロボット100は、水平多関節ロボットであり、基台1と、第1アーム2と、第2アーム3と、ハンド4と、を備え、これらが直鎖状に連結されている。本実施の形態において、第1アーム2、第2アーム3、ハンド4がロボットアームを構成する。また、ロボット100は、ロボット100の動作を制御する制御器5(図2参照)を備える。
 基台1は、例えば、中空の円筒状部材である。基台1の内部には、サーボモータを含む第1アーム駆動部12(図2参照)が配設されている。第1アーム駆動部12は、後述する第1関節軸2aを回動させるように構成されている。
 第1アーム2は、例えば、中空の板状部材であり、平面視において大略短冊状に形成されている。第1アーム2は、第1アーム2の基端部の底面から下方に突出するように第1関節軸2aが形成されている。そして、第1関節軸2aは、z方向に延びる回動軸線L1を中心に回動可能に基台1に取り付けられ、この部分が第1関節を構成している。従って、第1アーム2は、xy平面において回動するように構成されている。なお、本実施の形態において、回動軸線L1がxy平面上における基準点Oを構成する。
 第1アーム2の内部には、サーボモータを含む第2アーム駆動部13(図2参照)が配設されている。第2アーム駆動部13は、後述する第2関節軸3aを回動させるように構成されている。
 そして、第1アーム2の基台1に対する回動軸線L1周りの相対的な角度位置q1(図3参照)は、第1アーム駆動部12のサーボモータのエンコーダによって検出される。このエンコーダが第1アーム角度位置検出部15(図2参照)を構成する。
 なお、第1アーム2は1番目のリンクということがあり、また第1関節軸2aを1軸ということがある。
 第2アーム3は、例えば、中空の板状部材であり、平面視において大略短冊状に形成されている。第2アーム3は、第2アーム3の基端部の底面から下方に突出するように第2関節軸3aが設けられている。そして、第2関節軸3aは、回動軸線L1と平行に延びる回動軸線L2を中心に回動可能に第1アーム2に取り付けられ、この部分が第2関節を構成している。従って、第2アーム3は、xy平面上を回動するように構成されている。
 第2アーム3の内部には、サーボモータを含むハンド駆動部14(図2参照)が配設されている。ハンド駆動部14は、後述する第3関節軸4aを回動させるように構成されている。
 そして、第2アーム3の第1アーム2に対する回動軸線L2周りの相対的な角度位置q2(図3参照)は、第2アーム駆動部13のサーボモータのエンコーダによって検出される。このエンコーダが第2アーム角度位置検出部16(図2参照)を構成する。
 なお、第2アーム3は2番目のリンクということがあり、また第2関節軸3aを2軸ということがある。
 ハンド4は、基板を保持するものであり、平板状に形成されている。ハンド4は、その基端部の底面から下方に突出するように形成された第3関節軸4aを有している。そして、第3関節軸4aは、回動軸線L1,L2と平行に延びる回動軸線L3を中心に回動可能に第2アーム3に取り付けられ、この部分が第3関節を構成している。従って、ハンド4は、xy平面において回動するように構成されている。
 そして、ハンド4の第2アーム3に対する回動軸線L3周りの相対的な角度位置q3(図3参照)は、ハンド駆動部14のサーボモータのエンコーダによって検出される。このエンコーダがハンド角度位置検出部17(図2参照)を構成する。
 なお、ハンド4は3番目のリンクということがあり、また第3関節軸4aを3軸ということがある。
 [制御部]
 図2は、ロボット100の制御系統の構成例を概略的に示すブロック図である。
 ロボット100が備える制御器5は、例えば、CPU等の演算器を有する制御部21と、ROM及びRAM等のメモリを有する記憶部22とを備えている。制御器5は、集中制御する単独の制御器で構成されていてもよく、互いに協働して分散制御する複数の制御器で構成されてもよい。制御部21は、第1アーム制御部31,第2アーム制御部32,ハンド制御部33,最終姿勢決定部34,初期軌道決定部35,仮想姿勢算出部36,幾何モデル表現部37,領域設定部40,干渉判定部38,経由姿勢決定部39,更新軌道決定部41を含む。これらの機能部31~41は、記憶部22に格納された所定の制御プログラムを制御部21が実行することにより実現される機能ブロック(機能モジュール)である。
 第1アーム制御部31は、第1アーム駆動部12を制御し、xy平面において回動軸線L1周りに第1アーム2を回動させる。
 第2アーム制御部32は、第2アーム駆動部13を制御し、xy平面において回動軸線L2周りに第2アーム3を回動させる。
 ハンド制御部33は、ハンド駆動部14を制御し、xy平面において回動軸線L3周りにハンド4を回動させる。
 なお、本実施の形態では、例えば、制御部21の主制御部(図示せず)が、ロボット100の第1アーム角度位置検出部15、第2アーム角度位置検出部16、及びハンド角度位置検出部17がそれぞれ検出する角度位置と、最終姿勢とに基づいて、第1アーム制御部31,第2アーム制御部32,及びハンド制御部33に最終角度位置をそれぞれ出力する。第1アーム制御部31,第2アーム制御部32,及びハンド制御部33は、それぞれ、対応する制御対象物(第1関節軸2a、第2関節軸3a、及び第3関節軸4a)の角度位置が最終姿勢に対応する最終角度位置になるように、対応する角度位置検出部15,16,17が検出する回動軸の角度位置に基づいて、対応する第1アーム駆動部12,第2アーム駆動部13,及びハンド駆動部14をそれぞれフィードバック制御する。
 幾何モデル表現部37は、ロボット100を、幾何形状を有するようモデリングして幾何モデルMとして表現する。
 本実施の形態において、幾何モデル表現部37は、第1アーム2,第2アーム3,及びハンド4を幾何モデルM1,M2,及びM3で表現する。
 第1アーム2の幾何モデルM1は、図1に示すように、例えば、長円形のモデルである。幾何モデルM1は、第1アーム2をxy平面に投影した図形の外側において、この図形と離間するように表現される。
 第2アーム3の幾何モデルM2は、例えば、長円形のモデルである。幾何モデルM2は、第2アーム3をxy平面に投影した図形の外側において、この図形と離間するように表現される。
 ハンド4の幾何モデルM3は、例えば、水滴型のモデルである。幾何モデルM3は、基板を保持するハンド4をxy平面に投影した図形の外側において、この図形と離間するように規定(画定)される。
 図1及び2に示すように、領域設定部40は、幾何モデルM1~M3が進入してはいけない進入禁止領域S1と、進入禁止領域S1によって規定(画定)され、幾何モデルM1~M3が動作する動作領域S2とを設定する。
 本実施の形態において、進入禁止領域S1及び動作領域S2は、記憶部22に格納されており、領域設定部40が記憶部22から進入禁止領域S1及び動作領域S2を読み出すことにより、進入禁止領域S1及び動作領域S2を設定する。
 また、進入禁止領域S1は、設備110のチャンバ113の内壁面(壁111及び壁112の壁面)よりも内側の領域も含むように設定される。また、進入禁止領域S1と動作領域S2の境界に沿って延びる仮想線が境界線Bを構成する。
 最終姿勢決定部34は、ロボット100の最終姿勢Ptを決定する。
 本実施の形態において、最終姿勢決定部34は、記憶部22に記憶されている複数の最終候補姿勢Ptcから一の最終姿勢Ptを選択し、決定する。
 最終候補姿勢Ptcは、進入禁止領域S1と干渉しない既知の軌道上に設定される姿勢である。よって、ロボット100は、何れか一の姿勢に到達することができれば、以降は既知の軌道を辿り、進入禁止領域S1と干渉せずに動作することができる。
 図3は、ロボット100の最終姿勢Ptの選択方法を示す説明図である。
 図3に示すように、最終姿勢決定部34が複数の最終候補姿勢Ptc(図3ではそのうち一を示す)から一の最終姿勢Ptを選択するときは、まず、現在姿勢Psと最終候補姿勢Ptcとの各関節軸の関節角度の変位の絶対値の総和Eを以下の式に基づいて算出する。
Figure JPOXMLDOC01-appb-M000001
 
 次に、Eが最小の値である最終候補姿勢Ptc選択し、これを最終姿勢Ptとして決定する。
 初期軌道決定部35は、ロボット100が現在姿勢Psから最終姿勢決定部34において決定された最終姿勢Ptに向かって変化する場合におけるハンド4の初期軌道Taを決定する。本実施の形態において、初期軌道Taは、現在姿勢Ps及び最終姿勢Ptが与えられることによって一義的に決まる軌道である。
 仮想姿勢算出部36は、初期軌道Ta上の所定の点におけるロボット100の仮想姿勢Ppを算出する。
 干渉判定部38は、仮想姿勢Ppにおけるロボット100の幾何モデルM1~M3が進入禁止領域S1と干渉するか否かをそれぞれ判定する。
 経由姿勢決定部39は、現在姿勢Psから最終姿勢Ptに向かって変化する場合に経由する経由姿勢Pvを算出する。
 更に、経由姿勢決定部39は、干渉判定部38がロボット100の幾何モデルM1~M3と進入禁止領域S1とが全て干渉しないと判定した場合、仮想姿勢Ppを経由姿勢Pvとして決定する。
 一方、経由姿勢決定部39は、幾何モデルM1~M3のうち少なくとも一の幾何モデルと進入禁止領域S1とが干渉すると判定した場合、進入禁止領域S1の干渉部分と幾何モデルの干渉部分とが相対的に反発する反発力fiを仮想的に発生させ、仮想反発力fiによって幾何モデルの干渉部分が進入禁止領域S1から動作領域S2に押し出された状態の姿勢を算出し、この算出した姿勢を経由姿勢Pvとして決定する。
 図4は、ロボット100の経由姿勢Pvの算出方法を示すフローチャートである。
 図5A~5Cは、ロボット100の経由姿勢Pvの算出方法を示す説明図である。
 経由姿勢Pvを算出するために経由姿勢決定部39が行う処理について以下に詳しく説明する。なお、本実施の形態において、ロボット100は、3個のリンクを有するロボットであるが、以下ではn個のリンクを有するロボットとして一般化した場合の考え方を示す。
 まず、ロボット100の幾何モデルが進入禁止領域S1に進入した距離diを決定する(ステップS71)。距離diの算出は、仮想姿勢Ppにおける各幾何モデルと進入禁止領域S1との干渉形態に応じて行う。
 例えば、図5Aに示す場合、まず、幾何モデルMiの干渉部分(図5Aにおいて薄墨を付した部分)において、境界線Bとの距離が最大となる幾何モデルMi上の点P(x,y)を算出する。そして、境界線Bの法線方向において、点Pと境界線Bとの距離を距離diに設定する。
 また、図5Bに示す場合、まず、幾何モデルMiの干渉部分(図5Bにおいて薄墨を付した部分)において、境界線Bとの距離が最大となる幾何モデルMi上の点P(x,y)を算出する。そして、点Pと境界線Bの頂点Qとの距離を距離diに設定する。
 更に、図5Cに示す場合、まず、幾何モデルMiの干渉部分(図5Cにおいて薄墨を付した部分)において、境界線Bの頂点Qから幾何モデルと境界線Bとの一方の交点Rに向かう側に位置する、境界線Bとの距離が最大となる幾何モデルMi上の点P1(x,y)を算出する。そして、線分QRの法線方向において、点P1と境界線Bとの距離を距離di1に設定する。
 また、幾何モデルMiの干渉部分において、境界線Bの頂点Qから幾何モデルと境界線Bとの他方の交点R’に向かう側に位置する、境界線Bとの距離が最大となる幾何モデル上の点P2(x,y)を算出する。そして、線分QR’の法線方向において、点P2と境界線Bとの距離を距離di2に設定する。
 このように、距離diの算出は、仮想姿勢Ppにおける幾何モデルと進入禁止領域S1との干渉形態に応じて行うように構成されるが、上記の構成に限定されるものではない。
 次に、決定した距離diに基づき、以下の式(2)に基づいて仮想反発力fiをそれぞれのリンクについて算出する(ステップS72)。
Figure JPOXMLDOC01-appb-M000002
 
 なお、図5Cに示す場合は、決定した距離di1及びdi2に基づき、式(2)に基づいてそれぞれ仮想反発力fi1及びfi2を算出した上で、仮想反発力fi1及びfi2を合成し、仮想反発力fiを算出する。
 すなわち、進入禁止領域S1と干渉していると判定されたi番目のリンクに対し、幾何モデルが禁止領域S2に進入した距離に比例する仮想反発力fiを仮想的に発生させる。これによって、幾何モデルが進入禁止領域S1に深く進入した場合は、強く押しだすようになっている。したがって、幾何モデルが押し出されるまでに要する時間を短縮することができる。
 一方、進入禁止領域S1と干渉していないと判定されたi番目のリンクには、仮想反発力fiを発生させないように構成している。
 次に、仮想反発力fiによって生じるロボット100の各軸周りに生じる仮想のトルクτを算出する(ステップS73)。
Figure JPOXMLDOC01-appb-M000003
 
 すなわち、境界線Bと干渉していると判定されたi番目のリンクにおいて発生する仮想反発力fiは、i番目のリンクのみならず、i<n番目のリンクにも影響を与えるように構成されている。これによって、i番目のリンクに仮想反発力fiを発生させた点が当該リンクの死点である場合であっても、当該仮想反発力fiは他のリンクに影響を与えトルクを発生させる。よって、当該トルクによって他のリンクが回動し、仮想姿勢Ppとは異なる経由姿勢Pvを生成することができる。
 また、角度ψiの算出は、各幾何モデルと進入禁止領域S1との干渉形態に応じて行う。
 例えば、図5Aに示す場合、角度ψiは、xy平面において境界線Bの法線方向とx軸のなす角度である。
 また、図5Bに示す場合、角度ψiは、線分PQとx軸のなす角度である。
 更に、図5Cに示す場合、角度ψiは、上記仮想反発力の合成ベクトルとx軸のなす角度である。
 次に、上記仮想トルクτiの影響によって生じる、ロボット100の仮想姿勢の経時変化を算出する。
Figure JPOXMLDOC01-appb-M000004
 
 ここでq(・)は、qの上に符号・(ドット)が一つ付された記号であるとする。
 そして、(2)式と(3)式とを繰り返し計算することによって、τ[k]とq(・)[k]が0に収束したときのq[k]を算出する。このq[k]が、第1アーム2、第2アーム3、及びハンド4が進入禁止領域S1から動作領域S2に押し出された姿勢である。
 そして、q[k]に基づいて、仮想姿勢Ppを設定する(ステップS74)。
 回避軌道決定部41は、現在姿勢Psから経由姿勢Pvを経由して最終姿勢Ptに変化する場合におけるハンド4の軌道を更新軌道Tbとして決定する。
 [動作例]
 次に、ロボット100の動作例を説明する。
 図6は、本発明の実施の形態におけるロボット100の動作例を示すフローチャートである。図7A~図7Fは、本発明の実施の形態におけるロボット100の動作例を示す図である。
 まず、図7Aに示すように、制御部21の最終姿勢決定部34は、ロボット100の最終姿勢Ptを決定する(最終姿勢決定ステップ)(ステップS10)。本実施の形態において、制御部21の最終姿勢決定部34は、4つの最終候補姿勢Ptc1~Ptc4についてEの値を求め、Eの値が最小となる最終候補姿勢Ptc4を最終姿勢Ptとして選択する。このように、現在姿勢Psに近い姿勢を最終姿勢Ptとして選択するように構成されているので、現在姿勢Psから最終姿勢Ptに到達するまでに要する各軸の変位を少なくすることができ、到達までに要する平均時間を短縮することができる。
 次に、図7Bに示すように、制御部21の初期軌道決定部35は、ロボット100が現在姿勢Psから最終姿勢Ptに向かって変化する初期軌道Taを決定する(初期軌道決定ステップ)(ステップS20)。
 次に、図7Cに示すように、制御部21の仮想姿勢算出部36は、初期軌道Taにおいて現在姿勢Psの近傍であって、現在姿勢Psから最終姿勢Ptに向かう側における所定の点におけるロボット100の仮想姿勢Ppを算出する(仮想姿勢算出ステップ)(ステップS30)。ここで、近傍とは、現在姿勢から各軸に微小な変更を加えて得られる姿勢をいう。
 次に、制御部21の領域設定部40は、進入禁止領域S1及び動作領域S2を記憶部22から読み込み、設定する(領域設定ステップ)(ステップS35)。
 次に、制御部21の幾何モデル表現部37は、仮想姿勢Ppにあるロボット100の第1アーム2,第2アーム3,及びハンド4をモデリングして、それぞれ幾何モデルM1,M2,及びM3で表現する(幾何モデル表現ステップ)(ステップS40)。
 幾何モデルM1~M3は、ロボット100の第1アーム2、第2アーム3、及びハンド4を簡略化して表したモデルであるので、後述する干渉の判定に要する計算量を削減することができ、干渉の判定を迅速に行うことができる。
 また、上述の通り、幾何モデルM1からM3の仮想線によって描かれる図形の外周は、基板を保持するハンド4をxy平面に投影した図形の外側において、この図形と離間するように規定(画定)される。すなわち、幾何モデルは、第1アーム2、第2アーム3、及びハンド4よりも肉厚に表現されるので、後述するステップS50において制御部21の干渉判定部38が幾何モデルと進入禁止領域S1とが干渉していると判定した場合であっても、ロボット100と設備110が干渉しないようにすることができ、実際にロボット100又はロボット100が保持する基板が設備110に接触することを防止することができる。
 また、進入禁止領域S1は、設備110のチャンバ113の内壁面よりも内側の領域も含むように設定されるので、実際にロボット100又はロボット100が保持する基板が設備110に接触することをより確実に防止することができる。
 次に、制御部21の干渉判定部38は、仮想姿勢Ppにおける幾何モデルM1~M3が進入禁止領域S1と干渉するか否かをそれぞれ判定する(干渉判定ステップ)(ステップS50)。すなわち、幾何モデルと進入禁止領域S1とが干渉しているとは、幾何モデルの境界線と境界線Bとが交差している状態のことである。
 なお、本実施の形態において、幾何モデル表現部37は干渉判定部38による干渉判定の直前のステップにおいて幾何モデルの生成を行っているが、これに限定されるものではなく、干渉判定部38による干渉判定より前の任意のステップで実行してもよい。
同様に、領域設定部40による進入禁止領域S1及び進入禁止領域S2の設定も干渉判定部38による干渉判定より前の任意のステップで実行してもよい。
 そして、何れも干渉しないと判定した場合(ステップS50においてNo)、制御部21の経由姿勢決定部39は、仮想姿勢Ppを経由姿勢Pvとして決定する(経由姿勢決定ステップ)(ステップS60)。
 従って、ロボット100の幾何モデルが進入禁止領域S1と干渉しない場合には、初期軌道Ta上の点に対応する経由姿勢が与えられるので、最終姿勢Ptに近づく。
 一方、図7Dに示すように、ステップS50において、制御部21の干渉判定部38が幾何モデルと境界線Bとが干渉すると判定した場合(ステップS50においてYes)、制御部21の経由姿勢決定部39は、図7Eに示すように、幾何モデルの干渉部分が進入禁止領域S1から動作領域S2に押し出された状態の姿勢を算出し、この算出した姿勢を経由姿勢Pvとして決定する(経由姿勢決定ステップ)(ステップS70)。
 従って、ロボット100の幾何モデルが進入禁止領域S1と干渉する場合には、進入禁止領域S1に干渉しない経由姿勢Pvが与えられるので障害物との衝突が回避される。
 なお、上記仮想姿勢を経由姿勢Pvに決定する際に、更に、現在姿勢から上記押し出された状態の姿勢に至る軌道が進入禁止領域S1と干渉しないか否かを判定してもよい。
 ステップS60又はステップS70において経由姿勢Pvが決定されると、次に、制御部21の更新軌道決定部41は、現在姿勢Psから経由姿勢Pvを経由して最終姿勢Ptに変化する場合におけるハンド4の軌道を更新軌道Tbとして決定する(更新軌道決定ステップ)(ステップS80)。
 次に、制御部21は、経由姿勢Pvを新たな現在姿勢Psとして決定(仮定)すると共に、更新軌道Tbを新たな初期軌道Taとして決定(仮定)する(ステップS90)。
 次に、制御部21の仮想姿勢算出部36は、初期軌道Taにおいて現在姿勢Psの近傍であって、現在姿勢Psから最終姿勢Ptに向かう側における所定の点における新たな仮想姿勢Ppを算出する(ステップS100)。
 次に、ステップS100で算出した仮想姿勢Ppが最終姿勢Ptと一致しているか否かを判定する。そして、一致していないと判定すると(ステップS110においてNo)は、繰り返し上記ステップS40~ステップS110を実行する。すなわち、ステップS40~ステップS110は、現在姿勢Psが最終姿勢Ptが一致するまで実行される。
 そして、ステップS100で算出した仮想姿勢Ppが最終姿勢Ptと一致すると(ステップS110においてYes)、処理を終了する。これによって、図7Fに示すように、進入禁止領域S1との干渉を回避した最終的な更新軌道Tbが生成される。
 なお、本実施の形態において、ロボット100は、上記処理が終了した後に、最終的な更新軌道Tbに沿ってロボット100を現在姿勢Psから最終姿勢Ptに向かって実際に動かすように構成されている。すなわち、ステップS90において経由姿勢Pvを新たな現在姿勢Psとして再設定したときに、この現在姿勢Psに向かって、制御部21が第1アーム2、第2アーム3、ハンド4を動かさず、決定した更新軌道Tbの履歴を記憶部22に記憶するように構成されている。しかし、これに限られるものではなく、ステップS90において経由姿勢Pvを新たな現在姿勢Psとして決定する度に、この現在姿勢Psに向かって、制御部21が第1アーム2、第2アーム3、及びハンド4を実際に動かしてもよい。
 以上に説明したように、本発明のロボット100は、ロボット100が現在姿勢Psから最終姿勢Ptに向かって変化する場合におけるハンド4の初期軌道Ta上の所定の点に対応するロボット100の仮想姿勢Ppを算出し、仮想姿勢Ppにおけるロボット100の幾何モデルM1~M3が障害物に対応して規定(画定)される進入禁止領域S1と干渉するか否かを判定する。そして、干渉しないと判定した場合には仮想姿勢Ppを、現在姿勢Psから最終姿勢Ptに向かって変化する場合に経由する経由姿勢Pvとして決定し、干渉すると判定した場合には、仮想反発力fiによって幾何モデルの干渉部分が進入禁止領域S1から動作領域S2に押し出された状態の姿勢を算出し、その姿勢を経由姿勢Pvとして決定する。従って、ロボット100の幾何モデルが進入禁止領域S1と干渉する場合には、進入禁止領域S1に干渉しない経由姿勢Pvが与えられるので、障害物との衝突が回避される。
 一方、ロボット100の幾何モデルが進入禁止領域S1と干渉しない場合には、初期軌道Ta上の点に対応する経由姿勢Pvが与えられるので、最終姿勢Ptに近づく。そして、上記構成によれば、新たに与えられた経由姿勢Pvを現在姿勢Psとしてこの手順を繰り返すので、ロボット100の幾何モデルが進入禁止領域S1と干渉しない手順が出現する都度、その手順における初期軌道Ta上の点に対応する経由姿勢Pvが与えられて最終姿勢Ptに近づく。従って、試行錯誤を繰り返すことにより、最終的に、ロボット100が、障害物との衝突を回避しながら現在姿勢Psから最終姿勢Ptに変化する場合におけるハンド4の更新軌道Tbを得ることができる。
 その結果、ロボットの幾何モデル、進入禁止領域、及び動作領域の設定という単純な設定で、ロボットがどの位置で停止しても障害物との干渉を自動で回避して、安全にロボットを所定の姿勢に到達させることができる。
 (実施の形態2)
 以下では実施の形態2の構成、動作について、実施の形態1との相違点を中心に述べる。
 上記実施の形態1において、初期軌道Taは、現在姿勢Ps及び最終姿勢Ptが与えられることによって一義的に決まる軌道である。また、ステップS70において決定される経由姿勢Pvは、仮想姿勢Ppにおける各幾何モデルと境界線Bとの位置関係において一義的に決まる姿勢である。よって、実施の形態1においては、例えば、反発力により押し戻す方向が初期軌道Taの方向と一致する場合には、仮想反発力fiによって押し出された状態の姿勢に基づいて決定された更新軌道Tbが最終姿勢Ptに近づかない場合がある。
 本実施の形態は、更新軌道Tbが最終姿勢Ptに近づかない場合を考慮した実施の形態である。
 図8は、本発明の実施の形態2に係るロボット100の動作例を示すフローチャートである。
 本実施の形態において、ステップS70の経由姿勢の決定は以下のように実行される。
 まず、停留状態に陥っているか否かを判定する(停留状態判定ステップ)(ステップS271)。本実施の形態において、停留状態に陥っているか否かの判定は、仮想姿勢Ppと最終姿勢Ptとの各関節軸の関節角度の変位の絶対値の総和Eを以下の式(5)に基づいて算出する。
Figure JPOXMLDOC01-appb-M000005
 
 
 そして、Eの値が減少していれば、最終姿勢に近づいていると判定する。一方、Eの値が変化しない、又は増加していれば、最終姿勢Ptに近づいていない、又は最終姿勢Ptから遠ざかっていると判定する。そして、所定の時間間隔において、Eの値が変化しない、又は増加している状態が持続していれば、停留状態に陥っていると判定する。
 そして、ステップS271において、制御部21が停留状態に陥っていないと判定すると、ステップS71~S74を実行する。ステップS71~S74は、上記実施の形態1のステップS71~S74と同様であるので、その説明を省略する。
 一方、ステップS271において、制御部21が停留状態に陥っていると判定すると、制御部21の経由姿勢決定部39は、現在姿勢Psの近傍において仮想反発力fiによって押し出された状態の姿勢以外の経由候補姿勢Pvcを算出する(経由候補姿勢生成ステップ)(ステップS272)。本実施の形態において、経由候補姿勢Pvcは、ランダムに生成された姿勢である。しかし、これに限定されるものではない。これに代えて、例えば、現在姿勢Psの周囲の状況に応じて生成してもよい。
 次に、経由候補姿勢Pvcが現在姿勢Psよりも最終姿勢Ptに近づく姿勢であるか否かを判定する(第1判定ステップ)(ステップS273)。本実施の形態において、経由候補姿勢Pvcが最終姿勢Ptに近づく姿勢であるかの否かの判断は、以下の式(6)に基づいて算出したEの値と、以下の式(7)に基づいて算出したEの値とを比較することによって行う。
Figure JPOXMLDOC01-appb-M000006
 
 
 すなわち、上記式(6)は、経由候補姿勢Pvcと最終姿勢Ptとの各関節軸の関節角度の変位の絶対値の総和E(qr)を求めるものである。また、上記式(7)は、現在姿勢Psと最終姿勢Ptとの各関節軸の関節角度の変位の絶対値の総和E(q)を求めるものである。そして、上記式(8)は、E(qr)とE(q)との値を比較する式である。
 そして、例えば、上記式(8)において、Δ≦0であれば、すなわち、経由候補姿勢Pvcに係るE(qr)の値が現在姿勢PsのE(q)の値と等しい又は小さければ、最終姿勢Ptに近づく姿勢であると判定する。一方、Δ>0であれば、すなわち、経由候補姿勢Pvcに係るE(qr)の値が現在姿勢PsのE(q)の値よりも大きければ最終姿勢Ptに近づく姿勢でないと判定する。
 そして、制御部21の経由姿勢決定部39が最終姿勢Ptに近づく姿勢であると判定すると(ステップS273においてYes)、経由候補姿勢Pvcに基づいて経由姿勢Pvを決定する(第1決定ステップ)(ステップS274)。更に、現在姿勢から当該経由姿勢Pvに至る軌道が進入禁止領域S1と干渉しないか否かを判定する。
 一方、制御部21の経由姿勢決定部39が最終姿勢Ptに近づく姿勢でないと判定すると(ステップS273においてNo)、更に経由候補姿勢Pvcを経由姿勢Pvに選択するか否かを決定する(第2判定ステップ)(ステップS275)。
 この選択は、確率値を用いて行う。本実施の形態において、この選択は、経由候補姿勢Pvcの評価値に応じた遷移確率P(Δ,t)を以下の式(9)によって算出し、この確率に従って、経由候補姿勢Pvcを経由姿勢Pvに選択するか否かを決定する。また、この遷移確率のグラフを図のaで示す線として例示する。
Figure JPOXMLDOC01-appb-M000007
 
 
 よって、遷移確率P(Δ,t)はΔが0に近づくほど、すなわち、経由候補姿勢Pvcが現在姿勢Psよりも最終姿勢Ptから乖離する(遠ざかる)度合が少ないほど、経由候補姿勢Pvcが経由姿勢Pvとして選択される可能性が高まり(1に近づき)、経由候補姿勢Pvcが現在姿勢Psよりも最終姿勢Ptから乖離する度合が大きいほど、経由候補姿勢Pvcが経由姿勢Pvとして選択される可能性が低くなる(0に近づく)。
 そして、経由候補姿勢Pvcが経由姿勢Pvとして選択されると、経由候補姿勢Pvcに基づいて経由姿勢Pvを決定する(第2決定ステップ)(ステップS276)。
 そして、制御部21は、上記実施の形態と同様にステップS80以降の処理を実行する。
 なお、経由候補姿勢Pvcが現在姿勢Psよりも最終姿勢Ptから乖離する度合が少ない姿勢には、停留状態から抜け出すことのできる姿勢が見つかり難い場合がある。このような場合は、図9のグラフにおいてbで示す線で示すように、停留状態に陥った時に上記(9)式のパラメータtの値を大きくすることによって、現在姿勢Psよりも最終姿勢Ptから乖離する度合が比較的大きい経由候補姿勢Pvcであっても選択され易いように調整してもよい。
 また、現在姿勢Psが最終姿勢Ptに近づくに従って、最終姿勢Ptから乖離する姿勢を選択する確率を下げることが好ましい。したがって、現在姿勢Psが最終姿勢Ptに近づくに従って、図9のグラフにおいてbで示す線で示すように、パラメータtの値を小さくすることによって、最終姿勢Ptから乖離する姿勢を選択する確率を下げてもよい。
 このように、本実施の形態において、ロボット100は、例えば反発力fiにより押し出す方向が初期軌道Taの方向と一致する場合には、動作領域S2に押し出された姿勢が初期軌道Ta上の点に対応するので、進入禁止領域S1に対する幾何モデルの干渉が繰り返されて停留状態に陥り、ロボット100が最終姿勢Ptに近づかない(最終姿勢に到達できない)。このような場合に、初期軌道Ta上にない点に対応する経由姿勢Pvを得ることができ、この姿勢に基づいて更新軌道Tbを決定し、最終姿勢Ptに近づく別の経由姿勢Pvを経由して最終姿勢Ptに到達することができる。
 また、別の最終姿勢Ptに近づく姿勢を算出することができない場合であっても、別の姿勢を経由して最終姿勢Ptに到達することができるか否かを試みることができる。これによって、現在の最終姿勢Ptに到達できない状態を好適に脱することができる。そして、最終姿勢Ptと経由候補姿勢Pvcとの乖離度に比例して低下する確率値に基づいて経由候補姿勢を選択するか否かを判定しているので、現在姿勢Psとの乖離度が小さい経由候補姿勢Pvcが経由姿勢Pvとして選択される可能性が高くなる。これによって、より適切に現在の最終姿勢に到達できない状態を好適に脱することができる。
 図10A及び図10Bは、本実施の形態におけるロボット100のシミュレーション条件を示す図である。図10Aに示すように、ロボット100の現在姿勢Ps、進入禁止領域S1、動作領域S2、幾何モデルMを設定した。また、図10Bに示すように、ロボット100の最終姿勢Ptを設定した。なお、最終姿勢Ptにおけるハンドの教示点は、[x, y]=[0, 450]である。
 図10Cは、ロボット100のシミュレーション結果を示す図であり、ハンドの軌跡を示す図である。図10Cに示すように、ロボット100は、現在姿勢Psから最終姿勢Ptに到達することがわかる。
 <変形例>
 上記実施の形態においては、ロボット100を水平多関節ロボットで構成し、幾何モデルをxy平面において表現し、z軸方向における干渉の有無の判定は行っていないがこれに限られるものではない。これに代えて、ロボットを垂直多関節で構成し、幾何モデルを立体的に表現し、干渉の判定を3次元空間で行ってもよい。
 また、上記実施の形態においては、仮想姿勢算出部36は、ロボット100の仮想姿勢Ppを算出していたが、これに代えて、ロボット100の幾何モデルの仮想姿勢Ppを算出してもよい。
 上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び/又は機能の詳細を実質的に変更できる。
 本件発明は、産業用ロボットに適用することができる。
 B 境界線
 L1 回動軸線
 L2 回動軸線
 L3 回動軸線
 M1 幾何モデル
 M2 幾何モデル
 M3 幾何モデル
 Pp 仮想姿勢
 Ps 現在姿勢
 Pt 最終姿勢
 Ptc 最終候補姿勢
 Pv 経由姿勢
 Pvc 経由候補姿勢
 S1 進入禁止領域
 S2 動作領域
 Ta 初期軌道
 Tb 更新軌道
 1 基台
 2 第1アーム
 2a 第1関節軸
 3 第2アーム
 3a 第2関節軸
 4 ハンド
 4a 第3関節軸
 5 制御器
 12 第1アーム駆動部
 13 第2アーム駆動部
 14 ハンド駆動部
 15 第1アーム角度位置検出部
 16 第2アーム角度位置検出部
 17 ハンド角度位置検出部
 21 制御部
 22 記憶部
 31 第1アーム制御部
 32 第2アーム制御部
 33 ハンド制御部
 34 最終姿勢決定部
 35 初期軌道決定部
 36 仮想姿勢算出部
 37 幾何モデル表現部
 38 干渉判定部
 39 経由姿勢決定部
 40 領域設定部
 41 更新軌道決定部
 100 ロボット
 110 設備

Claims (7)

  1.  1以上のリンクが関節によって連結され、先端部にハンドが設けられたロボットアームを備えるアーム型のロボットの障害物自動回避方法であって、
     前記ロボットを、幾何形状を有するようモデリングして幾何モデルとして表現する幾何モデル表現ステップと、
     前記幾何モデルが進入してはいけない進入禁止領域と、当該進入禁止領域によって規定され、前記幾何モデルが動作する動作領域とを設定する領域設定ステップと、
     前記ロボットの最終姿勢を決定する最終姿勢決定ステップと、
     前記ロボットが現在姿勢から前記最終姿勢に向かって変化する場合における前記ハンドの初期軌道を決定する初期軌道決定ステップと、
     前記初期軌道上の所定の点に対応する前記ロボットの仮想姿勢を算出する仮想姿勢算出ステップと、
     前記仮想姿勢における前記幾何モデルが前記進入禁止領域と干渉するか否かを判定する干渉判定ステップと、
     前記干渉判定ステップにおいて干渉しないと判定した場合、前記仮想姿勢を経由姿勢として決定し、干渉すると判定した場合、前記進入禁止領域の干渉部分と前記幾何モデルの干渉部分とが相対的に反発する反発力を仮想的に発生させ、仮想反発力によって前記幾何モデルの干渉部分が前記進入禁止領域から前記動作領域に押し出された状態の姿勢を算出し、該算出した姿勢を経由姿勢として決定する経由姿勢決定ステップと、
     前記現在姿勢から前記経由姿勢を経由して前記最終姿勢に変化する場合における前記ハンドの軌道を更新軌道として決定する更新軌道決定ステップと、
     最新の経由姿勢決定ステップにおいて決定された経由姿勢を前記初期軌道決定ステップにおける前記現在姿勢と仮定して前記初期軌道決定ステップ、前記仮想姿勢算出ステップ、前記干渉判定ステップ、前記経由姿勢決定ステップ、及び前記更新軌道決定ステップを繰り返して実行するステップと、を含む、ロボットの障害物自動回避方法。
  2.  前記最終姿勢決定ステップは、既知の軌道上に設定される前記ロボットの複数の最終候補姿勢のうち、前記ロボットの現在姿勢と前記最終候補姿勢との前記各関節の角度の変位の絶対値の総和が最小の値である最終候補姿勢を前記最終姿勢として選択し、決定する、請求項1に記載のロボットの障害物自動回避方法。
  3.  前記経由姿勢決定ステップは、
     前記仮想反発力によってある仮想姿勢における前記ロボットの前記各関節の回動軸周りに生じるトルクを算出し、更に該トルクの影響によって変化する前記ロボットの所定時間経過後の仮想姿勢を算出する演算を前記仮想姿勢を起点として繰り返し行うことによって前記ロボットの仮想姿勢の経時変化を算出し、前記ロボットの仮想姿勢の経時変化が収束したときの前記ロボットの仮想姿勢に基づいて前記経由姿勢を決定する、請求項1又は2に記載のロボットの障害物自動回避方法。
  4.  前記仮想反発力は、前記幾何モデルが進入禁止領域に進入した距離に比例して大きくなるように構成されている、請求項1乃至3の何れかに記載のロボットの障害物自動回避方法。
  5.  前記ロボットの姿勢が前記最終姿勢に近づくように経時変化せず、停留状態に陥っているか否かを判定する停留状態判定ステップと、
     前記停留状態判定ステップにおいて停留状態に陥っていると判定された場合、前記ロボットの前記仮想反発力によって押し出された状態の姿勢以外の経由候補姿勢を生成する経由候補姿勢生成ステップと、
     前記経由候補姿勢が前記最終姿勢に近づく姿勢であるか否かを判定する第1判定ステップと、
     前記第1判定ステップにおいて、前記経由候補姿勢が前記最終姿勢に近づく方向に変化する姿勢であると判定された場合、該経由候補姿勢に基づいて前記経由姿勢を決定する第1決定ステップとを有する、請求項1乃至4の何れかに記載のロボットの障害物自動回避方法。
  6.  前記第1判定ステップにおいて、前記経由候補姿勢が前記最終姿勢から遠ざかる方向に変化する姿勢であると判定された場合、確率値に基づいて前記経由候補姿勢を選択するか否かを判定する第2判定ステップと、
     前記第2判定ステップにおいて選択すると判定されると、当該経由候補姿勢に基づいて前記経由姿勢を決定する第2決定ステップとを有する、請求項5に記載のロボットの障害物自動回避方法。
  7.  1以上のリンクが関節によって連結され、先端部にハンドが設けられたロボットアームを備えるアーム型のロボットの制御装置であって、
     前記ロボットを、幾何形状を有するようモデリングして幾何モデルとして表現する幾何モデル表現部と、
     前記幾何モデルが進入してはいけない進入禁止領域と、当該進入禁止領域によって規定され、前記幾何モデルが動作する動作領域とを設定する領域設定部と、
     前記ロボットの最終姿勢を決定する最終姿勢決定部と、
     前記ロボットが現在姿勢から前記最終姿勢に向かって変化する場合における前記ハンドの初期軌道を決定する初期軌道決定部と、
     前記初期軌道上の所定の点に対応する前記ロボットの仮想姿勢を算出する仮想姿勢算出部と、
     前記仮想姿勢における前記幾何モデルが前記進入禁止領域と干渉するか否かを判定する干渉判定部と、
     経由姿勢を決定する経由姿勢決定部と、
     更新軌道決定部と、を備え、
     前記経由姿勢決定部は、前記干渉判定部が干渉しないと判定した場合、前記仮想姿勢を経由姿勢として決定し、干渉すると判定した場合、前記進入禁止領域の干渉部分と前記幾何モデルの干渉部分とが相対的に反発する反発力を仮想的に発生させ、仮想反発力によって前記幾何モデルの干渉部分が前記進入禁止領域から前記動作領域に押し出された状態の姿勢を算出し、該算出した姿勢を経由姿勢として決定し、
     前記更新軌道決定部は、前記現在姿勢から前記経由姿勢を経由して前記最終姿勢に変化する場合における前記ハンドの軌道を更新軌道として決定し、
     前記経由姿勢決定部が決定した最新の経由姿勢を前記初期軌道決定部の現在姿勢と仮定して、前記初期軌道決定部、前記仮想姿勢算出部、前記干渉判定部、前記経由姿勢決定部、及び前記更新軌道決定部が繰り返し処理する、アーム型のロボットの制御装置。
PCT/JP2014/006475 2014-12-25 2014-12-25 アーム型のロボットの障害物自動回避方法及び制御装置 WO2016103297A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/JP2014/006475 WO2016103297A1 (ja) 2014-12-25 2014-12-25 アーム型のロボットの障害物自動回避方法及び制御装置
JP2016565597A JP6378783B2 (ja) 2014-12-25 2014-12-25 アーム型のロボットの障害物自動回避方法及び制御装置
CN201480083989.5A CN107000223B (zh) 2014-12-25 2014-12-25 臂型机械手的障碍物自动回避方法及控制装置
US15/539,838 US10350756B2 (en) 2014-12-25 2014-12-25 Method of automatically avoiding obstacle for arm robot and control device
KR1020177019053A KR101941147B1 (ko) 2014-12-25 2014-12-25 암형 로봇의 장애물 자동 회피방법 및 제어장치
TW104121463A TWI579669B (zh) 2014-12-25 2015-07-02 Automatic obstacle avoidance method and control device for arm type robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/006475 WO2016103297A1 (ja) 2014-12-25 2014-12-25 アーム型のロボットの障害物自動回避方法及び制御装置

Publications (1)

Publication Number Publication Date
WO2016103297A1 true WO2016103297A1 (ja) 2016-06-30

Family

ID=56149401

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/006475 WO2016103297A1 (ja) 2014-12-25 2014-12-25 アーム型のロボットの障害物自動回避方法及び制御装置

Country Status (6)

Country Link
US (1) US10350756B2 (ja)
JP (1) JP6378783B2 (ja)
KR (1) KR101941147B1 (ja)
CN (1) CN107000223B (ja)
TW (1) TWI579669B (ja)
WO (1) WO2016103297A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム
JP2018196919A (ja) * 2017-05-24 2018-12-13 ファナック株式会社 パラレルリンク機構の制御装置及び制御方法、並びにパラレルリンク機構及び制御装置を含むシステム
JP2021062436A (ja) * 2019-10-11 2021-04-22 セイコーエプソン株式会社 教示方法
JP2022511343A (ja) * 2020-01-05 2022-01-31 株式会社Mujin 動的動き調節機構を有するロボットシステム及びそれを動作させる方法
JP2023033033A (ja) * 2021-08-26 2023-03-09 正▲うえ▼精密工業股▲ふん▼有限公司 ロボットアームの障害物回避方法及びロボットアームの障害物回避システム

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6309990B2 (ja) * 2016-03-24 2018-04-11 ファナック株式会社 複数の機構ユニットにより構成されたロボットを制御するロボットシステム、該機構ユニット、およびロボット制御装置
JP6879464B2 (ja) * 2017-08-02 2021-06-02 オムロン株式会社 干渉判定方法、干渉判定システム及びコンピュータプログラム
JP7041492B2 (ja) * 2017-10-31 2022-03-24 川崎重工業株式会社 ロボットシステム
US11458626B2 (en) * 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP6955702B2 (ja) * 2018-03-06 2021-10-27 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
US10899006B2 (en) * 2018-05-01 2021-01-26 X Development Llc Robot navigation using 2D and 3D path planning
JP7077800B2 (ja) * 2018-06-11 2022-05-31 オムロン株式会社 経路計画装置、経路計画方法、及び経路計画プログラム
CN108858162B (zh) * 2018-06-28 2020-10-30 广州视源电子科技股份有限公司 四轴机械臂的位置确定方法和装置
JP6833777B2 (ja) * 2018-09-10 2021-02-24 株式会社東芝 物体ハンドリング装置及びプログラム
DE102018122376B3 (de) 2018-09-13 2019-11-07 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
EP3639983A1 (en) 2018-10-18 2020-04-22 Technische Universität München Anti-collision safety measures for a reconfigurable modular robot
DE102018133472B3 (de) * 2018-12-21 2020-03-12 Franka Emika Gmbh Bewegungsüberwachung eines Robotermanipulators
JP7147571B2 (ja) * 2019-01-15 2022-10-05 オムロン株式会社 経路生成装置、経路生成方法、及び経路生成プログラム
WO2020157862A1 (ja) * 2019-01-30 2020-08-06 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法および記録媒体
US20220072708A1 (en) * 2019-02-08 2022-03-10 Nec Corporation Motion model calculation device, control device, joint mechanism, and motion model calculation method
JP7222803B2 (ja) * 2019-04-25 2023-02-15 株式会社日立製作所 軌道計画装置、軌道計画方法及びプログラム
CN110202575B (zh) * 2019-06-05 2022-07-19 武汉工程大学 一种用于工业测量的机器人目标轨迹精度补偿方法
JP2020199625A (ja) * 2019-06-13 2020-12-17 ファナック株式会社 シミュレーション装置
JP7384602B2 (ja) * 2019-09-12 2023-11-21 ファナック株式会社 ロボット制御装置
JP6792184B1 (ja) * 2019-11-27 2020-11-25 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
JP7375587B2 (ja) * 2020-02-05 2023-11-08 株式会社デンソー 軌道生成装置、多リンクシステム、及び軌道生成方法
CN112276953B (zh) * 2020-10-27 2021-12-28 清华大学深圳国际研究生院 连续型超冗余机械臂的臂型协同规划方法、终端设备和存储介质
US20220193907A1 (en) * 2020-12-22 2022-06-23 X Development Llc Robot planning
TWI741943B (zh) * 2021-02-03 2021-10-01 國立陽明交通大學 機器人控制方法、動作計算裝置及機器人系統
US11350578B1 (en) * 2021-02-17 2022-06-07 Firefly Automatix, Inc. Dynamically calculating a stacking head's path during a stacking operation
CN113134832A (zh) * 2021-03-16 2021-07-20 无锡信捷电气股份有限公司 一种桁架机器人安全区域的设定方法
US11673264B2 (en) 2021-03-25 2023-06-13 Mitsubishi Electric Research Laboratories, Inc. System and method for robotic assembly based on adaptive compliance
US11787055B2 (en) * 2021-03-30 2023-10-17 Honda Research Institute Europe Gmbh Controlling a robot using predictive decision making
CN113103231A (zh) * 2021-03-31 2021-07-13 北京北方华创微电子装备有限公司 机械手归位方法及半导体热处理设备
CN113910300B (zh) * 2021-10-25 2023-05-23 苏州灵猴机器人有限公司 一种机器人末端防撞方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61134807A (ja) * 1984-12-06 1986-06-21 Mitsubishi Heavy Ind Ltd ロボツトア−ム制御方法
JPH09207089A (ja) * 1996-02-01 1997-08-12 Matsushita Electric Ind Co Ltd 多関節構造体制御装置
JP2003136466A (ja) * 2001-10-25 2003-05-14 Murata Mach Ltd 産業用ロボットの制御装置
JP2006012074A (ja) * 2004-06-29 2006-01-12 Fanuc Ltd ロボットの待機位置復帰プログラム作成装置
JP2010155328A (ja) * 2009-01-01 2010-07-15 Sony Corp 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
JP2011500349A (ja) * 2007-10-26 2011-01-06 本田技研工業株式会社 リアルタイム自己衝突および障害物回避
EP2361735A2 (en) * 2010-02-26 2011-08-31 Agilent Technologies, Inc. Robot arm and method of controlling robot arm to avoid collisions
WO2014056533A1 (en) * 2012-10-11 2014-04-17 Abb Technology Ltd A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4001885A1 (de) * 1990-01-23 1991-07-25 Kuka Schweissanlagen & Roboter Mehrachsiger industrieroboter
JPH0728520A (ja) 1993-07-14 1995-01-31 Toyota Motor Corp ロボットの原点復帰制御方法
JPH10175188A (ja) * 1996-12-17 1998-06-30 Fanuc Ltd ロボットの構造
JP2001054889A (ja) * 1999-08-20 2001-02-27 Denso Corp 組立用垂直多関節型ロボット
JP2001154706A (ja) * 1999-11-29 2001-06-08 Japan Atom Energy Res Inst 移動体の経路生成法
JP4958608B2 (ja) 2007-04-06 2012-06-20 三菱電機株式会社 ロボット制御装置、ロボット制御方法及びロボット搬送装置
JP2009090383A (ja) 2007-10-04 2009-04-30 Nidec Sankyo Corp ロボットの原点復帰方法
JPWO2009069389A1 (ja) * 2007-11-26 2011-04-07 株式会社安川電機 垂直多関節形ロボット
FR2930472B1 (fr) 2008-04-24 2010-08-13 Univ Havre Robot manipulateur et commande associee pour un positionnement fin de l'extremite terminale
JP5228783B2 (ja) 2008-10-15 2013-07-03 株式会社デンソーウェーブ ロボットの原点復帰装置
JP2010188437A (ja) 2009-02-16 2010-09-02 Amada Co Ltd ロボットハンドの歪み検出方法および自動交換システム
CN101763119B (zh) * 2009-12-16 2012-01-04 东南大学 基于遥操作移动机器人的辅助避障方法
DE102010007458A1 (de) * 2010-02-10 2011-08-11 KUKA Laboratories GmbH, 86165 Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
JP5476225B2 (ja) 2010-06-23 2014-04-23 日東精工株式会社 干渉判定装置および干渉判定方法
CN102126210B (zh) * 2011-03-22 2012-07-11 浙江理工大学 七自由度气动肌肉柔性机械手臂
JP2012216151A (ja) 2011-04-01 2012-11-08 Mitsubishi Electric Corp 干渉回避制御装置
CN102819264B (zh) * 2012-07-30 2015-01-21 山东大学 移动机器人路径规划q学习初始化方法
JP6110636B2 (ja) 2012-08-09 2017-04-05 日本電産サンキョー株式会社 産業用ロボット
CN104029203B (zh) * 2014-06-18 2017-07-18 大连大学 实现空间机械臂避障的路径规划方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61134807A (ja) * 1984-12-06 1986-06-21 Mitsubishi Heavy Ind Ltd ロボツトア−ム制御方法
JPH09207089A (ja) * 1996-02-01 1997-08-12 Matsushita Electric Ind Co Ltd 多関節構造体制御装置
JP2003136466A (ja) * 2001-10-25 2003-05-14 Murata Mach Ltd 産業用ロボットの制御装置
JP2006012074A (ja) * 2004-06-29 2006-01-12 Fanuc Ltd ロボットの待機位置復帰プログラム作成装置
JP2011500349A (ja) * 2007-10-26 2011-01-06 本田技研工業株式会社 リアルタイム自己衝突および障害物回避
JP2010155328A (ja) * 2009-01-01 2010-07-15 Sony Corp 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
EP2361735A2 (en) * 2010-02-26 2011-08-31 Agilent Technologies, Inc. Robot arm and method of controlling robot arm to avoid collisions
WO2014056533A1 (en) * 2012-10-11 2014-04-17 Abb Technology Ltd A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム
JPWO2018143003A1 (ja) * 2017-01-31 2019-06-27 株式会社安川電機 ロボットパス生成装置及びロボットシステム
US11446820B2 (en) 2017-01-31 2022-09-20 Kabushiki Kaisha Yaska Wa Denki Robot path generating device and robot system
JP2018196919A (ja) * 2017-05-24 2018-12-13 ファナック株式会社 パラレルリンク機構の制御装置及び制御方法、並びにパラレルリンク機構及び制御装置を含むシステム
JP2021062436A (ja) * 2019-10-11 2021-04-22 セイコーエプソン株式会社 教示方法
JP2022511343A (ja) * 2020-01-05 2022-01-31 株式会社Mujin 動的動き調節機構を有するロボットシステム及びそれを動作させる方法
JP7174965B2 (ja) 2020-01-05 2022-11-18 株式会社Mujin 動的動き調節機構を有するロボットシステム及びそれを動作させる方法
US11833690B2 (en) 2020-01-05 2023-12-05 Mujin, Inc. Robotic system with dynamic motion adjustment mechanism and methods of operating same
JP2023033033A (ja) * 2021-08-26 2023-03-09 正▲うえ▼精密工業股▲ふん▼有限公司 ロボットアームの障害物回避方法及びロボットアームの障害物回避システム
JP7307776B2 (ja) 2021-08-26 2023-07-12 正▲うえ▼精密工業股▲ふん▼有限公司 ロボットアームの障害物回避方法及びロボットアームの障害物回避システム

Also Published As

Publication number Publication date
KR20170094351A (ko) 2017-08-17
KR101941147B1 (ko) 2019-04-12
US20170348856A1 (en) 2017-12-07
JP6378783B2 (ja) 2018-08-22
TW201624161A (zh) 2016-07-01
CN107000223A (zh) 2017-08-01
CN107000223B (zh) 2019-11-01
US10350756B2 (en) 2019-07-16
JPWO2016103297A1 (ja) 2017-07-13
TWI579669B (zh) 2017-04-21

Similar Documents

Publication Publication Date Title
JP6378783B2 (ja) アーム型のロボットの障害物自動回避方法及び制御装置
US11498214B2 (en) Teaching device, teaching method, and robot system
CN110116405B (zh) 轨迹生成方法和轨迹生成装置
US11813753B2 (en) Collision avoidance motion planning method for industrial robot
JP5998816B2 (ja) 経路探索方法、経路探索装置、ロボット制御装置、ロボット及びプログラム
US11745355B2 (en) Control device, control method, and non-transitory computer-readable storage medium
JP5156836B2 (ja) リアルタイム自己衝突および障害物回避
CN108772835B (zh) 一种障碍物与物理极限躲避方法
CN113442129A (zh) 用于确定工作空间的传感器布置的方法和系统
US20220382253A1 (en) Machining program conversion device, numerical control device, and machining program conversion method
Hryniewicz et al. Modelling cooperation of industrial robots as multi-agent systems
CN114536342A (zh) 一种多臂系统及其臂间防撞控制方法
JP2018012159A (ja) ロボットシステム、ロボットシステムの制御方法、プログラム
Ikeda et al. On-line optimization of avoidance ability for redundant manipulator
Mohammad Hossein Fallah et al. Conjugated visual predictive control for constrained visual servoing
Kim et al. Improvement of Door Recognition Algorithm using Lidar and RGB-D camera for Mobile Manipulator
Khaksar et al. Multiquery motion planning in uncertain spaces: incremental adaptive randomized roadmaps
WO2023053374A1 (ja) 制御装置及びロボットシステム
JP6932618B2 (ja) ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体
EP4252975A1 (en) Information processing device, and picking device
US20240058961A1 (en) Path generation device, path generation method, and path generation program
JP7475841B2 (ja) 情報処理方法、ロボットシステム、物品の製造方法、および情報処理装置
CN117813603A (zh) 生成用于神经网络的扩充训练数据的系统和方法
JP2021082222A (ja) 情報処理方法、ロボットシステム、物品の製造方法、および情報処理装置
CN116766174A (zh) 扫掠体变形

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14908908

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016565597

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15539838

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20177019053

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 14908908

Country of ref document: EP

Kind code of ref document: A1