WO2024038572A1 - プログラム生成装置、制御装置及びプログラム - Google Patents

プログラム生成装置、制御装置及びプログラム Download PDF

Info

Publication number
WO2024038572A1
WO2024038572A1 PCT/JP2022/031313 JP2022031313W WO2024038572A1 WO 2024038572 A1 WO2024038572 A1 WO 2024038572A1 JP 2022031313 W JP2022031313 W JP 2022031313W WO 2024038572 A1 WO2024038572 A1 WO 2024038572A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
robot
workpiece
program
breaking
Prior art date
Application number
PCT/JP2022/031313
Other languages
English (en)
French (fr)
Inventor
悠太郎 高橋
勇太 並木
潤 和田
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to PCT/JP2022/031313 priority Critical patent/WO2024038572A1/ja
Priority to TW112129228A priority patent/TW202408758A/zh
Publication of WO2024038572A1 publication Critical patent/WO2024038572A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators

Definitions

  • Embodiments of the present invention relate to a program generation device, a control device, and a program.
  • a technique is known in which a robot uses a robot to take out a plurality of so-called bulk works that are arranged at irregular intervals and in irregular directions in a container such as a container (for example, Patent Document 1).
  • the robot is controlled so that the robot or its hand does not collide with a container.
  • information such as the shape and dimensions of the robot, hand, and container was registered in advance, and the retrieval operation was executed at each of multiple retrieval positions corresponding to multiple workpieces stored in the container.
  • the workpiece may be placed in a position that cannot be taken out by normal takeout operations, such as in a corner of the container or near a wall.
  • a robot hand moves the workpiece inside the container in order to move a workpiece placed in a position that cannot be taken out with a normal takeout operation to a position where it can be taken out with a normal takeout operation.
  • a robot program is created to do this.
  • the program generation device generates a robot program for causing a robot to perform a contact operation of contacting workpieces stacked in bulk in a container.
  • the program generation device includes a reception means for accepting a starting position and a starting posture for starting a contact operation, an amount of movement for a contact operation, and an amount of change in posture on a workpiece coordinate system, and a robot program for a target workpiece in a container.
  • a generating means for generating the data based on the starting position, the starting attitude, the amount of movement, and the amount of attitude change.
  • FIG. 1 is a diagram showing a robot system including a control device according to the first embodiment.
  • FIG. 2 is a hardware configuration diagram of the control device in FIG. 1.
  • FIG. 3 is a flowchart illustrating an example of a procedure for a workpiece retrieval operation performed by the control device of FIG. 1.
  • FIG. 4 is a functional block diagram of the control device of FIG. 1.
  • FIG. 5 is a diagram showing an example of a reception screen created by the reception screen creation section of FIG. 4.
  • FIG. 6 is a diagram showing an example of a management table stored in the storage section of FIG. 4.
  • FIG. 7 is a diagram showing the start position and movement amount of the breaking operation on the workpiece coordinate system.
  • FIG. 1 is a diagram showing a robot system including a control device according to the first embodiment.
  • FIG. 2 is a hardware configuration diagram of the control device in FIG. 1.
  • FIG. 3 is a flowchart illustrating an example of a procedure for a workpiece retrieval operation performed by the control device
  • FIG. 8 is a supplementary diagram for explaining the process of selecting a breaking motion parameter set by the breaking motion program generation unit in FIG. 4.
  • FIG. 9 is a functional block diagram of a control device according to the second embodiment.
  • FIG. 10 is a diagram showing an example of a reception screen created by the reception screen creation section of FIG. 9.
  • FIG. 11 is a diagram showing an example of a management table stored in the storage section of FIG. 9.
  • FIG. 12 is a supplementary diagram for explaining the correction processing by the correction unit of FIG. 9.
  • FIG. 13 is a functional block diagram of a control device according to a third embodiment.
  • FIG. 14 is a diagram showing an example of a reception screen created by the reception screen creation section of FIG. 13.
  • FIG. 15 is a diagram showing an example of a management table stored in the storage section of FIG. 13.
  • a control device causes a robot or a robot hand equipped on the robot to physically contact a workpiece placed in a position that cannot be taken out by a normal takeout operation by the robot. It has a function of generating a contact action program for executing a contact action, and a function of controlling the robot according to the generated contact action program. If the work can be moved to a position where the robot can perform a normal take-out operation by the contact operation, the work can be taken out by the robot's normal take-out operation.
  • a breaking motion in which a robot hand hooks on a workpiece to break it will be described as an example of the contact motion.
  • a pinching operation in which a robot hand picks up a workpiece, moves it, and releases it into a container will be described as an example of the contacting operation.
  • the control device has a function of controlling a robot according to a take-out operation program for taking out a plurality of so-called bulk works that are arranged at irregular intervals and orientations in a container such as a container, and
  • This computer device has a function of generating a breaking operation program for breaking a plurality of stacked works, and a function of controlling a robot according to the generated breaking operation program.
  • the breaking operation based on the breaking operation program is performed for a workpiece that cannot be taken out by a normal taking out operation based on the taking out operation program.
  • the breaking operation is an operation of bringing the robot into contact with the workpiece so that at least one of the position and orientation of the workpiece can be changed.
  • a workpiece that has been moved by the breaking operation to a position and direction that can be taken out by a normal take-out operation can be taken out by a normal take-out operation.
  • a robot system 1 including a control device 2 has a plurality of joints equipped with a robot hand 120 as a tool for taking out workpieces W stacked in bulk in a container 300.
  • the robot 100 includes a camera 200 that is placed at a position overlooking the opening of a container 300 that accommodates a workpiece W and photographs the container 300, and a control device 2 that controls the robot 100 and the camera 200.
  • the control device 2 is configured such that hardware such as an operating device 6, a display device 7, a communication device 8, and a storage device 9 are connected to a processor 5 such as a CPU.
  • the operating device 6 is provided by a keyboard, mouse, jog, etc.
  • the operating device 6 may be provided by a touch panel that also serves as the display device 7, or may be provided by a dedicated pendant of the control device 2.
  • the display device 7 is provided by an LCD or the like.
  • the communication device 8 controls data transmission and reception between the robot 100 and the camera 200.
  • the storage device 9 is provided by an HDD, SSD, or the like.
  • the storage device 9 stores an extraction operation program and a generation program.
  • the storage device 9 also stores information such as the shapes and dimensions of the robot 100, the robot hand 120, and the container 300 to determine whether or not the robot 100 and the robot hand 120 will interfere with the container 300 when the workpiece is taken out. Various information necessary to do so is stored.
  • the retrieval operation program is a program for causing the robot 100 to perform an operation of retrieving work pieces stacked in bulk in the container 300.
  • the take-out operation program the taught position and taught posture of the robot 100, operation commands for the robot hand 120, photographing commands for the camera 200, and the like are written according to a procedure.
  • the generation program is a program for generating a breaking operation program.
  • the breaking motion program is a program for causing the robot 100 to perform a breaking motion on a target workpiece.
  • the breaking motion program describes the starting position, starting posture, movement amount, posture change amount, moving speed, etc. of the breaking motion.
  • the control device 2 decodes each operation program and generates a position command value for a motor (not shown) that drives the robot 100 using inverse kinematics, and transfers the generated position command value to the motor. to a driver (not shown). This allows the robot 100 to execute the motion specified by the motion program.
  • the take-out operation program and the breaking operation program are written in a robot coordinate system that can be read by the control device 2. Of course, it may be expressed in another coordinate system such as the workpiece coordinate system, and in that case, the control device 2 holds a conversion table or the like for converting the other coordinate system into the robot coordinate system.
  • FIG. 3 is a flowchart showing the control procedure for the robot 100 and camera 200 by the control device 2, which is defined in the extraction operation program.
  • the control device 2 controls the camera 200 according to the take-out operation program (S11).
  • the container 300 is photographed by the camera 200, and the photographed container image is input to the control device 2.
  • the control device 2 performs image processing on the container image to specify the take-out position and orientation of the workpiece (S12).
  • S13; NO the workpiece taking-out operation by the robot 100 is ended.
  • step S14 it is determined whether the workpiece to be taken out can be taken out by a normal takeout operation based on the takeout operation program (S14).
  • the robot 100 and the robot hand 120 interferes with container 300 is determined.
  • the control device 2 When the robot 100 and the robot hand 120 do not interfere with the container 300, that is, when the workpiece to be taken out can be taken out by the normal taking-out operation (S14; YES), the control device 2 performs the following steps in order to perform the normal taking-out operation.
  • the robot 100 is controlled (S15). As a result, the workpiece to be taken out is taken out from the container 300, the process is returned to step S11, and the process for taking out the next workpiece is executed.
  • the control device When the workpiece to be taken out cannot be taken out by the normal takeout operation (S14; NO), the control device generates a breaking operation program (S16) and generates a breaking operation program for the workpiece that cannot be taken out as the workpiece to be subjected to the breaking operation.
  • the robot 100 is controlled according to the breaking motion program (S17). As a result, a breaking operation is performed on the workpiece that could not be taken out by the normal takeout operation, and the workpiece is moved by the robot 100 within the container. Then, the process returns to step S11, and the process for taking out the workpiece to be taken out is executed again.
  • the generation process of the breaking operation program and the robot control process based on the breaking operation program are repeatedly executed until the workpiece can be taken out by the normal taking out operation.
  • the upper limit of the number of repetitions can be set in advance, so that even if the number of repetitions of the breaking operation for the target workpiece reaches the upper limit, an alert will be generated when the target workpiece cannot be taken out with the normal takeout operation. may be configured.
  • the control device 2 By executing the generation program stored in the storage device 9 by the processor 5, the control device 2 functions as a program generation device that generates the breaking motion program. Specifically, as shown in FIG. 4, the control device 2 includes an input section 21, a display section 22, a data reception section 23, a storage section 24, a reception screen creation section 25, a registration section 26, and a breaking motion program generation section 27. functions as
  • the input unit 21 includes the operating device 6 shown in FIG. 2, and inputs user operations via the operating device 6 to the control device 2. Specifically, the input unit 21 inputs the breaking motion parameter set input via the reception screen to the control device 2.
  • the breaking motion parameter set is a data set required to generate a breaking motion program, including information on the starting position of the breaking motion, information on the starting posture of the breaking motion, information on the amount of movement of the breaking motion, and information on the amount of rotation of the breaking motion (posture). Contains information regarding the amount of change). Of course, information regarding the moving speed of the robot hand 120, interpolation format, movement format, etc. may also be included.
  • the display unit 22 has the display device 7 shown in FIG. 2, and displays the reception screen created by the reception screen creation unit 25.
  • the data receiving unit 23 includes the communication device 8 shown in FIG. 2, and receives container image data from the camera 200.
  • the storage unit 24 corresponds to the storage device 9 shown in FIG. 2.
  • the storage unit 24 stores a management table for managing the breaking motion parameter set input via the input unit 21. Details of the management table stored in the storage unit 24 will be described later.
  • the reception screen creation unit 25 creates a reception screen for accepting the breaking motion parameter set. Details of the reception screen created by the reception screen creation section 25 will be described later.
  • the registration unit 26 registers the breaking motion parameter set input via the reception screen in the management table according to the user's operation.
  • the breaking motion program generation unit 27 generates a breaking motion program based on the breaking motion parameter set. Specifically, the breaking motion program generation unit 27 converts the starting position, starting posture, movement amount, and rotation amount included in the breaking motion parameter set from the workpiece coordinate system to the robot coordinate system. Container image data is used in the conversion process from the workpiece coordinate system to the robot coordinate system. Since the position of the camera 200 is fixed, the correspondence between the position on the container coordinate system on the container image photographed by the camera 200 and the position on the robot coordinate system is known.
  • the corner of the container 300 on the container image is the origin of the container coordinate system
  • the axis along the long axis of the container 300 is the X axis
  • the axis along the short axis is the Y axis
  • the X and Y axes are perpendicular to each other.
  • the axis along the height direction of the container 300 is defined as the Z axis.
  • the position and orientation of the workpiece coordinate system on the robot coordinate system can be derived. If the position and orientation of the workpiece coordinate system in the robot coordinate system are known, the starting position, starting posture, movement amount, and rotation amount expressed in the workpiece coordinate system can be converted to the robot coordinate system. Note that the position and orientation of the workpiece in the container image can be specified by existing image processing such as threshold processing and pattern matching processing.
  • the breaking motion program generation unit 27 generates a breaking motion program that describes the starting position, starting posture, moving amount, rotation amount, moving speed, etc. expressed in the robot coordinate system. Note that the breaking motion program generation unit 27 selects one breaking motion parameter set corresponding to the target workpiece of breaking motion from a plurality of breaking motion parameter sets, and generates a breaking motion program based on the selected breaking motion parameter set. This is desirable. The details of the process of selecting the breaking motion parameter set by the breaking motion program generation unit 27 will be described later.
  • FIG. 5 shows an example of a reception screen.
  • the reception screen includes a plurality of input fields for accepting breaking motion parameter sets, and a registration button for registering the motion parameter set received via the reception screen.
  • the multiple input fields for accepting the breaking motion parameter set include three input fields for accepting the breaking motion starting position (X), (Y), (Z), and the starting posture (W), (P) of the breaking motion. ), (R), three input fields to accept the movement amount ( ⁇ X), ( ⁇ Y), ( ⁇ Z) of the breaking motion, the rotation amount of the breaking motion ( ⁇ W), ( ⁇ P ), ( ⁇ R).
  • the starting positions (X), (Y), and (Z) define the position of the robot hand 120 (the position of the hand reference point of the robot 100) when starting the breaking motion.
  • the starting postures (W), (P), and (R) define the posture of the robot hand 120 (orientation of the hand reference point of the robot 100) when starting the breaking motion.
  • the moving amounts ( ⁇ X), ( ⁇ Y), and ( ⁇ Z) define the moving direction and moving amount of the robot hand 120 in the breaking operation.
  • the rotation amounts ( ⁇ W), ( ⁇ P), and ( ⁇ R) define the posture change of the robot hand 120 during the breaking motion.
  • the end position of the breaking operation is defined by the start positions (X), (Y), (Z) and the movement amounts ( ⁇ X), ( ⁇ Y), ( ⁇ Z). Therefore, by breaking down the movement amounts ( ⁇ X), ( ⁇ Y), ( ⁇ Z) and the rotation amounts ( ⁇ W), ( ⁇ P), ( ⁇ R), the end positions (X), (Y), (Z) and the end posture of the operation can be calculated. (W), (P), and (R), respectively.
  • the user can register the input breaking motion parameter set in the management table by inputting the breaking motion parameter set on the reception screen and clicking the registration button.
  • the registered breaking motion parameter set is managed in a management table stored in the storage unit 24. As shown in FIG. 6, in the management table, at least one breaking motion parameter set is managed together with registered date and time information.
  • Starting position (X), (Y), (Z), starting posture (W), (P), (R), movement amount ( ⁇ X), ( ⁇ Y), ( ⁇ Z), and rotation amount ( ⁇ W), ( ⁇ P) and ( ⁇ R) are input in the workpiece coordinate system. That is, the start positions (X), (Y), and (Z) correspond to positions on each of the three orthogonal axes of the workpiece coordinate system.
  • the starting postures (W), (P), and (R) correspond to rotation angles around each of the three orthogonal axes of the workpiece coordinate system.
  • the moving amounts ( ⁇ X), ( ⁇ Y), and ( ⁇ Z) correspond to the moving amounts along each of the three orthogonal axes of the workpiece coordinate system.
  • the rotation amounts ( ⁇ W), ( ⁇ P), and ( ⁇ R) correspond to rotational changes around each of the three orthogonal axes of the workpiece coordinate system.
  • the workpiece coordinate system is a coordinate system defined by the target workpiece of the breaking operation. As shown in FIG. 7, for example, when the workpiece is a cylindrical body having a protrusion on its outer peripheral surface, the three orthogonal axes of the workpiece coordinate system are defined as follows. In other words, the center position of the cylinder is the origin of the work coordinate system, the axis parallel to the center line of the cylinder is the Y axis, and the axis perpendicular to the outer peripheral surface of the workpiece and parallel to the center line of the protrusion is the X axis. An axis perpendicular to both the y-axis and the y-axis is defined as the z-axis.
  • the starting position, starting posture, amount of movement, and amount of rotation can be input in a system other than the workpiece coordinate system, they do not have to be input based on the three orthogonal axes of the workpiece coordinate system.
  • the input may be based on another coordinate system such as a cylindrical coordinate system or a polar coordinate system depending on the workpiece.
  • the breaking motion start position Ps1 and the amount of movement ⁇ D in FIG. 7 are the starting position (-100 mm, 80 mm, 0 mm) and the moving amount (200 mm, 160 mm, 0 mm).
  • the movement trajectory of the breaking operation by the robot hand 120 based on the breaking operation parameter set 1 starts from the side with no protrusions on the outer circumferential surface of the workpiece, passes through the origin of the workpiece, and passes through the protrusion on the outer circumferential surface of the workpiece. On one side, it means an orientation that is inclined with respect to the center line of the workpiece.
  • the breaking motion program generation unit 27 selects a breaking motion parameter set that satisfies selection conditions from a plurality of breaking motion parameter sets.
  • selection conditions include the following.
  • Selection condition 1 The start position and end position are set inside the container 300.
  • Selection condition 2 No other work is placed at the starting position.
  • Selection condition 3 No other work is placed at the end position.
  • Selection condition 4 No other work is placed on the movement trajectory.
  • Selection condition 5 The start position is located closer to the center of the container 300 than the end position.
  • Selection condition 6 The distances from the inner wall surface of the container 300 at the start position and the end position are equal to or greater than a threshold value.
  • the breaking motion program generation unit 27 selects one breaking motion parameter set that satisfies at least selection condition 1 and selection condition 2 from the plurality of breaking motion parameter sets.
  • the target workpiece of the breaking operation is the workpiece W1
  • the start position and the end position are set inside the container 300, and the start position Ps4 where no other workpiece is placed at the start position.
  • a breaking motion parameter set including the end position Pe4 is selected from a plurality of breaking motion parameter sets.
  • a breaking motion parameter set including a start position Ps2 and an end position Pe2 is selected from a plurality of breaking motion parameter sets.
  • selection condition 1 there are two selection conditions, selection condition 1 and selection condition 2, for selecting one breaking motion parameter from multiple breaking motion parameter sets, but the selection conditions can be changed according to user instructions.
  • the selection condition may be the selection condition 1 and the selection condition 2 plus another selection condition.
  • a priority may be associated with the breaking motion parameter set.
  • one breaking motion parameter set with the highest priority among the multiple breaking motion parameter sets that satisfy the selection conditions is used to create the breaking motion program. It can be automatically selected as one breaking motion parameter set to be used.
  • the priorities associated with the breaking motion parameter sets that meet the selection conditions will be displayed. It's okay. With reference to the priority, it is possible to specify one breaking motion parameter set selected by the user.
  • the function of generating a breaking operation program that the control device 2 according to the first embodiment has is a complex program that allows the robot 100 to perform a breaking operation on workpieces that can be placed in various positions and orientations within a container using one operation program. It is not intended to generate a working program.
  • the breaking motion program generation function of the control device 2 according to the first embodiment is to generate a breaking motion program for causing the robot 100 to perform a simple contact motion with respect to a workpiece. Therefore, the user can generate a breaking motion program by simply inputting the breaking motion parameter set (starting position, starting posture, amount of movement, amount of rotation) on the reception screen provided by the control device 2.
  • breaking operation parameter set accepted on the reception screen in the workpiece coordinate system there is no need to consider the position and orientation of the workpiece in the container, and only the movement trajectory of the robot hand 120 with respect to the workpiece can be input. Taking this into account, a set of breaking motion parameters can be set in advance. This also contributes to facilitating the generation of the breaking operation program.
  • the control device 2 causes the robot 100 to perform a breaking operation for changing the position and orientation of the workpiece by breaking the workpiece in the container (by making contact with the workpiece). Operation programs can be easily created.
  • breaking motion parameter set can be selected. This prevents the occurrence of situations in which the breaking operation cannot be performed, such as the start and end positions of the breaking operation being set outside the container 300, or other work being placed at the starting position of the breaking operation. Can be done.
  • the control device according to the second embodiment has a function of modifying the amount of movement of the breaking motion parameter set set by the breaking motion program generation unit 27 in addition to the breaking motion program generation function of the control device 2 according to the first embodiment. This is a device that has been added.
  • the hardware configuration of the control device 3 according to the second embodiment is the same as the hardware configuration of the control device 2 according to the first embodiment, so a description thereof will be omitted (see FIG. 2).
  • control device 3 As shown in FIG. 9, the control device 3 according to the second embodiment has a modification section 28 added to the functional block diagram of the control device 2 according to the first embodiment shown in FIG.
  • the input unit 21 inputs the breaking motion information set input via the reception screen to the control device.
  • the breaking motion information set includes a breaking motion parameter set, information regarding on/off of a function that restricts the approach of the robot 100 to the inner wall surface of the container 300 (hereinafter referred to as the "approach restriction function"), and information regarding when the access restriction function is turned on.
  • Information regarding the limit distance at which the robot 100 can approach the inner wall surface of the container 300 hereinafter referred to as the approach limit distance).
  • the storage unit 24 stores a management table for managing the breaking motion information set input via the input unit 21.
  • the reception screen creation unit 25 creates a reception screen for accepting the breaking motion information set.
  • the reception screen created in the second embodiment is the reception screen of the first embodiment with a check box for accepting the on/off of the access restriction function, and when the access restriction function is selected to be turned on. It is configured by adding an input field to accept the approach limit distance.
  • the registration unit 26 registers the breaking motion information set input via the reception screen in the management table.
  • the management table of the second embodiment is a table in which two management items, an approach restriction function flag and an approach limit distance, are added to the management table of the first embodiment.
  • the access restriction function flag "0" means that the access restriction function is turned off, and the access restriction flag "1” means that the access restriction function is turned on.
  • the approach limit distance "20" means that a position 20 mm from the inner wall surface of the container 300 is the limit distance at which the robot hand 120 can approach.
  • the breaking motion program generation unit 27 generates a breaking motion program based on the breaking motion information set.
  • the modification unit 28 modifies the breaking motion information set set by the breaking motion program generation unit 27.
  • the modification process by the modification unit 28 is executed when the access restriction function is turned on.
  • the correction unit 28 adjusts the end position to within the approach limit distance from the inner wall surface of the container 300.
  • the amount of movement along each of the three orthogonal axes is corrected so that the position is further away.
  • the end position Pe5 derived from the starting position Ps5 and the movement amount ⁇ D5 of the breaking operation for the workpiece W3 is the approach limit distance Ds from the inner wall surface of the container 300. shall be close to.
  • the modification unit 28 modifies the movement amount ⁇ D5 so that the end position Pe5 is set to a position farther from the inner wall surface of the container 300 than the approach limit distance Ds.
  • the modification unit 28 converts the end position Pe5 from the work coordinate system to the container coordinate system based on the container image. Then, the end position Pe5 is corrected to the end position Pe5' based on the end position Pe5 expressed in the container coordinate system and the position of the inner wall surface of the container 300 expressed in the container coordinate system. Then, the movement amount ⁇ D5 is corrected to the movement amount ⁇ D5' using the start position Ps5 and the corrected end position Pe5'.
  • the correction unit 28 adjusts the movement direction component toward the inner wall surface of the container 300 to be 0 when it is determined that both the start position and the end position of the breaking operation approach within the approach limit distance Ds from the inner wall surface of the container 300. Correct the amount of movement. As shown in FIG. 12, both the start position Ps6 and the end position Pe6 of the breaking operation for the workpiece W4 are approaching within the approach limit distance Ds from the inner wall surface of the container 300.
  • the modification unit 28 converts the end position Pe6 from the work coordinate system to the container coordinate system based on the container image.
  • the movement direction component along the X axis or the movement direction component along the Y axis of the movement amount ⁇ D6 is set to 0, and the movement The amount is corrected to ⁇ D6'.
  • control device 3 according to the second embodiment Since the control device 3 according to the second embodiment has the same functions as the control device 2 according to the first embodiment, it produces the same effects as the control device 2 according to the first embodiment. Furthermore, the control device 3 according to the second embodiment can generate a breaking operation program in which the end position set close to the inner wall surface of the container 300 is automatically corrected to a position far from the inner wall surface of the container 300. can. Since the approach of the robot hand 120 to the side wall of the container 300 can be restricted, the robot hand 120 of the robot 100 during the breaking operation is closer to the side wall of the container 300 than when the approach to the side wall of the container 300 is not restricted. The possibility of collision can be reduced.
  • control device 3 sets the movement direction component toward the side wall of the container 300 to be 0 when both the start position and the end position are set to positions close to the side wall of the container. Then, the amount of movement is corrected so that the direction of movement is along the side wall of the container 300. Even if the starting position is close to the inner wall surface of the container 300, it is possible to avoid a situation in which the robot 100 approaches the inner wall surface of the container 300 further. Compared to a case where the robot 100 approaches the inner wall surface of the container 300 from a certain starting position, the possibility that the robot 100 colliding with the side wall of the container 300 during the breaking operation can be reduced.
  • the position and orientation of the workpiece in the container is changed, and the workpiece can be taken out by a normal takeout operation. I made it possible. However, if the target workpiece can be taken out by a normal takeout operation by moving it, the operation to be performed on a workpiece that cannot be taken out by a normal takeout operation is not limited to the breaking operation.
  • the control device 4 has a function of controlling the robot 100 according to a retrieval operation program for taking out a plurality of bulk workpieces from the container 300, and a function of controlling the end portions of the bulk workpieces in the container.
  • This computer device has a function of generating a knob operation program related to a knob operation of moving a knob within a container and releasing it into the container, and a function of controlling the robot 100 according to the generated knob operation program.
  • the picking action based on the picking action program is performed on a workpiece that cannot be taken out by a normal picking action based on the picking action program.
  • the pinching operation involves gripping the target workpiece at a position offset from the normal gripping position so that at least one of the position and orientation of the workpiece within the container can be changed, moving the target workpiece within the container, and releasing the workpiece into the container. It is a series of actions. A workpiece that has been moved to a position and direction in which it can be taken out by a normal take-out operation by the pinching operation is taken out by a normal take-out operation.
  • the hardware configuration of the control device 4 according to the third embodiment is the same as the hardware configuration of the control device 2 according to the first embodiment, so a description thereof will be omitted (see FIG. 2).
  • control device 4 includes the breaking operation program generation section 27 in the functional block diagram of the control device 3 according to the second embodiment shown in FIG. It has been replaced with .
  • the input unit 21 inputs the knob operation information set input via the reception screen to the control device.
  • the knob operation information set includes a knob operation parameter set, information regarding on/off of the approach restriction function, information regarding the approach limit distance when the approach restriction function is turned on, and whether or not to move the container 300 to the center position. including information about and.
  • the storage unit 24 stores a management table for managing the knob operation information set input via the input unit 21.
  • the reception screen creation unit 25 creates a reception screen for accepting the knob operation information set.
  • the reception screen created in the third embodiment has a check mark on the reception screen created in the second embodiment that accepts the selection of whether or not to move the container 300 to the center position. Configure by adding boxes. Also, the notation of "breaking motion" has been replaced with "pinch motion.” Instead of inputting the movement amounts (X), (Y), and (Z), the user can move the workpiece by checking a checkbox that accepts the selection of whether or not to move the container 300 to the center position. The robot hand 120 after pinching can be moved to the center position of the container 300, and the pinched workpiece can be released to the center position of the container 300.
  • this release position be as close to the center of the container 300 as possible so that the workpiece is not placed next to the wall of the container 300 again.
  • the movement amounts ( ⁇ X), ( ⁇ Y), and ( ⁇ Z) are input in the workpiece coordinate system, depending on the orientation of the target workpiece, it may not be possible to move it to the center position of the container 300. Therefore, by checking the checkbox that accepts the selection of whether or not to move to the center position of the container 300, the pinched workpiece can be reliably released at the center position of the container 300.
  • the registration unit 26 registers the knob operation information set input via the reception screen in the management table.
  • the management table of the third embodiment manages the knob operation information set together with the registered date and time information.
  • the movement flag "0" means that the robot hand 120 is not moved to the center position of the container 300 after the robot hand 120 has pinched the workpiece
  • the movement flag "1" means that the robot hand 120 is not moved to the center position of the container 300 after the robot hand 120 has pinched the workpiece.
  • the amount of movement of the robot hand 120 after pinching is the sum of the amount of movement required to move to the center position of the container 300 and the input amounts of movement ( ⁇ X), ( ⁇ Y), and ( ⁇ Z). Become.
  • the knob action program generation unit 29 generates a knob action program based on the knob action information set.
  • the pinch operation program describes a movement command to a pinch position, a pinch movement command, a movement command to a release position, a release movement command, a movement speed, and the like.
  • a movement command to the pinch position can be generated based on the pinch position and the pinch posture.
  • a movement command to the release position can be generated based on the amount of movement and the amount of rotation.
  • the checkbox that accepts the selection of whether or not to move to the center position of the container 300 is checked, based on the position of the workpiece specified by the container image and the center position of the container 300, The amount of movement from the pinch position to the center position of the container 300 can be specified, and thereby a movement command to the release position can be generated.
  • the pinch operation command and the release operation command are predefined operation commands.
  • the modification unit 28 modifies the knob motion information set set by the knob motion program generation unit 29.
  • the processing of the modification unit 28 of the control device 4 according to the third embodiment is the same as that of the second embodiment, so the description thereof will be omitted.
  • the control device 4 according to the third embodiment differs from the control device 3 according to the second embodiment only in the way in which a workpiece that cannot be taken out by the normal takeout operation is moved within the container, and the result of the operation is Similarly, the work can be moved to a position where it can be taken out by a normal take-out operation. Therefore, the control device 4 according to the third embodiment provides the same effects as the control device 3 according to the second embodiment.
  • the robot 100 pull out the workpiece with a pinching motion than with a breaking motion.
  • the breaking operation must be selected. In this way, the contact operation to be executed is automatically selected between the breaking operation and the pinching operation, depending on the situation of the workpiece to be contacted, such as the position and orientation of the workpiece to be contacted, and the position and orientation of surrounding workpieces. You can do it like this.
  • the pinching action actually involves picking up, moving, and releasing the workpiece
  • the release action is slowed down
  • the load placed on the workpiece by the picking action will be small, and its value will remain the same regardless of the position and orientation of the workpiece.
  • the breaking operation involves actually bringing the robot hand 120 into contact with the workpiece and moving the workpiece inside the container 300. Therefore, when moving workpieces that are piled up or leaning against the side wall of the container 300, there is a possibility that a large load will be applied due to the workpieces falling into the container 300.
  • the control device 4 according to the third embodiment employing a pinching motion as the motion of contacting the workpiece is different from the control device 4 according to the first and second embodiments employing a crushing motion. It may be superior to the control devices 2 and 3. In this way, depending on the type of workpiece, one of the contact operations, the breaking operation and the pinching operation, may be automatically set and executed preferentially.
  • the breaking operation must be selected.
  • the contact operation to be performed may be automatically selected between the breaking operation and the pinching operation depending on the shape of the workpiece.
  • the data used for the identification process is not limited to the container image photographed by the camera 200.
  • two cameras can be used, including a sensor that can acquire three-dimensional point cloud data of a subject, and a sensor that can acquire three-dimensional point cloud data and a two-dimensional camera image.
  • the first and second embodiments that generate a breaking motion program and the third embodiment that generates a pinch motion program can also be configured in combination.
  • a pull-down menu for setting the target motion to a breaking motion or a pinching motion may be provided on the reception screen. It is possible to generate both a crushing motion program and a pinching motion program, and have the robot 100 execute either one of the motions according to a predetermined rule. For example, the breaking motion and the pinching motion are performed alternately. That is, for a workpiece that cannot be taken out by a normal takeout operation, the robot 100 first performs a crushing operation, and if the target workpiece still cannot be taken out by a normal takeout operation, then the robot 100 performs a pinching operation. have it executed.
  • the height of the starting point of the movement to the target workpiece in the container or Based on the height of the target workpiece in the container, one of the contact operations, the breaking operation and the pinching operation, may be automatically selected and executed.
  • the generation programs installed in the control devices 2, 3, and 4 may be recorded and distributed on various types of recording media such as removable media, or may be distributed to users' computers via a network. It may also be distributed by being downloaded.

