WO2023037456A1 - シミュレーション装置 - Google Patents

シミュレーション装置 Download PDF

Info

Publication number
WO2023037456A1
WO2023037456A1 PCT/JP2021/033044 JP2021033044W WO2023037456A1 WO 2023037456 A1 WO2023037456 A1 WO 2023037456A1 JP 2021033044 W JP2021033044 W JP 2021033044W WO 2023037456 A1 WO2023037456 A1 WO 2023037456A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
motion
area
permissible
region
Prior art date
Application number
PCT/JP2021/033044
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 JP2023546635A priority Critical patent/JPWO2023037456A1/ja
Priority to PCT/JP2021/033044 priority patent/WO2023037456A1/ja
Priority to CN202180102030.1A priority patent/CN117957096A/zh
Priority to DE112021007790.2T priority patent/DE112021007790T5/de
Priority to TW111130602A priority patent/TW202310995A/zh
Publication of WO2023037456A1 publication Critical patent/WO2023037456A1/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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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

Definitions

  • the present invention relates to a simulation device.
  • Patent Document 1 describes "a setting means for setting the operating range of each axis of the robot and the working tool, and the operating speed of the robot and the weight of the working tool. storage means for storing the coasting distance; and reach-range calculation means for calculating the reach range of the robot based on the operating range set by the setting means and the coasting distance stored in the storage means.
  • the robot control device equipped is described (abstract).
  • Patent Literature 2 describes, "An arm occupied area including works and tools provided on the arm and wrist of a robot, and an operation prohibition area in which the arm must not enter are defined on the memory, and an operation command to the next target position is issued. Estimate the coasting angle of each axis of the robot when the robot is stopped urgently during execution, and add it to the next target position to obtain the predicted coasting position of the robot. A method of regulating the movement of a robot in which it is confirmed whether or not the robot will enter the space, and if the entry is confirmed, control is performed to stop the movement of the robot immediately” (abstract).
  • the robot or tool in determining whether the robot has left the allowable operation area, the robot or tool is covered with simple shapes such as spheres, cylinders, or rectangular parallelepipeds, and whether or not these shapes deviate from the allowable operation area. to make a decision.
  • the coasting distance is estimated for the current operating position and operating speed of the robot, and the emergency stop is applied at the moment the robot leaves the allowable operation area. By doing so, an emergency stop may be applied in front of the robot so that it does not go out of the allowable operation area.
  • One aspect of the present disclosure is an area setting unit that sets an operation allowable area of a robot, and a control for stopping the robot when the robot deviates from the operation allowable area.
  • the simulation apparatus includes an estimation unit that estimates a motion, and a visualization unit that visualizes a portion of the robot that deviates from the motion allowable region based on the estimated motion of the robot.
  • Another aspect of the present disclosure is an area setting unit that sets an operation prohibited area for a robot, and the robot when the robot is controlled to stop due to the robot entering the operation prohibited area. and a visualization unit that visualizes the portion of the robot that has entered the motion prohibited area based on the estimated motion of the robot.
  • FIG. 1 is a perspective view of a robot 1 to be simulated by a simulation device according to one embodiment;
  • FIG. It is a figure which shows the hardware structural example of a simulation apparatus.
  • It is a functional block diagram of a simulation device.
  • 10 is a basic flow chart showing processing for visualizing a portion where the robot deviates from the motion-permissible region (portion where the robot enters the motion-prohibited region), which is executed on the simulation apparatus; It is a flowchart showing the specific example of the estimation operation
  • FIG. 10 is a diagram showing an example in which a motion permissible area is a rectangular parallelepiped and grid points are set as reference points on its outer surface;
  • FIG. 10 is a diagram showing an example in which a motion permissible region is spherical and reference points are set on its outer surface;
  • FIG. 4 is a diagram showing a state in which the robot is linearly moved toward a reference point;
  • FIG. 10 is a diagram showing an example of a table showing the relationship between the speed and weight of the tool immediately before the start of coasting, and the amount of coasting of the shaft;
  • FIG. 9 is a diagram showing an example of visualizing a state in which the robot deviates from the allowable operation area and stops after the operation shown in FIG. 8;
  • FIG. 10 is a diagram showing a state in which the robot moves toward a reference point in a tool orientation in which the direction of the ⁇ X axis of the tool coordinate system matches the moving direction of the robot.
  • FIG. 10 is a diagram showing a state in which the robot moves toward a reference point in a tool posture in which the direction of the +Y axis of the tool coordinate system matches the moving direction of the robot;
  • FIG. 10 is a diagram showing a state in which the robot moves toward a reference point in a tool orientation in which the direction of the +Z axis of the tool coordinate system matches the movement direction of the robot;
  • FIG. 4 is a diagram showing states in which various postures of the robot that deviate from the motion allowable region are visualized.
  • FIG. 10 is a diagram showing a state in which installation examples of fences are visualized together with various postures in which the robot deviates from the operation allowable region; This is an example of visualizing a state in which the robot has deviated from the motion-permissible region (or has entered the motion-prohibited region), and represents a state of the robot viewed from the side. This is an example of visualizing a state in which the robot has deviated from the motion-permissible region (or has entered the motion-prohibited region), and shows a state in which the robot is seen obliquely from above.
  • FIG. 10 is a diagram for explaining a state in which the robot mounted on the running platform deviates from the operation permissible region;
  • FIG. 17 is a diagram for explaining an example in which the robot mounted on the platform deviates from the operation allowable region and the posture of the robot is different from that in FIG. 16;
  • a simulation device 50 (see FIGS. 2 and 3) according to one embodiment will be described below.
  • the simulation apparatus 50 simulates the motion of the robot, and when the robot deviates from the permissible motion region and is stopped, the portion of the robot that deviates from the permissible motion region or the motion prohibited region of the robot is detected. Visualize the portion of the robot that intrudes into the operation prohibited area when the robot is stopped.
  • FIG. 1 is a perspective view of the robot 1 to be simulated by the simulation device 50 as an example.
  • the robot 1 is an articulated robot including arms 12a and 12b, a wrist 16, and a plurality of joints 13. As shown in FIG. A work tool 17 as an end effector is attached to the wrist 16 of the robot 1 .
  • the robot 1 includes a drive device that drives components at respective joints 13 .
  • the drive includes a motor 14 that drives the components within the articulation 13 . By driving the motor 14 in each joint 13 based on the position command, the arms 12a and 12b and the wrist 16 can be placed in desired positions and postures.
  • the robot 1 also includes a base portion 19 fixed to the installation surface 20 and a turning portion 11 that rotates with respect to the base portion 19 . In this example, the robot 1 is assumed to be a 6-axis robot. , 96 .
  • the work tool 17 attached to the wrist 16 of the robot 1 is a welding gun for performing spot welding, but is not limited to this, and various tools can be attached as the work tool 17 according to the work content. .
  • a model representing the shape of the robot or work tool itself may be used to calculate the deviation from the operation allowable area or the interference with the operation prohibited area.
  • the shape covering the robot 1 may be denoted by 1M and referred to as the robot 1M (see FIG. 6, for example).
  • the simulation device 50 provides a processor 51 with an operation input device such as a memory 52 (ROM, RAM, non-volatile memory, etc.), a display unit 53, and a keyboard (or software keys). It may have a general computer configuration in which the unit 54, the storage device 55 (HDD or the like), the input/output interface 56 and the like are connected via a bus.
  • a personal computer, a notebook computer, a tablet terminal, and other various information processing devices can be used.
  • FIG. 3 is a functional block diagram of the simulation device 50.
  • the simulation device 50 has an area setting section 151 , a reference point setting section 152 , an estimation section 153 and a visualization section 154 .
  • FIG. 3 also shows a display unit 53, an operation unit 54, and a storage device 55 as hardware components.
  • the area setting unit 151 provides a function of setting an operation permitted area or an operation prohibited area.
  • the area setting unit 151 receives an operation for setting or selecting an operation permitted area or an operation prohibited area by a user operation.
  • the region setting unit 151 defines one or a plurality of regions (a region covered with a flat surface such as a rectangular parallelepiped or a polygonal prism, a region covered with a curved surface such as a sphere, etc.) in the work space. Accepts an operation to set a prohibited area.
  • the user can obtain the desired motion permitted regions or motion prohibited regions.
  • a region may be set.
  • the area setting unit selects from a plurality of types of operation allowable areas prepared in advance (for example, an operation allowable area when the machine tool door is closed and an operation allowable area when the machine tool door is open). It may be configured to receive a user operation to select.
  • the reference point setting unit 152 sets a position used as a calculation reference when simulating a motion of the robot 1 deviating from the motion-permissible region (or a motion of the robot 1 entering the motion-prohibited region).
  • the reference point can be used as a target position, intermediate position, motion start position, etc. when the robot 1 (control point) is simulated.
  • the reference points may be set as a set of points distributed on the outer surface (boundary surface) of the motion permitted area or the motion prohibited area. If the motion-permissible region (motion-prohibited region) is set as a rectangular parallelepiped, the reference points may be set as grid points on each plane.
  • the reference point setting unit 152 may, for example, receive a user operation for setting intervals between lattice point-like reference points and set the reference points. Alternatively, the reference point setting unit 152 may automatically set the reference point.
  • the estimating unit 153 determines the motion when the robot 1 is stopped because the robot 1 has deviated from the motion-allowed region, or when the robot 1 is stopped because the robot 1 has entered the motion-prohibited region. to estimate the behavior of For example, the estimating unit 153 obtains a portion where the robot 1 deviates from the allowable operation area by performing a simulation operation in which the control point (for example, TCP (tool center point)) of the robot 1 moves toward the reference point.
  • TCP tool center point
  • the visualization unit 154 visualizes the part that deviates from the motion-permissible area of the robot 1 or the part that enters the motion-prohibited area, for example, by displaying it on the display unit 53 .
  • the storage device 55 stores various three-dimensional shape data such as robot models used for simulation operations and shape models covering the robot, and weight data of various objects such as arms and work tools.
  • FIG. 4 shows the basics representing the processing (hereinafter also referred to as visualization processing) for visualizing the portion of the robot 1 that deviates from the motion-permissible region (the portion that enters the motion-prohibited region), which is executed on the simulation device 50. It is a flow chart.
  • the visualization processing in FIG. 4 is executed under the control of the processor 51 of the simulation device 50.
  • the user first generates an operation program by giving various instructions to the robot 1 (step S1).
  • an operation permitted area or an operation prohibited area is set with the assistance of the function of the area setting unit 151 (step S2).
  • a rectangular parallelepiped motion permissible region 300 as shown in FIG. 6 or a spherical motion permissible region 400 as shown in FIG. 7 is set.
  • the simulation device 50 (estimating unit 153) simulates the robot 1 when the robot 1 is stopped by deviating from the operation permitted area (when the robot 1 is stopped by entering the operation prohibited area). 1 is estimated (step S3).
  • the simulation device 50 visualizes the portion that deviates from the motion-permissible region of the robot 1 (or the portion that has entered the motion-prohibited region of the robot 1) (step S4).
  • a reference point is a position used as a reference when making the robot 1 perform an operation that deviates from the operation allowable area. This is a representative example.
  • the reference points may be set as lattice points arranged for a predetermined period on each plane of the outer surface of the motion permissible region as described below.
  • FIG. 6 shows a state in which a plurality of reference points 331 are set as lattice points on the outer surface (three planes 301 to 303) of the motion permissible area 300 formed in a rectangular parallelepiped.
  • the motion permissible region is spherical as shown in FIG.
  • the reference points can be set as uniformly distributed points on the spherical outer surface (boundary surface).
  • FIG. 7 shows an example in which a plurality of reference points 411 are set so as to be uniformly distributed on the outer surface of an operation permissible area 400 set in a spherical shape.
  • (A2) Posture of Work Tool The shape and trajectory of the portion of the robot that deviates from the permissible motion region changes depending on the posture of the work tool when deviating from the permissible motion region (that is, when heading toward the reference point). Therefore, when making the robot 1 perform a certain action and visualizing the deviating portion, the simulation results can be made more effective by performing a plurality of postures of the work tool.
  • each of the ⁇ directions of the X axis, the ⁇ direction of the Y axis, and the ⁇ direction of the Z axis of the tool coordinate system set in the work tool may be performed for a plurality of tool postures that match the motion direction of the robot 1 .
  • tool poses can also be added by rotating about one or more of the X, Y and Z axes.
  • Robot motion commands include a linear motion that moves the control point (TCP) of the robot linearly to the target position, and an axis motion that moves each axis to reach the target position.
  • Linear motion can be suitably used when simulating a motion in which a control point (TCP) of a robot is moved toward a reference point at a predetermined speed and in a predetermined direction.
  • each axis operation can be suitably adopted when performing a simulation in which each axis is operated at its maximum speed from a reference point.
  • the shape/trajectory of the portion of the robot 1 that deviates from the allowable motion area may vary depending on the speed/direction of the robot 1 toward the reference point.
  • the motion permissible region is a rectangular parallelepiped.
  • TCP control point
  • the moving direction of the TCP is set perpendicular to the plane that is the outer surface of the motion permissible area in which the grid point exists, and the motion speed is maximized. is considered to be effective in maximizing the deviation part.
  • the direction of movement of the TCP is inclined with respect to the outer surface (plane) (for example, the direction of movement of the TCP is set in the direction from the geometric center of the permissible operation area toward the corner). approximation) would be effective in maximizing the deviation.
  • the estimating unit 153 may consider the matters described above when obtaining the deviation portion (intrusion portion).
  • the speed and angle of the robot 1 heading toward the grid point may be set to arbitrary values, for example, considering the properties of the work space.
  • (A5) Type of stop control Assuming that the robot 1 is stopped after detection of the robot 1 deviating from the operation allowable area (intrusion into the operation prohibited area), coasting due to an emergency stop is assumed. In addition, it is assumed that the motor is stopped by a predetermined deceleration control. When calculating the coasting motion due to an emergency stop, the extent to which each axis of the robot 1 coasts in the event of an emergency stop is obtained in advance. If predetermined deceleration control is performed when the robot 1 deviates from the motion-permissible region (enters the motion-prohibited region), the robot 1 deviates from the motion-permissible region according to the deceleration control pattern of the deceleration control. It is possible to determine the action in case (intrusion into the action prohibited area). It should be noted that the predetermined deceleration control may include control in which a trajectory for smoothly stopping the robot 1 is planned and the robot 1 is moved along the trajectory.
  • FIG. 5 is a flowchart showing a specific example of the estimation operation by the estimation unit 153 in step S3.
  • the motion permissible region is set as a rectangular parallelepiped
  • the reference points are set as lattice points on each plane on the outer surface of the motion permissible region.
  • step S31 the simulation apparatus 50 (reference point setting unit 152) places a portion deviating from the motion permitted region of the robot 1 on the surface (outer surface) covering the motion permitted region or the motion prohibited region, or entering the motion prohibited region.
  • Set a grid point as a reference point when calculating the part that has been cut.
  • the simulation apparatus 50 (reference point setting unit 152) accepts an operation input from the user to specify the grid point spacing, and sets grid points at the specified spacing on the surface covering the motion permitted area or motion prohibited area. You can
  • Reference points (lattice points) 331 are set at designated intervals on six planes (three planes 301 to 303 are shown in FIG. 6) forming the outer surface of the motion permissible area 300. shall be
  • step S32 the simulation device 50 (estimating unit 153) sets the posture of the work tool when the robot 1 moves toward the lattice points. Then, the estimating unit 153 obtains the movement of the robot 1 from the grid point until it deviates from the movement-allowed region and stops (or the movement from the lattice point until the robot 1 enters the movement-prohibited region and stops). step S33).
  • the estimating unit 153 repeatedly executes the operations in steps S32 and S33 for all lattice points (loop processing in step S34), and repeatedly executes them for various tool orientations (loop processing in step S35).
  • steps S32 to S35 A specific operation example in steps S32 to S35 will be described.
  • the coasting distance increases when the robot 1 jumps out at the maximum speed in the direction perpendicular to the outer surface of the operation permissible area 300 . Therefore, in this case, the robot 1 is operated linearly at the maximum speed so that the TCP advances in a direction perpendicular to the surface on which the lattice points are placed (the outer surface of the operation permissible region) toward the lattice points, and the motion permissible region Estimate each stop position when the robot jumps out, and visualize the part that protrudes from the operation allowable area.
  • the stopping operation it is assumed that after the robot 1 (robot 1M) is detected to be out of the allowable operation area, an emergency stop operation is performed and the robot 1 coasts to a stop.
  • the tool orientation it is assumed that there are three orientations in which each of the ⁇ X-axis direction, +Y-axis direction, and +Z-axis direction of the tool coordinate system coincides with the direction in which the TCP faces the grid point.
  • the -X-axis direction of the tool coordinate system set for the work tool 17 is matched with the movement direction of the TCP (origin of the tool coordinate system) of the robot 1.
  • FIG. The robot 1 in the posture 101 is moved in a straight line toward the reference point (lattice point) 331 in the direction perpendicular to the surface of the motion permissible area 300 at the maximum speed of the robot 1 (TCP) in the -X-axis direction. make it work.
  • a posture 102 is a posture at the moment when the robot 1 (robot 1M) exits the motion permissible area 300 .
  • the robot 1 (robot 1M) jumps out of the motion permissible region 300 at a position P1 near the tip of the arm. Obtain the attitude (angle) of each axis at this moment. Further, from the posture 102, each axis posture at a position subtracted by a very small distance (in this case, the +X direction of TCP) is obtained. The value of the difference obtained by subtracting the latter axis attitude from the former axis attitude is the ratio of the movement speed of each axis of the robot 1 at the moment when the robot moves out of the movement allowable region 300 in linear movement. As an example, the robot 1 is a 6-axis robot, and the ratio of operating speeds obtained here is as follows for the J1 axis to the J6 axis: m1:m2:m3:m4:m5:m6 Suppose that
  • the operating speed of each axis of the robot 1 at the moment when the robot 1 moves linearly at the maximum possible speed and exits the allowable operation area 300 is obtained. can be done. That is, if the value of the speed ratio of each axis is multiplied by n, the value of one of the axes will be the maximum operating speed of that axis, and the value of the other axis will be below the maximum operating speed. good.
  • the value of the J6 axis (n ⁇ m6) becomes the maximum speed of the J6 axis, and the values of the other axes (n ⁇ m1), (n ⁇ m2), (n xm3), (nxm4), and (nxm5) are equal to or less than the respective maximum velocities of these axes. This is the operating speed of each axis at the moment it appears.
  • the operating speed of each axis it is possible to determine the position where the robot 1 coasts and stops. It can be considered that the amount of coasting of each axis of the robot 1 has a relationship with the weight of the work tool 17 and the speed just before the start of coasting for each axis.
  • the relationship between the amount of coasting of each axis, the speed immediately before the start of coasting, and the weight of the tool is obtained in advance by experiment or the like.
  • the simulation device 50 pre-stores, for example, in the storage device 55 information representing the relationship between the amount of coasting of each axis, the speed immediately before the start of coasting, and the weight of the work tool 17 .
  • FIG. 9 shows a table representing the coasting amount (change amount) of the drive axis when the robot 1 is brought to an emergency stop with respect to one drive axis.
  • This table shows the amount of change in the drive axis when an emergency stop is made while the robot 1 is being driven in a predetermined direction and at a predetermined operating speed on one drive axis. .
  • the amount of change in the drive shaft corresponds to the rotation angle from when the emergency stop is implemented until the robot 1 is completely stopped.
  • the amount of change in the drive shaft is a function of the operating speed of the drive shaft immediately before the emergency stop and the weight of the work tool. The heavier the work tool, the greater the amount of change in the drive shaft after the emergency stop. Further, the greater the operating speed of the drive shaft when the emergency stop is implemented, the greater the amount of change in the drive amount.
  • the amount of change in the driving amount shown in FIG. 9 may be obtained in advance by actually driving the robot 1 .
  • the simulation device 50 has a table as shown in FIG. 9 for each drive axis.
  • the estimation unit 153 of the simulation device 50 obtains from the table that the coasting amount (angle) of the axis is 8 degrees. Then, the estimating unit 153 calculates the amount of coasting for each axis from the speed at the start of coasting for each axis obtained by the above-described method, based on the relationship shown in FIG. Ask for Thereby, the estimation unit 153 can acquire the movement of the robot 1 until the robot 1 coasts and stops due to the emergency stop.
  • FIG. 10 shows an example of a visualized state in which the robot 1 deviates from the allowable motion area 300 and stops, obtained by the above motion.
  • a state in which the work tool 17 and the arm tip of the robot 1 (the shapes of which are simplified) deviates from the outer surface of the operation permissible region 300 is visualized as a posture 103 .
  • the state in which the robot 1 stops is visualized is described here, it is also possible to visualize the motions until the robot 1 stops.
  • the simulation device 50 visualizes the portion of the robot 1 that deviates from the motion-permissible region 300 (or enters the motion-prohibited region), as described above, for all grid points.
  • the estimation unit 153 visualizes the portion of the robot 1 that deviates from the motion permissible region 300 (or the portion that enters the motion prohibited region) for all tool postures.
  • the estimating unit 153 uses, as the posture of the tool, - Movement of the robot 1 (TCP 111) toward the reference point (lattice point) 331 in a tool orientation in which the direction of the -X axis of the tool coordinate system matches the moving direction of the robot 1 (TCP 111) (Fig. 11A), - Movement of the robot 1 (TCP 111) toward the reference point (lattice point) 331 in a tool orientation in which the direction of the +Y axis of the tool coordinate system matches the movement direction of the robot 1 (TCP 111) (Fig.
  • FIG. 12 shows an example of visualizing all postures of the robot 1 (robot 1M) deviating from the motion permissible region 300 by the simulation motion described with reference to steps S31 to S35 above.
  • a simulation result as shown in FIG. 12 is displayed on the display unit 53, for example. Based on this simulation result, the user can determine the placement of the safety fences F1 and F2 with the placement relationship shown in FIG. 12, for example.
  • the estimating unit 153 determines the safety fence F10 based on the simulation result. Arrangement may be requested. Then, the visualization unit 154 may visualize the placement of the safety fence obtained by the estimation unit 153 . As an example, the position of the safety fence F10 may be determined so as to have a predetermined margin with respect to the maximum protruding amount of the robot 1 (robot 1M) from each surface of the motion permissible area 300.
  • FIGS. 14 and 15 show an example of visualizing a state in which the robot 1M has deviated from the allowable motion area and stopped by the above-described visualization processing.
  • 14 shows an example of visualization when the robot 1M is viewed from the side
  • FIG. 15 shows an example of visualization when the robot 1 is viewed obliquely from above.
  • the shape covering the robot 1 is omitted.
  • the arm tip 1A of the robot 1 deviates from the allowable motion range. If the space 500 excluding the motion permissible region 300 is defined as the motion prohibited region, FIGS. 14 and 15 represent the state in which the robot 1 (robot 1M) has entered the motion prohibited region (space 500).
  • the robot 1 may be mounted on a running platform other than when it is fixed on the installation surface 20 as shown in FIG. 16 and 17, the process of visualizing the portion deviating from the operation permissible region when the robot 1 is movably mounted on the platform will be described.
  • the moving mechanism 180 has a rail 181 , a running stand 182 movably mounted on the rail 181 , and a motor 183 for driving the running stand 182 .
  • the robot 1 (robot 1M) is mounted on the platform 182 .
  • FIG. 16 also illustrates an operation permissible region 300A set in the case of this configuration.
  • the robot 1 robot 1M moves toward the reference point set on the left screen surface (hereinafter referred to as the front surface) of the operation permissible area 300A as illustrated in steps S31 to S35.
  • the running platform 182 is moved leftward (forward) in the drawing.
  • the deviation of the tip of the arm of the robot 1 from the motion permissible region 300 is detected at the position P21. From this moment, assuming that the robot 1 and the carriage 182 are brought to an emergency stop, the motion of the portion of the robot 1 that deviates from the motion permissible region 300 due to coasting is obtained.
  • the coasting amount of the robot 1 the coasting amount of each axis can be obtained by the calculation method using the table shown in FIG. 8 as described above.
  • the coasting distance in this case can be obtained by previously obtaining the relationship between the load weight and the coasting distance as, for example, numerical data (table). Then, by adding the coasting distance of the platform 182 to the coasting amount of the robot 1, the movement of the portion that deviates from the movement allowable region 300 is obtained.
  • FIG. 17 shows an example in which the robot 1 mounted on the platform 182 jumps out of the operation permissible area 300A at position P22.
  • the position of the platform 182 when the robot 1 jumps out of the permissible operation area 300 is different from the position of the platform 182 in the case of FIG.
  • the posture is different from that shown in 16 .
  • an image obtained by visualization processing may be displayed on a display unit of a device external to the simulation device 50 .
  • the three-dimensional shape data, the weight data, the table shown in FIG. 9, and the like may be acquired by the simulation device 50 from an external device.
  • the functional blocks of the simulation device shown in FIG. 3 may be realized by the processor of the simulation device executing various software stored in a storage device, or by hardware such as ASIC (Application Specific Integrated Circuit). It may be realized by a configuration mainly composed of
  • the program for executing various processes such as the visualization process in the above-described embodiment is stored in various computer-readable recording media (eg, ROM, EEPROM, semiconductor memory such as flash memory, magnetic recording medium, CD-ROM, DVD- can be recorded on an optical disc such as a ROM).
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • semiconductor memory such as flash memory
  • magnetic recording medium CD-ROM
  • DVD- can be recorded on an optical disc such as a ROM.
  • Reference Signs List 1 1M robot 11 swivel part 12a, 12b arm 13 joint part 14 motor 16 wrist part 17 work tool 19 base part 20 installation surface 50 simulation device 51 processor 52 memory 53 display part 54 operation part 55 storage device 56 input/output interface 111 TCP 151 area setting unit 152 reference point setting unit 153 estimation unit 154 visualization unit 180 moving mechanism 181 rail 182 running platform 183 motor 300, 400 operation allowable area 331, 411 reference points F1, F2, F10 safety fence

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

ロボットの動作許容領域を設定する領域設定部(151)と、ロボットが動作許容領域を逸脱したことによりロボットに対し停止するための制御が掛けられた場合のロボットの動作を推定する推定部(153)と、推定されたロボットの動作に基づいて、ロボットの動作許容領域から逸脱した部分を可視化する可視化部(154)と、を備えるシミュレーション装置(50)である。

Description

シミュレーション装置
 本発明は、シミュレーション装置に関する。
 一般にロボットシステムでは、ロボットが周辺機器等と官署することがないように、ロボットに動作許容領域を設定してロボットがその動作許容領域から出ないようにし、また、動作許容領域の外側には安全防護柵を配置することが行われる。ロボットの動作範囲の作成に関し、特許文献1は、「ロボットの各軸および作業ツールの動作範囲を設定する設定手段と、ロボットの動作速度および作業ツールの重量のうち少なくとも一方に応じて定まるロボットの惰走距離を記憶する記憶手段と、該設定手段により背呈された動作範囲と記憶手段に記憶された惰走距離とに基づいて、ロボットが到達する到達範囲を算出する到達範囲算出手段とを具備するロボット制御装置」を記載する(要約書)。
 特許文献2は、「ロボットのアーム及び手首に備えたワークやツールを含めたアーム占有領域と、アームが進入してはならない動作禁止領域をメモリ上に定義し、次回目標位置への動作指令を実行中にロボットを緊急停止した場合のロボット各軸の惰走角度を推定し、次回目標位置に加算することでロボットの惰走予測位置を求め、惰走予測位置におけるアーム占有領域が動作禁止領域に進入しないかを確認し、進入が確認された場合に、直ちにロボットの動作を停止する制御を行なうという手順で処理するロボット動作規制方法」を記載する(要約書)。
特開2009-090403号公報 再公表特許2009/072383号
 一般に、ロボットが動作許容領域を出たか否かの判定においては、ロボットやツールを球、円柱、又は直方体などの単純な形状で覆って、これらの形状体が動作許容領域を逸脱したか否かの判定を行うようにする。ロボットが動作許容領域を逸脱したか否かの判定に関しては、ロボットが動作許容領域から出た瞬間に非常停止を掛ける場合と、現在のロボットの動作位置・動作速度に対して惰走距離を推定することで、ロボットが動作許容領域から出ないように手前で非常停止を掛ける場合がある。
 ロボットが動作許容領域から出た瞬間に非常停止を掛ける場合、非常停止を掛けてから実際に停止するまでロボットが惰走するため、ロボットが動作許容領域から飛び出した位置で停止する。そのため、設定した動作許容領域よりある程度広い範囲を柵で覆う必要があるが、どの程度の余裕をもって柵で覆えばよいかを把握することは一般に難しいため、不必要に広い範囲を覆ってしまうことがある。
 本開示の一態様は、ロボットの動作許容領域を設定する領域設定部と、前記ロボットが前記動作許容領域を逸脱したことにより前記ロボットに対し停止するための制御が掛けられた場合の前記ロボットの動作を推定する推定部と、推定された前記ロボットの動作に基づいて、前記ロボットの前記動作許容領域から逸脱した部分を可視化する可視化部と、を備えるシミュレーション装置である。
 本開示の別の態様は、ロボットの動作禁止領域を設定する領域設定部と、前記ロボットが前記動作禁止領域に侵入したことにより前記ロボットに対し停止するための制御が掛けられた場合の前記ロボットの動作を推定する推定部と、推定された前記ロボットの動作に基づいて、前記ロボットの前記動作禁止領域に侵入した部分を可視化する可視化部と、を備えるシミュレーション装置である。
 上記構成によれば、ロボットが動作許容領域から逸脱する部分、或いは、ロボットが動作禁止領域に侵入する部分を可視化して、適切な位置に柵を設置することが可能になる。
 添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
一実施形態に係るシミュレーション装置によるシミュレーションの対象となるロボット1の斜視図である。 シミュレーション装置のハードウェア構成例を示す図である。 シミュレーション装置の機能ブロック図である。 シミュレーション装置上で実行される、ロボットが動作許容領域から逸脱する部分(動作禁止領域に侵入する部分)を可視化するための処理を表す基本フローチャートである。 基本フローチャートのステップS3における推定動作の具体例を表すフローチャートである。 動作許容領域を直方体状としその外面上に基準点としての格子点を設定した例を表す図である。 動作許容領域を球形とし、その外面上に基準点を設定した例を表す図である。 ロボットを基準点に向かって直線動作させる状態を表す図である。 惰走開始直前の速度及びツールの重量と、軸の惰走量との関係を表すテーブルの例を表す図である。 図8に示す動作の後、ロボットが動作許容領域を逸脱して停止した状態を可視化した例を示す図である。 ツール座標系の-X軸の方向がロボットの移動方向と一致するツール姿勢で、ロボットが基準点に向かう状態を表す図である。 ツール座標系の+Y軸の方向がロボットの移動方向と一致するツール姿勢で、ロボットが基準点に向かう状態を表す図である。 ツール座標系の+Z軸の方向がロボットの移動方向と一致するツール姿勢で、ロボットが基準点に向かう状態を表す図である。 ロボットが動作許容領域から逸脱する様々な姿勢を可視化した状態を表す図である。 ロボットが動作許容領域から逸脱する様々な姿勢と共に柵の設置例を可視化した状態を示す図である。 ロボットが動作許容領域から逸脱した状態(或いは、動作禁止領域に侵入した状態)を可視化した例であり、ロボットを側方から見た状態を表す。 ロボットが動作許容領域から逸脱した状態(或いは、動作禁止領域に侵入した状態)を可視化した例であり、ロボットを斜め上方から見た状態を表す。 走行台に搭載されたロボットが動作許容領域から逸脱する状態を説明するための図である。 走行台に搭載されたロボットが動作許容領域から逸脱する状態であって、ロボットの姿勢が図16の場合と異なる例を説明するための図である。
 次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
 以下、一実施形態に係るシミュレーション装置50(図2、図3参照)について説明する。本実施形態に係るシミュレーション装置50は、ロボットの動作シミュレーション行うことにより、ロボットが動作許容領域から逸脱し停止が掛けられる場合における当該ロボットの動作許容領域から逸脱する部分、或いは、ロボットが動作禁止領域に侵入し停止が掛けられる場合における当該ロボットの動作禁止領域に侵入する部分を可視化する。
 図1は、例示として、シミュレーション装置50によるシミュレーションの対象となるロボット1の斜視図である。ロボット1は、アーム12a、12b、手首部16、および複数の関節部13を含む多関節ロボットである。ロボット1の手首部16には、エンドエフェクタとしての作業ツール17が取り付けられている。ロボット1は、それぞれの関節部13にて構成部材を駆動する駆動装置を含む。駆動装置は、関節部13内において構成部材を駆動するモータ14を含む。各関節部13におけるモータ14を位置指令に基づき駆動することにより、アーム12a、12bおよび手首部16を所望の位置・姿勢にすることができる。また、ロボット1は、設置面20に固定されているベース部19と、ベース部19に対して回転する旋回部11とを備える。本例では、ロボット1は6軸ロボットであるとし、図1においてJ1軸、J2軸、J3軸、J4軸、J5軸、J6軸の回転方向を、それぞれ矢印91、92、93、94、95、96により示している。
 ロボット1の手首部16に取り付けられた作業ツール17は、スポット溶接を行うための溶接ガンであるが、これに限られず、作業ツール17としては作業内容に応じて様々なツールを取り付けることができる。
 一般に、ロボットの動作許容領域からの逸脱や動作禁止領域との干渉を演算処理により検出する場合、演算処理の負担軽減やマージン確保の観点から、ロボットのアーム部、関節部、作業ツール等を、円柱、球、直方体等の単純化した形状で覆い、これらの形状が動作禁止領域を逸脱したか或いは動作禁止領域と干渉したかを求めるようにすることが多い。本実施形態においても、ロボット1のアーム部(アーム12a、12b)、関節部13、作業ツール17を、それぞれ、円柱、球、直方体の形状で覆って、動作許容領域からの逸脱や動作禁止領域との干渉を演算するものとするが、ロボット、作業ツール自体の形状を表すモデルを用いて動作許容領域からの逸脱や動作禁止領域との干渉を演算しても良い。なお、ロボット1を覆う形状に符号1Mを付し、ロボット1Mと称する場合もある(例えば、図6参照)。
 図2にシミュレーション装置50のハードウェア構成例を示す。図2に示すように、シミュレーション装置50は、プロセッサ51に対して、メモリ52(ROM、RAM、不揮発性メモリ等)、表示部53、キーボード(或いはソフトウェアキー)等の入力装置により構成される操作部54、記憶装置55(HDD等)、入出力インタフェース56等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。シミュレーション装置50として、パーソナルコンピュータ、ノートブック型コンピュータ、タブレット端末、その他の各種情報処理装置を用いることができる。
 図3は、シミュレーション装置50の機能ブロック図である。図3に示すように、シミュレーション装置50は、領域設定部151と、基準点設定部152と、推定部153と、可視化部154とを有する。なお、図3には、ハードウェア構成要素としての、表示部53、操作部54、及び記憶装置55も図示している。
 領域設定部151は、動作許容領域又は動作禁止領域を設定する機能を提供する。例えば、領域設定部151は、ユーザ操作による動作許容領域或いは動作禁止領域の設定或いは選択のための操作を受け付ける。例えば、領域設定部151は、作業空間内に、1又は複数の領域(直方体、多角柱などの平面で覆われた領域、球のように曲面で覆われた領域など)を動作許容領域或いは動作禁止領域として設定する操作を受け付ける。ユーザは、作業内容や、作業空間内に配置された周辺装置等の各種物体に配慮して動作許容領域或いは動作禁止領域の数、サイズ等を指定することで、所望の動作許容領域或いは動作禁止領域を設定しても良い。或いは、領域設定部は、予め準備された複数種類の動作許容領域(例えば、工作機械のドアが閉じている場合の動作許容領域と、工作機械のドアが開いている場合の動作許容領域)から選択するユーザ操作を受け付けるように構成されていても良い。
 基準点設定部152は、ロボット1が動作許容領域から逸脱する動作(或いはロボット1が動作禁止領域へ侵入する動作)をシミュレーションする場合の計算の基準とする位置を設定する。基準点は、ロボット1(制御点)を模擬的に動作させる場合の目標位置、経由位置、動作開始位置等として用いることができる。例えば、基準点は、動作許容領域或いは動作禁止領域の外面(境界面)上に分布する点の集合として設定しても良い。動作許容領域(動作禁止領域)が直方体に設定されている場合には、基準点は、各平面上の格子点として設定しても良い。基準点設定部152は、例えば、格子点状の基準点の間隔を設定するユーザ操作を受け付けて、基準点を設定するようにしても良い。或いは、基準点設定部152は、基準点を自動的に設定しても良い。
 推定部153は、ロボット1が動作許容領域を逸脱したことによりロボット1に対し停止が掛けられる場合の動作、或いは、ロボット1が動作禁止領域に侵入したことによりロボット1に対し停止が掛けられる場合の動作を推定する。例えば、推定部153は、ロボット1の制御点(例えば、TCP(ツールセンターポイント))が基準点に向かうシミュレーション動作をさせることで、ロボット1が動作許容領域から逸脱する部分を求める。
 可視化部154は、ロボット1の動作許容領域から逸脱する部分、或いは、動作禁止領域へ侵入する部分を例えば表示部53に表示することにより可視化する。
 なお、記憶装置55には、シミュレーション動作に用いるロボットモデル、ロボットを覆う形状モデル等の各種の3次元形状データ、アーム、作業ツール等の各種物体の重量データが格納されている。
 図4は、シミュレーション装置50上で実行される、ロボット1が動作許容領域から逸脱する部分(動作禁止領域に侵入する部分)を可視化するための処理(以下、可視化処理とも記載する)を表す基本フローチャートである。図4の可視化処理は、シミュレーション装置50のプロセッサ51による制御の下で実行される。
 ユーザは、まず、ロボット1に対する各種教示を行うことにより動作プログラムを生成する(ステップS1)。次に、領域設定部151の機能による支援の下で、動作許容領域或いは動作禁止領域が設定される(ステップS2)。例示として、ここでは、例えば図6に示すような直方体の動作許容領域300、或いは図7に示すような球形の動作許容領域400が設定される。
 次に、シミュレーション装置50(推定部153)は、ロボット1が動作許容領域を逸脱することにより停止が掛けられる場合(ロボット1が動作禁止領域に新ニュすることにより停止が掛けられる場合)のロボット1の動作を推定する(ステップS3)。
 次に、シミュレーション装置50(可視化部154)は、ロボット1の動作許容領域から逸脱した部分(或いは、ロボット1の動作禁止領域に侵入した部分)を可視化する(ステップS4)。
 ここで、上述のステップS3において実行される、ロボット1が動作許容領域を逸脱する動作(或いは動作禁止領域へ侵入する動作)をシミュレーションする場合の手法について説明する。この場合のシミュレーションを基礎づける要素として、以下の(A1)から(A4)に示すような要素を考慮することができる。これらの要素を考慮、選択してシミュレーションの組み立てることで、様々な特性を有するシミュレーションを実施することができる。以下では、説明の便宜のため、ロボットが動作許容領域を出る場合に関して説明するが、これらの内容はロボットが動作禁止領域に侵入する場合の動作にも同様に適用できる。

(A1)基準点の配置
(A2)作業ツールの姿勢
(A3)ロボットの動作のタイプ
(A4)基準点に向かう速度・方向
(A5)逸脱検出後のロボットの停止制御のタイプ
 要素(A1)から(A5)について、以下、説明する。
(A1)基準点の配置
 基準点は、ロボット1に動作許容領域を逸脱する動作を行わせる際の基準として用いる位置であり、動作許容領域(動作禁止領域)の境界面上に設定するのが代表的な例である。基準点は、図6に示すように動作許容領域が直方体として構成される場合には、動作許容領域の外面の各平面に所定の間下記で配置した格子点として設定しても良い。図6では、直方体に形成された動作許容領域300の外面(3つの平面301-303)上に複数の基準点331が格子点として設定されている状態が示されている。或いは、基準点は、図7に示すように動作許容領域が球形である場合には、球面状の外面(境界面)上に均一に分布する点として設定することもできる。図7には、球形に設定された動作許容領域400の外面上に複数の基準点411が均一に分布するように設定された例が示されている。
(A2)作業ツールの姿勢
 ロボットの動作許容領域を逸脱する部分の形状・軌跡は、動作許容領域を逸脱する際(つまり、基準点に向かうときの)作業ツールの姿勢に依存して変化する。したがって、ロボット1にある動作をさせて逸脱部分を可視化する場合には、複数の作業ツールの姿勢で行うことがシミュレーション結果をいっそう有効なものとし得る。例えば、ロボットのTCPを基準点に向かって直線的に移動させる動作を行う場合に、作業ツールに設定したツール座標系のX軸の±方向、Y軸の±方向、Z軸の±方向の各々が、ロボット1の動作方向と一致するような複数のツール姿勢についてシミュレーションを行っても良い。また、これに加えて、X軸、Y軸、Z軸の1以上の軸の周りで回転させることによるツール姿勢を加えることもできる。
(A3)ロボットの動作指令のタイプ
 ロボットの動作指令には、ロボットの制御点(TCP)を目標位置まで直線的に動作させる直線動作と、各軸を動作させて目標位置に到達させる各軸動作とがある。直線動作は、ロボットの制御点(TCP)を基準点に向かって所定の速度、所定の方向で動かすような動作のシミュレーションを行う場合に好適に用い得る。各軸動作は、一例として、基準点から各軸の各々をその最大速度で動作させるようなシミュレーションを行う場合に好適に採用し得る。
(A4)基準点に向かう速度・方向
 ロボット1の動作許容領域を逸脱する部分の形状・軌跡は、基準点に向かうロボット1の速度・方向に依存して変動し得る。例えば、動作許容領域が直方体である場合を想定する。ロボット1の制御点(TCP)を格子点に向かって直線動作で移動させる場合、当該格子点が存在する動作許容領域の外面としての平面に対してTCPの移動方向を面直とし動作速度を最大とするのが、逸脱部分を最大化するのに有効であると考えられる。ただし、動作許容領域のコーナーに近い部分では、TCPの移動方向を外面(平面)に対して傾斜させる(例えば、TCPの移動方向を動作許容領域の幾何学的中心から当該コーナー部分に向かう方向に近づける)ことが、逸脱部分を最大化するのに有効となると考えられる。なお、ここで述べた事項は、進入禁止領域への侵入部分を求める場合にも当てはまる。推定部153は、逸脱部分(侵入部分)を求める場合に、以上で述べた事項を考慮しても良い。なお、格子点に向かうロボット1の速度・角度については、例えば作業空間の性質を考慮して任意の値に設定しても良い。
(A5)停止制御のタイプ
ロボット1の動作許容領域からの逸脱(動作禁止領域への侵入)が検出されてからロボット1を停止させる場合の動作としては、非常停止による惰走を想定する場合の他、所定の減速制御で停止させる倍も想定される。非常停止による惰走の動きを求める場合、非常停止した場合にロボット1の各軸がどの程度、惰走するかを予め求めておく。ロボット1が動作許容領域を逸脱する場合(動作禁止領域に侵入する場合)に、所定の減速制御が行われる場合には、当該減速制御の減速制御パターンから、ロボット1が動作許容領域を逸脱する場合(動作禁止領域に侵入する場合)の動作を求めることができる。なお、所定の減速制御には、ロボット1をスムーズに停止させるための軌道を計画し、それに沿ってロボット1を移動させるような制御も有り得る。
 以下に、上記ステップS3における推定部153による推定動作の具体例を説明する。図5は、ステップS3における推定部153による推定動作の具体例を表すフローチャートである。ここでは、動作許容領域は直方体に設定され、基準点は動作許容領域の外面上の各平面に格子点として設定されているものとする。
 ステップS31において、シミュレーション装置50(基準点設定部152)は、動作許容領域或いは動作禁止領域を覆う面(外面)上に、ロボット1の動作許容領域から逸脱した部分、或いは、動作禁止領域に侵入した部分を計算する場合の基準点としての格子点を設定する。例えば、シミュレーション装置50(基準点設定部152)は、ユーザから格子点の間隔を指定する操作入力を受け付け、動作許容領域或いは動作禁止領域を覆う面上に、指定された間隔で格子点を設定しても良い。
 ここでは、図6に示すような直方体状の動作許容領域300が設定されているものとする。また、基準点(格子点)331は、動作許容領域300の外面を構成する6つの平面(図6には3つの平面301-303を示している)上に、指定された間隔で設定されるものとする。
 ステップS32において、シミュレーション装置50(推定部153)は、ロボット1が格子点に向かって動作する場合の作業ツールの姿勢を設定する。そして、推定部153は、ロボット1が格子点から動作許容領域を逸脱して停止するまでの動作(或いは、ロボット1が格子点から動作禁止領域に侵入して停止するまでの動作)を求める(ステップS33)。
 推定部153は、ステップS32、S33における動作を全ての格子点に関して繰り返し実行すると共に(ステップS34のループ処理)、様々なツール姿勢に関して繰り返し実行する(ステップS35のループ処理)。
 ステップS32~S35における具体的な動作例を説明する。以下で説明する動作例では、ロボット1が、動作許容領域300の外面に対して面直方向に最大速度で飛び出したときに、惰走距離が大きくなると考える。したがって、この場合、格子点に向かって、格子点が乗る面(動作許容領域の外面)に対して面直方向にTCPが進むようにロボット1を直線動作により最大速度で動作させ、動作許容領域を飛び出したときの各停止位置を推定し、動作許容領域からはみ出した部分を可視化する。停止動作としては、ロボット1(ロボット1M)の動作許容領域からの逸脱が検出されてから、非常停止動作が行われロボット1は惰走して停止する場合を想定する。ツール姿勢に関しては、ツール座標系の-X軸方向、+Y軸方向、+Z軸方向の各々が、TCPが格子点に向かう方向と一致する3通りの姿勢による動作を想定する。
 図8に示すように、作業ツール17に設定されたツール座標系の-X軸方向を、ロボット1のTCP(ツール座標系の原点)の移動方向と一致させる。この姿勢101の状態にあるロボット1を、動作許容領域300の面に対して垂直な方向で基準点(格子点)331に向かって、-X軸方向にロボット1(TCP)の最大速度で直線動作させる。姿勢102は、ロボット1(ロボット1M)が動作許容領域300から出る瞬間の姿勢である。ここでは、アーム先端部付近の位置P1においてロボット1(ロボット1M)が動作許容領域300から飛び出したものとしている。この瞬間の各軸姿勢(角度)を求める。また、その姿勢102から、微小距離だけ手前(この場合はTCPの+X方向)に引いた位置の各軸姿勢を求める。前者の各軸姿勢から後者の各軸姿勢を引いた差分の値は、ロボットが直線動作で動作許容領域300から出た瞬間の、ロボット1の各軸の動作速度の比となる。例示として、ロボット1が6軸ロボットであり、ここで求められた動作速度の比が、J1軸からJ6軸について、
m1:m2:m3:m4:m5:m6
であるとする。
 この比の値と、ロボット1の各軸の最大動作速度から、ロボット1が出し得る最大速度で直線動作して動作許容領域300から出た瞬間の、ロボット1の各軸の動作速度を得ることができる。すなわち、各軸の速度比の値をn倍したとして、いずれかの軸の値がその軸の最大動作速度に、他の軸の値は最大動作速度以下になるようなnの値を求めればよい。上記比の値m1からm6をn倍した場合に、J6軸の値(n×m6)がJ6軸の最大速度となり、他の軸の値(n×m1)、(n×m2)、(n×m3)、(n×m4)、(n×m5)はこれらの軸のそれぞれの最大速度以下であれば、これらの速度が、ロボット1が出し得る最大速度で直線動作して動作許容領域から出た瞬間の各軸の動作速度である。
 各軸の動作速度が得られれば、そこからロボット1が惰走して停止する位置を求めることができる。ロボット1の各軸の惰走の量は、各軸毎に、惰走開始直前の速度及び作業ツール17の重量と関係を有すると考えることができる。各軸の惰走の量と、惰走開始直前の速度及びツールの重量と関係は、予め実験等により求めておく。シミュレーション装置50は、各軸の惰走の量と、惰走開始直前の速度及び作業ツール17の重量と関係を表す情報を、例えば記憶装置55予め記憶しておく。
 図9に、1つの駆動軸に関しロボット1の非常停止を実施したときの駆動軸の惰走の量(変化量)を表すテーブルを示す。このテーブルは、1つの駆動軸において、予め定められた方向および予め定められた動作速度にてロボット1を駆動している期間中に、非常停止をしたときの駆動軸の変化量を示している。駆動軸の変化量は、非常停止を実施してから完全にロボット1が停止するまでの回転角度に相当する。
 駆動軸の変化量は、非常停止直前の駆動軸の動作速度と作業ツールの重量との関数になる。非常停止を実施した後の駆動軸の変化量は、作業ツールが重くなるほど大きくなる。また、非常停止を実施したときの駆動軸の動作速度が大きくなるほど、駆動量の変化量は大きくなる。図9に示す駆動量の変化量は、実際にロボット1を駆動することにより、予め求めておいても良い。シミュレーション装置50は、図9に示したようなテーブルを各駆動軸について保有する。
 例えば、図9のテーブルに示す関係を有する軸の、惰走開始時の速度が20deg/s、作業ツールの重量が30kgであるとする。この場合、シミュレーション装置50の推定部153は、当該テーブルから、当該軸の惰走量(角度)が8degであることを取得する。そして、推定部153は、各軸について予め記憶された図9のような関係に基づいて、上述の手法により得られた各軸の惰走開始時の速度から、各軸についての惰走の量を求める。これにより、推定部153は、非常停止によりロボット1が惰走して停止するまでのロボット1の動きを取得することができる。
 図10に、以上の動作により得られた、ロボット1が動作許容領域300を逸脱して停止した状態を可視化した例を示す。ここでは、ロボット1の作業ツール17及びアーム先端部(それらを多く単純化された形状)が動作許容領域300の外面を逸脱している状態が、姿勢103として可視化されている。なお、ここでは、ロボット1が停止した状態を可視化した例を記載しているが、ロボット1が停止するまでの動作を含めて可視化するようにしても良い。
 シミュレーション装置50は、全ての格子点について、以上で説明した、ロボット1の動作許容領域300からの逸脱部分(或いは動作禁止領域への侵入部分)の可視化を実行する。
 また、推定部153は、全てのツール姿勢について、ロボット1の動作許容領域300からの逸脱部分(或いは動作禁止領域への侵入部分)の可視化を実行する。本例では、推定部153は、ツールの姿勢として、
・ツール座標系の-X軸の方向がロボット1(TCP111)の移動方向と一致するツール姿勢で、ロボット1(TCP111)が基準点(格子点)331に向かう動作(図11A)、
・ツール座標系の+Y軸の方向がロボット1(TCP111)の移動方向と一致するツール姿勢で、ロボット1(TCP111)が基準点(格子点)331に向かう動作(図11B)、
・ツール座標系の+Z軸の方向がロボット1(TCP111)の移動方向と一致するツール姿勢で、ロボット1(TCP111)が基準点(格子点)331に向かう動作(図11C)、
の3つの動作に関し、ロボット1が格子点から動作許容領域を逸脱する場合(動作禁止領域に侵入する場合)の、ロボット1の当該逸脱部分(或いは侵入部分)の位置、姿勢を算出する。
 以上の動作により、動作許容領域の任意の位置から任意のツール姿勢で飛び出して非常停止が掛かったとして、ロボットが動作許容領域から飛び出し得る範囲を推定・可視化することができる。同様に、動作禁止領域に対して、ロボットが侵入し得る範囲を推定・可視化することもできる。
 図12に上述のステップS31からS35を参照して説明したシミュレーション動作により動作許容領域300を逸脱したロボット1(ロボット1M)の全ての姿勢を可視化した例を示す。図12のようなシミュレーション結果を例えば表示部53に表示する。ユーザは、このシミュレーション結果を基に、一例として、図12に示すような配置関係で、安全柵F1、F2の配置を決定することができる。
 或いは、推定部153は、ロボット1(ロボット1M)が動作許容領域300を逸脱する場合のシミュレーション結果として図13に示すような状態が得られた場合に、当該シミュレーション結果に基づいて安全柵F10の配置を求めるようにしても良い。そして、可視化部154により、推定部153により求められた安全柵の配置を可視化しても良い。一例として、安全柵F10の位置を、動作許容領域300の各面からのロボット1(ロボット1M)の最大飛び出し量に対して所定のマージンを有するように決定しても良い。
 図5のステップS31からS35を参照して上述したシミュレーション動作例では、ロボット1を直線動作させる場合の例について説明したが、上述したように、ロボット1を各軸動作させて動作許容領域から逸脱するロボット1の動作を求める例も有り得る。各軸動作を採用する場合は、以下の動作(B1)或いは(B2)のような動作を採用しても良い。
(B1)ロボット1が基準点を通過するように或いは基準点を動作開始点として各軸動作を行わせる。ロボット1の動作許容領域からの逸脱が検出されたら、非常停止を掛ける。非常停止後の各軸の動作量は、非常停止が掛かる瞬間に各軸がそれぞれの最大速度で動作していたとして、図9に示したようなテーブルを用いて算出しても良い。或いは、動作許容領域を逸脱する位置付近でのロボット1の挙動として動作許容領域を逸脱する瞬間の各軸の速度と、その位置から手前に引いた位置での各軸の速度を求め、各軸の速度が増加方向にあるときに、ロボットが動作許容領域を逸脱する瞬間にロボットの各軸がそれぞれの最大速度であるとして上記と同様に惰走量を求めても良い。
(B2)基準点から特定の軸を大きく動かすような挙動を行わせ、ロボットが動作許容領域を逸脱する部分の位置・姿勢を求める。例えば、J1軸のみを動作可能範囲で振る挙動を行わせる、J2軸及びJ3軸のみをそれぞれの動作可能範囲で振る挙動を行わせる、といった例が有り得る。
 図14、図15に、上述した可視化処理によりロボット1Mが動作許容領域を逸脱して停止した状態を可視化した例を示す。なお、図14はロボット1Mを側方から見た場合の可視化の例を表し、図15はロボット1を斜め上方から見た場合の可視化の例である。ここでは、ロボット1を覆う形状は省略する。本例では、ロボット1のアーム先端部1Aが動作許容領域を逸脱している。なお、動作許容領域300を除く空間500を動作禁止領域と定義すれば、図14及び図15は、ロボット1(ロボット1M)が動作禁止領域(空間500)に侵入した状態を表すことになる。
 ロボット1は、図1に示したように設置面20に固定される場合以外に、走行台に搭載される場合もある。図16及び図17を参照し、ロボット1が走行台上に移動可能に搭載される場合の動作許容領域からの逸脱部分の可視化処理について説明する。図16に示すように、移動機構180は、レール181と、レール181上に移動可能に搭載される走行台182と、走行台182を駆動するためのモータ183とを有する。ロボット1(ロボット1M)は、走行台182上に搭載される。
 図16は、この構成の場合において設定されている動作許容領域300Aも図示している。ここでは、動作許容領域300Aの図中左画の面(以下、前方面と記載する)上に設定された基準点に向かってロボット1(ロボット1M)をステップS31からS35で例示したような動作で動作させると共に、走行台182を図中左方向(前方)に向かって移動させる。上記動作において、位置P21において、ロボット1のアーム先端部の動作許容領域300からの逸脱が検出されている。この瞬間から、ロボット1及び走行台182を非常停止させたとして、惰走によるロボット1の動作許容領域300からの逸脱部分の動作を求める。
 ロボット1の惰走量については、上述したように図8のようなテーブルを用いた計算手法により各軸の惰走量を求めることができる。走行台182については、積載重量と惰走距離との関係を予め例えば数値データ(テーブル)として求めておくことで、この場合の惰走距離を得ることができる。そして、ロボット1の惰走量に、走行台182の惰走距離を加えることで、動作許容領域300から逸脱する部分の動作を得る。
 図17は、走行台182に搭載されたロボット1が、位置P22において動作許容領域300Aから飛び出す場合の例を示している。この場合、ロボット1が動作許容領域300を飛び出す際の走行台182の位置は、図16の場合の走行台182の位置と異なるため、動作許容領域300Aを飛び出す際のロボット1の姿勢は、図16に示した場合と異なる姿勢となる。
 なお、ここでは、ロボットが動作許容領域を逸脱する場合の動作について説明したが、ここで説明した内容は、ロボットが動作禁止領域に侵入する部分を求める場合にも同様に適用できる。
 このように、ロボット1が走行台に搭載されるような構成例においても、ロボットが動作許容領域から逸脱する部分(或いは、動作禁止領域に侵入する部分)を求めて可視化することが可能である。
 以上説明したように、本実施形態によれば、ロボットが動作許容領域から逸脱する部分、或いは、ロボットが動作禁止領域に侵入する部分を可視化して、適切な位置に柵を設置することが可能になる。
 以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
 上述の実施形態における、動作許容領域を逸脱するロボットの動作を求め可視化するための各種機能は、動作禁止領域に侵入するロボットの動作を求め可視化する場合にも同様に適用できる。
 例えば、図3に示した機能ブロック図においてその全ての要素が必須な訳ではない。例えば、可視化処理による得られた画像を、シミュレーション装置50の外部の装置の表示部に表示するようにしても良い。3次元形状データ、重量データ、図9に示したテーブル等は、シミュレーション装置50が外部装置から取得するようにしても良い。
 図3に示したシミュレーション装置の機能ブロックは、シミュレーション装置のプロセッサが、記憶装置に格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated Circuit)等のハードウェアを主体とした構成により実現されても良い。
 上述した実施形態における可視化処理等の各種の処理を実行するプログラムは、コンピュータに読み取り可能な各種記録媒体(例えば、ROM、EEPROM、フラッシュメモリ等の半導体メモリ、磁気記録媒体、CD-ROM、DVD-ROM等の光ディスク)に記録することができる。
 1、1M  ロボット
 11  旋回部
 12a、12b  アーム
 13  関節部
 14  モータ
 16  手首部
 17  作業ツール
 19  ベース部
 20  設置面
 50  シミュレーション装置
 51  プロセッサ
 52  メモリ
 53  表示部
 54  操作部
 55  記憶装置
 56  入出力インタフェース
 111  TCP
 151  領域設定部
 152  基準点設定部
 153  推定部
 154  可視化部
 180  移動機構
 181  レール
 182  走行台
 183  モータ
 300、400  動作許容領域
 331、411  基準点
 F1、F2、F10  安全柵

