WO2022201362A1 - ロボット制御装置、ロボット制御プログラムおよびロボット制御方法 - Google Patents

ロボット制御装置、ロボット制御プログラムおよびロボット制御方法 Download PDF

Info

Publication number
WO2022201362A1
WO2022201362A1 PCT/JP2021/012254 JP2021012254W WO2022201362A1 WO 2022201362 A1 WO2022201362 A1 WO 2022201362A1 JP 2021012254 W JP2021012254 W JP 2021012254W WO 2022201362 A1 WO2022201362 A1 WO 2022201362A1
Authority
WO
WIPO (PCT)
Prior art keywords
trajectory
point
robot
target object
branch point
Prior art date
Application number
PCT/JP2021/012254
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/JP2021/012254 priority Critical patent/WO2022201362A1/ja
Priority to JP2023508261A priority patent/JP7438453B2/ja
Priority to DE112021007395.8T priority patent/DE112021007395T5/de
Priority to CN202180093362.8A priority patent/CN116997441A/zh
Publication of WO2022201362A1 publication Critical patent/WO2022201362A1/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40371Control trajectory to avoid joint limit as well as obstacle collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning

Definitions

  • the present disclosure relates to a robot control device, a robot control program, and a robot control method for moving an articulated robot from a start point to an end point.
  • Patent Document 1 it is possible to change the trajectory of a specific work area section where interference occurs, but the section to be changed is fixed at the section where it is determined that interference with an obstacle has occurred. .
  • the evaluation value may deteriorate beyond the allowable range when considering the connection with the section that is not changed.
  • a waiting time is required to wait for the hand to change the movement, which may increase the operation time.
  • the present disclosure has been made in view of the above, and is a robot control apparatus capable of shortening the time to generate a trajectory in which the evaluation value is within a certain range even when the position and orientation of the target object vary. is intended to obtain
  • a robot control device moves an end effector of a robot from a start point to an end point to preset a target object whose position and orientation are not fixed. perform the assigned task.
  • the robot controller includes a storage unit that stores reference trajectories and branch points corresponding to each of a plurality of sets of possible positions and orientations of the target object, and measures the position and orientation of the target object during task execution.
  • a first motion trajectory which is the motion trajectory of the robot from the starting point to the branch point
  • the obtained motion trajectory which is the motion trajectory of the robot from the acquired branch point to the end point
  • the obtained second motion trajectory which is the motion trajectory of the robot from the acquired branch point to the end point
  • a reference trajectory is a motion trajectory of a robot from a starting point to a first point that is one of a plurality of sets of possible positions and postures of a target object, avoids interference with obstacles, and is evaluated.
  • a branch point is a point on the reference trajectory, and is a motion trajectory that satisfies that the evaluation value of the motion trajectory from the branch point to the first point falls within a second range wider than the first range.
  • FIG. 1 is a conceptual diagram showing the configuration of a robot system according to Embodiment 1;
  • FIG. FIG. 4 is a plan view conceptually showing in-plane rotational deviation of the target object according to Embodiment 1;
  • 4 is a conceptual diagram showing a plurality of hand approach candidates according to Embodiment 1.
  • FIG. 1 is a block diagram showing the overall configuration of a robot control device according to Embodiment 1;
  • FIG. 4 is a diagram for explaining position definitions within a target set according to Embodiment 1;
  • FIG. 4 is a diagram for explaining a plurality of patterns with different rotation deviation angles of the target object according to Embodiment 1;
  • FIG. 4 is a diagram for explaining a plurality of patterns of different hand approaches to a target object according to Embodiment 1; 4 is a flow chart showing the operation of a trajectory generation unit that adds a reference trajectory and branch points from a target set to an individual branch point storage unit according to the first embodiment;
  • FIG. 4 is a conceptual diagram showing another selection example of the position of the target object used for generating the reference trajectory in Embodiment 1.
  • FIG. 4 is a conceptual diagram showing another selection example of the position of the target object used for generating the reference trajectory in Embodiment 1.
  • FIG. 4 is a conceptual diagram showing the relationship between reference trajectories and branch points in Embodiment 1.
  • FIG. 4 is a flowchart showing a procedure for calculating a branch point according to Embodiment 1;
  • FIG. 2 is a conceptual diagram showing the relationship between the reference trajectory and obstacles in the first embodiment;
  • Conceptual diagram of selection range of branch points in Embodiment 1 FIG. 4 is a conceptual diagram showing a method of generating a trajectory by an individual trajectory generation unit according to the first embodiment;
  • 4 is a flow chart showing processing procedures of an individual trajectory generation unit and a robot control unit according to the first embodiment;
  • Flowchart showing an operation procedure for generating an individual trajectory in Embodiment 2 Conceptual diagram showing reference trajectories and individual trajectories in Embodiment 2
  • FIG. 2 is a block diagram showing the hardware configuration of the robot control device according to the first and second embodiments;
  • FIG. 1 is a flowchart showing a procedure for calculating a branch point according to
  • FIG. 1 is a conceptual diagram showing the configuration of a robot system 100 according to Embodiment 1.
  • a robot system 100 includes an articulated robot 101 having a plurality of axes and a plurality of arms, an end effector 102 attached to the tip of the arm of the robot 101, a belt conveyor 103, and an external robot. and a sensor 104 .
  • the robot 101 moves the end effector 102 from the start point Ps to the end point Pe and executes a preset task.
  • the end point Pe is defined based on the position and orientation of the target object 200 that is not fixed and is flowing on the belt conveyor 103 .
  • the external sensor 104 as a measurement unit obtains the position and orientation of the target object 200 immediately before the actual movement of the robot 101 .
  • the belt conveyor 103 carries out a transport operation in a fixed direction at a moving speed V [mm/s], and there is no jig for fixing the target object 200 on the belt conveyor 103 . Therefore, the target object 200 does not always have the same relative position and orientation with respect to the robot 101 .
  • FIG. 2 is a plan view conceptually showing in-plane rotational deviation of the target object 200 in the first embodiment.
  • FIG. 3 is a conceptual diagram showing a plurality of hand approach candidates according to the first embodiment.
  • the loading surface of the belt conveyor 103 is viewed from above. Since there is no mechanism for fixing the target object 200 on the belt conveyor 103, the target object 200 rotates about the normal vector of the loading surface of the belt conveyor 103, here, the vector in the direction perpendicular to the plane of the paper, as the rotation axis. This rotation deviation is called an in-plane rotation with respect to the belt conveyor 103, and the rotation angle is called a rotation deviation angle.
  • a plurality of hand approaches which are trajectories that bring the end effector 102 closer to the target object 200, are prepared in advance for the end effector 102, and the task can be achieved from the shape of the target object 200.
  • Choose one hand approach In FIG. 3, two hand approaches are shown, including hand approach HA and hand approach HB.
  • variations in the position and orientation of the target object 200 with respect to the robot 101 are based on displacement in the three-dimensional translational direction, in-plane rotation with respect to the belt conveyor 103, and the shapes of the end effector 102 and the target object 200.
  • a pattern is a set of three elements, including the hand approach selected by
  • FIG. 4 is a block diagram showing the overall configuration of the robot control device according to the first embodiment.
  • the robot control device includes a peripheral device information acquisition unit 301, a task information acquisition unit 302, a target set setting unit 303, a trajectory generation unit 310 including a reference trajectory generation unit 304 and a branch point designation unit 305, and a storage unit. It has an individual branch point storage unit 306 , a sensor information acquisition unit 307 , an individual trajectory generation unit 308 and a robot control unit 309 .
  • the peripheral device information acquisition unit 301 acquires peripheral device information, which is information about peripheral devices of the robot 101 .
  • the peripheral device information is the moving speed V of the belt conveyor 103 .
  • the task information acquisition unit 302 acquires task information, which is information regarding a task for generating a trajectory.
  • the task information includes at least the type of end effector 102 to be used, the type of target object 200, and the target motion of the task.
  • the target motion of the task includes grasping and placing the target object 200 .
  • the target set setting unit 303 acquires the moving speed V of the belt conveyor 103 as peripheral device information from the peripheral device information acquisition unit 301 . Also, the target set setting unit 303 acquires task information from the task information acquisition unit 302 .
  • the target set setting unit 303 uses the moving speed V of the belt conveyor 103 and the task information to determine a target set 201 that is a set of possible positions of the target object 200 and the target object 200 inside the target set 201. A possible combination of posture and hand approach is calculated.
  • FIG. 5 is a conceptual diagram for explaining the target set 201 in Embodiment 1.
  • FIG. A method of calculating the target set 201 in this embodiment will be described.
  • the target set 201 shown in FIG. 5 is calculated based on the moving speed V of the belt conveyor 103 . If the upper limit of the time (operation time) required for the robot 101 to operate on the target object 200 is set to T[s], the length of the target set 201 in the conveyor moving direction can be set to T ⁇ V. Also, the length of the target set 201 in the direction orthogonal to the moving direction of the conveyor can be set to the width W [mm] of the belt conveyor 103, for example.
  • the operation time of the robot 101 with respect to the target object 200 is, for example, the time it takes for the robot 101 to move from the start point Ps to the end point Pe and finish executing a preset task.
  • variations in the height direction of the conveyor are not considered, but the three-dimensional target set 201 may be generated in consideration of variations in the height direction of the conveyor.
  • the range of the target set 201 may be directly specified by the user as the limit of the work area assumed by the user of the robot system 100, regardless of the moving speed V of the belt conveyor 103.
  • FIG. 6 is a diagram for explaining position definitions within the target set 201 according to the first embodiment.
  • FIG. 7 is a diagram for explaining a plurality of patterns with different rotation deviation angles of the target object 200 according to the first embodiment.
  • FIG. 8 is a diagram for explaining a plurality of patterns of different hand approaches to the target object 200 according to Embodiment 1.
  • FIG. 6 is a diagram for explaining position definitions within the target set 201 according to the first embodiment.
  • FIG. 7 is a diagram for explaining a plurality of patterns with different rotation deviation angles of the target object 200 according to the first embodiment.
  • FIG. 8 is a diagram for explaining a plurality of patterns of different hand approaches to the target object 200 according to Embodiment 1.
  • FIG. 6 is a diagram for explaining position definitions within the target set 201 according to the first embodiment.
  • FIG. 7 is a diagram for explaining a plurality of patterns with different rotation deviation angles of the target object 200 according to the first embodiment.
  • FIG. 8 is a diagram for explaining a
  • the space within the target set 201 is divided into a plurality of pieces of arbitrary size, and a grid point G is defined at the center position of each of the plurality of divided grids.
  • Each grid point G has position information indicating the position of its own grid point.
  • the translational displacement position of the target object 200 is specified by specifying grid points G.
  • N2 ( 3) patterns with different in-plane rotation deviation angles of the target object 200 .
  • N2 ⁇ N3 variations patterns There are a maximum of N2 ⁇ N3 variations patterns. A number of 1 or more is set in advance for N2 and N3. The increment amount of the rotation deviation angle may be determined arbitrarily. Therefore, a total of N1 ⁇ N2 ⁇ N3 variation patterns of the target object 200 are set in the target set 201, and the trajectory generator 310 calculates branch points for each of the N1 ⁇ N2 ⁇ N3 variation patterns.
  • the trajectory generation unit 310 is composed of a reference trajectory generation unit 304 and a branch point designation unit 305 .
  • FIG. 9 is a flow chart showing the operation of the trajectory generation unit 310 for adding reference trajectories and branch points from the target set 201 to the individual branch point storage unit 306 according to the first embodiment.
  • FIG. 10 is a conceptual diagram showing an example of selection of the position of the target object 200 used for generating the reference trajectory according to the first embodiment.
  • FIG. 11 is a conceptual diagram showing another selection example of the position of the target object 200 used for generating the reference trajectory in the first embodiment.
  • FIG. 12 is a conceptual diagram showing another selection example of the position of the target object 200 used for generating the reference trajectory in the first embodiment.
  • the reference trajectory generation unit 304 reads the target set 201 calculated by the target set setting unit 303 and all the variation patterns of the target object 200 included in the target set 201 (S101).
  • the reference trajectory generation unit 304 selects a variation pattern having some grid points G from among the plurality of variation patterns, and uses the selected variation pattern to generate a reference trajectory whose evaluation value is within the first range. is generated (S102). That is, the reference trajectory generation unit 304 sets the predetermined start point Ps as the operation start point, sets at least one specific variation pattern in the target set 201 as the end point Pe, and uses an arbitrary trajectory generation method to set the evaluation value to the first range. Generate a reference trajectory within
  • the operation time described above is selected as the evaluation value.
  • the operation time is set within T1 [s]. Therefore, a reference trajectory whose operating time is within T1 is generated.
  • the evaluation values the predicted life of the robot 101 when the robot 101 repeatedly performs the operation on the target object 200, the electric power consumed by the robot 101 when the robot 101 performs the operation on the target object 200, and the like are used. good too.
  • the variation pattern selected in S102 may be selected arbitrarily. For example, as shown in FIG. 10, it is conceivable to select a variation pattern having the grid point G of the grid at the center position of the target set 201 as position information.
  • the variation pattern of the grid points G of the central grid of the target set 201 and the grid points G corresponding to the four corners of the target set 201 are used as position information. You can choose a pattern.
  • multiple grid points G are selected, so multiple reference trajectories are generated.
  • For the rotation deviation angle for example, one of N2 pattern variations is selected in advance.
  • the variation pattern selected in S102 As shown in FIG. 12, the variation pattern having the position information of the grid points included in the grid G1 having the highest occurrence frequency during the actual operation within the target set 201 is selected.
  • Grid G1 is indicated by thick lines. If this selection method is selected, it is possible to generate a trajectory whose evaluation value falls within the first range for the pattern with the highest probability of occurrence during actual operation, thereby improving productivity.
  • trajectory generation methods for generating reference trajectories random sampling methods such as RRT (Rapidly Exploring Random Trees), trajectory parameter optimization methods such as CHOMP (Covariant Hamiltonian Optimization for Motion Planning), graph solution methods, reinforcement learning methods, etc. technology can be used. A combination of these techniques may also be used. Additionally, trajectories manually taught by the system user may be used.
  • the generated reference trajectory is a trajectory that can avoid interference with obstacles in the workspace.
  • the branch point designation unit 305 selects one of all the variation patterns for which branch points have not yet been recorded (S104).
  • the branch point designation unit 305 selects one reference trajectory (S105). If there is only one reference trajectory, select that trajectory.
  • the reference trajectory having the grid point G that is the end point Pe closest to the position of the variation pattern selected as the target is selected. do.
  • the reference trajectory having the upper left corner grid as the end point Pe is selected. If a plurality of reference trajectories with the same proximity exist, rules are set in advance for selecting one reference trajectory from the plurality of reference trajectories.
  • FIG. 13 is a conceptual diagram showing the relationship between the reference trajectory 202 and the branch points 204 in Embodiment 1.
  • FIG. A relationship between the branch point 204 and the reference trajectory 202 will be described.
  • a movement trajectory of the robot 101 for reaching the end point Pe other than the reference trajectory 202 in the target set 201 is called an individual trajectory 203 .
  • Individual trajectory 203 shares a portion of the trajectory with reference trajectory 202 .
  • a start position of a section in which the individual trajectory 203 is different from the reference trajectory 202 is called a branch point 204 . That is, the branch points 204 are selected from points within the reference trajectory 202 , one point for each individual trajectory 203 .
  • Obstacle 205 is illustrated in FIG.
  • FIG. 14 is a flowchart showing the procedure for calculating the branch point 204 in Embodiment 1, and shows the details of the processing performed in S106 of FIG. In S106, a branch point candidate whose evaluation value is within the second range is searched.
  • FIG. 15 is a conceptual diagram showing the relationship between reference trajectory 202 and obstacle 205 in the first embodiment.
  • FIG. 16 is a conceptual diagram regarding the selection range of the branch point 204 according to the first embodiment.
  • the branch point specifying unit 305 extracts a plurality of motion points that are candidates for the branch point 204 from the reference trajectory 202 (S201).
  • An operation point that is a candidate for the branch point 204 is represented by a set of state quantities that uniquely determine the position and orientation of the end effector 102 installed on the robot 101 .
  • the motion points that are candidates for the branch point 204 are represented by a set of angles of the axis motors of the robot 101 .
  • the reference trajectory 202 is composed of a set of data to which a time label is given when the start point Ps is placed at time 0 for the set of angles of the respective axis motors of the robot 101 .
  • the reference trajectory 202 is a trajectory that can avoid interference with obstacles 205 in the workspace, as described above. If the branch point 204 is specified at an early stage of the reference trajectory 202 and the remainder of the individual trajectory 203 up to the end point Pe is generated, the number of obstacles 205 to be considered increases, and the generation of the individual trajectory 203 takes time. It takes. Therefore, it is desirable to branch the trajectory from the branch point 204 to the individual trajectory 203 when the obstacle 205 is avoided as much as possible.
  • a temporary obstacle 206 is set with a margin of a certain distance L around an obstacle 205 existing in the work space.
  • the distance L may be specified arbitrarily.
  • a section that is a candidate for the branch point 204 is a section C1 up to a point Px1 that collides with the temporary obstacle 206 when the reference trajectory 202 is traced back from the end point Pe side to the start point Ps side. That is, the branch point 204 is selected from the section of the reference trajectory 202 in which the end effector 102 does not interfere with the temporary obstacle 206 and the robot body.
  • the robot main body refers to parts of the robot 101 other than the end effector 102 .
  • an operating point included in section C2 on reference trajectory 202 corresponding to range d between end point Pe of reference trajectory 202 and position Px2 of the selected variation pattern is set as a branch point. 204 candidates.
  • the branch point designation unit 305 confirms whether or not the evaluation values of the individual trajectories 203 have been calculated for all the branch point 204 candidates (S202). If the evaluation value of the individual trajectory 203 has not been calculated for all the candidates of the branch point 204 (S202: No), the branch point designation unit 305 selects one point from the plurality of candidates of the branch point 204 extracted in S201. (S203). Then, the branch point designating unit 305 generates an individual trajectory 203, which is a trajectory from one candidate for the selected branch point 204 to the position of one variation pattern selected in S104 (S204).
  • the branch point designation unit 305 uses the same method as the generation of the individual trajectory 203 performed by the individual trajectory generation unit 308, which will be described later.
  • the branch point specifying unit 305 calculates the evaluation value of the individual trajectory 203 generated in S204 (S205).
  • FIG. 17 is a conceptual diagram showing a trajectory generation method by the individual trajectory generation unit 308 according to the first embodiment.
  • the branch point designation unit 305 also generates the individual trajectory 203 by the same processing as in FIG. A method of generating the individual trajectory 203 will be described below.
  • the trajectory after the branch point 204 is generated using the joint interpolation method.
  • the joint interpolation method is one of the first operations for generating individual trajectories 203 .
  • FIG. 17 is a conceptual diagram showing the case where the number of axes of the robot 101 is two, the same method can be applied to the number of axes of two or more.
  • 17 shows a time chart of the commanded angular velocity of the axis 1 and a time chart of the commanded angular velocity of the axis 2.
  • kt indicates acceleration time
  • gt indicates deceleration time
  • tt indicates constant speed time.
  • the individual trajectory generation unit 308 determines the maximum angular change amount from the branch point 204 to the position of the selected variation pattern, which is the end point Pe, with respect to the maximum speed that each axis motor of the robot 101 can output.
  • select the axis that In the present embodiment, the axis with the maximum angle change amount is referred to as a representative axis j'.
  • a representative axis j' since the amount of change in angle of axis 1 is larger than the amount of change in angle of axis 2, axis 1 becomes the representative axis j'.
  • ⁇ sj is the angle of the axis j at the branch point 204
  • ⁇ Gj is the angle of the axis j at the position of one selected variation pattern which is the end point Pe
  • v_max j is the maximum speed that the motor of the axis j can achieve.
  • the maximum speed vj max during operation of the motor of the axis j other than the representative axis j' is temporarily set as shown in equation (2).
  • ( ⁇ Gj - ⁇ sj ) indicates the amount of angular change of axis j other than representative axis j′
  • ( ⁇ Gj ′ - ⁇ sj ′ ) indicates the amount of angular change of representative axis j′. ing.
  • Acceleration is based on the maximum speed vj max during operation of each temporarily placed axis, the angular velocity vj s at the branch point 204 of each axis, the angular velocity vj e at the end point Pe of each axis, and the speed constraint and acceleration constraint of the robot 101.
  • Time kt and deceleration time gt are determined.
  • the constant speed time tt is determined by solving the following equation (3) regarding the representative axis j' for the constant speed time tt. In formula (3), for the sake of convenience, each symbol in formula (3) is omitted.
  • the maximum speed vj max of the axis j other than the temporarily placed representative axis j' is determined.
  • Angular velocity command values after the branch point 204 are obtained for all the axes included in the robot 101 by the above calculations. Therefore, by integrating the angular velocity command value with respect to time, it is possible to calculate a set of an operating point after the branch point 204 and a time label.
  • the branch point specifying unit 305 designates an individual trajectory, which is a trajectory from one branch point 204 selected from a plurality of candidates for the branch point 204 to the position of the variation pattern selected in S104. 203 (S204), the evaluation value of the generated individual trajectory is calculated (S205). Next, the branch point specifying unit 305 checks whether the calculated evaluation value is within the second range (S206). In this embodiment, the second range is set within the operation time T2 [s]. Set T2>T1. The second range is set wider than the first range.
  • the branch point designation unit 305 designates the selected branch point as a formal branch point (S108). If the evaluation value is not within the second range (S206: No), the procedure returns to S202. When the procedure returns to S202, another candidate is selected from among the plurality of candidates for the branch point 204 extracted in S201. It is determined whether the evaluation value of the individual trajectory 203 is within the second range. By repeating the processing of S202 to S206 in this manner, the branch point 204 at which the evaluation value of the individual trajectory 203 falls within the second range is obtained.
  • the branch point specifying unit 305 selects the variation pattern selected in S104, the reference trajectory 202 selected in S105 or the reference trajectory 202 added in S107, and the reference trajectory 202 specified in S108.
  • the branch point 204 obtained is recorded as a set in the individual branch point storage unit 306 (S109). That is, the branch point designation unit 305 records trajectory set data, which is a set of the variation pattern, the reference trajectory 202, and the branch point 204, in the individual branch point storage unit 306.
  • the procedure moves to S103.
  • S103 it is determined whether or not the branch points 204 are recorded for all the variation patterns calculated by the target set setting unit 303.
  • FIG. If there remains a variation pattern for which the branch point 204 is not recorded, the trajectory generation unit 310 repeats the processing of S103 to S109 and the processing of S201 to S206 to obtain the branch point 204 for all the variation patterns. is recorded in the individual branch point storage unit 306 .
  • FIG. 18 is a flow chart showing the processing procedure of the individual trajectory generation unit 308 and the robot control unit 309 according to the first embodiment.
  • the robot control unit 309 generates an operation command for the robot 101 using the information recorded in the individual branch point storage unit 306 when the robot 101 is actually working.
  • the sensor information acquisition unit 307 uses the external sensor 104 to measure the actual position, orientation, and shape of the target object 200 (S301).
  • the individual trajectory generation unit 308 also acquires the type of the end effector 102 and the type of the target object 200 from the task information acquisition unit 302 and acquires the moving speed V of the belt conveyor 103 from the peripheral device information acquisition unit 301 .
  • the individual trajectory generator 308 selects a hand approach from the shape of the target object 200 and task information.
  • the individual trajectory generation unit 308 reads trajectory set data having a variation pattern closest to the actual position and orientation of the target object 200 from the individual branch point storage unit 306 . Then, the individual trajectory generator 308 extracts the reference trajectory 202 and the branch point 204 included in the read trajectory set data (S302).
  • the individual trajectory generation unit 308 generates an individual trajectory from the extracted branch point 204 to the end point Pe' using the actual position and orientation of the target object 200 acquired in S301 as the end point Pe' (S303).
  • the method described with reference to FIG. 17 is used to generate individual trajectories.
  • the individual trajectory generator 308 uses the reference trajectory 202 extracted in S302 as it is for the trajectory from the starting point Ps to the branch point 204 extracted in S302.
  • the trajectory from the start point Ps to the branch point 204 corresponds to the first motion trajectory in the claims, and the trajectory from the branch point 204 to the end point Pe' corresponds to the second motion trajectory in the claims.
  • the individual trajectory generator 308 sends a motion command to the robot controller 309, including the generated individual trajectory from the branch point 204 to the end point Pe' and the reference trajectory 202 in the section from the start point Ps to the branch point 204.
  • Send (S304).
  • the robot control unit 309 drives the robot 101 according to the received motion command. Thereby, the robot 101 moves the end effector 102 from the start point Ps to the end point Pe, and executes a preset task on the target object 200 .
  • reference trajectory 202 which is an operation trajectory that can avoid interference with obstacle 205 and satisfies that the evaluation value falls within the first range, is from start point Ps to branch point 204. is used as is to generate the motion trajectory, and from the branch point to the target object 200, the motion trajectory is generated according to the actual position and orientation of the target object 200. Therefore, when the position and orientation of the target object 200 vary Also in , it is possible to shorten the time for calculating a trajectory in which the evaluation value is within a certain range, and to improve productivity.
  • the branch point 204 when generating the individual trajectory 203, the branch point 204 is selected so that the evaluation value falls within a certain range.
  • the trajectory generated can guarantee a constant productivity.
  • a candidate for the branch point 204 is selected from among the points. Therefore, the number of obstacles 205 to be considered when generating the individual trajectory 203 is reduced, and the time required to generate the individual trajectory 203 can be shortened.
  • the task including the operation of the end effector 102 can be efficiently performed in response to the variation of the target object 200. can be achieved.
  • the reference trajectory 202 is newly generated and added. , it can be guaranteed to generate motion trajectories for all variation patterns in the target set 201 .
  • Embodiment 2 reference trajectories 202 and branch points 204 are separately set for all variation patterns of target objects 200 included in target set 201 .
  • one reference trajectory 202 and one branch point 204 are set for all variation patterns included in the target set 201 . That is, in Embodiment 2, one reference trajectory 202 and one branch point 204 are shared by all variation patterns.
  • FIG. 19 is a flow chart showing the operation procedure for generating the individual trajectory 203 according to the second embodiment.
  • FIG. 20 is a conceptual diagram showing reference trajectory 202 and individual trajectory 203 in the second embodiment.
  • the same robot system 100 as in the first embodiment is used.
  • the target set setting unit 303 and the reference trajectory generation unit 304 perform the same processing as in the first embodiment.
  • one reference trajectory 202 and one branch point 204 are provided for all variation patterns of the target object 200 included in the target set 201.
  • FIG. Therefore, in the second embodiment, the reference trajectory 202 is used as it is in the section from the start point Ps to the branch point 204, and the section from the branch point 204 to the actual end point Pe is used in the section from the branch point 204 to the actual end point Pe.
  • An individual trajectory is generated according to the actual position and attitude of the end point Pe.
  • an individual trajectory 203-C is generated, and if the actual end point Pe is the lower left corner, an individual trajectory 203-D is generated, and the actual end point Pe is the upper right corner, an individual trajectory 203-A is generated, and if the actual end point Pe is the lower right corner, an individual trajectory 203-B is generated.
  • the target set setting unit 303 reads the target set 201 calculated by the target set setting unit 303 and all the variation patterns of the target object 200 included in the target set 201 in the same manner as in the first embodiment (S401). ).
  • the reference trajectory generation unit 304 selects a variation pattern having a part of the grid points G from among the plurality of variation patterns, sets the selected variation pattern as the end point Pe, and sets the predetermined start point Ps as the operation start point.
  • an arbitrary trajectory generation method is used to generate the reference trajectory 202 whose evaluation value is within the first range (S402).
  • the evaluation value of the trajectory is the operating time as in the first embodiment.
  • trajectory generation method known techniques such as random sampling methods such as RRT, trajectory parameter optimization methods such as CHOMP, graph solution methods, and reinforcement learning methods can be used. A combination of these techniques may also be used. Additionally, trajectories manually taught by the system user may be used.
  • the branch point designating unit 305 designates a candidate point for the branch point 204 from among the operating points of the reference trajectory 202 (S403). As described with reference to FIGS. 14 to 16, the same method as in the first embodiment is used for the section for which the branch point 204 is to be selected.
  • the branch point specifying unit 305 checks whether the evaluation values of the individual trajectories 203 when using the branch points 204 specified in S403 have been calculated for all the variation patterns of the target set 201 (S404). If there is an uncalculated variation pattern (S404: No), one of the uncalculated variation patterns is selected, and the evaluation value of the individual trajectory 203 is calculated (S405). The calculation method of the evaluation value of each individual trajectory 203 is the same as in the first embodiment. If evaluation values have been calculated for all variation patterns (S404: Yes), the process proceeds to S406.
  • the branch point specifying unit 305 calculates the expected value of the evaluation values of all the variation patterns for the branch point candidates selected in S403 (S406).
  • the equivalent average of the evaluation values of all variation patterns is adopted.
  • the weight of the evaluation value of the individual trajectory 203 corresponding to the variation pattern in the center of the target set 201 is higher than the weight of the evaluation value of the individual trajectory 203 corresponding to the variation pattern in the outer periphery of the target set 201.
  • a weighted average may be used.
  • the expected value may be calculated based on the number of occurrences of each variation pattern in the actual production line.
  • the branch point specifying unit 305 checks whether the calculated expected value of the evaluation value is within the second range (S407). As a second range, it is assumed that the operation time is within T2[s] (T2>T1). If the expected evaluation value is within the second range (S407: Yes), the process proceeds to S409. If the expected value of the evaluation value is not within the second range (S407: No), it is checked whether there are other points remaining as candidates for the branch point 204 in the reference trajectory 202 (S408). If candidates remain (S408: Yes), the process returns to S403 to set another branch point 204 candidate. If no candidate remains (S408: No), the process proceeds to S409. In addition, in the second embodiment, a third range wider than the second range may be set at the time of determination in S407.
  • the branch point specifying unit 305 selects one branch point 204 and adds it to the individual branch point storage unit 306 as a set with the reference trajectory 202.
  • the branch point 204 is selected at which the expected value of the evaluation value, that is, the expected value of the operation time is the smallest.
  • a set of branch points 204 and reference trajectories 202 is stored in the individual branch point storage unit 306 .
  • the individual branch point storage unit 306 uses the pair of branch points 204 and the reference trajectory 202 stored in the individual branch point storage unit 306, and performs the same operation as described in FIG. , the motion trajectory of the robot 101 is generated.
  • the actual position, pose, and shape of target object 200 are measured using external sensors 104 .
  • a pair of branch points 204 and reference trajectory 202 are retrieved from the individual branch point storage unit 306 .
  • an individual trajectory from the extracted branch point 204 to the end point Pe' is generated using the method described with reference to FIG.
  • the reference trajectory 202 is adopted as it is.
  • the robot 101 is driven based on the motion command including the generated individual trajectory from the branch point 204 to the end point Pe′ and the reference trajectory 202 in the section from the start point Ps to the branch point 204 .
  • the branch point 204 is selected from among the candidates in the reference trajectory 202 so that the expected value of the evaluation value is the minimum. Guarantee constant productivity. However, compared to the first embodiment in which the branch point 204 is specified for each variation pattern of the target object 200, the productivity of individual trajectories for individual variation patterns may decrease.
  • FIG. 21 is a block diagram of a hardware configuration of the robot control device according to the first and second embodiments.
  • the robot control device can be realized by the hardware configuration 406 including the arithmetic device 404 and the storage device 405 shown in FIG.
  • Examples of the arithmetic unit 404 are CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP (Digital Signal Processor)) or system LSI (Large Scale Integration).
  • Examples of the storage device 405 are RAM (Random Access Memory) or ROM (Read Only Memory).
  • the robot controller is implemented by the arithmetic device 404 reading out and executing a program for executing the operation of the robot controller stored in the storage device 405 . It can also be said that this program causes a computer to execute the procedure or method of the robot control device.
  • the storage device 405 stores the branch point 204 and the reference trajectory 202.
  • the storage device 405 is also used as a temporary memory when the arithmetic device 404 executes various processes.
  • the program executed by the computing device 404 may be stored in a computer-readable storage medium in an installable or executable format and provided as a computer program product. Also, the program executed by the arithmetic device 404 may be provided to the robot control device via a network such as the Internet.
  • the robot control device may be realized with dedicated hardware. Also, the functions of the robot control device may be partly implemented by dedicated hardware and partly implemented by software or firmware. For example, the target set setting unit 303, the reference trajectory generation unit 304, the branch point designation unit 305, and the individual branch point storage unit 306 are executed by a computer, and the sensor information acquisition unit 307, the individual trajectory generation unit 308, and the robot control unit 309 are executed by the robot. You can let the controller do it.
  • the configuration shown in the above embodiment shows an example of the content of the present disclosure, and can be combined with another known technology. It is also possible to omit or change the part.
  • Robot system 101 Robot, 102 End effector, 103 Belt conveyor, 104 External sensor, 200 Target object, 201 Target set, 202 Reference trajectory, 203 Individual trajectory, 204 Branch point, 205 Obstacle, 206 Temporary obstacle, 301 Periphery Device information acquisition unit 302 Task information acquisition unit 303 Target set setting unit 304 Reference trajectory generation unit 305 Branch point designation unit 306 Individual branch point storage unit 307 Sensor information acquisition unit 308 Individual trajectory generation unit 309 Robot Control unit, 310 trajectory generation unit, 404 arithmetic unit, 405 storage device, 406 hardware configuration, Pe end point, Ps start point.