Landscapes

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

Abstract

目的は、コンテナ内でワークを移動させるためのロボットプログラムの作成を容易にすることにある。本実施形態に係るプログラム生成装置2は、コンテナ300にバラ積みされたワークに接触する接触動作を開始する開始位置及び開始姿勢、接触動作の移動量及び姿勢変化量をワーク座標系上で受け付ける受付手段21と、コンテナ内の対象ワークに対するロボットプログラムを、受け付けられた開始位置、開始姿勢、移動量、及び姿勢変化量に基づいて、生成する生成手段27と、を具備する。

Description

プログラム生成装置、制御装置及びプログラム
 本発明の実施形態は、プログラム生成装置、制御装置及びプログラムに関する。
 コンテナなどの容器に間隔、向きが不規則に配置された、いわゆるバラ積みされた複数のワークをロボットにより取り出す技術が知られている(例えば、特許文献1)。例えば、バラ積みされたワークを取り出す作業において、ロボットやロボットに装備されたハンドがコンテナに衝突しないようにロボットは制御される。具体的には、ロボット、ハンド及びコンテナの形状、寸法等の情報を予め登録しておき、コンテナに収容されている複数のワークにそれぞれ対応する複数の取り出し位置のそれぞれについて、取出動作を実行したときに、ロボット及びハンドがコンテナに干渉しないかを計算により判定する。そして、干渉すると判定されたワークを取出動作の対象から除外し、干渉しないと判定されたワークの中から実際に取出動作の対象となるワークを決定し、取出動作を実行する。
 しかしながら、コンテナからワークを取り出していくうちに、コンテナの隅や壁際等の通常の取出動作では取り出せない位置にワークが配置されてしまう場合がある。例えば、このような場合にも対応できるように、通常の取出動作で取り出せない位置に配置されたワークを、通常の取出動作で取り出せる位置に移動させるために、コンテナ内のワークをロボットハンドで移動させるためのロボットプログラムが作成される。
