WO2022030414A1 - ロボットの構成部材の干渉を検出するロボット装置 - Google Patents

ロボットの構成部材の干渉を検出するロボット装置 Download PDF

Info

Publication number
WO2022030414A1
WO2022030414A1 PCT/JP2021/028475 JP2021028475W WO2022030414A1 WO 2022030414 A1 WO2022030414 A1 WO 2022030414A1 JP 2021028475 W JP2021028475 W JP 2021028475W WO 2022030414 A1 WO2022030414 A1 WO 2022030414A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
work
shape data
model
interference
Prior art date
Application number
PCT/JP2021/028475
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 DE112021003175.9T priority Critical patent/DE112021003175T5/de
Priority to US18/005,187 priority patent/US20230264352A1/en
Priority to CN202180057066.2A priority patent/CN116096536A/zh
Priority to JP2022541514A priority patent/JP7415013B2/ja
Publication of WO2022030414A1 publication Critical patent/WO2022030414A1/ja
Priority to JP2023210616A priority patent/JP2024015393A/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
    • 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/02Sensing devices
    • B25J19/021Optical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39094Interference checking between robot and fixture
    • 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/40053Pick 3-D object from pile of objects
    • 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/40477Plan path independent from obstacles, then correction for obstacles
    • 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/40607Fixed camera to observe workspace, object, workpiece, global