Abstract

計測された対象物体の位置および姿勢に対応する参照軌道(202)および分岐点(204)を取得し、計測された対象物体の位置および姿勢を終点(Pe)に設定し、取得された参照軌道(202)をそのまま使用して始点(Ps)から分岐点(204)までのロボット(101)の動作軌道である第1の動作軌道を生成し、分岐点(204)から終点(Pe)までのロボット(101)の動作軌道である第2の動作軌道を第1の演算を行って生成し、第1の動作軌道および第2の動作軌道を含む動作指令に従ってロボット(101)を駆動制御する。

Description

ロボット制御装置、ロボット制御プログラムおよびロボット制御方法
 本開示は、多関節ロボットを始点から終点へ移動させるロボット制御装置、ロボット制御プログラムおよびロボット制御方法に関する。
 始点から終点までロボットを動作させる通常のポイントトゥポイント制御において、作業実施中の処理を減らし演算速度を上げるため、ロボット本体および周辺環境に関する制約を考慮した動作指令を作業実施前に生成することがある。また、生産性の向上のため、軌道を作業実施前に生成する際には、動作時間など生産性を定量的に表現する評価値を一定の範囲内に収める軌道を生成することが望ましい。ロボット作業の対象物体の位置および姿勢が固定されていない場合には、対象物体の実際の位置および姿勢に応じて動作軌道を生成する必要がある。全ての制約を満たす動作軌道を生成するには、計算時間がかかるため、すでに生成済みの動作軌道の情報を用いて軌道生成にかかる時間を短縮する取り組みが広く行われている。
 特許文献1に記載の技術では、複数の作業領域をある順番で通過して作業を行う動作軌道があらかじめ生成されている場合を想定している。動作軌道は複数の作業領域区間に分割されている。周辺障害物の配置または形状が変化することで、動作軌道の一部が障害物と干渉すると判断された際に、干渉が発生する作業領域区間のみ軌道を再生成している。