特開2014-205209号公報
 しかしながら、ロボットプログラムが誤って作成されてしまえば、コンテナの壁にロボットが衝突してしまい、ロボット、コンテナ及びワークが損傷する事態が発生してしまう。また、このようなロボットプログラムの作成には、ロボットの動作、バラ積み取り出し動作等の専門的な知識が必要となる場合が多い。そのため、コンテナ内でワークを移動させるためのロボットプログラムを容易に作成できる技術の提案が望まれている。
 本実施形態に係るプログラム生成装置は、コンテナにバラ積みされたワークに接触する接触動作をロボットに実行させるためのロボットプログラムを生成する。プログラム生成装置は、接触動作を開始する開始位置及び開始姿勢と、接触動作の移動量及び姿勢変化量をワーク座標系上で受け付ける受付手段と、コンテナ内の対象ワークに対するロボットプログラムを、受け付けられた開始位置、開始姿勢、移動量、及び姿勢変化量に基づいて、生成する生成手段と、を具備する。
図1は、第1実施形態に係る制御装置を含むロボットシステムを示す図である。 図2は、図1の制御装置のハードウェア構成図である。 図3は、図1の制御装置によるワークの取出動作の手順の一例を示すフローチャートである。 図4は、図1の制御装置の機能ブロック図である。 図5は、図4の受付画面作成部により作成される受付画面の一例を示す図である。 図6は、図4の記憶部に記憶されている管理テーブルの一例を示す図である。 図7は、ワーク座標系上に崩し動作の開始位置、移動量を表記した図である。 図8は、図4の崩し動作プログラム生成部による崩し動作パラメータセットの選択処理を説明するための補足図である。 図9は、第2実施形態に係る制御装置の機能ブロック図である。 図10は、図9の受付画面作成部により作成される受付画面の一例を示す図である。 図11は、図9の記憶部に記憶されている管理テーブルの一例を示す図である。 図12は、図9の修正部による修正処理を説明するための補足図である。 図13は、第3実施形態に係る制御装置の機能ブロック図である。 図14は、図13の受付画面作成部により作成される受付画面の一例を示す図である。 図15は、図13の記憶部に記憶されている管理テーブルの一例を示す図である。
 以下、図面を参照しながら本発明の実施形態に係る制御装置を説明する。以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
 本発明の実施形態に係る制御装置は、ロボットによる通常の取出動作で取り出すことができないような位置に配置されたワークに対して、ロボット又はロボットに装備されているロボットハンドを物理的に接触させる接触動作を実行させるための接触動作プログラムを生成する機能と、生成した接触動作プログラムに従ってロボットを制御する機能とを有するものである。接触動作により、ロボットによる通常の取出動作が可能な位置にワークを動かすことができれば、ロボットによる通常の取出動作で当該ワークを取り出すことができる。第1、第2実施形態では、接触動作として、ロボットハンドをワークに引っ掛けて崩す崩し動作を例に説明する。第3実施形態では、接触動作として、ロボットハンドによりワークをつまみ、移動させ、コンテナ内にリリースするつまみ動作を例に説明する。
 (第1実施形態) 
 第1実施形態に係る制御装置は、コンテナなどの容器に間隔、向きが不規則に配置された、いわゆるバラ積みされた複数のワークを取り出すための取出動作プログラムに従ってロボットを制御する機能と、バラ積みされた複数のワークを崩すための崩し動作プログラムを生成する機能と、生成した崩し動作プログラムに従ってロボットを制御する機能と、を有するコンピュータ装置である。
 崩し動作プログラムに基づく崩し動作は、取出動作プログラムに基づく通常の取出動作では取り出すことができないワークを対象に実行される。崩し動作は、ワークの位置及び向きのうち少なくとも一方が変化し得るように、ワークに対してロボットを接触させる動作である。崩し動作により、通常の取出動作で取り出すことができる位置及び向きに移動されたワークは、通常の取出動作により取り出すことができる。
 図1に示すように、第1実施形態に係る制御装置2を含むロボットシステム1は、コンテナ300にバラ積みされたワークWを取り出すためのツールとしてロボットハンド120を装備する複数の関節部を有するロボット100と、ワークWを収容するコンテナ300の開口を俯瞰する位置に配置され、コンテナ300を撮影するカメラ200と、ロボット100及びカメラ200を制御する制御装置2と、を有する。
 図2に示すように、制御装置2は、CPU等のプロセッサ5に対して操作装置6、表示装置7、通信装置8、及び記憶装置9などのハードウェアが接続されて構成される。操作装置6は、キーボード、マウス、ジョグ等により提供される。操作装置6は、表示装置7と兼用されるタッチパネルにより提供されてもよいし、制御装置2の専用のペンダントにより提供されてもよい。表示装置7は、LCD等により提供される。通信装置8は、ロボット100及びカメラ200との間のデータの送受信を制御する。記憶装置9は、HDD、SSD等により提供される。記憶装置9には、取出動作プログラムと生成プログラムとが記憶されている。また、記憶装置9には、ロボット100、ロボットハンド120、コンテナ300の形状、寸法等のワークの取出動作を実行した場合に、ロボット100及びロボットハンド120はコンテナ300に干渉しないか否かを判定するために必要な各種情報が記憶されている。
 取出動作プログラムは、コンテナ300にバラ積みされたワークの取出動作をロボット100に実行させるためのプログラムである。取出動作プログラムには、ロボット100の教示位置、教示姿勢、ロボットハンド120の動作指令、カメラ200に対する撮影指令などが手順に従って記述されている。
 生成プログラムは、崩し動作プログラムを生成するためのプログラムである。崩し動作プログラムは、対象のワークに対する崩し動作をロボット100に実行させるためのプログラムである。崩し動作プログラムには、崩し動作の開始位置、開始姿勢、移動量、姿勢変化量及び移動速度等が記述されている。各動作プログラムが実行されると、制御装置2は、各動作プログラムを解読して逆運動学によりロボット100を駆動するモータ(図示しない)の位置指令値を生成し、生成した位置指令値をモータドライバ(図示しない)に送信する。これにより、ロボット100は、動作プログラムで規定された動作を実行することができる。典型的には、取出動作プログラム及び崩し動作プログラムは、制御装置2が解読可能なロボット座標系で記述されている。もちろん、ワーク座標系などの他の座標系で表されていてもよく、その場合には、制御装置2は、他の座標系をロボット座標系に変換するための変換テーブル等を保持する。
 図3は、取出動作プログラムで規定されている制御装置2によるロボット100及びカメラ200の制御手順を示すフローチャートである。図3に示すように、取出動作プログラムが実行されると、制御装置2は、取出動作プログラムに従ってカメラ200を制御する(S11)。これにより、カメラ200によりコンテナ300が撮影され、撮影されたコンテナ画像が制御装置2に入力される。制御装置2は、コンテナ画像に対してワークの取出位置及び向きを特定するための画像処理を実行する(S12)。取出対象のワークがないとき(S13;NO)、ロボット100によるワークの取出動作が終了される。
 一方、取出対象のワークがあるとき(S13;YES)、取出対象のワークが取出動作プログラムに基づく通常の取出動作で取り出すことができるか否かを判定する(S14)。工程S14の処理では、例えば、ロボット100、ロボットハンド120,コンテナ300の寸法、形状と、ワークの取出位置及び向きにより、ワークに対して通常の取出動作を実行したときに、ロボット100及びロボットハンド120がコンテナ300に干渉するか否かが判定される。ロボット100及びロボットハンド120がコンテナ300に干渉しない、つまり、取出対象のワークを通常の取出動作で取り出すことができるとき(S14;YES)、制御装置2は、通常の取出動作を実行させるためにロボット100を制御する(S15)。これにより、取出対象のワークがコンテナ300から取り出され、工程S11に処理が戻され、次のワークを取り出すための処理が実行される。
 取出対象のワークを通常の取出動作で取り出すことができないとき(S14;NO)、制御装置は、取り出すことができないワークを崩し動作の対象ワークとして、崩し動作プログラムを生成し(S16)、生成した崩し動作プログラムに従ってロボット100を制御する(S17)。これにより、通常の取出動作で取り出すことができなかったワークに対して崩し動作が実行され、ワークはコンテナ内でロボット100により動かされる。そして、工程S11に処理が戻され、再度、取出対象のワークを取り出すための処理が実行される。
 このように、崩し動作プログラムの生成処理と崩し動作プログラムに基づくロボット制御処理は、通常の取出動作でワークを取り出すことができるまで繰り返し実行される。もちろん、繰り返し回数の上限回数を予め設定しておき、対象ワークに対する崩し動作の繰り返し回数が上限回数に到達しても、通常の取出動作で対象ワークを取り出せないときに、アラートを発生するように構成してもよい。
 記憶装置9に記憶されている生成プログラムがプロセッサ5により実行されることで、制御装置2は、崩し動作プログラムを生成するプログラム生成装置として機能する。具体的には、図4に示すように、制御装置2は、入力部21、表示部22、データ受信部23、記憶部24、受付画面作成部25、登録部26、崩し動作プログラム生成部27として機能する。
 入力部21は、図2に示した操作装置6を有し、操作装置6を介したユーザ操作を制御装置2に入力する。具体的には、入力部21は、受付画面を介して入力された崩し動作パラメータセットを制御装置2に入力する。崩し動作パラメータセットは、崩し動作プログラムの生成に必要なデータセットであり、崩し動作の開始位置に関する情報、崩し動作の開始姿勢に関する情報、崩し動作の移動量に関する情報、崩し動作の回転量(姿勢変化量)に関する情報を含む。もちろん、ロボットハンド120の移動速度に関する情報や、補間形式、移動形式等が含まれてもよい。
 表示部22は、図2に示した表示装置7を有し、受付画面作成部25により作成された受付画面を表示する。データ受信部23は、図2に示した通信装置8を有し、カメラ200からコンテナ画像のデータを受信する。
 記憶部24は、図2に示した記憶装置9に対応する。記憶部24には、入力部21を介して入力された崩し動作パラメータセットを管理する管理テーブルが記憶されている。記憶部24に記憶されている管理テーブルの詳細は後述する。
 受付画面作成部25は、崩し動作パラメータセットを受け付けるための受付画面を作成する。受付画面作成部25により作成される受付画面の詳細は後述する。
 登録部26は、受付画面を介して入力された崩し動作パラメータセットをユーザ操作に従って管理テーブルに登録する。
 崩し動作プログラム生成部27は、崩し動作パラメータセットに基づいて、崩し動作プログラムを生成する。具体的には、崩し動作プログラム生成部27は、崩し動作パラメータセットに含まれる開始位置、開始姿勢、移動量及び回転量をワーク座標系からロボット座標系に変換する。ワーク座標系からロボット座標系への変換処理にはコンテナ画像のデータが利用される。カメラ200の位置は固定されているため、カメラ200により撮影されたコンテナ画像上のコンテナ座標系上の位置と、ロボット座標系上の位置との対応関係は既知である。例えば、コンテナ画像上のコンテナ300の角部がコンテナ座標系の原点、コンテナ300の長軸に沿った軸をX軸、短軸に沿った軸をY軸、X軸とY軸とに直交するコンテナ300の高さ方向に沿った軸をZ軸としてそれぞれ定義される。
 したがって、コンテナ画像に基づいて、コンテナ座標系上のワークの位置及び向きを特定することで、ロボット座標系におけるワーク座標系の位置及び向きを導出することができる。ロボット座標系におけるワーク座標系の位置及び向きが分かれば、ワーク座標系で表された開始位置、開始姿勢、移動量及び回転量をロボット座標系に変換することができる。なお、コンテナ画像におけるワークの位置及び向きは、閾値処理、パターンマッチング処理等の既存の画像処理により特定することができる。
 崩し動作プログラム生成部27は、ロボット座標系で表された開始位置、開始姿勢、移動量及び回転量とともに移動速度等を記述した崩し動作プログラムを生成する。なお、崩し動作プログラム生成部27は、複数の崩し動作パラメータセットから崩し動作の対象ワークに応じた一つの崩し動作パラメータセットを選択し、選択した崩し動作パラメータセットに基づいて崩し動作プログラムを生成することが望ましい。崩し動作プログラム生成部27による崩し動作パラメータセットの選択処理の詳細は後述する。
 以下、図5を参照して、受付画面作成部25により作成される受付画面を説明する。図5は、受付画面の一例を示している。図4に示すように、受付画面は、崩し動作パラメータセットを受け付けるための複数の入力欄、受付画面を介して受け付けた動作パラメータセットを登録するための登録ボタンを含む。崩し動作パラメータセットを受け付けるための複数の入力欄は、崩し動作の開始位置(X)、(Y)、(Z)を受け付けるための3つの入力欄、崩し動作の開始姿勢(W)、(P)、(R)を受け付けるための3つの入力欄、崩し動作の移動量(ΔX)、(ΔY)、(ΔZ)を受け付けるための3つの入力欄、崩し動作の回転量(ΔW)、(ΔP)、(ΔR)を受け付けるための3つの入力欄を含む。
 開始位置(X)、(Y)、(Z)は、崩し動作を開始するときのロボットハンド120の位置(ロボット100の手先基準点の位置)を規定する。開始姿勢(W)、(P)、(R)は、崩し動作を開始するときのロボットハンド120の姿勢(ロボット100の手先基準点の向き)を規定する。移動量(ΔX)、(ΔY)、(ΔZ)は、崩し動作におけるロボットハンド120の移動方向及び移動量を規定する。回転量(ΔW)、(ΔP)、(ΔR)は、崩し動作におけるロボットハンド120の姿勢変化を規定する。
 開始位置(X)、(Y)、(Z)と移動量(ΔX)、(ΔY)、(ΔZ)とにより、崩し動作の終了位置が規定される。したがって、移動量(ΔX)、(ΔY)、(ΔZ)と回転量(ΔW)、(ΔP)、(ΔR)とを崩し動作の終了位置(X)、(Y)、(Z)と終了姿勢(W)、(P)、(R)とにそれぞれ置き換えることができる。
 ユーザは、受付画面上で崩し動作パラメータセットを入力し、登録ボタンをクリックすることで、入力した崩し動作パラメータセットを管理テーブルに登録することができる。登録された崩し動作パラメータセットは、記憶部24に記憶されている管理テーブルで管理される。図6に示すように、管理テーブルでは、少なくとも1つの崩し動作パラメータセットが登録された日時情報とともに管理されている。
 開始位置(X)、(Y)、(Z)、開始姿勢(W)、(P)、(R)、移動量(ΔX)、(ΔY)、(ΔZ)、及び回転量(ΔW)、(ΔP)、(ΔR)はワーク座標系で入力される。つまり、開始位置(X)、(Y)、(Z)は、ワーク座標系の直交3軸の各軸上の位置に対応する。開始姿勢(W)、(P)、(R)は、ワーク座標系の直交3軸の各軸周りの回転角度に対応する。移動量(ΔX)、(ΔY)、(ΔZ)は、ワーク座標系の直交3軸の各軸に沿った移動量に対応する。回転量(ΔW)、(ΔP)、(ΔR)は、ワーク座標系の直交3軸の各軸周りの回転変化量に対応する。ワーク座標系は、崩し動作の対象ワークにより規定される座標系である。図7に示すように、例えば、外周面に突起を有する円柱体をワークとしたときにワーク座標系の直交3軸は以下のように定義される。すなわち、円柱体の中心位置がワーク座標系の原点、円柱体の中心線に平行な軸がY軸、ワークの外周面に直交し、且つ突起の中心線に平行な軸がX軸、X軸とY軸との両方に直交する軸がZ軸としてそれぞれ定義される。
 なお、開始位置、開始姿勢、移動量、及び回転量をワーク座標系以外で入力できるのであれば、ワーク座標系の直交3軸を基準に入力されなくてもよい。例えば、ワークに応じて円筒座標系、極座標系等の他の座標系を基準に入力されてもよい。
 例えば、図7の崩し動作開始位置Ps1、移動量ΔDは、図6の管理テーブルで管理されている崩し動作パラメータセット1の開始位置(-100mm、80mm、0mm)、移動量(200mm、160mm、0mm)をそれぞれ示している。図7に示すように、崩し動作パラメータセット1に基づく、ロボットハンド120による崩し動作の移動軌道は、ワークの外周面の突起のない側から、ワークの原点を通り、ワークの外周面の突起のある側に、ワークの中心線に対して傾斜した向きであることを意味する。
 以下、図8を参照して、崩し動作プログラム生成部27による崩し動作パラメータセットの選択処理を説明する。崩し動作プログラム生成部27は、複数の崩し動作パラメータセットから、選択条件を満たす崩し動作パラメータセットを選択する。例えば、選択条件としては以下のようなものがある。
 選択条件1;開始位置及び終了位置がコンテナ300の内部に設定される。 
 選択条件2:開始位置に他のワークが配置されていない。 
 選択条件3:終了位置に他のワークが配置されていない。 
 選択条件4:移動軌道上に他のワークが配置されていない。 
 選択条件5:開始位置が終了位置よりもコンテナ300の中心側に配置されている。 
 選択条件6:開始位置及び終了位置のコンテナ300の内壁面からの距離が閾値以上である。
 崩し動作プログラム生成部27は、複数の崩し動作パラメータセットから、少なくとも選択条件1と選択条件2とを満たす一つの崩し動作パラメータセットを選択する。図8に示すように、例えば、崩し動作の対象ワークがワークW1であるとき、開始位置及び終了位置がコンテナ300の内部に設定され、且つ開始位置に他のワークが配置されていない開始位置Ps4、終了位置Pe4を含む崩し動作パラメータセットが複数の崩し動作パラメータセットから選択される。崩し動作の対象ワークがワークW2であるとき、開始位置Ps2、終了位置Pe2を含む崩し動作パラメータセットが複数の崩し動作パラメータセットから選択される。
 ここでは、複数の崩し動作パラメータセットから一つの崩し動作パラメータを選択するための選択条件が選択条件1,選択条件2の2つであったが、ユーザ指示に従って、選択条件を変更することができる。例えば、選択条件は、選択条件1と選択条件2とに他の選択条件を加えたものとすることができる。また、崩し動作パラメータセットには優先度が関連付けられていてもよい。それにより、選択条件を満たす崩し動作パラメータセットが複数存在する場合に、選択条件を満たす複数の崩し動作パラメータセットのうち、優先度が最も高い一つの崩し動作パラメータセットを、崩し動作プログラムの作成に用いる一つの崩し動作パラメータセットとして自動的に選択することができる。もちろん、優先度に従って自動的に選択するのではなく、選択条件を満たす崩し動作パラメータセットが複数存在する場合に、選択条件を満たす複数の崩し動作パラメータセットに関連付けられた優先度を表示するようにしてもよい。優先度を参考に、ユーザにより選択された一つの崩し動作パラメータセットを特定することができる。
 第1実施形態に係る制御装置2が有する崩し動作プログラムの生成機能は、コンテナ内で様々な位置、向きに配置され得るワークに対するロボット100による崩し動作を、1つの動作プログラムで実現するような複雑な動作プログラムを生成するものではない。第1実施形態に係る制御装置2が有する崩し動作プログラムの生成機能は、ワークに対する単純な接触動作をロボット100に実行させるための崩し動作プログラムを生成するものである。したがって、ユーザは、制御装置2により提供される受付画面上で崩し動作パラメータセット(開始位置、開始姿勢、移動量、回転量)を入力するだけで、崩し動作プログラムを生成することができる。
 ユーザは、受付画面上で受け付けられる崩し動作パラメータセットをワーク座標系で入力することができるため、コンテナ内のワークの位置及び向きを考慮する必要がなく、ワークに対するロボットハンド120の移動軌道だけを考慮して、崩し動作パラメータセットを事前に設定することができる。これも、崩し動作プログラムの生成の容易化に寄与する。
 ユーザは、ワーク座標系上でのワークの位置、向きを予め分かっているため、少なくともロボットハンド120がワークに接触する移動軌道となるように、開始位置、開始姿勢、移動量及び回転量を入力する作業は、場合分けを多く含むような動作プログラムを生成する場合に比べて、非常に簡単であると言える。ロボットハンド120の移動軌道だけを考えるだけでよいため、ロボット100の動作やバラ積みされたワークの取出動作に関する専門的な知識は必ずしも必要としない。したがって、第1実施形態に係る制御装置2は、コンテナ内でワークを崩すこと(ワークに接触すること)により、ワークの位置及び向きを変化させるための崩し動作をロボット100に実行させるための崩し動作プログラムを容易に作成することができる。
 また、受付画面を介して、ワークに対する移動軌道が異なる複数の崩し動作パラメータセットを登録しておくことで、複数の崩し動作パラメータセットから、崩し動作の対象ワークに対する崩し動作を実現可能な1つの崩し動作パラメータセットを選択することができる。これにより、崩し動作の開始位置や終了位置がコンテナ300の外部に設定されてしまう、崩し動作の開始位置に他のワークが配置されている等の崩し動作が実行できない事態の発生を抑制することができる。
 (第2実施形態) 
 第2実施形態に係る制御装置は、第1実施形態に係る制御装置2が有する崩し動作プログラムの生成機能に、崩し動作プログラム生成部27により設定された崩し動作パラメータセットの移動量を修正する機能が付加された装置である。
 第2実施形態に係る制御装置3のハードウェア構成は、第1実施形態に係る制御装置2のハードウェア構成と同様であるため、その説明は省略する(図2参照)。
 図9に示すように、第2実施形態に係る制御装置3は、図4で示した第1実施形態に係る制御装置2の機能ブロック図に、修正部28を追加したものである。
 入力部21は、受付画面を介して入力された崩し動作情報セットを制御装置に入力する。崩し動作情報セットは、崩し動作パラメータセットと、コンテナ300の内壁面に対するロボット100の接近を制限する機能(以下、接近制限機能と称する。)のオンオフに関する情報と、接近制限機能をオンしたときのコンテナ300の内壁面に対してロボット100が接近できる限界距離(以下、接近限界距離と称する)に関する情報とを含む。
 記憶部24には、入力部21を介して入力された崩し動作情報セットを管理する管理テーブルが記憶されている。
 受付画面作成部25は、崩し動作情報セットを受け付けるための受付画面を作成する。図10に示すように、第2実施形態において作成される受付画面は、第1実施形態の受付画面に、接近制限機能のオンオフを受け付けるためのチェックボックス、接近制限機能のオンが選択されたときの接近限界距離を受け付けるための入力欄を追加して構成される。
 登録部26は、受付画面を介して入力された崩し動作情報セットを管理テーブルに登録する。図11に示すように、第2実施形態の管理テーブルは、第1実施形態の管理テーブルに、接近制限機能フラグと接近限界距離との2つの管理項目を追加したテーブルである。接近制限機能フラグ「0」は、接近制限機能をオフすることを意味し、接近制限フラグ「1」は、接近制限機能をオンすることを意味する。接近限界距離「20」はコンテナ300の内壁面から20mmの位置がロボットハンド120が接近できる限界距離であることを意味する。
 崩し動作プログラム生成部27は、崩し動作情報セットに基づいて、崩し動作プログラムを生成する。
 修正部28は、崩し動作プログラム生成部27により設定された崩し動作情報セットを修正する。修正部28による修正処理は、接近制限機能がオンされているときに実行される。
 修正部28は、崩し動作によるロボット100の移動後の位置(終了位置)がコンテナ300の内壁面から接近限界距離以内に接近すると判断されたとき、終了位置がコンテナ300の内壁面から接近限界距離より遠い位置になるように、直交3軸各軸に沿った移動量を修正する。図12に示すように、ワークW3に対する崩し動作の開始位置Ps5と移動量ΔD5とにより導出される終了位置Pe5が、コンテナ300の内壁面から接近限界距離Ds