Definitions

  • the present invention relates to a robot device that detects interference between robot components.
  • a robot device equipped with a robot and work tools various tasks can be performed by changing the position and posture of the robot.
  • Peripherals related to work are placed around the robot device.
  • a container for accommodating the work or a transport device for transporting the work is arranged as a peripheral object.
  • a fence may be placed to determine the work area of the robotic appliance.
  • a simulation device that simulates the operation of the robot device can be used.
  • the simulation device a model representing the robot and a model representing the peripheral objects are generated, and it is possible to determine the occurrence of interference when the robot is driven.
  • the worker can determine the arrangement of the robot and peripheral objects so that the robot device and peripheral objects do not interfere with each other.
  • the position and posture of the robot when the robot is driven can be determined so that the robot device and peripheral objects do not interfere with each other.
  • the operator can actually drive the robot by operating the teaching operation panel.
  • the operator can perform teaching playback (online teaching) that teaches the position and posture of the robot so as not to cause interference.
  • a robot device in which the movement of a robot is not fixed to one. For example, a large number of workpieces may be piled up in a container such as a container. In a robot device that takes out bulk-loaded workpieces, it is difficult to teach the position and posture of the robot when gripping the workpieces because the state in which the workpieces are stacked cannot be determined in advance. In the prior art, there is known a robot device that detects the position and posture of a work with a visual sensor and takes out the work from a container (for example, Japanese Patent Application Laid-Open No. 2013-43271).
  • a control device that captures an image of a peripheral object with a three-dimensional sensor when the robot device is actually moved and determines whether or not interference between the robot and the peripheral object occurs (for example, Japanese Patent Application Laid-Open No. 2020-28957 (publication).
  • the position data of peripheral objects that may cause interference with the robot is acquired in advance.
  • the control device generates a robot model from a plurality of columnar models and the like.
  • the control device calculates the position and posture of the robot according to the position and posture of the work, and determines whether or not the robot interferes with the surrounding objects.
  • the operator With a robot device in which the movement of the robot is determined by the state of the work, it is difficult to determine the position and posture of the robot in advance.
  • the operator generates many robot positions and postures when the robot device is driven by the simulation device. The operator confirmed that no interference occurred by performing many simulations at various robot positions and postures.
  • the number of simulations is determined based on the experience of the operator.
  • the position and posture of the robot are finely adjusted with respect to the driving state of the robot device, which could not be examined by the simulation. For this reason, the robots and peripheral objects are often arranged with sufficient margin so that the robots and work tools do not interfere with each other.
  • a robot arm or the like is used.
  • the user replaces the components of the robot with a model having a simple shape.
  • the arm of the robot is replaced with a rectangular parallelepiped or cylindrical model for determination.
  • a model with a simple shape is generated so as to be larger than the actual robot components in order to avoid interference between the robot and peripheral objects. That is, a large model is generated so that the components of the robot are included inside the model. For this reason, even if the components of the robot do not interfere with the surrounding objects when the robot is actually driven, it may be determined that interference occurs.
  • the robot device includes a robot including a plurality of components and a control device for controlling the robot.
  • the control device includes a storage unit that stores three-dimensional shape data of the components of the robot.
  • the control device includes a determination unit that determines whether or not a component of the robot interferes with a work or a peripheral object arranged around the robot when the robot is driven.
  • the control device includes a setting unit for setting a part of the constituent members for determining interference according to the operating state of the robot among the plurality of constituent members of the robot.
  • the determination unit determines whether or not the component set by the setting unit interferes with the work or peripheral objects based on the three-dimensional shape data of the component set by the setting unit.
  • FIG. 3 is a perspective view of a robot and a hand illustrating control for searching for a position to avoid interference. It is a top view of the area explaining the position which avoids the interference. It is a perspective view of a robot and a hand explaining the control for searching the posture to avoid the interference. It is the schematic plan view of the hand explaining the posture which avoids the interference. It is a perspective view of the model of the robot apparatus which simplified the model of a hand and a conveyor.
  • the robot device according to the embodiment will be described with reference to FIGS. 1 to 10.
  • a robot device that takes out a pile of works stacked inside a container and conveys the works to a conveyor will be described as an example.
  • FIG. 1 is a perspective view of the robot device according to the present embodiment.
  • the robot device 5 includes a robot 1 and a hand 2 as a work tool.
  • the robot 1 of the present embodiment is an articulated robot including a plurality of joint portions.
  • the robot 1 includes an upper arm 11 and a lower arm 12.
  • the lower arm 12 is supported by the swivel base 13.
  • the swivel base 13 is supported by the base 14.
  • Robot 1 includes a list 15 attached to the end of the upper arm 11.
  • Listing 15 includes a flange 15a that is rotatably formed.
  • the robot 1 includes a plurality of components. In the present embodiment, the upper arm 11, the lower arm 12, the swivel base 13, the base 14, and the list 15 will be illustrated and described as constituent members.
  • the positions and postures of the upper arm 11, the lower arm 12, the swivel base 13, and the wrist 15 are changed by being driven by the robot. These components rotate around a predetermined axis of rotation.
  • the robot is not limited to this form, and any robot capable of supporting the work tool and moving the work tool can be adopted.
  • the work tool is formed so as to perform a predetermined work on the work.
  • the hand 2 of the present embodiment grips and releases the work W.
  • the hand 2 includes a main body portion 2a fixed to the flange 15a of the wrist 15 and an electromagnet 2b supported by the main body portion 2a.
  • the electromagnet 2b generates an attractive force due to a magnetic force.
  • the electromagnet 2b of the present embodiment is formed in a columnar shape.
  • the work W is attracted to the bottom surface of the electromagnet 2b.
  • the robot device 5 includes a conveyor 8 as a peripheral object arranged around the robot 1.
  • the conveyor 8 is arranged in the vicinity of the robot 1.
  • the work W placed on the conveyor 8 is conveyed in the direction indicated by the arrow 93.
  • the conveyor 8 of the present embodiment is arranged at a position where the lower arm 12 may interfere with the conveyor 8 when the robot 1 changes its position and posture. That is, a part of the conveyor 8 is arranged inside the operating range of the lower arm 12 of the robot 1.
  • the work W of the present embodiment is made of a magnetic material such as iron.
  • the work W of the present embodiment has a rectangular parallelepiped shape.
  • the work W has an area maximum surface that maximizes the area.
  • the work W is arranged inside the container 9 as a container.
  • the container 9 corresponds to a peripheral object arranged around the robot 1.
  • the plurality of work Ws are piled up in bulk so that the orientation of each work W is irregular.
  • the robot device 5 includes a range sensor 6 as a three-dimensional sensor for detecting the position and posture of the work W housed in the container 9.
  • the range sensor 6 of the present embodiment is a stereo camera including two cameras 61 and 62.
  • the cameras 61 and 62 are two-dimensional cameras capable of capturing a two-dimensional image.
  • any camera equipped with an image sensor such as a CCD (Charge-Coupled Device) sensor or a CMOS (Complementary Metal-Oxide Semiconductor) sensor can be adopted.
  • the relative positions of the two cameras 61 and 62 are predetermined.
  • the range sensor 6 of the present embodiment includes a projector 63 that projects pattern light such as a striped pattern toward the work W.
  • the range sensor 6 acquires information on the distance to the measurement point set on the surface of the object.
  • the range sensor 6 is arranged at a position where the work W housed in the container 9 can be imaged. In this embodiment, the range sensor 6 is arranged above the container 9.
  • the range sensor 6 is supported by the support member 83.
  • the range sensor 6 has an imaging range that is a range in which imaging is possible.
  • the cameras 61 and 62 are preferably arranged so that the container 9 is included in the imaging range.
  • the robot device 5 of the present embodiment selects one work W to be taken out from the container 9 based on the three-dimensional information generated from the output of the range sensor 6.
  • the position and posture of the robot 1 are the initial position and the initial posture as a reference for starting the taking out.
  • the robot device 5 changes the position and posture of the robot 1 to grip the work W arranged inside the container 9.
  • the robot device 5 changes the position and posture of the robot 1 as shown by the arrow 92, and conveys the work W from the inside of the container 9 to the conveyor 8. After this, the robot 1 returns to the reference initial position and initial posture.
  • a reference coordinate system 37 that is immovable when the position and posture of the robot 1 changes is set.
  • the origin of the reference coordinate system 37 is arranged on the base 14 of the robot 1.
  • the reference coordinate system 37 is also referred to as a world coordinate system.
  • the robot device 5 is set with a tool coordinate system 38 having an origin set at an arbitrary position of the work tool.
  • the position and orientation of the tool coordinate system 38 change with the hand 2.
  • the origin of the tool coordinate system 38 is set to the tool tip point.
  • Each of the reference coordinate system 37 and the tool coordinate system 38 includes an X-axis, a Y-axis, and a Z-axis that are orthogonal to each other as coordinate axes. Further, a W axis is set as a coordinate axis around the X axis, a P axis is set as a coordinate axis around the Y axis, and an R axis is set as a coordinate axis around the Z axis.
  • the position and posture of the robot 1 change, the position and posture of the origin of the tool coordinate system 38 change.
  • the position of the robot 1 corresponds to the position of the tool tip point (the position of the origin of the tool coordinate system 38).
  • the posture of the robot 1 corresponds to the posture of the tool coordinate system 38 with respect to the reference coordinate system 37.
  • FIG. 2 shows a block diagram of the robot device according to the present embodiment.
  • the robot 1 includes a robot drive device that changes the position and orientation of the robot 1.
  • the robot drive device includes a robot drive motor 22 that drives components such as an arm and a wrist.
  • the robot device 5 includes a hand drive device that drives the hand 2.
  • the bottom surface of the electromagnet 2b of the present embodiment is a flat surface. The bottom surface of the electromagnet 2b attracts the main surface that maximizes the area of the work W.
  • the robot device 5 includes a control device 4 that controls the robot 1 and the hand 2.
  • the control device 4 includes an arithmetic processing unit (computer) including a CPU (Central Processing Unit) as a processor.
  • the control device 4 has a RAM (RandomAccessMemory), a ROM (ReadOnlyMemory), and the like connected to the CPU via a bus.
  • the control device 4 includes a storage unit 42 that stores information related to the control of the robot 1 and the hand 2.
  • the storage unit 42 can be composed of a storage medium that can store information such as a volatile memory, a non-volatile memory, or a hard disk.
  • the robot device 5 conveys the work W based on the operation program 41.
  • the control device 4 includes an operation control unit 43 that sends an operation command.
  • the operation control unit 43 corresponds to a processor driven according to the operation program 41.
  • the processor reads the operation program 41 and performs the control defined in the operation program 41, thereby functioning as the operation control unit 43.
  • the operation control unit 43 sends an operation command for driving the robot 1 to the robot drive unit 45 based on the operation program 41.
  • the robot drive unit 45 includes an electric circuit that drives the robot drive motor 22.
  • the robot drive unit 45 supplies electricity to the robot drive motor 22 based on an operation command.
  • the operation control unit 43 sends an operation command for driving the hand 2 to the hand drive unit 44 based on the operation program 41.
  • the hand drive unit 44 includes an electric circuit that drives the electromagnet 2b.
  • the hand drive unit 44 supplies electricity to the electromagnet 2b based on the operation command.
  • the motion control unit 43 sends an motion command to be imaged to the range sensor 6 based on the motion program 41.
  • the range sensor 6 is controlled by the control device 4.
  • the control device 4 of the present embodiment includes an operation setting unit 51 that sets the operation of the robot 1 based on the operation program 41.
  • the operation control unit 43 generates an operation command based on a command from the operation setting unit 51.
  • the operation setting unit 51 of the present embodiment selects the work W to be taken out from the container 9, and controls the work W to be gripped by the hand 2. Further, the operation setting unit 51 controls to convey the work W gripped by the hand 2 to the conveyor 8.
  • the operation setting unit 51 includes a processing unit 52 that generates three-dimensional information of the work W based on the output of the range sensor 6.
  • the three-dimensional information of the object corresponds to the three-dimensional shape data of the object.
  • the processing unit 52 detects the position and posture of the work W arranged in the container 9.
  • the operation setting unit 51 includes a selection unit 54 that selects a work W to be taken out from the container 9.
  • the operation setting unit 51 includes a route generation unit 55 that generates a route for the robot 1.
  • the operation setting unit 51 includes a setting unit 56 that sets some members for determining interference according to the operating state of the robot 1.
  • the operation setting unit 51 includes a determination unit 57 that determines whether or not interference occurs when the robot 1 is driven.
  • the motion setting unit 51 includes a path correction unit 58 that corrects the position and posture of the robot 1 so that interference does not occur when it is determined that interference occurs.
  • the operation setting unit 51 corresponds to a processor driven according to the operation program 41. Further, each unit of the processing unit 52, the selection unit 54, the route generation unit 55, the setting unit 56, the determination unit 57, and the route correction unit 58 included in the operation setting unit 51 corresponds to a processor driven according to the operation program 41. do.
  • the processor reads the operation program 41 and performs the control defined in the operation program 41 to function as each unit.
  • the robot 1 includes a state detector for detecting the position and posture of the robot 1.
  • the state detector in this embodiment includes a position detector 18 attached to a robot drive motor 22 corresponding to a drive shaft of a component such as an arm.
  • the position and posture of the robot 1 are calculated based on the rotation angle output by each position detector 18.
  • FIG. 3 shows an explanatory diagram of three-dimensional shape data stored in the control device of the present embodiment.
  • the three-dimensional shape data 46 is input to the control device 4 before driving the robot device 5.
  • the storage unit 42 stores the three-dimensional shape data 46.
  • As the three-dimensional shape data 46 arbitrary data indicating the three-dimensional shape of each member can be adopted.
  • the three-dimensional shape data 46 includes the shape data 46a of the work.
  • the work shape data 46a is used to detect the position and orientation of the work W arranged in the container 9.
  • the three-dimensional shape data 46 includes the shape data 46b of the constituent members of the robot and the shape data 46c of the hand.
  • the shape data 46b of the component member of the robot and the shape data 46c of the hand are used to determine the interference between the component member or hand 2 of the robot 1 and another object.
  • CAD Computer Aided Design
  • the data of the CAD device at the time of designing by the manufacturer is adopted.
  • the data at the time of design generated by the CAD device matches the shape of the actual member. That is, the data at the time of design corresponding to the actual shape is adopted without using the three-dimensional shape data of a simple shape such as a quadrangular prism or a cone.
  • the parts not related to the interference of the constituent members may be excluded from the design data. For example, small parts such as a recess formed on the surface of the constituent member for arranging the head of the bolt may be excluded from the design data.
  • FIG. 4 shows a perspective view of the robot and hand model of the present embodiment.
  • the motion setting unit 51 generates a model of the robot constituent member and a model of the hand based on the shape data 46b of the robot constituent member and the hand shape data 46c.
  • a model having the same shape as the shape of the design data when designing the robot 1 and the hand 2 is generated.
  • the robot model M1 includes a model of a plurality of components.
  • the robot model M1 includes an upper arm model M11, a lower arm model M12, a swivel-based model M13, a base model M14, and a list model M15.
  • the model of the constituent member of each robot 1 matches the shape of the actual constituent member. For example, even small parts such as curved surfaces, steps, and protrusions of the constituent members of the robot 1 match the actual shape of the robot 1.
  • the model M2 of the hand also matches the shape of the actual hand 2 in every detail. As described above, small parts such as recesses that are not related to the interference of the constituent members may be excluded.
  • the robot 1 of the present embodiment includes an electric cable 16 arranged outside the upper arm 11 and the lower arm 12.
  • the shape of the electric cable 16 changes.
  • the electric cable 16 is excluded from the robot model M1 of the present embodiment, but the present invention is not limited to this embodiment. Models of members such as electric cables and pipes of the robot 1 may be generated.
  • the three-dimensional shape data 46 includes shape data 46d of peripheral objects arranged around the robot 1.
  • the shape data 46d of the peripheral object is used for determining the interference between the peripheral object and the robot 1 or the hand 2.
  • the shape data 46d of the peripheral object includes the shape data of the conveyor 8 and the shape data of the container 9.
  • the shape data 46d of the peripheral object three-dimensional data generated by the CAD device can be adopted.
  • the peripherals are not limited to conveyors and containers, but any obstacles that are placed around the robot and may interfere with the robot or work tools can be adopted.
  • a peripheral object a fixed object such as a pedestal on which a work is placed or a fence arranged around a robot device can be adopted.
  • a moving object such as a transport vehicle passing in the vicinity of the robot may be adopted.
  • FIG. 5 shows a flowchart of control of the robot device of the present embodiment.
  • FIG. 5 describes a control for transporting one work W.
  • the control shown in FIG. 5 can be repeatedly performed every time one work W is taken out.
  • the three-dimensional shape data 46 of the robot device and peripheral objects is stored in the storage unit 42 in advance.
  • the motion setting unit 51 sets the position and posture of the robot 1 to the initial position and the initial posture when the work W is started to be taken out (see FIG. 1).
  • the moving point of the robot 1 at this time is referred to as an initial point.
  • the initial position and initial posture at the initial point can be predetermined by the operator.
  • the initial point is determined so that the robot 1 and the hand 2 are not arranged in the imaging range of the range sensor 6, for example.
  • the range sensor 6 images the work W inside the container 9.
  • the processing unit 52 of the operation setting unit 51 processes the images captured by the cameras 61 and 62.
  • the processing unit 52 generates three-dimensional information of the work W by the stereo method.
  • the processing unit 52 sets a measurement point on the surface of the work W.
  • the processing unit 52 calculates the distance from the range sensor 6 to the measurement point based on the parallax of the two images captured by the two cameras 61 and 62.
  • the processing unit 52 detects the position of the measurement point based on the distance from the range sensor 6 to the measurement point.
  • the three-dimensional information includes information on the positions of a plurality of measurement points set on the surface of the object.
  • the 3D information is, for example, a distance image or a 3D map, and corresponds to 3D shape data.
  • the distance image is an image in which the color or the density of the image is changed according to the distance from the range sensor 6.
  • the 3D map contains information on the coordinate values of the measurement points in a predetermined coordinate system, or the distance from the range sensor to the measurement points and the direction of the measurement points.
  • the processing unit 52 detects the position and orientation of the work W housed in the container 9 by performing template matching that compares the three-dimensional information of the work W with the shape data 46a of the work.
  • the shape data of the work of the present embodiment is not limited to this form, although the three-dimensional data generated by the CAD device is adopted. The operator may adopt the distance image when the work is imaged from various directions as the shape data of the work.
  • the processing unit 52 may use a two-dimensional image in detecting the work W.
  • One of the two cameras 61 and 62 of the range sensor 6 captures a two-dimensional image.
  • Work in a two-dimensional image is detected by template matching of a two-dimensional image.
  • the processing unit 52 selects one work and acquires three-dimensional information of the region corresponding to the surface of the work W.
  • the processing unit 52 can calculate a plane by a plurality of measurement points corresponding to the surface of the work W, and calculate the position and posture of the work W.
  • the selection unit 54 selects the target work W to be taken out by the robot device 5.
  • the selection unit 54 selects the target work W based on the position and orientation of the work W detected by the processing unit 52.
  • the selection unit 54 can select the target work W by arbitrary control. For example, the selection unit 54 can set the work W closest to the range sensor 6 as the target work W. That is, the selection unit 54 can select the work W in order from the one with the highest position of the work W.
  • step 114 the storage unit 42 stores the three-dimensional information of the work W other than the work W taken out by the robot device 5 in the storage unit 42.
  • the work W other than the work W taken out by the robot device 5 causes interference with the robot 1 or the hand 2.
  • This three-dimensional information is used for controlling whether or not interference occurs with the robot 1 or the hand 2.
  • step 115 the path generation unit 55 sets a gripping point, which is a point at which the robot 1 grips the work W, according to the position and posture of the target work W.
  • the path generation unit 55 calculates the gripping position and the gripping posture of the robot 1 at the gripping point.
  • the path generation unit 55 generates the first path of the robot 1 from the initial point to the gripping point at which the work W is gripped.
  • the route shown by the arrow 91 corresponds to the first route.
  • various route searches are performed so that the robot 1 or the hand 2 does not interfere with the work W in consideration of the three-dimensional shape of the robot 1 or the hand 2.
  • the algorithm can be applied.
  • the route generation unit 55 can generate a plurality of movement points through which the position of the robot 1 passes.
  • the route passing through the plurality of moving points corresponds to the first route.
  • an interpolation point may be set between a plurality of moving points.
  • the route generation unit 55 can generate the first route without considering the interference between the hand 2 or the robot 1 and other objects.
  • step 117 the setting unit 56 sets a member for determining interference among the plurality of constituent members of the robot 1 and the hand 2.
  • the setting unit 56 sets the list 15 and the upper arm 11 as the constituent members for determining interference among the plurality of constituent members of the robot 1. Further, the setting unit 56 sets the hand 2 as a member for determining interference.
  • the setting unit 56 sets a member for determining interference according to the operating state of the robot 1.
  • the hand 2 and the list 15 are inserted inside the container 9 when the position of the robot 1 moves along the first path as shown by the arrow 91.
  • the upper arm 11 is arranged in the vicinity of the container 9.
  • the hand 2, the wrist 15, and the upper arm 11 may come into contact with the container 9.
  • the hand 2, the wrist 15, and the upper arm 11 can be set as members for determining interference.
  • the setting unit 56 can set the container 9 and the work W as members for determining interference.
  • the member for determining the interference can be predetermined, for example, in the operation program 41.
  • the setting unit 56 sets a member that reads the operation program 41 and determines the interference.
  • the determination unit 57 determines whether or not interference occurs at the gripping point and the first path.
  • the determination unit 57 is a member set by the setting unit 56 based on the three-dimensional shape data of the member set by the setting unit 56, the three-dimensional information of the work, and the three-dimensional shape data of the peripheral object. Determines if it interferes with the work or peripherals.
  • the position where the peripheral objects are arranged is predetermined.
  • the determination unit 57 when the robot 1 is in the gripping position and the gripping posture for gripping the work W, the hand 2, the wrist 15, and the upper arm 11 are gripped by the container 9 or the robot device 5. It is determined whether or not the work W other than the work W is interfered with.
  • the determination unit 57 acquires the gripping position and gripping posture of the robot 1.
  • the determination unit 57 calculates the position and posture of the model of the constituent members of the robot device 5 based on the gripping position and the gripping posture of the robot 1.
  • the determination unit 57 calculates the position and orientation of the model based on the information of the drive shafts of the constituent members.
  • the determination unit 57 calculates the positions and postures of the hand model M2, the list model M15, and the upper arm model M11.
  • the position and orientation of each model can be expressed, for example, in the reference coordinate system 37.
  • the determination unit 57 acquires the three-dimensional shape data of the container 9 and the three-dimensional information of the work.
  • the determination unit 57 may generate a model of the container and a model of the work based on the three-dimensional shape data of the container and the three-dimensional information of the work.
  • the model of the container or the model of the work can also be expressed by, for example, the reference coordinate system 37.
  • the determination unit 57 When the determination unit 57 is arranged at a position where the model M2 of the hand, the model M15 of the wrist, and the model M11 of the upper arm come into contact with the container 9 or the work W other than the gripped work W, interference occurs. It can be determined.
  • the determination unit 57 determines whether or not interference occurs when the position of the robot 1 moves along the first path.
  • the determination unit 57 acquires the movement point generated by the route generation unit 55. Further, the determination unit 57 acquires the interpolation points generated between the moving points.
  • the determination unit 57 calculates the position and posture of the robot 1 at each movement point and interpolation point. Similar to the control of the determination at the gripping point, the determination unit 57 receives the model M2 of the hand, the model M15 of the list, and the model M11 of the upper arm at the container 9 or the work W to be gripped at each movement point and the interpolation point. It is determined whether or not it interferes with a work W other than the above.
  • step 118 when it is determined that the constituent member of the robot 1 interferes with the work or the peripheral object at the gripping point and the first path, the control shifts to step 119. Further, when it is determined that the hand 2 interferes with the work or the peripheral object at the gripping point and the first path, the control shifts to step 119.
  • the path correction unit 58 corrects the position or posture of the robot 1 at the gripping point, the moving point, and the interpolation point where interference occurs.
  • the path correction unit 58 may correct both the position and the posture of the robot 1.
  • a method of correcting the position of the robot 1 at the gripping point, the moving point, or the interpolation point and the method of correcting the posture will be described.
  • FIG. 6 shows a perspective view of a hand model and a robot model that explain how to correct the position of the robot.
  • the route correction unit 58 corrects the position of the robot 1.
  • the route correction unit 58 sets a region 71 for moving the movement point MPA around the movement point MPA.
  • the shape and size of the region 71 can be predetermined.
  • the rectangular area 71 is set in the plane including the X-axis and the Y-axis of the tool coordinate system 38.
  • FIG. 7 shows a plan view of a region where the position of the moving point is moved.
  • the region 71 is set at a predetermined distance from the moving point MPA in the X-axis direction and the Y-axis direction of the tool coordinate system 38.
  • the route correction unit 58 searches for a movement point MPB that can avoid interference inside the region 71.
  • the route correction unit 58 divides the region 71 into equal parts in the X-axis direction and the Y-axis direction. Then, the movement point MPB can be set at the apex of a small area when the area 71 is divided. In the example here, it is divided into 6 in the X-axis direction and 6 in the Y-axis direction. Forty-eight movement point MPBs are set around the movement point MPA.
  • the route correction unit 58 determines whether or not interference occurs between the model M2 of the hand, the model M15 of the list, and the model M11 of the upper arm when the position of the robot 1 is moved to each movement point MPB.
  • the route correction unit 58 can determine the interference for all the moving point MPBs.
  • the route correction unit 58 can set the movement point MPB at which interference is avoided as the corrected movement point. When there are a plurality of moving point MPBs in which interference is avoided, the route correction unit 58 can select one moving point MPB based on a predetermined priority. For example, the route correction unit 58 can adopt the movement point MPB closest to the original movement point MPA. Further, the priority in the positive direction or the negative direction of the X-axis can be determined. Further, the priority in the positive direction or the negative direction of the Y axis can be determined.
  • FIG. 8 shows a perspective view of a hand model and a robot model when correcting the posture of the robot at a moving point.
  • the route correction unit 58 changes the posture of the robot 1 to search for a posture in which interference can be avoided.
  • the path correction unit 58 rotates the model M2 of the hand around the Z axis of the tool coordinate system 38, that is, in the direction of the R axis.
  • the path correction unit 58 changes the posture of the robot by rotating the model M2 of the hand in the direction indicated by the arrow 94.
  • FIG. 9 shows a plan view when the hand model rotates.
  • the path correction unit 58 of the present embodiment rotates the model M2 of the hand at a predetermined angle.
  • the rotation angle is set by dividing one rotation into six pieces.
  • the path correction unit 58 calculates the positions and postures of the hand 2, the wrist 15, and the upper arm 11 at all rotation angles, and determines whether or not interference occurs.
  • the route correction unit 58 can set the posture of the robot 1 in which interference is avoided to the corrected posture.
  • the route correction unit 58 can select one posture by arbitrary control.
  • the path correction unit 58 can adopt the rotation angle closest to the original rotation angle.
  • the route correction unit 58 can change the other when interference cannot be avoided even if either the position of the robot or the posture of the robot is changed.
  • the position of the robot is changed when the interference cannot be avoided even if the posture of the robot is changed.
  • step 119 the position or posture of the robot at the point where interference occurs is changed.
  • the route correction unit 58 can generate a new first route by adopting the corrected position and posture of the robot. Then, the control can move to step 118 to determine whether or not interference occurs. The controls in steps 118 and 119 can be repeated until no interference occurs at the grip point and the first path.
  • step 118 if interference does not occur at the gripping point and the first path, the position and posture of the robot 1 at the gripping point and the first path are determined. Control shifts to step 120. Next, a second path for transporting the work W to the conveyor 8 is generated.
  • step 120 the path generation unit 55 generates a second path from the gripping point to the target point for placing the work W on the conveyor 8.
  • the route indicated by arrow 92 corresponds to the second route.
  • the route generation unit 55 can generate the second route by the same control as the control that generated the first route in step 116.
  • the setting unit 56 sets a member for determining interference according to the operating state of the robot 1.
  • the lower arm 12 may interfere with the conveyor 8.
  • the interference of the lower arm 12 is determined.
  • the setting unit 56 sets the lower arm 12 as a member for determining interference based on the description of the operation program 41. Further, the setting unit 56 sets the conveyor 8 as a member for determining interference based on the description of the operation program 41.
  • step 122 the determination unit 57 determines whether or not interference between the lower arm 12 and the conveyor 8 occurs at the target point and the second path by the same control as in step 118.
  • the determination unit 57 determines whether or not interference between the lower arm 12 and the conveyor 8 occurs based on the three-dimensional shape data of the model M12 of the lower arm and the conveyor 8.
  • step 122 If it is determined in step 122 that interference occurs at the target point and the second path, control shifts to step 123.
  • step 123 the route correction unit 58 corrects the position or posture of the robot 1 by the same control as the control for correcting the position of the robot 1 or the control for correcting the posture of the robot 1 in step 119. Then, the control of step 122 and step 123 is repeated until the interference between the lower arm 12 and the conveyor 8 disappears.
  • step 122 when it is determined that interference does not occur at the target point and the second path, the position and posture of the robot 1 at the target point and the second path are determined. Control proceeds to step 124.
  • step 124 the motion setting unit 51 sends the position and posture of the robot 1 in the gripping point, the target point, the first path, and the second path to the motion control unit 43.
  • the position of the robot 1 moves along the first path.
  • the robot 1 changes the position and the posture toward the gripping position and the gripping posture.
  • the electromagnet 2b of the hand 2 is excited to grip the work W.
  • the motion control unit 43 changes the position and posture of the robot 1 to move the work W to a target point on which the work W is placed on the conveyor 8. After the robot 1 reaches the target position and the target posture, the work W is released by stopping the excitation of the electromagnet 2b of the hand 2. After that, the robot 1 returns to the initial position and the initial posture.
  • the control device 4 when determining interference, some constituent members are selected from a plurality of constituent members of the robot 1 according to the operating state of the robot 1. That is, the control device 4 switches the constituent members for determining the interference according to the operating state of the robot 1. Further, the control device 4 determines the interference based on the three-dimensional shape data of some of the constituent members. Therefore, an accurate determination can be made in a short time. For example, when determining interference with other objects using three-dimensional shape data of all the constituent members of the robot 1, the amount of calculation is large and the calculation time is long. However, in the present embodiment, the amount of calculation for determining interference can be reduced by selecting some of the constituent members according to the operating state. Further, by using the shape data that matches the shape of the constituent members of the robot 1, it is possible to accurately determine the interference of the robot 1.
  • three-dimensional shape data matching the actual shape of the hand 2 is adopted as the model M2 of the hand 2. Therefore, the interference of the hand 2 can be accurately determined.
  • the determination of the interference of the hand is performed, but the present invention is not limited to this embodiment. It is not necessary to determine the interference of the hand. For example, when the shape of the hand does not cause interference with the container and the work, it is not necessary to determine the interference of the hand.
  • the robot device does not have to be equipped with a work tool.
  • the robot device may be equipped with a device that automatically replaces work tools. The robot may change position and posture in order to replace the work tool without the work tool attached to the robot. During this period, the control device can determine the interference of the robot components without determining the interference of the work tool.
  • the interference is determined at the gripping point and the target point where the driving of the robot is temporarily stopped, and the interference is determined in the first path and the second path. It is not limited to this form. In the first route and the second route, it is not necessary to determine the interference.
  • the operation setting unit 51 of the present embodiment uses the range sensor 6 to generate three-dimensional information of the work W other than the work W taken out by the robot device 5. That is, the three-dimensional information of the work W remaining in the container 9 is generated. Then, the motion setting unit 51 uses the three-dimensional information of the work W to determine whether or not the constituent members of the hand 2 or the robot 1 interfere with the work W.
  • the work W arranged in the container 9 may interfere with the main body 2a of the hand 2 or the list 15, and the target work W may not be gripped.
  • the robot device 5 of the present embodiment it is possible to determine the interference between the work W arranged around the work W taken out by the robot device 5 and the hand 2 or the robot 1.
  • a model that matches the actual shape is generated by adopting the three-dimensional shape data generated by the CAD device.
  • the method of generating a model of a peripheral object is not limited to this form.
  • the operation setting unit may image the peripheral object with the three-dimensional sensor and generate the three-dimensional shape data of the peripheral object based on the output of the three-dimensional sensor.
  • the operation setting unit 51 can generate three-dimensional information of the container 9 by a model matching method based on the output of the range sensor 6.
  • the operation setting unit 51 generates three-dimensional information of the container 9 as the shape data 46d of the peripheral object.
  • the operation setting unit 51 may determine whether or not the robot 1 and the container 9 interfere with each other based on the three-dimensional information of the container 9. This control is suitable when peripheral objects move.
  • a two-dimensional sensor can be adopted instead of the three-dimensional sensor.
  • the three-dimensional shape data of the peripheral object can be stored in the storage unit in advance.
  • a peripheral object is placed at a predetermined position, and a reference image is captured by a two-dimensional sensor.
  • the two-dimensional sensor captures the peripheral object and detects the position of the peripheral object in the image.
  • the position of the peripheral object can be detected based on the position of the peripheral object in the image at this time and the position of the peripheral object in the reference image.
  • FIG. 10 shows a perspective view of a model of a robot device including a model in which the shape of a work tool is simplified and a model in which the shape of a conveyor is simplified.
  • a model having a simplified shape may be adopted for at least one model of the work tool model and the peripheral object model.
  • the manufacturer has design data (three-dimensional shape data) generated by the CAD device when the robot 1 is designed. Therefore, the manufacturer can store the shape data 46b (robot model M1) of the constituent members of the robot in the storage unit 42 at the time of manufacturing the robot 1.
  • the worker may purchase a work tool or a peripheral object such as a conveyor from a manufacturer different from the manufacturer of the robot. At this time, the worker may not be able to obtain design data of the work tool or peripherals from the manufacturer.
  • the worker adopts at least one model of the work tool model having a simplified shape of the work tool and the peripheral object model having a simplified shape of the peripheral object. It doesn't matter.
  • a simple model can be created by an operator and stored in the storage unit 42.
  • the determination unit 57 determines whether or not interference of the members set by the setting unit 56 occurs by using at least one model of the work tool model and the peripheral object model.
  • the hand model MS2 has the shape of a quadrangular frustum.
  • the conveyor model MS8 has a rectangular parallelepiped shape.
  • Such a simple model can be easily generated by the operator specifying the shape and size.
  • the operator can generate the model MS8 of the conveyor by specifying the length of each side of the rectangular parallelepiped.
  • the shape of the simple model any shape such as a cylinder, a hexahedron, or a sphere can be adopted.
  • the simple model is formed so as to include the actual device inside. In this way, the worker may adopt a simple model as a model of the work tool and a model of peripheral objects.
  • the upper arm 11, the lower arm 12, the swivel base 13, the base 14, and the list 15 are exemplified as the constituent members of the robot 1, but the present invention is not limited to this embodiment.
  • the robot component may be a part of an arm, a part of a swivel base, a part of a base, or a part of a wrist. That is, any part that constitutes the robot can be selected as a constituent member of the robot.
  • the control device may store three-dimensional shape data of a part of the upper arm and determine whether or not interference with a work or a peripheral object occurs based on the shape data.
  • the three-dimensional shape data of all the constituent members of the robot is formed so as to match the actual shape, but the present invention is not limited to this form.
  • the three-dimensional shape data of some of the constituent members of the robot may be formed so as to match the actual shape, and the three-dimensional shape data of the other constituent members may be simple shape data.
  • the three-dimensional shape data of at least a part of the constituent members of the robot may be simple shape data such as a quadrangular prism.
  • the range sensor 6 as the three-dimensional sensor of the present embodiment includes a projector, but it does not have to be provided with a projector. Further, as the three-dimensional sensor, any sensor capable of acquiring three-dimensional information on the surface of the work can be adopted. For example, a TOF (Time of Flight) camera that captures a distance image by an optical flight time method, a line sensor, or the like can be adopted.
  • TOF Time of Flight
  • the range sensor 6 of the present embodiment is fixed to the support member 83, but is not limited to this embodiment.
  • the three-dimensional sensor can be arranged so that the work can be imaged.
  • the 3D sensor may be fixed to the list so as to move integrally with the list of robots.
  • the robot device of the present embodiment performs the work of transporting the work, but is not limited to this form.
  • the control of the present embodiment can be applied to a robot device that performs arbitrary work.
  • the work tool any device that performs predetermined work on the work can be adopted.
  • the control of the present embodiment is suitable for a robot device in which the position and posture of the robot change according to the state of the work or the state of surrounding objects.
  • the control of the present embodiment can be applied to a robot device in which workpieces are arranged side by side on the upper surface of a pallet or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

ロボット装置は、複数の構成部材を含むロボットおよび制御装置を備える。制御装置は、ロボットの構成部材の3次元の形状データを記憶する。制御装置の設定部は、ロボットの運転状態に応じて干渉の判定を行う一部の構成部材を設定する。制御装置の判定部は、設定部にて設定された構成部材の3次元の形状データに基づいて、ロボットの構成部材がワークを収容するコンテナと干渉するか否かを判定する。

Description

ロボットの構成部材の干渉を検出するロボット装置
 本発明は、ロボットの構成部材の干渉を検出するロボット装置に関する。
 ロボットおよび作業ツールを備えるロボット装置では、ロボットが位置および姿勢を変更することにより、様々な作業を実施することができる。ロボット装置の周りには作業に関連する周辺物が配置される。例えば、ワークを収容するコンテナまたはワークを搬送する搬送装置などが周辺物として配置される。または、ロボット装置の作業領域を確定するために、フェンスが配置される場合がある。
 ロボットが駆動すると、ロボットまたは作業ツールが周辺物と干渉する虞がある。ロボット装置が周辺物と干渉しないことを確認するために、ロボット装置の動作のシミュレーションを行うシミュレーション装置を用いることができる。シミュレーション装置では、ロボットを表現するモデルおよび周辺物を表現するモデルが生成されて、ロボットを駆動した時の干渉の発生を判定することができる。
 作業者は、シミュレーションの結果に基づいて、ロボット装置と周辺物とが干渉しないようにロボットおよび周辺物の配置を定めることができる。また、ロボット装置と周辺物とが干渉しないように、ロボットが駆動する時のロボットの位置および姿勢を定めることができる。特に、作業者は、教示操作盤を操作して、実際にロボットを駆動することができる。作業者は、干渉が生じないようにロボットの位置および姿勢を教示するティーチングプレイバック(オンラインティーチング)を行うことができる。
 ところで、ロボットの動作が1つに定まらないロボット装置が知られている。例えば、多数のワークがコンテナなどの容器にバラ積みされている場合が有る。バラ積みされたワークを取り出すロボット装置では、ワークが積まれている状態を予め定めることが出来ないために、ワークを把持するときのロボットの位置および姿勢を教示することは困難である。従来の技術においては、ワークの位置および姿勢を視覚センサにて検出して、ワークを容器から取り出すロボット装置が知られている(例えば、特開2013-43271号公報)。
 バラ積みされたワークを取り出すロボット装置では、シミュレーション装置にて検討を行って干渉を回避することが困難な場合が有る。このために、ロボット装置を実際に動かすときに3次元センサにて周辺物を撮像し、ロボットと周辺物との干渉が生じるか否かを判定する制御装置が知られている(例えば、特開2020-28957号公報)。このような制御装置では、ロボットとの干渉が生じる虞のある周辺物の位置データを予め取得する。そして、制御装置は、複数の円柱状のモデルなどによりロボットのモデルを生成する。制御装置は、ワークの位置および姿勢に応じてロボットの位置および姿勢を算出し、ロボットが周辺物と干渉するか否かを判定している。
特開2013-43271号公報 特開2020-28957号公報
 ロボットの動作がワークの状態等により定まるロボット装置では、ロボットの位置および姿勢を予め定めることは困難である。このために、作業者は、ロボット装置が駆動する時の多くのロボットの位置および姿勢をシミュレーション装置によって生成する。作業者は、様々なロボットの位置および姿勢にて、多くの回数のシミュレーションを実施することにより、干渉が生じないことを確認していた。しかしながら、シミュレーションを行う回数は、作業者の経験に基づいて定められる。一般的に、実際にロボット装置の使用を開始するときには、シミュレーションにて検討できなかったロボット装置の駆動状態に関して、ロボットの位置および姿勢の微調整を行う。このために、ロボットおよび作業ツールが干渉しないように充分な余裕を有してロボットおよび周辺物が配置されることが多かった。
 また、制御装置がロボットを駆動するときにロボットまたは作業ツールが周辺物と干渉するか否かを判定する機能を、ロボットの製造者以外の使用者が実現するためには、ロボットのアーム等の構成部材を分解して3次元的に形状を計測する、または、ロボットの構成部材の形状データをロボットの製造者に公開してもらうしかないという問題がある。このために、使用者は、ロボットの構成部材を簡易な形状のモデルに置き換えて実施している。例えば、ロボットのアームを、直方体または円柱のモデルに置き換えて判定している。簡易な形状のモデルは、ロボットと周辺物との干渉を回避するために、実際のロボットの構成部材よりも大きくなるように生成される。すなわち、ロボットの構成部材がモデルの内部に含まれるように、大きなモデルが生成される。このために、実際にロボットを駆動したときにロボットの構成部材が周辺物と干渉しない場合であっても、干渉が生じると判定される場合があった。
 一方で、ロボットの構成部材のモデルの形状を実際の形状に近づけると、ロボットのモデルの干渉を判定する計算量が多くなり、干渉の判定に時間がかかるという問題があった。または、計算時間を短くするために、高い性能の計算機を用いる必要があった。
 本開示の態様のロボット装置は、複数の構成部材を含むロボットと、ロボットを制御する制御装置とを備える。制御装置は、ロボットの構成部材の3次元の形状データを記憶する記憶部を含む。制御装置は、ロボットを駆動した時に、ロボットの構成部材がワークまたはロボットの周りに配置される周辺物と干渉するか否かを判定する判定部を含む。制御装置は、ロボットの複数の構成部材のうち、ロボットの運転状態に応じて干渉の判定を行う一部の構成部材を設定する設定部を含む。判定部は、設定部にて設定された構成部材の3次元の形状データに基づいて、設定部にて設定された構成部材がワークまたは周辺物と干渉するか否かを判定する。
 本開示の態様によれば、少ない計算量でロボットの干渉の判定を行うロボット装置を提供することができる。
実施の形態におけるロボット装置の斜視図である。 実施の形態におけるロボット装置のブロック図である。 実施の形態における3次元の形状データの説明図である。 実施の形態におけるロボットおよびハンドのモデルの斜視図である。 実施の形態におけるワークを搬送する制御のフローチャートである。 干渉を回避する位置を探索する制御を説明するロボットおよびハンドの斜視図である。 干渉を回避する位置を説明する領域の平面図である。 干渉を回避する姿勢を探索する制御を説明するロボットおよびハンドの斜視図である。 干渉を回避する姿勢を説明するハンドの概略平面図である。 ハンドおよびコンベヤのモデルを簡略化したロボット装置のモデルの斜視図である。
 図1から図10を参照して、実施の形態におけるロボット装置について説明する。本実施の形態では、容器の内部に山の様に積まれているワークを取り出して、コンベヤまでワークを搬送するロボット装置を例に取り上げて説明する。
 図1は、本実施の形態におけるロボット装置の斜視図である。ロボット装置5は、ロボット1および作業ツールとしてのハンド2を備える。本実施の形態のロボット1は、複数の関節部を含む多関節ロボットである。ロボット1は、上部アーム11と下部アーム12とを含む。下部アーム12は、旋回ベース13に支持されている。旋回ベース13は、ベース14に支持されている。ロボット1は、上部アーム11の端部に連結されているリスト15を含む。リスト15は、回転可能に形成されているフランジ15aを含む。ロボット1は、複数の構成部材を含む。本実施の形態では、構成部材として、上部アーム11、下部アーム12、旋回ベース13、ベース14、およびリスト15を例示して説明する。上部アーム11、下部アーム12、旋回ベース13、およびリスト15は、ロボットが駆動することにより位置および姿勢が変化する。これらの構成部材は、予め定められた回転軸の周りに回転する。ロボットとしては、この形態に限られず、作業ツールを支持して、作業ツールを移動することができる任意のロボットを採用することができる。
 作業ツールは、ワークに対して予め定められた作業を行うように形成されている。本実施の形態のハンド2は、ワークWを把持したり解放したりする。ハンド2は、リスト15のフランジ15aに固定された本体部2aと、本体部2aに支持された電磁石2bとを含む。電磁石2bは、磁力による吸着力を発生させる。本実施の形態の電磁石2bは、円柱状に形成されている。電磁石2bの底面にワークWが吸着される。
 ロボット装置5は、ロボット1の周りに配置される周辺物としてのコンベヤ8を備える。コンベヤ8は、ロボット1の近傍に配置されている。コンベヤ8に載置されたワークWは、矢印93に示す向きに搬送される。本実施の形態のコンベヤ8は、ロボット1が位置および姿勢を変更した時に、下部アーム12がコンベヤ8に干渉する可能性を有する位置に配置されている。すなわち、コンベヤ8の一部は、ロボット1の下部アーム12の動作範囲の内部に配置されている。
 本実施の形態のワークWは、鉄などの磁性を有する材質にて形成されている。本実施の形態のワークWは、直方体の形状を有する。ワークWは、面積が最大となる面積最大面を有する。ワークWは、容器としてのコンテナ9の内部に配置されている。コンテナ9は、ロボット1の周りに配置されている周辺物に相当する。複数のワークWは、それぞれのワークWの向きが不規則になるようにバラ積みされている。
 ロボット装置5は、コンテナ9に収容されたワークWの位置および姿勢を検出するための3次元センサとしてのレンジセンサ6を備える。本実施の形態のレンジセンサ6は、2台のカメラ61,62を含むステレオカメラである。カメラ61,62は、2次元の画像を撮像することができる2次元カメラである。カメラ61,62としては、CCD(Charge-Coupled Device)センサまたはCMOS(Complementary Metal-Oxide Semiconductor)センサなどの撮像素子を備えた任意のカメラを採用することができる。2台のカメラ61,62の相対的な位置は予め定められている。本実施の形態のレンジセンサ6は、ワークWに向かって縞模様などのパターン光を投影するプロジェクタ63を含む。
 レンジセンサ6は、物体の表面に設定される測定点までの距離の情報を取得する。レンジセンサ6は、コンテナ9に収容されたワークWを撮像できる位置に配置される。本実施の形態では、レンジセンサ6は、コンテナ9の上方に配置されている。レンジセンサ6は、支持部材83により支持されている。レンジセンサ6は、撮像が可能な範囲である撮像範囲を有する。カメラ61,62は、撮像範囲の内部にコンテナ9が含まれるように配置されることが好ましい。
 本実施の形態のロボット装置5は、レンジセンサ6の出力から生成された3次元情報に基づいて、コンテナ9から取り出す1個のワークWを選定する。図1では、ロボット1の位置および姿勢は、取出しを開始する基準となる初期位置および初期姿勢である。ロボット装置5は、矢印91に示すように、ロボット1の位置および姿勢を変更して、コンテナ9の内部に配置されているワークWを把持する。ロボット装置5は、矢印92に示すようにロボット1の位置および姿勢を変更して、コンテナ9の内部からコンベヤ8までワークWを搬送する。この後に、ロボット1は、基準となる初期位置および初期姿勢に戻る。
 本実施の形態のロボット装置5には、ロボット1の位置および姿勢が変化した時に不動の基準座標系37が設定されている。図1の例では、ロボット1のベース14に、基準座標系37の原点が配置される。基準座標系37はワールド座標系とも称される。また、ロボット装置5には、作業ツールの任意の位置に設定された原点を有するツール座標系38が設定されている。ツール座標系38は、ハンド2と共に位置および姿勢が変化する。本実施の形態では、ツール座標系38の原点は、ツール先端点に設定されている。
 基準座標系37およびツール座標系38のそれぞれの座標系は、座標軸として、互いに直行するX軸、Y軸、およびZ軸を含む。また、X軸の周りの座標軸としてW軸、Y軸の周りの座標軸としてP軸、および、Z軸の周りの座標軸としてR軸が設定されている。
 ロボット1の位置および姿勢が変化すると、ツール座標系38の原点の位置および姿勢が変化する。例えば、ロボット1の位置は、ツール先端点の位置(ツール座標系38の原点の位置)に対応する。また、ロボット1の姿勢は、基準座標系37に対するツール座標系38の姿勢に対応する。
 図2に、本実施の形態におけるロボット装置のブロック図を示す。図1および図2を参照して、ロボット1は、ロボット1の位置および姿勢を変化させるロボット駆動装置を含む。ロボット駆動装置は、アームおよびリスト等の構成部材を駆動するロボット駆動モータ22を含む。ロボット装置5は、ハンド2を駆動するハンド駆動装置を備える。ハンド2の電磁石2bが駆動することにより、ワークWが電磁石2bに吸着される。本実施の形態の電磁石2bの底面は平面である。電磁石2bの底面がワークWの面積が最大になる主表面を吸着する。
 ロボット装置5は、ロボット1およびハンド2を制御する制御装置4を備える。制御装置4は、プロセッサとしてのCPU(Central Processing Unit)を含む演算処理装置(コンピュータ)を含む。制御装置4は、CPUにバスを介して接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。制御装置4は、ロボット1およびハンド2の制御に関する情報を記憶する記憶部42を含む。記憶部42は、揮発性メモリ、不揮発性メモリ、またはハードディスク等の情報を記憶可能な記憶媒体にて構成されることができる。
 ロボット装置5は、動作プログラム41に基づいてワークWを搬送する。制御装置4は、動作指令を送出する動作制御部43を含む。動作制御部43は、動作プログラム41に従って駆動するプロセッサに相当する。プロセッサが動作プログラム41を読み込んで、動作プログラム41に定められた制御を実施することにより、動作制御部43として機能する。
 動作制御部43は、動作プログラム41に基づいてロボット1を駆動するための動作指令をロボット駆動部45に送出する。ロボット駆動部45は、ロボット駆動モータ22を駆動する電気回路を含む。ロボット駆動部45は、動作指令に基づいてロボット駆動モータ22に電気を供給する。また、動作制御部43は、動作プログラム41に基づいてハンド2を駆動する動作指令をハンド駆動部44に送出する。ハンド駆動部44は、電磁石2bを駆動する電気回路を含む。ハンド駆動部44は、動作指令に基づいて電磁石2bに電気を供給する。更に、動作制御部43は、動作プログラム41に基づいて、撮像する動作指令をレンジセンサ6に送出する。レンジセンサ6は、制御装置4により制御されている。
 本実施の形態の制御装置4は、動作プログラム41に基づいてロボット1の動作を設定する動作設定部51を含む。動作制御部43は、動作設定部51からの指令に基づいて動作指令を生成する。本実施の形態の動作設定部51は、コンテナ9から取り出すワークWを選定し、ワークWをハンド2にて把持する制御を実施する。また、動作設定部51は、ハンド2にて把持されたワークWをコンベヤ8まで搬送する制御を実施する。
 動作設定部51は、レンジセンサ6の出力に基づいて、ワークWの3次元情報を生成する処理部52を含む。物体の3次元情報は、物体の3次元の形状データに相当する。また、処理部52は、コンテナ9に配置されているワークWの位置および姿勢を検出する。動作設定部51は、コンテナ9から取り出すワークWを選定する選定部54を含む。動作設定部51は、ロボット1の経路を生成する経路生成部55を含む。動作設定部51は、ロボット1の運転状態に応じて、干渉の判定を行う一部の部材を設定する設定部56を含む。動作設定部51は、ロボット1を駆動した時に干渉するか否かを判定する判定部57を含む。動作設定部51は、干渉が生じると判定された場合に、干渉が生じないようにロボット1の位置および姿勢を修正する経路修正部58を含む。
 動作設定部51は、動作プログラム41に従って駆動するプロセッサに相当する。また、動作設定部51に含まれる処理部52、選定部54、経路生成部55、設定部56、判定部57、および経路修正部58のそれぞれのユニットは、動作プログラム41に従って駆動するプロセッサに相当する。プロセッサが動作プログラム41を読み込んで、動作プログラム41に定められた制御を実施することにより、それぞれのユニットとして機能する。
 ロボット1は、ロボット1の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、アーム等の構成部材の駆動軸に対応するロボット駆動モータ22に取り付けられた位置検出器18を含む。それぞれの位置検出器18が出力する回転角に基づいて、ロボット1の位置および姿勢が算出される。
 図3に、本実施の形態の制御装置に記憶される3次元の形状データの説明図を示す。図2および図3を参照して、本実施の形態では、ロボット装置5を駆動する前に3次元の形状データ46が制御装置4に入力される。記憶部42は、3次元の形状データ46を記憶する。3次元の形状データ46は、それぞれの部材の3次元の形状を示す任意のデータを採用することができる。
 3次元の形状データ46は、ワークの形状データ46aを含む。ワークの形状データ46aは、コンテナ9に配置されるワークWの位置および姿勢を検出するために使用される。3次元の形状データ46は、ロボットの構成部材の形状データ46bおよびハンドの形状データ46cを含む。ロボットの構成部材の形状データ46bおよびハンドの形状データ46cは、ロボット1の構成部材またはハンド2と、他の物との干渉の判定に使用される。本実施の形態のワークの形状データ46a、ロボットの構成部材の形状データ46b、およびハンドの形状データ46cは、CAD(Computer Aided Design)装置にて生成される3次元データが採用されている。特に、ロボットの構成部材の形状データ46bおよびハンドの形状データ46cは、製造者が設計した時のCAD装置のデータが採用されている。CAD装置にて生成された設計時のデータは、実際の部材の形状に一致している。すなわち、四角柱または円錐などの簡易な形状の3次元の形状データを用いずに、実際の形状に相当する設計時のデータが採用されている。但し、構成部材の干渉に関係しない部分は、設計データから除外されていても構わない。例えば、構成部材の表面に形成され、ボルトの頭部が配置されるための窪み部などの細かい部分は、設計データから除外されていても構わない。
 図4に、本実施の形態のロボットおよびハンドのモデルの斜視図を示す。動作設定部51は、ロボットの構成部材の形状データ46bおよびハンドの形状データ46cにより、ロボットの構成部材のモデルおよびハンドのモデルを生成する。ロボット1およびハンド2を設計する時の設計データの形状と同一の形状を有するモデルが生成される。
 ロボットのモデルM1は、複数の構成部材のモデルを含む。ロボットのモデルM1は、上部アームのモデルM11、下部アームのモデルM12、旋回ベースのモデルM13、ベースのモデルM14、およびリストのモデルM15を含む。本実施の形態では、それぞれのロボット1の構成部材のモデルは、実際の構成部材の形状に一致する。例えば、ロボット1の構成部材の曲面状の表面、段差、および突起部などの細かい部分についても、実際のロボット1の形状と一致する。また、ハンドのモデルM2についても、細かい部分まで実際のハンド2の形状に一致する。なお、前述の通りに、構成部材の干渉に関係しない凹部などの細かい部分は除外されていても構わない。
 なお、図1を参照して、本実施の形態のロボット1は、上部アーム11および下部アーム12の外側に配置される電気ケーブル16を含む。ロボット1の位置および姿勢が変化すると電気ケーブル16の形状が変化する。このために、図4を参照して、本実施の形態のロボットのモデルM1では電気ケーブル16が除外されているが、この形態に限られない。ロボット1の電気ケーブルおよび配管等の部材のモデルが生成されていても構わない。
 図2および図3を参照して、3次元の形状データ46は、ロボット1の周りに配置された周辺物の形状データ46dを含む。周辺物の形状データ46dは、周辺物とロボット1またはハンド2との干渉の判定に使用される。本実施の形態においては、周辺物の形状データ46dには、コンベヤ8の形状データおよびコンテナ9の形状データが含まれる。周辺物の形状データ46dとしては、CAD装置にて生成される3次元データを採用することができる。
 周辺物としては、コンベヤおよびコンテナに限られず、ロボットの周りに配置され、ロボットまたは作業ツールと干渉が生じる虞のある任意の障害物を採用することができる。例えば、周辺物として、ワークを載置する架台またはロボット装置の周りに配置される柵等の固定された物体を採用することができる。または、周辺物としては、ロボットの近傍を通る搬送車等の移動する物体を採用しても構わない。
 図5に、本実施の形態のロボット装置の制御のフローチャートを示す。図5には、1個のワークWを搬送する制御が記載されている。図5に示す制御は、1個のワークWを取り出すごとに繰り返して実施することができる。図2および図5を参照して、前述の通りに、ロボット装置および周辺物の3次元の形状データ46は、予め記憶部42に記憶されている。
 始めに、動作設定部51は、ロボット1の位置および姿勢を、ワークWの取り出しを開始するときの初期位置および初期姿勢にする(図1を参照)。本実施の形態においては、この時のロボット1の移動点を初期点と称する。初期点における初期位置および初期姿勢は、作業者が予め定めておくことができる。初期点は、例えば、レンジセンサ6の撮像範囲にロボット1およびハンド2が配置されないように定められる。
 ステップ111において、レンジセンサ6は、コンテナ9の内部のワークWを撮像する。動作設定部51の処理部52は、カメラ61,62にて撮像した画像を処理する。処理部52は、ステレオ法によりワークWの3次元情報を生成する。処理部52は、ワークWの表面に測定点を設定する。処理部52は、2台のカメラ61,62にて撮像される2つの画像の視差に基づいて、レンジセンサ6から測定点までの距離を算出する。処理部52は、レンジセンサ6から測定点までの距離に基づいて、測定点の位置を検出する。3次元情報には、物体の表面に設定される複数の測定点の位置の情報が含まれる。
 3次元情報は、例えば、距離画像または3次元マップであり、3次元の形状データに相当する。距離画像は、レンジセンサ6からの距離に応じて画像の色または画像の濃さを変化させた画像である。3次元マップは、予め定められた座標系における測定点の座標値、またはレンジセンサからの測定点までの距離および測定点の方向の情報を含む。
 ステップ112において、処理部52は、ワークWの3次元情報をワークの形状データ46aと比較するテンプレートマッチングを行うことにより、コンテナ9に収容されているワークWの位置および姿勢を検出する。なお、本実施の形態のワークの形状データは、CAD装置にて生成される3次元データが採用されているが、この形態に限られない。作業者は、様々な方向からワークを撮像したときの距離画像をワークの形状データとして採用しても構わない。
 または、処理部52は、ワークWの検出において、2次元の画像を利用しても構わない。レンジセンサ6の2つのカメラ61,62のうち、一つのカメラにて2次元の画像を撮像する。2次元の画像のテンプレートマッチングにより、2次元の画像におけるワークを検出する。そして、処理部52は、1つのワークを選定し、ワークWの表面に対応する領域の3次元情報を取得する。例えば、処理部52は、ワークWの表面に対応する複数の測定点により平面を算出して、ワークWの位置および姿勢を算出することができる。
 ステップ113において、選定部54は、ロボット装置5にて取り出すための目標のワークWを選定する。選定部54は、処理部52にて検出されたワークWの位置および姿勢に基づいて目標のワークWを選定する。選定部54は、任意の制御により目標のワークWを選定することができる。例えば、選定部54は、レンジセンサ6に最も近いワークWを目標のワークWに設定することができる。すなわち、選定部54は、ワークWの位置が高いものから順番にワークWを選定することができる。
 ステップ114において、記憶部42は、ロボット装置5にて取り出すワークW以外のワークWの3次元情報を記憶部42に記憶する。ロボット装置5にて取り出すワークW以外のワークWは、ロボット1またはハンド2と干渉が生じる物になる。この3次元情報は、ロボット1またはハンド2と干渉が生じるか否かを判定する制御に使用される。
 ステップ115において、経路生成部55は、目標のワークWの位置および姿勢に応じて、ロボット1がワークWを把持する点である把持点を設定する。経路生成部55は、把持点におけるロボット1の把持位置および把持姿勢を算出する。
 ステップ116において、経路生成部55は、初期点からワークWを把持する把持点までのロボット1の第1の経路を生成する。図1においては、矢印91に示す経路が第1の経路に相当する。経路生成部55が第1の経路を生成するための制御については、ロボット1またはハンド2の3次元形状を考慮して、ロボット1またはハンド2がワークWに干渉しないように、種々の経路探索アルゴリズムを適用することができる。経路生成部55は、ロボット1の位置が通過する複数の移動点を生成することができる。複数の移動点を通る経路が第1の経路に相当する。また、複数の移動点同士の間には補間点が設定されても構わない。この時に、経路生成部55は、ハンド2またはロボット1と他の物との干渉を考慮せずに、第1の経路を生成することができる。
 次に、ステップ117において、設定部56は、ロボット1の複数の構成部材およびハンド2のうち、干渉の判定を行う部材を設定する。ここでの例では、設定部56は、ロボット1の複数の構成部材のうち、リスト15および上部アーム11を干渉の判定を行う構成部材に設定する。また、設定部56は、ハンド2を干渉の判定を行う部材に設定する。
 設定部56は、ロボット1の運転状態に応じて干渉の判定を行う部材を設定する。図1を参照して、矢印91に示すように第1の経路に沿ってロボット1の位置が移動する時に、ハンド2およびリスト15はコンテナ9の内部に挿入される。また、上部アーム11は、コンテナ9の近傍に配置される。ハンド2、リスト15、および上部アーム11は、コンテナ9に接触する虞が生じる。このために、ハンド2、リスト15、および上部アーム11を干渉の判定を行う部材に設定することができる。また、設定部56は、コンテナ9およびワークWを干渉の判定を行う部材に設定することができる。干渉の判定を行う部材は、例えば、動作プログラム41に予め定めておくことができる。設定部56は、動作プログラム41を読み込んで干渉の判定を行う部材を設定する。
 次に、ステップ118において、判定部57は、把持点および第1の経路において、干渉が生じるか否かを判定する。判定部57は、設定部56にて設定された部材の3次元の形状データと、ワークの3次元情報、および周辺物の3次元の形状データに基づいて、設定部56にて設定された部材がワークまたは周辺物と干渉するか否かを判定する。なお、周辺物が配置される位置は、予め定められている。
 始めに、判定部57は、ロボット1がワークWを把持するための把持位置および把持姿勢になったときに、ハンド2、リスト15、および上部アーム11が、コンテナ9またはロボット装置5に把持されるワークW以外のワークWに干渉するか否かを判定する。
 判定部57は、ロボット1の把持位置および把持姿勢を取得する。判定部57は、ロボット1の把持位置および把持姿勢に基づいて、ロボット装置5の構成部材のモデルの位置および姿勢を算出する。判定部57は、構成部材のそれぞれの駆動軸の情報に基づいて、モデルの位置および姿勢を算出する。ここでは、判定部57は、ハンドのモデルM2、リストのモデルM15、および上部アームのモデルM11の位置および姿勢を算出する。それぞれのモデルの位置および姿勢は、例えば、基準座標系37にて表現することができる。
 更に、判定部57は、コンテナ9の3次元の形状データおよびワークの3次元情報を取得する。ここで、判定部57は、コンテナの3次元の形状データおよびワークの3次元情報に基づいて、コンテナのモデルおよびワークのモデルを生成しても構わない。コンテナのモデルまたはワークのモデルについても、例えば、基準座標系37にて表現することができる。
 判定部57は、ハンドのモデルM2、リストのモデルM15、および上部アームのモデルM11が、コンテナ9または把持されるワークW以外のワークWと接触する位置に配置される場合に、干渉が生じると判定することができる。
 次に、判定部57は、ロボット1の位置が第1の経路に沿って移動する時に、干渉が生じるか否かを判定する。判定部57は、経路生成部55にて生成された移動点を取得する。また、判定部57は、移動点同士の間に生成された補間点を取得する。判定部57は、それぞれの移動点および補間点において、ロボット1の位置および姿勢を算出する。把持点おける判定の制御と同様に、判定部57は、それぞれの移動点および補間点において、ハンドのモデルM2、リストのモデルM15、および上部アームのモデルM11が、コンテナ9または把持されるワークW以外のワークWと干渉するか否かを判定する。
 ステップ118において、把持点および第1の経路において、ロボット1の構成部材が、ワークまたは周辺物と干渉すると判定される場合に、制御は、ステップ119に移行する。また、把持点および第1の経路において、ハンド2が、ワークまたは周辺物と干渉すると判定される場合に、制御は、ステップ119に移行する。
 ステップ119において、経路修正部58は、把持点、移動点および補間点のうち、干渉が生じる点において、ロボット1の位置または姿勢を修正する。または、経路修正部58は、ロボット1の位置および姿勢の両方を修正しても構わない。ここで、把持点、移動点、または補間点におけるロボット1の位置の修正方法および姿勢の修正方法について説明する。
 図6に、ロボットの位置の修正方法を説明するハンドのモデルおよびロボットのモデルの斜視図を示す。ここでの例では、ロボット1の位置が移動点MPAに配置されるときに干渉が生じると判定されている。そこで、経路修正部58は、ロボット1の位置を修正する。経路修正部58は、移動点MPAの周りに移動点MPAを移動させるための領域71を設定する。領域71の形状および大きさは予め定めておくことができる。本実施の形態においては、ツール座標系38のX軸およびY軸を含む平面において、四角形の領域71が設定されている。
 図7に、移動点の位置を移動させる領域の平面図を示す。本実施の形態においては、移動点MPAからツール座標系38のX軸の方向およびY軸の方向に、予め定められた距離にて領域71が設定されている。経路修正部58は、領域71の内部において、干渉を回避できる移動点MPBを探索する。経路修正部58は、X軸方向およびY軸方向に領域71を等分に分割する。そして、領域71を分割した時の小さな領域の頂点に移動点MPBを設定することができる。ここでの例では、X軸方向に6分割され、Y軸方向に6分割されている。移動点MPAの周りに48点の移動点MPBが設定されている。
 経路修正部58は、それぞれの移動点MPBにロボット1の位置を移動したときに、ハンドのモデルM2、リストのモデルM15、および上部アームのモデルM11に干渉が生じるか否かを判定する。経路修正部58は、全ての移動点MPBについて干渉の判定を実施することができる。
 経路修正部58は、干渉が回避される移動点MPBを修正後の移動点に設定することができる。干渉が回避される複数の移動点MPBが存在する場合には、経路修正部58は、予め定めた優先順位に基づいて、1個の移動点MPBを選定することができる。例えば、経路修正部58は、元の移動点MPAに最も近い移動点MPBを採用することができる。更に、X軸の正側の方向または負側の方向の優先順位を定めておくことができる。更に、Y軸の正側の方向または負側の方向の優先順位を定めておくことができる。
 図8に、移動点におけるロボットの姿勢を修正するときのハンドのモデルおよびロボットのモデルの斜視図を示す。経路修正部58は、ロボット1の姿勢を変更して、干渉が回避できる姿勢を探索する。ここでの例では、経路修正部58は、ツール座標系38のZ軸の周り、すなわち、R軸の方向にハンドのモデルM2を回転させる。経路修正部58は、矢印94に示す方向にハンドのモデルM2を回転させることにより、ロボットの姿勢を変更する。
 図9に、ハンドのモデルが回転する時の平面図を示す。本実施の形態の経路修正部58は、予め定められた角度ごとにハンドのモデルM2を回転させる。ここでの例では、1回転を6個に分割した回転角度が設定されている。経路修正部58は、全ての回転角度において、ハンド2、リスト15、および上部アーム11の位置および姿勢を算出し、干渉が生じるか否かを判定する。
 経路修正部58は、干渉が回避されるロボット1の姿勢を修正後の姿勢に設定することができる。干渉を回避できる複数の姿勢がある場合には、経路修正部58は、任意の制御により1つの姿勢を選定することができる。例えば、経路修正部58は、元の回転角度に最も近い回転角度を採用することができる。また、ハンドを回転する時の時計回りまたは半時計周りの優先順位を定めておくことができる。
 経路修正部58は、ロボットの位置またはロボットの姿勢のいずれか一方を変更しても干渉が回避できない場合に、他方を変更することができる。本実施の形態では、ロボットの姿勢を変更しても干渉が回避できない場合に、ロボットの位置を変更している。
 図5を参照して、このように、ステップ119においては、干渉が生じる点におけるロボットの位置または姿勢を変更する。経路修正部58は、修正後のロボットの位置および姿勢を採用して、新たな第1の経路を生成することができる。そして、制御は、ステップ118に移行して、干渉が生じるか否かを判定することができる。把持点および第1の経路において干渉が生じなくなるまで、ステップ118およびステップ119の制御を繰り返すことができる。
 ステップ118において、把持点および第1の経路において、干渉が生じない場合には把持点および第1の経路におけるロボット1の位置および姿勢を確定する。制御は、ステップ120に移行する。次に、ワークWをコンベヤ8に搬送する第2の経路を生成する。
 ステップ120において、経路生成部55は、把持点からワークWをコンベヤ8に載置するための目標点までの第2の経路を生成する。図1を参照して、矢印92に示す経路が第2の経路に相当する。経路生成部55は、ステップ116において第1の経路を生成した制御と同様の制御により、第2の経路を生成することができる。
 次に、ステップ121において、設定部56は、ロボット1の運転状態に応じて干渉の判定を行う部材を設定する。図1を参照して、ロボット装置5がワークWを把持した後にコンベヤ8まで搬送する時に、下部アーム12がコンベヤ8と干渉する虞がある。この運転状態では、下部アーム12の干渉の判定を行う。設定部56は、動作プログラム41の記載に基づいて、下部アーム12を干渉の判定を行う部材に設定する。また、設定部56は、動作プログラム41の記載に基づいて、コンベヤ8を干渉の判定を行う部材に設定する。
 ステップ122において、判定部57は、ステップ118と同様の制御により、目標点および第2の経路において、下部アーム12とコンベヤ8との干渉が生じるか否かを判定する。判定部57は、下部アームのモデルM12およびコンベヤ8の3次元の形状データに基づいて、下部アーム12とコンベヤ8との干渉が生じるか否かを判定する。
 ステップ122において、目標点および第2の経路において干渉が生じると判定される場合に、制御はステップ123に移行する。ステップ123において、経路修正部58は、ステップ119におけるロボット1の位置を修正する制御またはロボット1の姿勢を修正する制御と同様の制御により、ロボット1の位置または姿勢を修正する。そして下部アーム12とコンベヤ8との干渉が生じなくなるまで、ステップ122およびステップ123の制御を繰り返す。ステップ122において、目標点および第2の経路において干渉が生じないと判定される場合に、目標点および第2の経路におけるロボット1の位置および姿勢が確定される。制御は、ステップ124に移行する。
 ステップ124において、動作設定部51は、把持点、目標点、第1の経路、および第2の経路におけるロボット1の位置および姿勢を動作制御部43に送出する。ロボット1の位置は、第1の経路に沿って移動する。ロボット1は、把持位置および把持姿勢に向かって位置および姿勢を変更する。ロボット1が把持位置および把持姿勢に到達した後に、ハンド2の電磁石2bが励磁されることにより、ワークWを把持することができる。
 次に、ロボット1の位置は、第2の経路に沿って移動する。動作制御部43は、ロボット1の位置および姿勢を変更して、コンベヤ8にワークWを載置する目標点までワークWを移動する。ロボット1が目標位置および目標姿勢に到達した後に、ハンド2の電磁石2bの励磁を停止することによりワークWが解放される。その後に、ロボット1は、初期位置および初期姿勢に戻る。
 本実施の形態のロボット装置5では、干渉の判定を行う場合に、ロボット1の運転状態に応じて、ロボット1の複数の構成部材から一部の構成部材を選定している。すなわち、制御装置4は、ロボット1の運転状態に応じて、干渉の判定を行う構成部材を切替えている。また、制御装置4は、一部の構成部材の3次元の形状データに基づいて干渉の判定を行っている。このために、短時間で正確な判定を行うことができる。例えば、ロボット1の全ての構成部材の3次元の形状データを用いて、他の物との干渉を判定する場合には、計算量が多くなり、計算時間が長くなる。しかしながら、本実施の形態では、一部の構成部材を運転状態に応じて選定することにより、干渉の判定の計算量を少なくすることができる。また、ロボット1の構成部材の形状に一致する形状データを用いることにより、正確にロボット1の干渉の判定を行うことができる。
 更に、本実施の形態においては、ハンド2のモデルM2としてハンド2の実際の形状に一致する3次元の形状データを採用している。このために、ハンド2の干渉を正確に判定することができる。
 本実施の形態においては、ロボットの構成部材の干渉の判定に加えてハンドの干渉の判定を行っているが、この形態に限られない。ハンドの干渉の判定は行わなくても構わない。例えば、ハンドの形状がコンテナおよびワークとの干渉を生じない形状である場合には、ハンドの干渉の判定は行わなくても構わない。更には、ロボット装置は、作業ツールを備えていなくても構わない。例えば、ロボット装置が作業ツールを自動的に交換する装置を備える場合が有る。作業ツールを交換するために作業ツールがロボットに取り付けられていない状態でロボットが位置および姿勢を変更する場合が有る。この期間中に、制御装置は、作業ツールの干渉の判定を行わずに、ロボットの構成部品の干渉の判定を行うことができる。また、本実施の形態においては、ロボットの駆動が一時的に停止する把持点および目標点において干渉の判定を行うとともに、第1の経路および第2の経路において干渉の判定を行っているが、この形態に限られない。第1の経路および第2の経路においては、干渉の判定を行わなくても構わない。
 本実施の形態の動作設定部51は、レンジセンサ6を用いて、ロボット装置5にて取り出すワークW以外のワークWの3次元情報を生成している。すなわち、コンテナ9に残存するワークWの3次元情報を生成している。そして、動作設定部51は、ワークWの3次元情報を用いて、ハンド2またはロボット1の構成部材がワークWに干渉するか否かを判定している。コンテナ9に配置されているワークWと、ハンド2の本体部2aまたはリスト15とが干渉して、目標のワークWを把持することができない場合がある。本実施の形態におけるロボット装置5では、ロボット装置5にて取り出すワークWの周りに配置されているワークWと、ハンド2またはロボット1との干渉を判定することができる。
 本実施の形態では、コンテナ9等の周辺物については、CAD装置にて生成される3次元の形状データを採用することにより、実際の形状と一致するモデルが生成されている。周辺物のモデルの生成方法としては、この形態に限られない。動作設定部は、3次元センサにて周辺物を撮像して、3次元センサの出力に基づいて周辺物の3次元の形状データを生成しても構わない。
 例えば、動作設定部51は、レンジセンサ6の出力に基づいて、モデルマッチングの方法により、コンテナ9の3次元情報を生成することができる。動作設定部51は、周辺物の形状データ46dとして、コンテナ9の3次元情報を生成する。動作設定部51は、コンテナ9の3次元情報に基づいて、ロボット1とコンテナ9とが干渉を生じるか否かを判定しても構わない。この制御は、周辺物が移動する場合に好適である。
 また、周辺物が1つの方向に移動する場合には、3次元センサの代わりに2次元センサを採用することができる。周辺物の3次元の形状データは予め記憶部に記憶させておくことができる。予め定められた位置に周辺物を配置して2次元センサで基準画像を撮像する。周辺物が移動した時に2次元センサにて周辺物を撮像して画像における周辺物の位置を検出する。このときの画像における周辺物の位置と基準画像における周辺物の位置とに基づいて、周辺物の位置を検出することができる。
 図10に、作業ツールの形状を簡略化したモデルおよびコンベヤの形状を簡略化したモデルを含むロボット装置のモデルの斜視図を示す。作業ツールのモデルおよび周辺物のモデルのうち少なくとも一方のモデルは、簡略化された形状を有するモデルを採用しても構わない。
 製造者は、ロボット1を設計したときにCAD装置にて生成される設計データ(3次元の形状データ)を有する。このために、製造者は、ロボット1の製造時にロボットの構成部材の形状データ46b(ロボットのモデルM1)を記憶部42に記憶させることができる。一方で、作業者は、作業ツールまたはコンベヤ等の周辺物を、ロボットの製造者とは異なる製造者から購入する場合がある。この時に、作業者は、作業ツールまたは周辺物の設計データを製造者から入手できない場合がある。
 この場合に、作業者は、作業ツールの形状を簡略化した形状を有する作業ツールのモデル、および周辺物の形状を簡略化した形状を有する周辺物のモデルのうち、少なくとも一方のモデルを採用しても構わない。簡易なモデルは、作業者が作成して記憶部42に記憶させることができる。判定部57は、作業ツールのモデルおよび周辺物のモデルのうち少なくとも一方のモデルを用いて、設定部56にて設定された部材の干渉が生じるか否かを判定する。
 図10に示す例では、ハンドのモデルMS2は、四角錐台の形状を有する。コンベヤのモデルMS8は、直方体の形状を有する。このような簡易なモデルは、作業者が形状および大きさを指定することにより、容易に生成することができる。例えば、作業者が直方体のそれぞれの辺の長さを指定することにより、コンベヤのモデルMS8を生成することができる。簡易なモデルの形状としては、円柱、六面体、または球等の任意の形状を採用することができる。また、簡易なモデルは、実際の装置が内部に含まれるように大きく形成されることが好ましい。このように、作業者は、作業ツールのモデルおよび周辺物のモデルとして、簡易なモデルを採用しても構わない。
 上記の実施の形態では、ロボット1の構成部材として、上部アーム11、下部アーム12、旋回ベース13、ベース14、およびリスト15を例示しているが、この形態に限られない。ロボットの構成部材としては、アームの一部分、旋回ベースの一部分、ベースの一部分、またはリストの一部分であっても構わない。すなわち、ロボットを構成する任意の部分をロボットの構成部材に選定することができる。例えば、制御装置は、上部アームの一部分の3次元の形状データを記憶して、この形状データに基づいてワークまたは周辺物との干渉が生じるか否かを判定しても構わない。
 また、本実施の形態では、ロボットの全ての構成部材の3次元の形状データは、実際の形状に一致するように形成されているが、この形態に限られない。ロボットの一部の構成部材の3次元の形状データが実際の形状に一致するように形成され、その他の構成部材の3次元の形状データが簡易な形状のデータであっても構わない。更に、ロボットの少なくとも一部の構成部材の3次元の形状データが四角柱などの簡易な形状のデータであっても構わない。
 本実施の形態の3次元センサとしてのレンジセンサ6は、プロジェクタを備えるが、プロジェクタを備えなくても構わない。更に、3次元センサは、ワークの表面の3次元情報を取得できる任意のセンサを採用することができる。例えば、光飛行時間方式により距離画像を撮像するTOF(Time of Flight)カメラ、または、ラインセンサ等を採用することができる。
 本実施の形態のレンジセンサ6は、支持部材83に固定されているが、この形態に限られない。3次元センサは、ワークを撮像可能なように配置することができる。例えば、3次元センサは、ロボットのリストと一体的に移動するように、リストに固定されていても構わない。
 本実施の形態のロボット装置は、ワークを搬送する作業を行うが、この形態に限られない。任意の作業を行うロボット装置に本実施の形態の制御を適用することができる。作業ツールは、ワークに対して予め定められた作業を行う任意の装置を採用することができる。特に、本実施の形態の制御は、ワークの状態または周辺物の状態に応じてロボットの位置および姿勢が変化するロボット装置に好適である。例えば、ワークをパレットの上面等に並べて積むロボット装置に本実施の形態の制御を適用することができる。
 上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
 上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、請求の範囲に示される実施の形態の変更が含まれている。
 1 ロボット
 2 ハンド
 4 制御装置
 5 ロボット装置
 6 レンジセンサ
 8 コンベヤ
 9 コンテナ
 11 上部アーム
 12 下部アーム
 13 旋回ベース
 14 ベース
 15 リスト
 42 記憶部
 46 3次元の形状データ
 46a ワークの形状データ
 46b ロボットの構成部材の形状データ
 46c ハンドの形状データ
 46d 周辺物の形状データ
 52 処理部
 56 設定部
 57 判定部

Claims (7)

  1.  複数の構成部材を含むロボットと、
     ロボットを制御する制御装置と、を備え、
     前記制御装置は、ロボットの構成部材の3次元の形状データを記憶する記憶部と、
     ロボットを駆動した時に、ロボットの構成部材がワークまたはロボットの周りに配置される周辺物と干渉するか否かを判定する判定部と、
     ロボットの複数の構成部材のうち、ロボットの運転状態に応じて干渉の判定を行う一部の構成部材を設定する設定部と、を含み、
     前記判定部は、前記設定部にて設定された構成部材の3次元の形状データに基づいて、前記設定部にて設定された構成部材がワークまたは周辺物と干渉するか否かを判定する、ロボット装置。
  2.  ロボットの構成部材の3次元の形状データは、実際の形状に一致するように形成されている、請求項1に記載のロボット装置。
  3.  ワークに対して作業を行う作業ツールを備え、
     ロボットは、作業ツールを移動するように形成されており、
     前記制御装置は、作業ツールを制御する、請求項1または2に記載のロボット装置。
  4.  前記記憶部は、作業ツールの実際の形状に一致する3次元の形状データを記憶しており、
     前記設定部は、ロボットの運転状態に応じて、ロボットの複数の構成部材および作業ツールのうち、干渉の判定を行う部材を設定し、
     前記判定部は、前記設定部にて設定された部材の3次元の形状データに基づいて、前記設定部にて設定された部材がワークまたは周辺物と干渉するか否かを判定する、請求項3に記載のロボット装置。
  5.  前記判定部は、ロボットの位置が移動する経路において、ロボットの位置および姿勢を算出し、ロボットの位置および姿勢に基づいて、前記設定部にて設定された部材の干渉の判定を行う、請求項1から4のいずれか一項に記載のロボット装置。
  6.  前記記憶部は、作業ツールの形状を簡略化した形状を有する作業ツールのモデル、および周辺物の形状を簡略化した形状を有する周辺物のモデルのうち、少なくとも一方のモデルを記憶しており、
     前記判定部は、作業ツールのモデルおよび周辺物のモデルのうち少なくとも一方のモデルを用いて、前記設定部にて設定された部材の干渉の判定を行う、請求項3に記載のロボット装置。
  7.  物体の表面に設定される測定点の位置の情報を含む3次元の形状データを取得するための3次元センサを備え、
     前記制御装置は、3次元センサの出力に基づいて、ワークの3次元の形状データを生成する処理部を含み、
     前記判定部は、ワークの3次元の形状データに基づいて、前記設定部にて設定されたロボットの構成部材がワークと干渉するか否かを判定する、請求項1から3のいずれか一項に記載のロボット装置。
PCT/JP2021/028475 2020-08-05 2021-07-30 ロボットの構成部材の干渉を検出するロボット装置 WO2022030414A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE112021003175.9T DE112021003175T5 (de) 2020-08-05 2021-07-30 Robotervorrichtung zur erkennung der störungen eines roboterbauteils
US18/005,187 US20230264352A1 (en) 2020-08-05 2021-07-30 Robot device for detecting interference of constituent member of robot
CN202180057066.2A CN116096536A (zh) 2020-08-05 2021-07-30 检测机器人的构成部件的干扰的机器人装置
JP2022541514A JP7415013B2 (ja) 2020-08-05 2021-07-30 ロボットの構成部材の干渉を検出するロボット装置
JP2023210616A JP2024015393A (ja) 2020-08-05 2023-12-13 ロボットの構成部材の干渉を検出するロボット装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-133037 2020-08-05
JP2020133037 2020-08-05

Publications (1)

Publication Number Publication Date
WO2022030414A1 true WO2022030414A1 (ja) 2022-02-10

Family

ID=80118056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/028475 WO2022030414A1 (ja) 2020-08-05 2021-07-30 ロボットの構成部材の干渉を検出するロボット装置

Country Status (5)

Country Link
US (1) US20230264352A1 (ja)
JP (2) JP7415013B2 (ja)
CN (1) CN116096536A (ja)
DE (1) DE112021003175T5 (ja)
WO (1) WO2022030414A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04201096A (ja) * 1990-11-29 1992-07-22 Toshiba Corp ロボットの干渉判定方法
JPH05127730A (ja) * 1991-11-07 1993-05-25 Okuma Mach Works Ltd 数値制御工作機械における干渉チエツク装置
JP2009116505A (ja) * 2007-11-05 2009-05-28 Jtekt Corp 工作機械の干渉検出装置
JP2010012567A (ja) * 2008-07-04 2010-01-21 Fanuc Ltd 物品取り出し装置
JP2019025621A (ja) * 2017-08-02 2019-02-21 オムロン株式会社 干渉判定方法、干渉判定システム及びコンピュータプログラム
WO2020066949A1 (ja) * 2018-09-26 2020-04-02 日本電産株式会社 ロボットの経路決定装置、ロボットの経路決定方法、プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4201096B2 (ja) 1998-11-12 2008-12-24 日新製鋼株式会社 溶融アルミめっき鋼板の曲げ加工方法
JP5127730B2 (ja) 2009-01-15 2013-01-23 パナソニック株式会社 電気ひげそり器
JP5852364B2 (ja) 2011-08-26 2016-02-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6816070B2 (ja) 2018-08-24 2021-01-20 ファナック株式会社 干渉回避装置およびロボットシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04201096A (ja) * 1990-11-29 1992-07-22 Toshiba Corp ロボットの干渉判定方法
JPH05127730A (ja) * 1991-11-07 1993-05-25 Okuma Mach Works Ltd 数値制御工作機械における干渉チエツク装置
JP2009116505A (ja) * 2007-11-05 2009-05-28 Jtekt Corp 工作機械の干渉検出装置
JP2010012567A (ja) * 2008-07-04 2010-01-21 Fanuc Ltd 物品取り出し装置
JP2019025621A (ja) * 2017-08-02 2019-02-21 オムロン株式会社 干渉判定方法、干渉判定システム及びコンピュータプログラム
WO2020066949A1 (ja) * 2018-09-26 2020-04-02 日本電産株式会社 ロボットの経路決定装置、ロボットの経路決定方法、プログラム

Also Published As

Publication number Publication date
JPWO2022030414A1 (ja) 2022-02-10
US20230264352A1 (en) 2023-08-24
JP2024015393A (ja) 2024-02-01
JP7415013B2 (ja) 2024-01-16
CN116096536A (zh) 2023-05-09
DE112021003175T5 (de) 2023-04-13

Similar Documents

Publication Publication Date Title
US10551821B2 (en) Robot, robot control apparatus and robot system
JP3782679B2 (ja) 干渉回避装置
US11241796B2 (en) Robot system and method for controlling robot system
JP6725587B2 (ja) バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法
JP5778311B1 (ja) ピッキング装置およびピッキング方法
JP5144785B2 (ja) ロボットの着目部位と周辺物との干渉を予測する方法及び装置
JP5977544B2 (ja) 情報処理装置、情報処理方法
US8306661B2 (en) Method and system for establishing no-entry zone for robot
JP5929854B2 (ja) ロボットシステムおよび被加工物の製造方法
JP5785284B2 (ja) 搬送対象物の落下事故を防止するロボットシステム
WO2012140770A1 (ja) ロボット制御装置
JP2012030320A (ja) 作業システム、作業ロボット制御装置および作業プログラム
JP6643020B2 (ja) ロボット制御装置、ロボット制御方法及びコンピュータプログラム
JP2008207262A (ja) マニピュレータシステム
Ahmed et al. Object detection and motion planning for automated welding of tubular joints
CN115194755A (zh) 用于控制机器人将对象插入到插入部中的设备和方法
JP2021133470A (ja) ロボットの制御方法およびロボットシステム
WO2020105295A1 (ja) 画像情報処理装置、把持システム、および画像情報処理方法
JP7454132B2 (ja) ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム
WO2022030414A1 (ja) ロボットの構成部材の干渉を検出するロボット装置
US20230330764A1 (en) Autonomous assembly robots
WO2023187006A1 (en) Controlling a robotic manipulator for packing an object
JP5857803B2 (ja) 産業用機械の干渉判定装置、干渉判定方法、コンピュータプログラムおよび記録媒体
US20230038804A1 (en) Master-slave system and controlling method
US20220301209A1 (en) Device and method for training a neural network for controlling a robot

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022541514

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21854469

Country of ref document: EP

Kind code of ref document: A1