特許第6560841号公報
 特許文献1では、干渉が発生する特定の作業領域区間の軌道を変更することが可能であるが、変更対象となる区間は障害物との干渉が発生したと判定される区間で固定されている。しかし、対象物体の位置および姿勢が異なるとき、変更対象とする区間を適切に設定しなければ、変更しない区間との接続を考えた際に評価値が許容できる範囲を超えて悪化する場合がある。例えば、事前に生成した軌道よりもロボットの手先を大きく傾ける必要がある場合に、変更対象の区間が短いと、手先の変更動作を待つ待ち時間が必要となり、動作時間が長くなる可能性がある。
 本開示は、上記に鑑みてなされたものであり、対象物体の位置および姿勢がばらつく場合においても、評価値が一定の範囲内となる軌道を生成する時間を短縮することが可能なロボット制御装置を得ることを目的としている。
 上述した課題を解決し、目的を達成するために、本開示におけるロボット制御装置は、ロボットのエンドエフェクタを始点から終点まで移動させて、位置および姿勢が固定されていない対象物体に対して予め設定されたタスクを実行する。ロボット制御装置は、対象物体が取り得る複数の位置および姿勢の組の各々に対応して、参照軌道および分岐点が記憶される記憶部と、タスクの実行時に、対象物体の位置および姿勢を計測する計測部と、計測された対象物体の位置および姿勢に対応する参照軌道および分岐点を記憶部から取得し、計測された対象物体の位置および姿勢を終点に設定し、取得された参照軌道をそのまま使用して始点から分岐点までのロボットの動作軌道である第1の動作軌道を生成し、取得された分岐点から終点までのロボットの動作軌道である第2の動作軌道を第1の演算を行って生成する個別軌道生成部と、第1の動作軌道および第2の動作軌道を含む動作指令に従ってロボットを駆動制御するロボット制御部と、を備える。参照軌道は、始点から、対象物体が取り得る複数の位置および姿勢の組のうちの一つである第1点までのロボットの動作軌道であって、障害物との干渉を回避でき、かつ評価値が第一の範囲に入ることを満足する動作軌道である。分岐点は、参照軌道上の一点であって、分岐点から第1点までの動作軌道の評価値が第一の範囲より広い第二の範囲に入ることを満足する動作軌道である。
 本開示によれば、対象物体の位置および姿勢がばらつく場合においても、評価値が一定の範囲内となる軌道を生成する時間を短縮することが可能となるという効果を奏する。