に接近するものとする。修正部28は、終了位置Pe5がコンテナ300の内壁面から接近限界距離Dsより遠い位置に設定されるように、移動量ΔD5を修正する。具体的には、修正部28は、コンテナ画像に基づいて、終了位置Pe5をワーク座標系からコンテナ座標系に変換する。そして、コンテナ座標系で表された終了位置Pe5とコンテナ座標系で表されたコンテナ300の内壁面の位置とに基づいて、終了位置Pe5を終了位置Pe5´に修正する。そして、開始位置Ps5と修正後の終了位置Pe5´とにより、移動量ΔD5を移動量ΔD5´に修正する。
 修正部28は、崩し動作の開始位置及び終了位置の両方がコンテナ300の内壁面から接近限界距離Ds以内に接近すると判断されたとき、コンテナ300の内壁面に向かう移動方向成分が0となるように移動量を修正する。図12に示すように、ワークW4に対する崩し動作の開始位置Ps6と終了位置Pe6との両方が、コンテナ300の内壁面から接近限界距離Ds以内に接近している。修正部28は、コンテナ画像に基づいて、終了位置Pe6をワーク座標系からコンテナ座標系に変換する。そして、コンテナ座標系で表された終了位置Pe6とコンテナ300の側壁の位置とに基づいて、移動量ΔD6のX軸に沿った移動方向成分又はY軸に沿った移動方向成分を0にし、移動量ΔD6´に修正する。
 第2実施形態に係る制御装置3は、第1実施形態に係る制御装置2と同様の機能を有するため、第1実施形態に係る制御装置2と同様の効果を奏する。また、第2実施形態に係る制御装置3は、コンテナ300の内壁面に近い位置に設定された終了位置をコンテナ300の内壁面から遠い位置に自動的に修正した崩し動作プログラムを生成することができる。ロボットハンド120のコンテナ300の側壁への接近を制限することができるため、コンテナ300の側壁への接近を制限しない場合に比べて、崩し動作中のロボット100のロボットハンド120がコンテナ300の側壁に衝突してしまう可能性を低減することができる。
 第2実施形態に係る制御装置3は、開始位置と終了位置との両方がコンテナの側壁に近い位置に設定されたときに、コンテナ300の側壁に向かう移動方向成分が0となるように、換言すると、移動方向がコンテナ300の側壁に沿った方向になるように移動量を修正する。開始位置がコンテナ300の内壁面に近い場合であっても、それ以上にコンテナ300の内壁面にロボット100が接近する事態を回避することができるため、コンテナ300の内壁面から接近限界距離未満である開始位置からさらにコンテナ300の内壁面に接近するような場合に比べて、崩し動作中のロボット100がコンテナ300の側壁に衝突してしまう可能性を低減することができる。
 第1、第2実施形態では、通常の取出動作で取り出すことができないワークに対して崩し動作を実行することで、コンテナ内のワークの位置及び向きを変化させ、通常の取出動作で取り出すことができ得るようにした。しかしながら、対象のワークを動かすことにより、通常の取出動作で取り出すことができ得るようになるのであれば、通常の取出動作で取り出すことができないワークに対して実行する動作は崩し動作に限定されない。
 (第3実施形態) 
 第3実施形態に係る制御装置4は、バラ積みされた複数のワークをコンテナ300から取り出すための取出動作プログラムに従ってロボット100を制御する機能と、コンテナ内にバラ積みされたワークの端部箇所をつまみ、コンテナ内を移動し、コンテナ内にリリースするつまみ動作に関するつまみ動作プログラムを生成する機能と、生成したつまみ動作プログラムに従ってロボット100を制御する機能と、を有するコンピュータ装置である。つまみ動作プログラムに基づくつまみ動作は、取出動作プログラムに基づく通常の取出動作では取り出すことができないワークを対象に実行される。つまみ動作は、コンテナ内のワークの位置及び向きのうち少なくとも一方が変化し得るように、対象のワークの通常の把持位置からオフセットした位置を把持し、コンテナ内を移動し、コンテナ内にリリースする一連の動作である。つまみ動作により、通常の取出動作で取り出すことができる位置及び向きに移動されたワークは、通常の取出動作により取り出される。
 第3実施形態に係る制御装置4のハードウェア構成は、第1実施形態に係る制御装置2のハードウェア構成と同様であるため、その説明は省略する(図2参照)。
 図13に示すように、第3実施形態に係る制御装置4は、図9で示した第2実施形態に係る制御装置3の機能ブロック図の崩し動作プログラム生成部27をつまみ動作プログラム生成部29に置き換えたものである。
 入力部21は、受付画面を介して入力されたつまみ動作情報セットを制御装置に入力する。つまみ動作情報セットは、つまみ動作パラメータセットと、接近制限機能のオンオフに関する情報と、接近制限機能をオンしたときの接近限界距離に関する情報と、コンテナ300の中心位置への移動を実行するか否かに関する情報と、を含む。
 記憶部24には、入力部21を介して入力されたつまみ動作情報セットを管理する管理テーブルが記憶されている。
 受付画面作成部25は、つまみ動作情報セットを受け付けるための受付画面を作成する。図14に示すように、第3実施形態において作成される受付画面は、第2実施形態で作成される受付画面に、コンテナ300の中心位置への移動を実行するか否かの選択を受け付けるチェックボックスを追加して構成される。また、「崩し動作」の表記が「つまみ動作」に置き換えられている。ユーザは、移動量(X)、(Y)、(Z)を入力する換わりに、コンテナ300の中心位置への移動を実行するか否かの選択を受け付けるチェックボックスにチェックを入れることで、ワークをつまんだ後のロボットハンド120をコンテナ300の中心位置に移動させ、コンテナ300の中心位置につまんだワークをリリースすることができる。
 このリリース位置は、再びコンテナ300の壁際にワークが配置されないように、できるだけコンテナ300の中心位置であることが望ましい。しかしながら、移動量(ΔX)、(ΔY)、(ΔZ)はワーク座標系で入力されるため、対象ワークの向きによっては、コンテナ300の中心位置に移動できない場合がある。そのため、コンテナ300の中心位置への移動を実行するか否かの選択を受け付けるチェックボックスにチェックを入れることで、確実に、つまんだワークをコンテナ300の中心位置でリリースすることができる。
 登録部26は、受付画面を介して入力されたつまみ動作情報セットを管理テーブルに登録する。図15に示すように、第3実施形態の管理テーブルは、つまみ動作情報セットを登録された日時情報とともに管理する。移動フラグ「0」は、ロボットハンド120でワークをつまんだ後に、ロボットハンド120をコンテナ300の中心位置へ移動させないことを意味し、移動フラグ「1」は、ロボットハンド120でワークをつまんだ後に、ロボットハンド120をコンテナ300の中心位置へ移動させることを意味する。コンテナ300の中心位置への移動を実行するか否かの選択を受け付けるチェックボックスにチェックを入れ、且つ移動量(ΔX)、(ΔY)、(ΔZ)に数値が入力されている場合は、ワークをつまんだ後のロボットハンド120の移動量は、コンテナ300の中心位置に移動するために必要な移動量と、入力した移動量(ΔX)、(ΔY)、(ΔZ)とを合算した値となる。
 つまみ動作プログラム生成部29は、つまみ動作情報セットに基づいて、つまみ動作プログラムを生成する。つまみ動作プログラムには、つまみ位置への移動指令、つまみ動作指令、リリース位置への移動指令、リリース動作指令及び移動速度等が記述されている。つまみ位置、つまみ姿勢によりつまみ位置への移動指令を生成することができる。移動量、回転量によりリリース位置への移動指令を生成することができる。また、コンテナ300の中心位置への移動を実行するか否かの選択を受け付けるチェックボックスにチェックが入れられているとき、コンテナ画像により特定したワークの位置とコンテナ300の中心位置とに基づいて、つまみ位置からコンテナ300の中心位置への移動量を特定し、これによりリリース位置への移動指令を生成することができる。なお、つまみ動作指令、リリース動作指令は予め規定されている動作指令である。
 修正部28は、つまみ動作プログラム生成部29により設定されたつまみ動作情報セットを修正する。第3実施形態に係る制御装置4の修正部28の処理は、第2実施形態と同様であるため、説明は省略する。
 第3実施形態に係る制御装置4は、第2実施形態に係る制御装置3と、通常の取出動作で取り出すことができなかったワークのコンテナ内での動かし方が異なるだけであり、その動作結果として、ワークを、通常の取出動作で取り出すことができる位置に移動し得ることは同様である。したがって、第3実施形態に係る制御装置4によれば、第2実施形態に係る制御装置3と同様の効果を奏する。
 また、例えば、接触対象のワークが、コンテナ300の側壁に近いところに立てかけられ、他のワークに囲まれている場合には、崩し動作よりもつまみ動作で当該ワークを引き抜く方が、ロボット100が接触停止せずにワークを動かせる可能性が高い。一方、接触対象のワークがつまめないような位置に配置されている場合には、崩し動作を選択せざるを得ない。このように、接触対象のワークの位置、向き、周辺のワークの位置、向き等の接触対象のワークの状況に応じて、崩し動作とつまみ動作とのうち実行する接触動作を自動的に選択するようにしてもよい。
 また、つまみ動作は、実際にワークをつまみ、動かし、リリースするものであるから、リリース動作を遅くするなどすれば、つまみ動作によりワークにかかる負荷は小さく、その値はワークの位置、向きに関わらず一定に出来る可能性がある。一方、崩し動作は、実際にワークにロボットハンド120を接触させてワークをコンテナ300の内部で動かすものである。したがって、山積みになっているワークを動かす場合や、コンテナ300の側壁に立てかけられたワークを動かす場合では、ワークがコンテナ300に落下することによる大きな負荷がかかる可能性がある。したがって、ワークにかかる負荷を小さくするという観点では、ワークに対して接触する動作としてつまみ動作を採用した第3実施形態に係る制御装置4は、崩し動作を採用した第1,第2実施形態に係る制御装置2,3に比べて優位になる場合がある。このように、ワークの種類に応じて、崩し動作とつまみ動作とのうち一方の接触動作を自動的にセットし、優先的に実行するようにしてもよい。
 さらに、複雑な形状を有し、取出位置以外に把持できる位置がないワークであれば、崩し動作を選択せざるを得ない。このように、ワークの形状によって、崩し動作とつまみ動作とのうち実行する接触動作を自動的に選択するようにしてもよい。
 コンテナ300の内部のワークの位置及び向きを特定できるのであれば、その特定処理に用いられるデータはカメラ200により撮影されたコンテナ画像に限定されない。例えば、カメラ200に代わって、被写体の3次元点群データを取得できるセンサ、3次元点群データと2次元のカメラ画像とを取得できるセンサ、2台のカメラを使用することができる。
 崩し動作プログラムを生成する第1、第2実施形態と、つまみ動作プログラムを生成する第3実施形態とは、組み合わせて構成することもできる。この場合、受付画面に、対象動作を崩し動作又はつまみ動作に設定するためのプルダウンメニューを設ければよい。崩し動作プログラムとつまみ動作プログラムとの両方を生成し、所定のルールに従って、いずれか一方の動作をロボット100に実行させることができる。例えば、崩し動作とつまみ動作とは交互に実行される。すなわち、通常の取出動作で取り出すことができないワークに対して、最初に崩し動作をロボット100に実行させ、それでも対象ワークが通常の取出動作で取り出すことができなければ、次につまみ動作をロボット100に実行させる。ワークの動かし方が異なる複数の動作を組み合わせることで、単一の動作を繰り返す場合に比べて、通常の取出動作で取り出すことができる位置及び向きにワークを移動させることができる可能性が向上し、ワークが取り出せない事態の発生を抑制することができる。
 また、コンテナ内の対象ワークへの崩し動作、つまみ動作の開始位置のコンテナ内における高さが高いときにその動作を実行するといったように、コンテナ内の対象ワークへの動作開始点の高さ又はコンテナ内の対象ワークの高さに基づいて、崩し動作とつまみ動作とのうち一方の接触動作を自動的に選択し、実行するようにしてもよい。
 本実施形態において、制御装置2,3,4にインストールされている生成プログラムは、リムーバブルメディア等の様々なタイプの記録媒体に記録されて配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
 本開示の実施形態について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、発明の要旨を逸脱しない範囲で、または、特許請求の範囲に記載された内容とその均等物から導き出される本発明の思想および趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。