Claims (14)

  1.  ロボットの動作許容領域を設定する領域設定部と、
     前記ロボットが前記動作許容領域を逸脱したことにより前記ロボットに対し停止するための制御が掛けられた場合の前記ロボットの動作を推定する推定部と、
     推定された前記ロボットの動作に基づいて、前記ロボットの前記動作許容領域から逸脱した部分を可視化する可視化部と、
    を備えるシミュレーション装置。
  2.  前記領域設定部は、ユーザ入力に基づいて前記動作許容領域を設定する、請求項1に記載のシミュレーション装置。
  3.  前記推定部は、前記ロボットに搭載された作業ツールの複数の姿勢の各々について前記ロボットの動作を推定する、請求項1又は2に記載のシミュレーション装置。
  4.  前記推定部において前記ロボットを模擬的に動作させる場合の目標位置、経由位置、又は動作開始位置として用いる基準点を設定する基準点設定部を更に備える、請求項1から3のいずれか一項に記載のシミュレーション装置。
  5.  前記基準点設定部は、ユーザ入力に基づき前記基準点を設定する、請求項4に記載のシミュレーション装置。
  6.  前記基準点は、前記動作許容領域の外面上に分布する複数の点として定義される、請求項4又は5に記載のシミュレーション装置。
  7.  前記推定部は、直線動作又は各軸動作により前記ロボットを模擬的に動作させて前記ロボットの動作を推定する、請求項4から6のいずれか一項に記載のシミュレーション装置。
  8.  前記推定部は、前記ロボットの制御点を直線動作により前記基準点に対し所定の方向に所定の速度で模擬的に動作させる、請求項4から6のいずれか一項に記載のシミュレーション装置。
  9.  前記推定部は、前記ロボットの制御点を、前記基準点に向かって、直線動作により前記基準点が存在する前記動作許容領域の外面に対して垂直となる方向に、前記ロボットの最大速度で模擬的に動作させる、請求項6に記載のシミュレーション装置。
  10.  前記ロボットを停止するための制御は、非常停止又は所定の減速制御による停止のいずれかである、請求項1から9のいずれか一項に記載のシミュレーション装置。
  11.  前記ロボットを停止するための制御は前記非常停止であり、
     前記推定部は、前記ロボットの前記動作許容領域から逸脱した瞬間の各軸の動作速度及び前記ロボットに搭載された作業ツールの重量と、前記各軸の惰走量との関係を表す情報に基づいて、前記ロボットが前記動作許容領域を逸脱してから停止するまでの前記ロボットの動作を求める、請求項10に記載のシミュレーション装置。
  12.  前記推定部は、前記ロボットの動作の推定結果に基づき、前記動作許容領域の外側に配置すべき安全柵の配置を求め、
     前記可視化部は、求められた前記安全柵の配置に基づき、前記安全柵を更に可視化する、請求項1から11のいずれか一項に記載のシミュレーション装置。
  13.  前記推定部は、走行台に搭載された前記ロボットに関し、前記ロボットが前記動作許容領域を逸脱したことにより前記ロボット及び前記走行台に対し停止するための制御が掛けられた場合の前記ロボット及び前記走行台の動作を推定する、請求項1から12のいずれか一項に記載のシミュレーション装置。
  14.  ロボットの動作禁止領域を設定する領域設定部と、
     前記ロボットが前記動作禁止領域に侵入したことにより前記ロボットに対し停止するための制御が掛けられた場合の前記ロボットの動作を推定する推定部と、
     推定された前記ロボットの動作に基づいて、前記ロボットの前記動作禁止領域に侵入した部分を可視化する可視化部と、
    を備えるシミュレーション装置。