実施の形態1におけるロボットシステムの構成を示す概念図 実施の形態1における対象物体の平面内の回転ずれを概念的に示す平面図 実施の形態1におけるハンドアプローチの複数の候補を示す概念図 実施の形態1におけるロボット制御装置の全体構成を示すブロック図 実施の形態1における目標集合を説明するための概念図 実施の形態1における目標集合内の位置定義を説明するための図 実施の形態1における対象物体の回転ずれ角が異なる複数のパターンを説明するための図 実施の形態1における対象物体へのハンドアプローチが異なる複数のパターンを説明するための図 実施の形態1における目標集合から個別分岐点記憶部に参照軌道および分岐点を追加する軌道生成部の動作を示すフローチャート 実施の形態1における参照軌道の生成に使用する対象物体の位置の選択例を示す概念図 実施の形態1における参照軌道の生成に使用する対象物体の位置の他の選択例を示す概念図 実施の形態1における参照軌道の生成に使用する対象物体の位置の他の選択例を示す概念図 実施の形態1における参照軌道と分岐点との関係を示す概念図 実施の形態1における分岐点を算出する手順を示すフローチャート 実施の形態1における参照軌道と障害物との関係を示す概念図 実施の形態1における分岐点の選択範囲に関する概念図 実施の形態1における個別軌道生成部による軌道生成の方法を示す概念図 実施の形態1における個別軌道生成部およびロボット制御部の処理手順を示すフローチャート 実施の形態2における個別軌道の生成の動作手順を示すフローチャート 実施の形態2における参照軌道および個別軌道を示す概念図 実施の形態1および実施の形態2にかかるロボット制御装置のハードウェア構成を示すブロック図
 以下に、実施の形態にかかるロボット制御装置、ロボット制御プログラムおよびロボット制御方法を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1におけるロボットシステム100の構成を示す概念図である。図1に示すように、ロボットシステム100は、複数の軸および複数のアームを有する多関節のロボット101と、ロボット101のアームの先端に装着されているエンドエフェクタ102と、ベルトコンベア103と、外部センサ104とを備えている。ロボット101は、エンドエフェクタ102を始点Psから終点Peまで移動させ、予め設定されたタスクを実行する。終点Peは、固定されておらず、ベルトコンベア103上を流れる対象物体200の位置および姿勢に基づいて定義される。計測部としての外部センサ104は、対象物体200の位置および姿勢を、ロボット101の実動作の直前に入手する。
 ベルトコンベア103は、移動速度V[mm/s]をもって一定方向に搬送動作をしており、ベルトコンベア103上には対象物体200を固定する治具が存在しない。このため、対象物体200はロボット101に対する相対位置および姿勢が毎回同じにはならない。
 図2は、実施の形態1における対象物体200の平面内の回転ずれを概念的に示す平面図である。また、図3は、実施の形態1におけるハンドアプローチの複数の候補を示す概念図である。
 図2では、ベルトコンベア103の積載面を上から見ている。ベルトコンベア103上には対象物体200を固定する機構がないため、対象物体200はベルトコンベア103の積載面の法線ベクトル、ここでは紙面に垂直な方向のベクトルを回転軸として回転ずれが生じる。この回転ずれをベルトコンベア103に対する平面内回転と呼び、その回転角を回転ずれ角と呼ぶ。
 対象物体200を不定形物と仮定した際、対象物体200の形状に応じて、エンドエフェクタ102を対象物体200に近づける軌道を適切に選択しなければ、タスクの達成が困難となる場合がある。本実施の形態では、図3に示すように、エンドエフェクタ102を対象物体200に近づける軌道であるハンドアプローチを、エンドエフェクタ102に対し事前に複数用意し、対象物体200の形状からタスクを達成可能なハンドアプローチを一つ選択する。図3では、ハンドアプローチHAおよびハンドアプローチHBを含む2つのハンドアプローチが示されている。
 実施の形態1では、ロボット101に対する対象物体200の位置および姿勢のばらつきは、三次元の並進方向の位置ずれと、ベルトコンベア103に対する平面内回転と、エンドエフェクタ102と対象物体200の形状に基づいて選択されるハンドアプローチとを含む3つの要素のセットで一つのパターンとみなす。
 図4は、実施の形態1のロボット制御装置の全体構成を示すブロック図である。ロボット制御装置は、周辺装置情報取得部301と、タスク情報取得部302と、目標集合設定部303と、参照軌道生成部304および分岐点指定部305を含む軌道生成部310と、記憶部としての個別分岐点記憶部306と、センサ情報取得部307と、個別軌道生成部308と、ロボット制御部309とを有する。
 周辺装置情報取得部301は、ロボット101の周辺装置に関する情報である周辺装置情報を取得する。周辺装置情報は、ベルトコンベア103の移動速度Vである。タスク情報取得部302は、軌道生成を行うタスクに関する情報であるタスク情報を取得する。タスク情報は、少なくとも、使用するエンドエフェクタ102の種類、対象物体200の種類、タスクの目標動作を含む。タスクの目標動作には、対象物体200の把持、配置などが含まれる。
 目標集合設定部303は、周辺装置情報取得部301から周辺装置情報であるベルトコンベア103の移動速度Vを取得する。また、目標集合設定部303は、タスク情報取得部302からタスク情報を取得する。
 目標集合設定部303は、ベルトコンベア103の移動速度Vと、タスク情報とを用いて対象物体200の存在し得る位置の集合である目標集合201と、目標集合201の内部での対象物体200の存在し得る姿勢と、ハンドアプローチとの組み合わせを算出する。
 図5は、実施の形態1における目標集合201を説明するための概念図である。本実施の形態における目標集合201の算出方法について述べる。本実施の形態では、図5に示す目標集合201は、ベルトコンベア103の移動速度Vに基づいて計算される。対象物体200に対するロボット101の動作にかかる時間(動作時間)の上限値をT[s]とおくと、コンベア移動方向の目標集合201の長さは、T×Vと設定できる。また、コンベア移動方向と直交する方向の目標集合201の長さは、例えばベルトコンベア103の幅W[mm]と設定できる。対象物体200に対するロボット101の動作時間とは、例えば、ロボット101が始点Psから終点Peまで移動されて、予め設定されたタスクの実行を終了するまでの時間である。本実施の形態では、コンベア高さ方向のばらつきは考慮していないが、コンベア高さ方向のばらつきを考慮し三次元の目標集合201を生成してもよい。
 目標集合201の範囲は、ロボットシステム100のユーザーが想定する作業領域の限界として、ベルトコンベア103の移動速度Vに関係なくユーザーが直接指定してもよい。
 次に、目標集合201に含まれる、対象物体200のばらつきパターンの算出方法について述べる。図6は、実施の形態1における目標集合201内の位置定義を説明するための図である。図7は、実施の形態1における対象物体200の回転ずれ角が異なる複数のパターンを説明するための図である。図8は、実施の形態1における対象物体200へのハンドアプローチが異なる複数のパターンを説明するための図である。
 図6に示すように、目標集合201内の空間を任意の大きさで複数に分割し、分割された複数のグリッドの各々の中心位置にグリッド点Gを定義する。各グリッド点Gは、自グリッド点の位置を示す位置情報を有している。対象物体200の並進ずれの位置は、グリッド点Gを指定することで規定する。図6では、目標集合201内がマトリックス状にN1(=25)個のグリッドに分割されており、25個のグリッド点Gを有している。図7では、対象物体200の平面内回転の回転ずれ角が異なるN2(=3)個のパターンが示されている。図8では、異なるN3(=3)個のハンドアプローチHA,HB,HCの軌道が示されている。
 各グリッド点Gについて、対象物体200の平面内回転の回転ずれ角が異なるN2個のパターンのバリエーションと、ハンドアプローチが異なるN3個のパターンのバリエーションが考えられるため、一つのグリッド点Gに対し、ばらつきパターンは最大N2×N3個存在する。N2,N3に関しては、予め1以上の数を設定しておく。回転ずれ角の刻み量は任意に決定してよい。したがって、目標集合201内には合計N1×N2×N3個の対象物体200のばらつきパターンが設定され、軌道生成部310は、N1×N2×N3個の各ばらつきパターンについて分岐点の算出を行う。
 次に、図4に示す軌道生成部310について述べる。軌道生成部310は参照軌道生成部304と、分岐点指定部305とで構成される。
 図9は、実施の形態1における目標集合201から個別分岐点記憶部306に参照軌道および分岐点を追加する軌道生成部310の動作を示すフローチャートである。図10は、実施の形態1における参照軌道の生成に使用する対象物体200の位置の選択例を示す概念図である。図11は、実施の形態1における参照軌道の生成に使用する対象物体200の位置の他の選択例を示す概念図である。図12は、実施の形態1における参照軌道の生成に使用する対象物体200の位置の他の選択例を示す概念図である。
 まず、参照軌道生成部304は目標集合設定部303で算出された目標集合201と、目標集合201に含まれる対象物体200の全てのばらつきパターンとを読み込む(S101)。
 次に、参照軌道生成部304は、複数のばらつきパターンのうち一部のグリッド点Gを持つばらつきパターンを選択し、選択されたばらつきパターンを用いて評価値が第一の範囲内となる参照軌道を生成する(S102)。すなわち、参照軌道生成部304は、既定の始点Psを動作始点とし、目標集合201内の少なくとも一つの特定のばらつきパターンを終点Peとし、任意の軌道生成手法を用いて評価値が第一の範囲内となる参照軌道を生成する。
 本実施の形態では、評価値として前述した動作時間を選択する。第一の範囲として、動作時間がT1[s]以内と設定する。したがって、動作時間がT1以内である参照軌道が生成される。なお、評価値として、対象物体200に対するロボット101の動作を繰り返し実行した際のロボット101の予測寿命、対象物体200に対するロボット101の動作を実行した際にロボット101が消費する電力などを使用してもよい。
 S102で選択するばらつきパターンは任意に選択してよいが、例えば図10に示すように、目標集合201の中心位置のグリッドのグリッド点Gを位置情報として有するばらつきパターンを選択することが考えられる。また、目標集合201が広範囲にわたる場合は、図11に示すように、目標集合201の中心のグリッドのグリッド点Gのばらつきパターンと、目標集合201の四隅部分にあたるグリッド点Gを位置情報として有するばらつきパターンを選択してもよい。図11の手法では、複数のグリッド点Gが選択されるので、複数の参照軌道が生成される。回転ずれ角については、例えば、N2個のパターンのバリエーションのうちの一つをあらかじめ選択しておく。
 また、S102で選択するばらつきパターンは、図12に示すように、目標集合201内で、実際の動作時に発生頻度が最も高かったグリッドG1に含まれるグリッド点を位置情報として持つばらつきパターンを選択してもよい。グリッドG1は、太い線で示している。この選択方法を選ぶと、実動作時に最も発生確率が高いパターンに対し評価値が第一の範囲内に収まる軌道を生成できるため生産性が向上する。
 参照軌道を生成するための軌道生成手法として、RRT(Rapidly Exploring Random Trees)などのランダムサンプリング手法、CHOMP(Covariant Hamiltonian Optimization for Motion Planning)などの軌道パラメータ最適化手法、グラフ解法、強化学習手法など公知技術を使用できる。また、これらの手法を組み合わせて使用してもよい。加えて、システムユーザーがマニュアル教示した軌道を使用してもよい。
 本実施の形態では、参照軌道の軌道生成に関する制約として、ロボット101の各軸モータの角度制約、角速度制約、角加速度制約、およびロボット101とロボットシステム100に含まれる障害物と衝突しないことを考慮する。したがって、生成された参照軌道は、作業空間内にある障害物との干渉を回避できる軌道である。
 次に、目標集合設定部303で算出した各ばらつきパターンについて、分岐点を記録したかどうか確認する(S103)。全てのばらつきパターンについて分岐点を記録した場合は(S103:Yes)、処理を終了する。そうでない場合は(S103:No)、S104へ移る。
 分岐点指定部305は、全てのばらつきパターンのうち、まだ分岐点が記録されていないパターンの中から一つを選択する(S104)。
 次に、分岐点指定部305は、参照軌道を一本選択する(S105)。参照軌道が一本の場合は、その軌道を選択する。本実施の形態では、図11のように、参照軌道が複数本存在する場合は、対象として選択されたばらつきパターンの位置に対し、一番近い終点Peであるグリッド点Gを持つ参照軌道を選択する。例えば、図11において、最も左側で上から2番目のグリッドがばらつきパターンとして選択された場合は、上左角のグリッドを終点Peとして持つ参照軌道が選択される。同じ近さの複数の参照軌道が存在する場合は、その複数の参照軌道から一つの参照軌道を選択するためのルールを予め設定しておく。
 図13は実施の形態1における参照軌道202と分岐点204との関係を示す概念図である。分岐点204と参照軌道202との関係性について述べる。目標集合201内の、参照軌道202以外の終点Peに到達するためのロボット101の動作軌道を個別軌道203と呼ぶ。個別軌道203は、参照軌道202と軌道の一部を共有する。個別軌道203が参照軌道202とは別の軌道となる区間の開始位置を、分岐点204と呼ぶ。すなわち、分岐点204は一本の個別軌道203に対し一点、参照軌道202の中の点から選択される。図13には、障害物205が図示されている。
 図14は、実施の形態1における分岐点204を算出する手順を示すフローチャートであり、図9のS106で行う処理の詳細を示すものである。S106では、評価値が第二の範囲内となる分岐点の候補が探索される。図15は、実施の形態1における参照軌道202と障害物205との関係を示す概念図である。図16は、実施の形態1における分岐点204の選択範囲に関する概念図である。
 まず、分岐点指定部305による分岐点204の指定処理について述べる。分岐点指定部305は、参照軌道202の中から分岐点204の候補となる動作点を複数抽出する(S201)。分岐点204の候補となる動作点は、ロボット101に設置されたエンドエフェクタ102の位置および姿勢を一意に決定する状態量の組で表される。本実施の形態では、ロボット101の各軸モータの角度の組で、分岐点204の候補となる動作点を表す。このとき参照軌道202は、ロボット101の各軸モータの角度の組に始点Psを時刻0と置いたときの時刻ラベルを付与したデータの集合で構成される。
 次に、本実施の形態における、分岐点204の候補となる動作点を含む参照軌道202の区間について述べる。参照軌道202は、前述したように、作業空間内にある障害物205との干渉を回避できる軌道である。参照軌道202の早い段階で分岐点204を指定し、個別軌道203の終点Peまでの残り部分を生成しようとすると、考慮すべき障害物205の数が多くなり、個別軌道203の生成に時間がかかる。このため、可能な限り障害物205が回避された段階で、分岐点204から個別軌道203へ軌道を分岐させることが望ましい。
 例えば、図15に示すように、作業空間に存在する障害物205の外周に一定の距離Lでマージンを取った仮障害物206を設定する。距離Lは任意に指定してよい。分岐点204の候補となる区間は、参照軌道202を終点Pe側から始点Ps側にさかのぼった際に、仮障害物206と衝突する点Px1までの区間C1とする。すなわち、参照軌道202のうち、仮障害物206に対しエンドエフェクタ102と、ロボット本体との干渉が発生しない区間の中から分岐点204が選択される。ロボット本体は、ロボット101のエンドエフェクタ102以外の部分のことを指す。
 また、選択したばらつきパターンの位置が、参照軌道202の終点Peよりも始点Psに近い場合は、参照軌道202の終点Pe付近に分岐点204を指定すると、分岐点204から選択したばらつきパターンの位置まで、個別軌道203が引き返す可能性があり、評価値の値が悪化する恐れがある。このため、図16に示すように、参照軌道202の終点Peと、選択したばらつきパターンの位置Px2との間の範囲dに対応する、参照軌道202上の区間C2に含まれる動作点を分岐点204の候補から除外する。
 次に、分岐点指定部305は、全ての分岐点204の候補について、個別軌道203の評価値を計算したか否かを確認する(S202)。分岐点指定部305は、全ての分岐点204の候補について、個別軌道203の評価値を計算していない場合(S202:No)、S201で抽出した分岐点204の複数の候補の中から一点選択する(S203)。そして、分岐点指定部305は、選んだ分岐点204の一つの候補から、S104で選択された一つのばらつきパターンの位置までの軌道である個別軌道203を生成する(S204)。ここで、分岐点指定部305は、この個別軌道203の生成の際、後述する個別軌道生成部308で行われる個別軌道203の生成と同じ手法を用いる。分岐点指定部305は、S204で生成された個別軌道203の評価値の値を計算する(S205)。
 図17は、実施の形態1における個別軌道生成部308による軌道生成の方法を示す概念図である。分岐点指定部305も、図17と同様に処理によって、個別軌道203を生成する。以下、個別軌道203の生成方法について述べる。本実施の形態では、関節補間手法を用いて分岐点204以降の軌道を生成する。関節補間手法は、個別軌道203を生成するための第1の演算の一つである。
 図17は、ロボット101の軸数が2個の場合について示した概念図であるが、2個以上の軸数についても同様の手法を適用できる。図17では、軸1の指令角速度のタイムチャートおよび軸2の指令角速度のタイムチャートが示されている。図17において、ktは加速時間を示し、gtは減速時間を示し、ttが定速時間を示している。
 まず、個別軌道生成部308は、ロボット101の各軸モータが出力可能な最高速度に対して、分岐点204から終点Peである選択された一つのばらつきパターンの位置までの角度変化量が最大となる軸を選択する。この角度変化量が最大となる軸のことを、本実施の形態では代表軸j´と呼ぶ。図17によれば、軸1の角度変化量が軸2の角度変化量より大きいので、軸1が代表軸j´となる。代表軸j´は、複数の軸j(j=1,2,…)から式(1)を満たす軸jを選択する。ここで、θsjは分岐点204における軸jの角度、θGjは終点Peである選択された一つのばらつきパターンの位置における軸jの角度、v_maxは軸jのモータが実現できる最高速度であるとする。式(1)の右辺は、軸jの角度変化量が、軸jのモータの実現できる最高速度v_maxに対しどの程度の大きさにあるかを示している。