1…ロボットシステム、2、3,4…制御装置、5…プロセッサ、6…操作装置、7…表示装置、8…通信装置、9…記憶装置、21…入力部、22…表示部、23…データ受信部、24…記憶部、25…受付画面作成部、26…登録部、27…崩し動作プログラム生成部、100…ロボット、120…ロボットハンド、200…カメラ、300…コンテナ。

Claims (9)

  1.  コンテナにバラ積みされたワークに接触する接触動作をロボットに実行させるためのロボットプログラムを生成するプログラム生成装置であって、
     前記接触動作を開始する開始位置及び開始姿勢と、前記接触動作の移動量及び姿勢変化量をワーク座標系上で受け付ける受付手段と、
     前記コンテナ内の対象ワークに対する前記ロボットプログラムを、前記受け付けられた前記開始位置、前記開始姿勢、前記移動量、及び前記姿勢変化量に基づいて、生成する生成手段と、
     を具備するプログラム生成装置。
  2.  前記受付手段は、前記開始位置として前記ワーク座標系の直交3軸各軸上の位置を受け付け、前記開始姿勢として前記直交3軸各軸周りの回転角度を受け付け、前記移動量として前記直交3軸各軸に沿った移動量を受け付け、前記姿勢変化量として前記直交3軸各軸周りの回転量を受け付ける、請求項1記載のプログラム生成装置。
  3.  前記受付手段は、前記開始位置、前記開始姿勢、前記移動量及び前記姿勢変化量からなる接触動作パラメータセットを複数受け付け、
     前記生成手段は、前記対象ワークの前記コンテナ内の位置及び向きに基づいて、前記複数の接触動作パラメータセットから一の接触動作パラメータセットを選択し、前記選択された一の接触動作パラメータセットに基づいて、前記ロボットプログラムを生成する、請求項1又は請求項2記載のプログラム生成装置。
  4.  前記コンテナの内壁面に対する前記ロボットの接近限界距離を受け付ける第3受付手段をさらに具備し、
     前記生成手段は、前記ロボットの移動後の位置が前記内壁面から前記接近限界距離以内に接近すると判断されたとき、前記ロボットの移動後の位置が前記内壁面から前記接近限界距離より遠い位置になるように、前記移動量を修正する、請求項1乃至3のうちいずれか一項に記載のプログラム生成装置。
  5.  前記接触動作は、前記コンテナにバラ積みされたワークに接触して崩す崩し動作であり、
     前記受付手段は、前記開始位置として前記ワークを崩すときの崩し開始位置を受け付ける、請求項1記載のプログラム生成装置。
  6.  前記接触動作は、前記コンテナにバラ積みされたワークをつまみ、前記コンテナ内を移動し、前記コンテナ内にリリースするつまみ動作であり、
     前記受付手段は、前記開始位置として前記ワークをつまむときのつまみ位置を受け付ける、請求項1記載のプログラム生成装置。
  7.  前記コンテナの中心位置への移動を受け付ける他の受付手段をさらに備え、
     前記生成手段は、前記コンテナの中心位置への移動の受付結果に基づいて、前記受け付けられた前記移動量を修正する、請求項6記載のプログラム生成装置。
  8.  コンテナにバラ積みされたワークに接触する接触動作を実行させるためにロボットを制御する制御装置であって、
     前記接触動作を開始する開始位置及び開始姿勢と、前記接触動作の移動量及び姿勢変化量をワーク座標系上で受け付ける受付手段と、
     前記コンテナ内の対象ワークに対する前記接触動作を前記ロボットに実行させるためのロボットプログラムを、前記受け付けられた前記開始位置、前記開始姿勢、前記移動量、及び前記姿勢変化量に基づいて生成する生成手段と、
     前記生成されたロボットプログラムに従って、前記ロボットを制御する手段と、
     を具備する制御装置。
  9.  コンテナにバラ積みされたワークに接触する接触動作を開始する開始位置及び開始姿勢と、前記接触動作の移動量及び姿勢変化量をワーク座標系上で受け付ける手段と、
     前記コンテナ内の対象ワークに対する接触動作をロボットに実行させるためのロボットプログラムを、前記受け付けられた前記開始位置、前記開始姿勢、前記移動量、及び前記姿勢変化量に基づいて生成する手段と、
     をコンピュータに実現させるためのプログラム。