PCT/JP2021/033044 2021-09-08 2021-09-08 シミュレーション装置 WO2023037456A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2023546635A JPWO2023037456A1 (ja) 2021-09-08 2021-09-08
PCT/JP2021/033044 WO2023037456A1 (ja) 2021-09-08 2021-09-08 シミュレーション装置
CN202180102030.1A CN117957096A (zh) 2021-09-08 2021-09-08 模拟装置
DE112021007790.2T DE112021007790T5 (de) 2021-09-08 2021-09-08 Simulationsgerät
TW111130602A TW202310995A (zh) 2021-09-08 2022-08-15 模擬裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/033044 WO2023037456A1 (ja) 2021-09-08 2021-09-08 シミュレーション装置

Publications (1)

Publication Number Publication Date
WO2023037456A1 true WO2023037456A1 (ja) 2023-03-16

Family

ID=85506174

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/033044 WO2023037456A1 (ja) 2021-09-08 2021-09-08 シミュレーション装置

Country Status (5)

Country Link
JP (1) JPWO2023037456A1 (ja)
CN (1) CN117957096A (ja)
DE (1) DE112021007790T5 (ja)
TW (1) TW202310995A (ja)
WO (1) WO2023037456A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005081445A (ja) * 2003-09-04 2005-03-31 Fanuc Ltd ロボットの干渉領域確認装置
JP2009090403A (ja) * 2007-10-05 2009-04-30 Fanuc Ltd ロボット動作範囲設定装置
JP2010224765A (ja) * 2009-03-23 2010-10-07 Fujitsu Ltd 進入禁止空間分析プログラム、進入禁止空間分析装置、および進入禁止空間分析方法
WO2011080882A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 動作空間提示装置、動作空間提示方法およびプログラム
JP2011212831A (ja) * 2010-03-15 2011-10-27 Yaskawa Electric Corp ロボットシステム
US20120022689A1 (en) * 2010-07-23 2012-01-26 Agile Planet, Inc. System and Method for Robot Safety and Collision Avoidance
JP2017144514A (ja) * 2016-02-17 2017-08-24 ファナック株式会社 掃引空間を算出するロボットのシミュレーション装置
JP2018008347A (ja) * 2016-07-13 2018-01-18 東芝機械株式会社 ロボットシステムおよび動作領域表示方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365524B2 (ja) 2007-12-07 2013-12-11 株式会社安川電機 ロボット動作規制方法およびロボットシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005081445A (ja) * 2003-09-04 2005-03-31 Fanuc Ltd ロボットの干渉領域確認装置
JP2009090403A (ja) * 2007-10-05 2009-04-30 Fanuc Ltd ロボット動作範囲設定装置
JP2010224765A (ja) * 2009-03-23 2010-10-07 Fujitsu Ltd 進入禁止空間分析プログラム、進入禁止空間分析装置、および進入禁止空間分析方法
WO2011080882A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 動作空間提示装置、動作空間提示方法およびプログラム
JP2011212831A (ja) * 2010-03-15 2011-10-27 Yaskawa Electric Corp ロボットシステム
US20120022689A1 (en) * 2010-07-23 2012-01-26 Agile Planet, Inc. System and Method for Robot Safety and Collision Avoidance
JP2017144514A (ja) * 2016-02-17 2017-08-24 ファナック株式会社 掃引空間を算出するロボットのシミュレーション装置
JP2018008347A (ja) * 2016-07-13 2018-01-18 東芝機械株式会社 ロボットシステムおよび動作領域表示方法