Figure JPOXMLDOC01-appb-M000001
 代表軸である軸j´(j´=1)の軌道上での最高速度vj´maxはvj´max=v_maxj´とする。このとき、代表軸j´以外の軸jのモータの動作中の最高速度vjmaxを、式(2)のように仮置きする。式(2)において、(θGj-θsj)は代表軸j´以外の軸jの角度変化量を示し、(θGj´-θsj´)は、代表軸j´の角度変化量を示している。
Figure JPOXMLDOC01-appb-M000002
 仮置きした各軸の動作中の最高速度vjmaxと、各軸の分岐点204での角速度vj、各軸の終点Peでの角速度vjと、ロボット101の速度制約、加速度制約とから加速時間ktおよび減速時間gtが決定される。加速時間ktおよび減速時間gtが決定されると、代表軸j´に関する以下の式(3)を定速時間ttについて解くことで定速時間ttが決定される。式(3)では、便宜上、式(3)中の各記号に´を付すことを省略している。
Figure JPOXMLDOC01-appb-M000003
 式(3)をvjmaxについて解くことで、仮置きした代表軸j´以外の軸jの最高速度vjmaxを決定する。以上の計算によって、ロボット101に含まれる全ての軸について、分岐点204以降の角速度指令値が求められる。したがって、角速度指令値を時刻で積分することで、分岐点204以降の動作点と時刻ラベルとの組が計算できる。
 分岐点指定部305は、このようにして、分岐点204の複数の候補の中から選択された一つの分岐点204から、S104で選択された一つのばらつきパターンの位置までの軌道である個別軌道203を生成した後(S204)、生成された個別軌道の評価値を計算する(S205)。次に、分岐点指定部305は、計算された評価値の値が、第二の範囲内か否かを確認する(S206)。本実施の形態では、第二の範囲として動作時間T2[s]以内と設定する。T2>T1と設定する。第二の範囲は、第一の範囲より広い範囲が設定される。
 分岐点指定部305は、評価値が第二の範囲内にある場合は(S206:Yes)、選択した分岐点を正式な分岐点として指定する(S108)。評価値が第二の範囲内に入っていない場合は(S206:No)、手順は、S202に戻る。手順がS202に戻ると、S201で抽出された分岐点204の複数の候補のなかの他の候補が選択され、その後、S202~S206の処理が実行されることで、選択された他の候補の個別軌道203の評価値が第二の範囲内になるか否かが判定される。このようにして、S202~S206の処理が繰り返されることにより、個別軌道203の評価値が第二の範囲内になる分岐点204が得られる。
 また、S202~S206の処理が繰り返された後、S202の判断がYesとなった場合は、S201で抽出された分岐点204の複数の候補が全て、第二の範囲から逸脱しないという条件を満たしていないことになる。このような場合、手順はS107に移行される。S107では、S102で生成された参照軌道202以外の参照軌道202を新たに生成し、参照軌道202に追加する。具体的には、S104で選択されたばらつきパターンと異なるばらつきパターンを選択し、新たに選択されたばらつきパターンを用いて評価値が第一の範囲内となる参照軌道202を生成する(S107)。そして、新たに生成された参照軌道202を用いてS202~S206の処理が繰り返されることで、評価値が第二の範囲内にある分岐点204が決定される。
 S108で分岐点204が指定されると、分岐点指定部305は、S104で選択されたばらつきパターンと、S105で選択された参照軌道202またはS107で追加された参照軌道202と、S108で指定された分岐点204とをセットにして、個別分岐点記憶部306に記録する(S109)。すなわち、分岐点指定部305は、ばらつきパターンと、参照軌道202と、分岐点204とのセットである軌道セットデータを個別分岐点記憶部306に記録する。
 個別分岐点記憶部306への記録が終了すると、手順はS103に移行される。S103では、目標集合設定部303で算出された全てのばらつきパターンについて分岐点204を記録したか否かが判定される。分岐点204が記録されていないばらつきパターンが残っている場合は、軌道生成部310は、S103~S109の処理、S201~S206の処理を繰り返し実行することで、全てのばらつきパターンについての分岐点204を個別分岐点記憶部306に記録する。
 図18は、実施の形態1における個別軌道生成部308およびロボット制御部309の処理手順を示すフローチャートである。ロボット制御部309は、ロボット101での実作業時、個別分岐点記憶部306の記録情報を用いてロボット101の動作指令を生成する。
 まず、センサ情報取得部307は、外部センサ104を用いて、対象物体200の実際の位置、姿勢、および形状を測定する(S301)。また、個別軌道生成部308は、タスク情報取得部302からエンドエフェクタ102の種類と対象物体200の種類を取得し、周辺装置情報取得部301からベルトコンベア103の移動速度Vを取得する。個別軌道生成部308は、対象物体200の形状およびタスク情報から、ハンドアプローチを選択する。
 次に、個別軌道生成部308は、個別分岐点記憶部306から、対象物体200の実際の位置および姿勢に最も近いばらつきパターンを有する軌道セットデータを読み出す。そして、個別軌道生成部308は、読み出した軌道セットデータに含まれる参照軌道202および分岐点204を取り出す(S302)。
 つぎに、個別軌道生成部308は、S301で取得した対象物体200の実際の位置および姿勢を終点Pe´として、取り出した分岐点204から、終点Pe´までの個別軌道を生成する(S303)。個別軌道の生成の際は、図17を用いて説明した手法が用いられる。個別軌道生成部308は、始点PsからS302で取り出された分岐点204までの軌道については、S302で取り出された参照軌道202をそのまま使用する。始点Psから分岐点204までの軌道が請求の範囲の第1の動作軌道に対応し、分岐点204から終点Pe´までの軌道が請求の範囲の第2の動作軌道に対応する。
 最後に、個別軌道生成部308は、生成された分岐点204から終点Pe´までの個別軌道と、始点Psから分岐点204までの区間の参照軌道202とを含む動作指令をロボット制御部309に送信する(S304)。ロボット制御部309は、受信した動作指令に従ってロボット101を駆動する。これによって、ロボット101は、エンドエフェクタ102を始点Psから終点Peまで移動させ、対象物体200に対し予め設定されたタスクを実行する。
 このように実施の形態1によれば、始点Psから分岐点204までは、障害物205との干渉を回避できかつ評価値が第一の範囲に入ることを満足する動作軌道である参照軌道202をそのまま使用して動作軌道が生成され、分岐点から対象物体200までは、対象物体200の実際の位置および姿勢に合わせて動作軌道が生成されるため、対象物体200の位置および姿勢がばらつく場合においても、評価値が一定の範囲内となる軌道を計算するための時間を短縮することが可能となり、生産性を向上させることができる。
 また、実施の形態1によれば、個別軌道203を生成する際に評価値が一定の範囲内に収まるように分岐点204が選定される。このため、生成される軌道は一定の生産性を保証することができる。また、実施の形態1によれば、参照軌道202に含まれる動作点のうち、軌道周辺の障害物205の外周に一定の距離Lでマージンを取った仮障害物206に対し干渉が発生しない動作点の中から分岐点204の候補を選ぶようにしている。このため、個別軌道203の生成時に考慮すべき障害物205の数が減るため、個別軌道203の生成にかかる時間が短縮できる。
 また、実施の形態1によれば、対象物体200の想定されるばらつきにハンドアプローチの違いも含めているため、対象物体200のばらつきに対応してエンドエフェクタ102の操作も含めてタスクを効率よく達成することができる。また、実施の形態1によれば、参照軌道202内に個別軌道203の評価値が指定の範囲内に収まるような分岐点204が無い場合に、参照軌道202を新たに生成し追加することで、目標集合201内の全てのばらつきパターンに対し動作軌道を生成することを保証できる。