PCT/JP2022/031313 2022-08-19 2022-08-19 プログラム生成装置、制御装置及びプログラム WO2024038572A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/031313 WO2024038572A1 (ja) 2022-08-19 2022-08-19 プログラム生成装置、制御装置及びプログラム
TW112129228A TW202408758A (zh) 2022-08-19 2023-08-04 程式生成裝置、控制裝置及程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/031313 WO2024038572A1 (ja) 2022-08-19 2022-08-19 プログラム生成装置、制御装置及びプログラム

Publications (1)

Publication Number Publication Date
WO2024038572A1 true WO2024038572A1 (ja) 2024-02-22

Family

ID=89941612

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/031313 WO2024038572A1 (ja) 2022-08-19 2022-08-19 プログラム生成装置、制御装置及びプログラム

Country Status (2)

Country Link
TW (1) TW202408758A (ja)
WO (1) WO2024038572A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013158873A (ja) * 2012-02-03 2013-08-19 Fanuc Ltd 検索ウィンドウを自動的に調整する機能を備えた画像処理装置
JP2019198949A (ja) * 2018-05-18 2019-11-21 ファナック株式会社 バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013158873A (ja) * 2012-02-03 2013-08-19 Fanuc Ltd 検索ウィンドウを自動的に調整する機能を備えた画像処理装置
JP2019198949A (ja) * 2018-05-18 2019-11-21 ファナック株式会社 バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法