Also Published As

Publication number Publication date
DE112021007790T5 (de) 2024-04-25
CN117957096A (zh) 2024-04-30
JPWO2023037456A1 (ja) 2023-03-16
TW202310995A (zh) 2023-03-16

Similar Documents

Publication Publication Date Title
US11548153B2 (en) Robot comprising safety system ensuring stopping time and distance
US9199374B2 (en) Control unit, control method, and control program of articulated robot
JP3975959B2 (ja) ロボット動作規制方法とその装置およびそれを備えたロボット
JP5365524B2 (ja) ロボット動作規制方法およびロボットシステム
US20140195054A1 (en) Robot system, robot control device and method for controlling robot
JP2895672B2 (ja) 複数ロボット制御方法
JP5872894B2 (ja) ロボット動作教示支援装置及び方法
JP6444908B2 (ja) 掃引空間を算出するロボットのシミュレーション装置
US10507585B2 (en) Robot system that displays speed
JPS6179589A (ja) ロボツト運転装置
JPH0248400B2 (ja)
WO2023037456A1 (ja) シミュレーション装置
JPH01209505A (ja) 遠隔操作ロボットの教示装置
JP5272447B2 (ja) 数値制御機械の動作シミュレータ
JPS61147307A (ja) 干渉回避機能を備えたロボツト制御装置
JPH0736519A (ja) ロボットのニアミスチェック方法
CN112135718B (zh) 机器人的控制
JP7384602B2 (ja) ロボット制御装置
JP2000112510A (ja) ロボットの教示方法及びその装置
JP7469457B2 (ja) ロボットプログラミング装置及びロボットプログラミング方法
WO2023203635A1 (ja) ロボット装置の動作状態を算出するシミュレーション装置
WO2023062796A1 (ja) 複数の構成部材を含むロボットを制御する制御装置、制御装置を備えるロボット装置、およびパラメータを設定する操作装置
US20230286153A1 (en) Path generation for manual robot teaching
Tatsuno An example of open robot controller architecture
WO2023073958A1 (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: 21956753

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023546635

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 112021007790

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 202180102030.1

Country of ref document: CN