実施の形態2.
 実施の形態1では、目標集合201に含まれる対象物体200の全てのばらつきパターンに対し、参照軌道202および分岐点204を別々に設定した。これに対し、実施の形態2では、目標集合201に含まれる全てのばらつきパターンに対し、参照軌道202および分岐点204を1つ設定する。すなわち、実施の形態2では、1つの参照軌道202および1つの分岐点204は、全てのばらつきパターンで共用される。
 図19は、実施の形態2における個別軌道203の生成の動作手順を示すフローチャートである。図20は、実施の形態2における参照軌道202および個別軌道203を示す概念図である。実施の形態2では、ロボットシステム100は、実施の形態1と同じものを使用する。また、目標集合設定部303、参照軌道生成部304も実施の形態1と同じ処理を実行する。
 図20に示すように、実施の形態2では、目標集合201に含まれる対象物体200の全てのばらつきパターンに対し、1つの参照軌道202および1つの分岐点204を有している。したがって、実施の形態2では、始点Psから分岐点204までの区間では、参照軌道202がそのまま使用され、分岐点204から実際の終点Peまでの区間では、分岐点204から実際の終点Peまでの個別軌道が実際の終点Peの位置、姿勢に応じて生成される。例えば、実際の終点Peが左上の角部であれば、個別軌道203-Cが生成され、実際の終点Peが左下の角部であれば、個別軌道203-Dが生成され、実際の終点Peが右上の角部であれば、個別軌道203-Aが生成され、実際の終点Peが右下の角部であれば、個別軌道203-Bが生成される。
 以下、図19に従って、1つの参照軌道202および1つの分岐点204を生成するための手順を説明する。まず、目標集合設定部303は、実施の形態1と同様にして、目標集合設定部303で算出された目標集合201と、目標集合201に含まれる対象物体200の全てのばらつきパターンを読み込む(S401)。
 次に、参照軌道生成部304は、複数のばらつきパターンのうち一部のグリッド点Gを持つばらつきパターンを選択し、選択されたばらつきパターンを終点Peとし、既定の始点Psを動作始点とし、実施の形態1と同様にして、任意の軌道生成手法を用いて評価値が第一の範囲内となる参照軌道202を生成する(S402)。軌道の評価値は実施の形態1と同様に動作時間とする。
 軌道生成手法として、RRTなどのランダムサンプリング手法、CHOMPなどの軌道パラメータ最適化手法、グラフ解法、強化学習手法などの公知技術を使用できる。また、これらの手法を組み合わせて使用してもよい。加えて、システムユーザーがマニュアル教示した軌道を使用してもよい。
 次に、分岐点指定部305は、分岐点204の候補となる点を参照軌道202の動作点のなかから指定する(S403)。分岐点204を選択する対象となる区間は、図14~図16を用いて説明したように、実施の形態1と同じ手法を採用する。
 次に、分岐点指定部305は、目標集合201の全てのばらつきパターンに対し、S403で指定した分岐点204を使用する場合の個別軌道203の評価値を計算したかどうか確認する(S404)。未計算のばらつきパターンがある場合は(S404:No)、未計算のばらつきパターンの中から一つ選択し、個別軌道203の評価値を計算する(S405)。各個別軌道203の評価値の計算方法は、実施の形態1と同様とする。全てのばらつきパターンに対し、評価値を計算し終わった場合は(S404:Yes)、S406に移る。
 次に、分岐点指定部305は、S403で選択された分岐点の候補に対し、全てのばらつきパターンの評価値の期待値を計算する(S406)。
 評価値の期待値の計算方法としては、例えば、全てのばらつきパターンの評価値の等価平均を採用する。また、目標集合201の中央部のばらつきパターンに対応する個別軌道203の評価値の重みが、目標集合201の外側周辺のばらつきパターンに対応する個別軌道203の評価値の重みより、高くなるような重み付き平均としてもよい。さらに、実際の生産ラインでの各ばらつきパターンの発生回数に基づき期待値を計算してもよい。
 分岐点指定部305は、計算された評価値の期待値が、第二の範囲内に入っているか否かを確認する(S407)。第二の範囲として、動作時間がT2[s]以内(T2>T1)とする。評価値の期待値が第二の範囲内に入っている場合は(S407:Yes)、S409へ移行する。評価値の期待値が第二の範囲内に入っていない場合は(S407:No)、参照軌道202の中に分岐点204の候補となる他の点が残っているか確認する(S408)。候補が残っている場合は(S408:Yes)、S403に戻り別の分岐点204の候補を設定する。候補が残っていない場合は(S408:No)、S409へ移行する。なお、実施の形態2では、S407の判断の際に、第二の範囲より広い第三の範囲を設定してもよい。
 S409においては、分岐点指定部305は、分岐点204を一つ選択し、参照軌道202とセットにして個別分岐点記憶部306に追加する。本実施の形態では評価値の期待値すなわち動作時間の期待値が最小となる分岐点204を選択する。個別分岐点記憶部306には、一組の分岐点204と参照軌道202とが記憶されることになる。
 ロボット101での実作業時は、個別分岐点記憶部306は、個別分岐点記憶部306に記憶された一組の分岐点204と参照軌道202とを用いて、図18で説明したのと同様にして、ロボット101の動作軌道を生成する。まず、外部センサ104を用いて、対象物体200の実際の位置、姿勢、および形状が測定される。つぎに、個別分岐点記憶部306から、一組の分岐点204と参照軌道202とが取り出される。つぎに、対象物体200の実際の位置および姿勢を終点Pe´として、取り出した分岐点204から、終点Pe´までの個別軌道が、図17を用いて説明した手法を用いて生成される。始点Psから分岐点204までの軌道については、参照軌道202をそのまま採用する。その後、生成された分岐点204から終点Pe´までの個別軌道と、始点Psから分岐点204までの区間の参照軌道202とを含む動作指令に基づいて、ロボット101が駆動される。
 このように実施の形態2によれば、複数のばらつきパターンに対し参照軌道202と分岐点204との組を一組のみ設定するため、個別分岐点記憶部306に記憶されるデータ量が削減できる。また、実施の形態2によれば、参照軌道202内の候補から評価値の期待値が最小になる点が分岐点204として選定されるため、実施の形態1と同様に、生成される軌道は一定の生産性を保証する。ただし、対象物体200のばらつきパターンごとに分岐点204が指定される実施の形態1と比較すると、個々のばらつきパターンに対する個別軌道の生産性は低下する可能性がある。
 ここで、図4に示したロボット制御装置のハードウェア構成について説明する。図21は、実施の形態1および実施の形態2にかかるロボット制御装置のハードウェア構成を示すブロック図である。
 ロボット制御装置は、図21に示した演算装置404および記憶装置405を含むハードウェア構成406によって実現することができる。演算装置404の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。記憶装置405の例は、RAM(Random Access Memory)またはROM(Read Only Memory)である。
 ロボット制御装置は、演算装置404が、記憶装置405で記憶されている、ロボット制御装置の動作を実行するためのプログラムを読み出して実行することで実現される。また、このプログラムは、ロボット制御装置の手順または方法をコンピュータに実行させるものであるともいえる。
 記憶装置405は、分岐点204および参照軌道202を記憶する。記憶装置405は、演算装置404が各種処理を実行する際の一時メモリにも使用される。
 演算装置404が実行するプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、演算装置404が実行するプログラムは、インターネットなどのネットワーク経由でロボット制御装置に提供されてもよい。
 また、ロボット制御装置は専用のハードウェアで実現してもよい。また、ロボット制御装置の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、目標集合設定部303、参照軌道生成部304、分岐点指定部305および個別分岐点記憶部306をコンピュータに実行させ、センサ情報取得部307、個別軌道生成部308およびロボット制御部309をロボットコントローラに実行させてもよい。
 以上の実施の形態に示した構成は、本開示の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本開示の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 100 ロボットシステム、101 ロボット、102 エンドエフェクタ、103 ベルトコンベア、104 外部センサ、200 対象物体、201 目標集合、202 参照軌道、203 個別軌道、204 分岐点、205 障害物、206 仮障害物、301 周辺装置情報取得部、302 タスク情報取得部、303 目標集合設定部、304 参照軌道生成部、305 分岐点指定部、306 個別分岐点記憶部、307 センサ情報取得部、308 個別軌道生成部、309 ロボット制御部、310 軌道生成部、404 演算装置、405 記憶装置、406 ハードウェア構成、Pe 終点、Ps 始点。