Also Published As

Publication number Publication date
TW202408758A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
US20210252713A1 (en) External input device, robot system, control method of robot system, control program, and recording medium
JP2014024162A (ja) ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
US10534876B2 (en) Simulation device and simulation method that carry out simulation of operation of robot system, and recording medium that records computer program
JP2005103681A (ja) ロボットシステム
JP2012218119A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US20180345490A1 (en) Robot system displaying information for teaching robot
CN114080590A (zh) 使用先进扫描技术的机器人料箱拾取系统和方法
CN114670189B (zh) 存储介质、以及生成机器人的控制程序的方法及系统
WO2024038572A1 (ja) プログラム生成装置、制御装置及びプログラム
JPWO2019064919A1 (ja) ロボット教示装置
US20210174084A1 (en) Method for human-machine interaction and apparatus for the same
JP7035555B2 (ja) 教示装置、及びシステム
JPS6334093A (ja) 視覚装置
WO2021250923A1 (ja) ロボットシステム、制御装置、及び制御方法
CN114972498A (zh) 用于确定对象的姿势的装置和方法
JP7167925B2 (ja) ロボット教示装置
CN112643718A (zh) 图像处理设备及其控制方法和存储其控制程序的存储介质
WO2023067659A1 (ja) 制御装置
US20240017413A1 (en) Information processing method, information processing apparatus, robot system, manufacturing method of product, and storage medium
WO2022269927A1 (ja) プログラム作成装置
JP2005335000A (ja) 人間介入型ロボットの制御装置
JP7099470B2 (ja) ロボット教示装置
US20240100688A1 (en) Information processing apparatus, information processing method, robot system, manufacturing method for article using robot system, program, and recording medium
US20230182298A1 (en) Placement planning

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

Country of ref document: EP

Kind code of ref document: A1