Claims (15)

  1.  ロボットのエンドエフェクタを始点から終点まで移動させて、位置および姿勢が固定されていない対象物体に対して予め設定されたタスクを実行するロボット制御装置であって、
     前記対象物体が取り得る複数の位置および姿勢の組の各々に対応して、参照軌道および分岐点が記憶される記憶部と、
     前記タスクの実行時に、前記対象物体の位置および姿勢を計測する計測部と、
     計測された前記対象物体の位置および姿勢に対応する前記参照軌道および前記分岐点を前記記憶部から取得し、計測された前記対象物体の位置および姿勢を前記終点に設定し、取得された前記参照軌道を使用して前記始点から前記分岐点までの前記ロボットの動作軌道である第1の動作軌道を生成し、取得された前記分岐点から前記終点までの前記ロボットの動作軌道である第2の動作軌道を第1の演算を行って生成する個別軌道生成部と、
     前記第1の動作軌道および前記第2の動作軌道を含む動作指令に従って前記ロボットを駆動制御するロボット制御部と、
     を備え、
     前記参照軌道は、前記始点から、前記対象物体が取り得る複数の位置および姿勢の組のうちの一つである第1点までの前記ロボットの動作軌道であって、障害物との干渉を回避でき、かつ評価値が第一の範囲に入ることを満足する動作軌道であり、
     前記分岐点は、前記参照軌道上の一点であって、前記分岐点から前記第1点までの動作軌道の前記評価値が前記第一の範囲より広い第二の範囲に入ることを満足する動作軌道である
     ことを特徴とするロボット制御装置。
  2.  前記対象物体が取り得る複数の位置および姿勢の組の集合を目標集合に設定する目標集合設定部と、
     前記目標集合に含まれる前記対象物体の少なくとも一つの位置および姿勢の組を選択し、選択した前記対象物体の位置および姿勢の組に基づいて前記参照軌道を生成する参照軌道生成部と、
     生成された前記参照軌道上から前記分岐点の複数の候補点を抽出し、抽出された複数の候補点から前記第1点までの複数の動作軌道のなかから前記評価値が前記第二の範囲に入る動作軌道を選択し、選択された動作軌道に対応する候補点を前記第1点に対応する分岐点に決定する第1の処理を、前記対象物体が取り得る複数の位置および姿勢の組の全てについて実行して、前記対象物体が取り得る位置および姿勢の組毎に、前記分岐点を算出し、算出された分岐点および生成された前記参照軌道を前記記憶部に記憶する分岐点指定部と、
     を備えることを特徴とする請求項1に記載のロボット制御装置。
  3.  前記参照軌道生成部は、前記対象物体が取り得る複数の位置および姿勢の組に共通の一つの参照軌道を生成することを特徴とする請求項2に記載のロボット制御装置。
  4.  前記参照軌道生成部は、前記目標集合の中心位置に前記一つの参照軌道を設定することを特徴とする請求項3に記載のロボット制御装置。
  5.  前記参照軌道生成部は、前記ロボットの実際の動作時に発生頻度が最も高かった位置に前記一つの参照軌道を設定することを特徴とする請求項3に記載のロボット制御装置。
  6.  前記参照軌道生成部は、前記対象物体が取り得る位置および姿勢の組に応じて異なる前記第1点に前記参照軌道を設定することを特徴とする請求項2に記載のロボット制御装置。
  7.  前記参照軌道生成部は、前記評価値が前記第二の範囲に入る条件を満たす前記分岐点が存在しない場合に、新たな参照軌道を生成することを特徴とする請求項2に記載のロボット制御装置。
  8.  前記記憶部は、前記対象物体が取り得る複数の位置および姿勢の組の各々に対応して、前記参照軌道、前記分岐点および前記対象物体へのハンドアプローチの軌道の組を記憶することを特徴とする請求項1に記載のロボット制御装置。
  9.  ロボットのエンドエフェクタを始点から終点まで移動させて、位置および姿勢が固定されていない対象物体に対して予め設定されたタスクを実行するロボット制御装置であって、
     前記対象物体が取り得る複数の位置および姿勢の組に対し共通する一つの参照軌道および一つの分岐点が記憶される記憶部と、
     前記タスクの実行時に、前記対象物体の位置および姿勢を計測する計測部と、
     前記記憶部から前記参照軌道および前記分岐点を取得し、計測された前記対象物体の位置および姿勢を前記終点に設定し、前記取得された参照軌道を使用して前記始点から前記分岐点までの前記ロボットの動作軌道である第1の動作軌道を生成し、取得された前記分岐点から前記終点までの前記ロボットの動作軌道である第2の動作軌道を第1の演算を行って生成する個別軌道生成部と、
     前記第1の動作軌道および前記第2の動作軌道を含む動作指令に従って前記ロボットを駆動制御するロボット制御部と、
     を備え、
     前記参照軌道は、前記始点から、前記対象物体が取り得る複数の位置および姿勢の組のうちの一つである第1点までの前記ロボットの動作軌道であって、障害物との干渉を回避でき、かつ評価値が第一の範囲に入ることを満足する動作軌道であり、
     前記分岐点は、前記参照軌道上の一点であって、前記分岐点から前記対象物体が取り得る複数の位置および姿勢の組までの複数の動作軌道の前記評価値の平均が前記第一の範囲より広い第二の範囲に入ることを満足する動作軌道である
     ことを特徴とするロボット制御装置。
  10.  前記対象物体が取り得る複数の位置および姿勢の集合を目標集合に設定する目標集合設定部と、
     前記目標集合に含まれる前記対象物体の一つの位置および姿勢の組を選択し、選択した前記対象物体の位置および姿勢の組に基づいて前記参照軌道を生成する参照軌道生成部と、
     生成された前記参照軌道上から前記分岐点の複数の候補点を抽出し、抽出された複数の候補点のうちの1つの候補点から前記対象物体が取り得る複数の位置および姿勢の組までの複数の動作軌道の前記評価値の平均を求める第2の処理を、全ての候補点について実行し、前記複数の候補点のうちの前記評価値の平均が前記第二の範囲に入る候補点を前記分岐点に決定し、前記決定された分岐点および前記参照軌道を前記記憶部に記憶する分岐点指定部と、
     を備えることを特徴とする請求項9に記載のロボット制御装置。
  11.  前記評価値の平均は、前記目標集合の中央部の前記評価値の重みが、前記目標集合の外側周辺の前記評価値の重みより、高くなる重み付き平均であることを特徴とする請求項10に記載のロボット制御装置。
  12.  前記分岐点指定部は、前記参照軌道のうち、前記障害物の外周に一定の距離でマージンを取った仮障害物に対し前記エンドエフェクタとロボット本体との干渉が発生しない区間の中から前記分岐点を選ぶことを特徴とする請求項2または請求項10に記載のロボット制御装置。
  13.  前記評価値は、前記ロボットの動作時間であることを特徴とする請求項1から請求項12の何れか一つに記載のロボット制御装置。
  14.  ロボットのエンドエフェクタを始点から終点まで移動させて、位置および姿勢が固定されていない対象物体に対して予め設定されたタスクを実行するロボット制御プログラムであって、
     前記対象物体が取り得る複数の位置および姿勢の組の各々に対応して、参照軌道および分岐点を記憶部に記憶するステップと、
     前記タスクの実行時に、前記対象物体の位置および姿勢を計測するステップと、
     計測された前記対象物体の位置および姿勢に対応する前記参照軌道および前記分岐点を前記記憶部から取得し、計測された前記対象物体の位置および姿勢を前記終点に設定し、取得された前記参照軌道を使用して前記始点から前記分岐点までの前記ロボットの動作軌道である第1の動作軌道を生成し、取得された前記分岐点から前記終点までの前記ロボットの動作軌道である第2の動作軌道を第1の演算を行って生成するステップと、
     前記第1の動作軌道および前記第2の動作軌道を含む動作指令に従って前記ロボットを駆動制御するステップと、
     をコンピュータに実行させ、
     前記参照軌道は、前記始点から、前記対象物体が取り得る複数の位置および姿勢の組のうちの一つである第1点までの前記ロボットの動作軌道であって、障害物との干渉を回避でき、かつ評価値が第一の範囲に入ることを満足する動作軌道であり、
     前記分岐点は、前記参照軌道上の一点であって、前記分岐点から前記第1点までの動作軌道の前記評価値が前記第一の範囲より広い第二の範囲に入ることを満足する動作軌道である
     ことを特徴とするロボット制御プログラム。
  15.  ロボットのエンドエフェクタを始点から終点まで移動させて、位置および姿勢が固定されていない対象物体に対して予め設定されたタスクを実行するロボット制御方法であって、
     前記対象物体が取り得る複数の位置および姿勢の組の各々に対応して、参照軌道および分岐点を記憶部に記憶するステップと、
     前記タスクの実行時に、前記対象物体の位置および姿勢を計測するステップと、
     計測された前記対象物体の位置および姿勢に対応する前記参照軌道および前記分岐点を前記記憶部から取得し、計測された前記対象物体の位置および姿勢を前記終点に設定し、取得された前記参照軌道を使用して前記始点から前記分岐点までの前記ロボットの動作軌道である第1の動作軌道を生成し、取得された前記分岐点から前記終点までの前記ロボットの動作軌道である第2の動作軌道を第1の演算を行って生成するステップと、
     前記第1の動作軌道および前記第2の動作軌道を含む動作指令に従って前記ロボットを駆動制御するステップと、
     を備え、
     前記参照軌道は、前記始点から、前記対象物体が取り得る複数の位置および姿勢の組のうちの一つである第1点までの前記ロボットの動作軌道であって、障害物との干渉を回避でき、かつ評価値が第一の範囲に入ることを満足する動作軌道であり、
     前記分岐点は、前記参照軌道上の一点であって、前記分岐点から前記第1点までの動作軌道の前記評価値が前記第一の範囲より広い第二の範囲に入ることを満足する動作軌道である
     ことを特徴とするロボット制御方法。
PCT/JP2021/012254 2021-03-24 2021-03-24 ロボット制御装置、ロボット制御プログラムおよびロボット制御方法 WO2022201362A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2021/012254 WO2022201362A1 (ja) 2021-03-24 2021-03-24 ロボット制御装置、ロボット制御プログラムおよびロボット制御方法
JP2023508261A JP7438453B2 (ja) 2021-03-24 2021-03-24 ロボット制御装置、ロボット制御プログラムおよびロボット制御方法
DE112021007395.8T DE112021007395T5 (de) 2021-03-24 2021-03-24 Robotersteuerungseinrichtung, robotersteuerungsprogramm und robotersteuerungsverfahren
CN202180093362.8A CN116997441A (zh) 2021-03-24 2021-03-24 机器人控制装置、机器人控制程序及机器人控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/012254 WO2022201362A1 (ja) 2021-03-24 2021-03-24 ロボット制御装置、ロボット制御プログラムおよびロボット制御方法

Publications (1)

Publication Number Publication Date
WO2022201362A1 true WO2022201362A1 (ja) 2022-09-29

Family

ID=83396544

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/012254 WO2022201362A1 (ja) 2021-03-24 2021-03-24 ロボット制御装置、ロボット制御プログラムおよびロボット制御方法

Country Status (4)

Country Link
JP (1) JP7438453B2 (ja)
CN (1) CN116997441A (ja)
DE (1) DE112021007395T5 (ja)
WO (1) WO2022201362A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003103481A (ja) * 2001-09-28 2003-04-08 Honda Motor Co Ltd 多関節ロボットの姿勢適正化方法および適正化装置
JP2007237334A (ja) * 2006-03-08 2007-09-20 Toyota Motor Corp ロボットハンドによる把持制御方法
JP2013193194A (ja) * 2012-03-22 2013-09-30 Toyota Motor Corp 軌道生成装置、移動体、軌道生成方法及びプログラム
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003103481A (ja) * 2001-09-28 2003-04-08 Honda Motor Co Ltd 多関節ロボットの姿勢適正化方法および適正化装置
JP2007237334A (ja) * 2006-03-08 2007-09-20 Toyota Motor Corp ロボットハンドによる把持制御方法
JP2013193194A (ja) * 2012-03-22 2013-09-30 Toyota Motor Corp 軌道生成装置、移動体、軌道生成方法及びプログラム
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム

Also Published As

Publication number Publication date
DE112021007395T5 (de) 2024-03-21
JPWO2022201362A1 (ja) 2022-09-29
JP7438453B2 (ja) 2024-02-26
CN116997441A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US20230060472A1 (en) Teaching device, teaching method, and robot system
EP3195990B1 (en) Robot trajectory generation method, apparatus, computer program and computer readable storage medium
JP5144785B2 (ja) ロボットの着目部位と周辺物との干渉を予測する方法及び装置
US20040019402A1 (en) Intelligent system for generating and executing a sheet metal bending plan
US20210174227A1 (en) Machine learning apparatus, control device, machining system, and machine learning method for learning correction amount of workpiece model
JP2016027951A (ja) ロボット装置の制御方法、およびロボット装置
JP2023513841A (ja) 産業ロボット用の衝突回避モーション計画方法
KR20150103257A (ko) 간섭 체크 장치
JP2014180704A (ja) ロボットピッキングシステム及び被加工物の製造方法
JP7293267B2 (ja) 情報処理装置、情報処理方法及びロボットシステム
JP2020110885A (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
CN114029961A (zh) 一种机械臂高精度传动的机器人控制方法及系统
JP2005309990A (ja) 経路設定方法
JP6825026B2 (ja) 情報処理装置、情報処理方法及びロボットシステム
JP2016159406A (ja) ロボット制御装置、ロボット制御方法及びロボットシステム
WO2022201362A1 (ja) ロボット制御装置、ロボット制御プログラムおよびロボット制御方法
JP5629883B2 (ja) 形状測定装置、形状測定方法及び形状測定プログラム
TW202132071A (zh) 機器人控制裝置、機器人控制方法以及學習模型產生裝置
JP7180696B2 (ja) 制御装置、制御方法およびプログラム
JP7401682B2 (ja) ロボットシステム
JP7436675B2 (ja) ロボット制御装置
JP7351672B2 (ja) 移動経路生成装置
JP2000112510A (ja) ロボットの教示方法及びその装置
US20230001574A1 (en) Operation Parameter Adjusting Method And Operation Parameter Adjusting Device For Adjusting Operation Parameters Of Robot
JP2020110884A (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム

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: 21932972

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023508261

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202180093362.8

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112021007395

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21932972

Country of ref document: EP

Kind code of ref document: A1