WO2022220217A1 - ロボットシステム、その制御方法及び制御プログラム - Google Patents

ロボットシステム、その制御方法及び制御プログラム Download PDF

Info

Publication number
WO2022220217A1
WO2022220217A1 PCT/JP2022/017490 JP2022017490W WO2022220217A1 WO 2022220217 A1 WO2022220217 A1 WO 2022220217A1 JP 2022017490 W JP2022017490 W JP 2022017490W WO 2022220217 A1 WO2022220217 A1 WO 2022220217A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
action
command
component
robot system
Prior art date
Application number
PCT/JP2022/017490
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 CN202280027670.5A priority Critical patent/CN117120216A/zh
Publication of WO2022220217A1 publication Critical patent/WO2022220217A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the technology disclosed here relates to a robot system, its control method, and control program.
  • Patent Document 1 discloses a robot system that processes an object with a robot arm having a tool such as a grinder.
  • a control device controls a robot arm to achieve desired processing with a tool.
  • the technology disclosed here has been made in view of this point, and its purpose is to improve the operability when operating the master device to operate the slave device.
  • a robot system of the present disclosure includes a master device operated by a user, a slave device having an action unit that applies an action to an object, and an action unit that operates the action unit, and an operation input via the master device. a control device that outputs a command to the action unit to operate the action unit according to the information, wherein the control device is configured such that the reference plane in the operation coordinate system set in the master device is the object. A coordinate transformation associated with the surface is performed to generate a command to the action unit based on the operation information.
  • a control method for a robot system is a control method for a robot system including a master device operated by a user and a slave device having an action unit that applies an action to an object and an action unit that operates the action unit. outputting a command to the action unit to operate the action unit according to operation information input via the master device; and outputting a command to the action unit based on the operation information.
  • generating performing coordinate transformation such that a reference plane in the operation coordinate system set in the master device is associated with the surface of the object.
  • a control program is a control program for causing a computer to realize a function of controlling a robot system comprising a master device operated by a user and a slave device acting on an object according to the operation of the master device. a function of outputting a command to the action unit to operate the action unit according to operation information input via the master device; and a function of outputting a command to the action unit based on the operation information. is generated, the computer realizes a function of performing coordinate transformation in which the reference plane in the operation coordinate system set in the master device is associated with the surface of the object.
  • the robot system it is possible to improve operability when operating the master device to operate the slave device.
  • the robot system control method it is possible to improve operability when operating the master device to operate the slave device.
  • control program it is possible to improve operability when operating the master device to operate the slave device.
  • FIG. 1 is a schematic diagram showing the configuration of a robot system.
  • FIG. 2 is an enlarged view of the end effector.
  • FIG. 3 is a diagram showing a schematic hardware configuration of the robot controller.
  • FIG. 4 is a perspective view of the operating device.
  • FIG. 5 is a diagram showing a schematic hardware configuration of the operation control device.
  • FIG. 6 is a diagram showing a schematic hardware configuration of the control device.
  • FIG. 7 is a block diagram showing the configuration of the control system of the robot system.
  • FIG. 8 is a schematic diagram showing the normal line of the object at the intersection of the reference axis and the object.
  • FIG. 9 is a flow chart showing the operation of the robot system.
  • FIG. 10 is a schematic diagram of an operation unit that is moved by a user.
  • FIG. 10 is a schematic diagram of an operation unit that is moved by a user.
  • FIG. 11 is a schematic diagram showing the operation of the end effector when coordinate transformation is not performed.
  • FIG. 12 is a schematic diagram showing the operation of the end effector when coordinate conversion is performed.
  • FIG. 13 is a schematic diagram of an operation unit that is moved by a user in a modified example.
  • the work performed by the robot does not include teaching work and teaching confirmation and correction work. Therefore, the operating device 2 in the following description does not include a teach pendant.
  • FIG. 1 is a schematic diagram showing the configuration of a robot system 100 according to an embodiment.
  • the robot system 100 includes a robot 1 , an operation device 2 operated by a user, and a control device 3 that controls the robot 1 .
  • the robot system 100 constitutes a master-slave system.
  • the operating device 2 functions as a master device, and the robot 1 functions as a slave device.
  • the control device 3 controls the entire robot system 100 and performs bilateral control between the robot 1 and the operation device 2 .
  • the robot 1 is, for example, an industrial robot.
  • the robot 1 has an end effector 11 that acts on the object W and a robot arm 12 that operates the end effector 11 .
  • the end effector 11 is connected to the tip of the robot arm 12 .
  • the robot 1 operates, that is, moves the end effector 11 by the robot arm 12 and applies an action to the object W by the end effector 11 .
  • the action is processing.
  • the object W is a curved wall of a large tank, or the like.
  • the robot 1 may further include a base 10 that supports the robot arm 12 and a robot controller 14 that controls the robot 1 as a whole.
  • the robot arm 12 changes the position and posture of the end effector 11.
  • the robot arm 12 is a vertically articulated robot arm.
  • the robot arm 12 has a plurality of links 12a, joints 12b that connect the plurality of links 12a, and a servo motor 15 (see FIG. 3) that rotationally drives the plurality of joints 12b.
  • a link 12a positioned at one end of the robot arm 12 (the end opposite to the end effector 11) is connected to the base 10 via a joint 12b so as to be rotatable about a rotation axis R1 extending in the vertical direction.
  • the robot arm 12 is an example of an action unit.
  • the robot arm 12 may be a horizontal articulated robot arm, a parallel link robot arm, a rectangular coordinate robot arm, a polar coordinate robot arm, or the like.
  • FIG. 2 is an enlarged view of the end effector 11.
  • FIG. The end effector 11 has a grinding device 11a and applies grinding to the object W as an action.
  • the end effector 11 is an example of an action part.
  • the action applied to the object W by the end effector 11 may be cutting, polishing, or the like instead of grinding.
  • the grinding device 11a may be a grinder, an orbital sander, a random orbit sander, a delta sander, a belt sander, or the like.
  • the grinder may be of a type that rotates a disk-shaped grinding wheel, a type that rotates a conical or cylindrical grinding wheel, or the like.
  • the grinding device 11a is a grinder of a type that rotates a disk-shaped grinding wheel.
  • a slave coordinate system with three orthogonal axes is defined for the robot 1.
  • the slave coordinate system is set with the robot 1 as a reference.
  • the slave coordinate system has Xr-, Yr-, and Zr-axes that are orthogonal to each other.
  • the Xr-axis, Yr-axis, and Zr-axis cross each other at the origin Or.
  • the origin Or is located on the upper surface of the base 10 .
  • the Xr-axis and Yr-axis extend horizontally, that is, parallel to the upper surface of the base 10 .
  • the Zr axis extends vertically.
  • the Zr axis coincides with the rotation axis R1 of the joint 12b connecting the robot arm 12 and the base 10. As shown in FIG.
  • the Yr axis extends perpendicular to the plane of the paper in FIG.
  • the end effector 11 is defined with an orthogonal three-axis tool coordinate system.
  • a tool coordinate system is a coordinate system fixed to the end effector 11 .
  • the tool coordinate system as shown in FIG. 2, has Xt-axis, Yt-axis, and Zt-axis that are orthogonal to each other.
  • the Xt-axis, Yt-axis, and Zt-axis intersect each other at the origin Ot.
  • the origin Ot is positioned at the point of contact with the object W in the grinding device 11a.
  • the rotation axis B of the grinding wheel of the grinding device 11a is inclined with respect to the rotation axis R2 of the link 12a to which the end effector 11 is attached.
  • the tool coordinate system changes according to the position/orientation of the end effector 11 when viewed from the slave coordinate system. That is, the tool coordinate system moves together with the end effector 11 as the robot arm 12 moves.
  • the robot 1 may further include a contact force sensor 13 that detects the reaction force (hereinafter referred to as "contact force”) that the end effector 11 receives from the object.
  • contact force the reaction force
  • the contact force sensor 13 is provided between the robot arm 12 and the end effector 11 (specifically, the connecting portion between the robot arm 12 and the end effector 11).
  • the contact force sensor 13 detects forces in directions of three orthogonal axes and moments around the three axes.
  • the contact force sensor 13 is an example of a contact force detector.
  • the contact force detection unit is not limited to the contact force sensor 13.
  • the contact force sensor 13 may detect only uniaxial, biaxial, or triaxial forces.
  • the contact force detector may be a current sensor that detects the current of the servomotor 15 of the robot arm 12 or a torque sensor that detects the torque of the servomotor 15 .
  • FIG. 3 is a diagram showing a schematic hardware configuration of the robot control device 14.
  • the robot controller 14 controls the servo motor 15 of the robot arm 12 and the grinding device 11a.
  • the robot controller 14 receives detection signals from the contact force sensor 13 .
  • the robot control device 14 transmits and receives information, commands, data, etc. to and from the control device 3 .
  • the robot control device 14 has a control section 16 , a storage section 17 and a memory 18 .
  • the control unit 16 controls the robot control device 14 as a whole.
  • the control unit 16 performs various arithmetic processing.
  • the control unit 16 is formed by a processor such as a CPU (Central Processing Unit).
  • the control unit 16 may be formed of MCU (Micro Controller Unit), MPU (Micro Processor Unit), FPGA (Field Programmable Gate Array), PLC (Programmable Logic Controller), or the like.
  • the storage unit 17 stores programs executed by the control unit 16 and various data.
  • the storage unit 17 is formed of a nonvolatile memory, HDD (Hard Disc Drive), SSD (Solid State Drive), or the like.
  • the memory 18 temporarily stores data and the like.
  • memory 18 is formed of volatile memory.
  • the operating device 2 has, as shown in FIG.
  • the operation device 2 receives an input for manually operating the robot 1 and outputs operation information, which is the input information, to the control device 3 .
  • the user operates the operation device 2 by gripping the operation unit 21 .
  • the operating force sensor 23 detects the force applied to the operating portion 21 at that time.
  • the operating force detected by the operating force sensor 23 is output to the control device 3 as operation information.
  • the operation device 2 may further include a base 20 , a support mechanism 22 provided on the base 20 to support the operation section 21 , and an operation control device 24 that controls the entire operation device 2 .
  • the operation device 2 gives the user a reaction force against the operation force under the control of the control device 3 .
  • the operation control device 24 receives a command from the control device 3 and controls the support mechanism 22 to allow the user to sense the reaction force.
  • the support mechanism 22 is an example of a support section.
  • FIG. 4 is a perspective view of the operating device 2.
  • the support mechanism 22 has six arms 22a. Two arms 22a form one set. That is, the support mechanism 22 has three sets of arms 22a. The three sets of arms 22 a radially extend from the operating portion 21 .
  • Each arm 22a has a joint 22b.
  • Each joint 22b connects two links forming the arm 22a via a universal joint such as a ball joint so as to be rotatable around three orthogonal axes.
  • Each arm 22a is bendable at a joint 22b.
  • One end of each arm 22a is connected to the operating portion 21 via a universal joint such as a ball joint so as to be rotatable about three orthogonal axes.
  • the other end of each arm 22a is connected to a servomotor 25 via a reduction gear or the like (not shown).
  • a servo motor 25 is arranged on the base 20 .
  • Six servo motors 25 are arranged on the upper surface of the base 20 . Two servomotors 25 connected to the same set of two arms 22a form one set. The rotation axes of the two servo motors 25 of each set extend in a straight line, that is, coaxially. The six servo motors 25 are arranged such that the rotation axes of the three sets of servo motors 25 form a triangle.
  • the support mechanism 22 configured in this manner supports the operating section 21 so that the operating section 21 can assume any position and posture within the three-dimensional space.
  • a servomotor 25 rotates in accordance with the position and orientation of the operation unit 21 .
  • the amount of rotation of the servomotor 25, that is, the rotation angle is uniquely determined.
  • a master coordinate system with three orthogonal axes is defined for the operation device 2 .
  • the master coordinate system is set with the operating device 2 as a reference.
  • the master coordinate system has Xm-axis, Ym-axis, and Zm-axis that are orthogonal to each other.
  • the Xm-axis, Ym-axis, and Zm-axis intersect each other at the origin Om.
  • the origin Om is located on the upper surface of the base 20 .
  • the Xm-axis and Ym-axis extend horizontally, that is, parallel to the upper surface of the base 20 .
  • the Zm-axis extends vertically.
  • the Zm axis passes through the center of gravity of the triangle formed by the axes of rotation of the three sets of servo motors 25 .
  • a master coordinate system is a coordinate system fixed to the base 20 of the operation device 2 .
  • an orthogonal three-axis operation coordinate system is defined in the operation unit 21 .
  • the operation coordinate system is a coordinate system fixed to the operation unit 21 .
  • the operation coordinate system has Xn-axis, Yn-axis and Zn-axis which are orthogonal to each other.
  • the Xn-axis, Yn-axis and Zn-axis are orthogonal to each other at the origin On.
  • the origin On is positioned at the center of the operation unit 21 .
  • the operation coordinate system changes according to the position/orientation of the operation unit 21 when viewed from the master coordinate system. That is, the operation coordinate system moves together with the operation unit 21 as the operation unit 21 moves.
  • the operation coordinate system corresponds to the tool coordinate system.
  • a reference plane RP is set in the operation coordinate system.
  • the reference plane RP is a plane, specifically a plane parallel to the Xn-Yn plane.
  • the operating force sensor 23 is provided between the operating portion 21 and the support mechanism 22 (specifically, the connecting portion between the operating portion 21 and the support mechanism 22) as shown in FIG.
  • the operating force sensor 23 detects forces in directions of three orthogonal axes and moments around the three axes.
  • the operating force sensor 23 is an example of an operating force detector.
  • the operating force detection unit is not limited to the operating force sensor 23.
  • the operating force sensor 23 may detect only uniaxial, biaxial, or triaxial forces.
  • the operating force detection unit may be a current sensor that detects the current of the servomotor 25 of the support mechanism 22, a torque sensor that detects the torque of the servomotor 25, or the like.
  • FIG. 5 is a diagram showing a schematic hardware configuration of the operation control device 24.
  • the operation control device 24 operates the support mechanism 22 by controlling the servomotor 25 .
  • the operation control device 24 receives detection signals from the operation force sensor 23 .
  • the operation control device 24 transmits and receives information, commands, data, etc. to and from the control device 3 .
  • the operation control device 24 has a control section 26 , a storage section 27 and a memory 28 .
  • the control unit 26 controls the operation control device 24 as a whole.
  • the control unit 26 performs various arithmetic processing.
  • the control unit 26 is formed by a processor such as a CPU (Central Processing Unit).
  • the control unit 26 may be formed of an MCU (Micro Controller Unit), an MPU (Micro Processor Unit), an FPGA (Field Programmable Gate Array), a PLC (Programmable Logic Controller), or the like.
  • the storage unit 27 stores programs executed by the control unit 26 and various data.
  • the storage unit 27 is formed of a nonvolatile memory, HDD (Hard Disc Drive), SSD (Solid State Drive), or the like.
  • the memory 28 temporarily stores data and the like.
  • memory 28 is formed of volatile memory.
  • the control device 3 controls the robot 1 and the operating device 2.
  • the control device 3 outputs a slave command, which is a command to the robot arm 12 , to the robot 1 so as to operate the end effector 11 according to operation information input via the operation device 2 .
  • the control device 3 causes the end effector 11 to apply an action to the object W by controlling the robot arm 12 according to the operation via the operation device 2 .
  • the control device 3 outputs a master command, which is a command to the support mechanism 22 , to the operating device 2 so as to operate the operating section 21 according to the reaction force that the robot 1 receives from the object W.
  • the control device 3 presents the reaction force that the end effector 11 receives from the object W to the user by controlling the support mechanism 22 .
  • FIG. 6 is a diagram showing a schematic hardware configuration of the control device 3. As shown in FIG.
  • the control device 3 transmits and receives information, commands, data, etc. to and from the robot control device 14 and the operation control device 24 .
  • the control device 3 has a control section 31 , a storage section 32 and a memory 33 .
  • the control unit 31 controls the control device 3 as a whole.
  • the control unit 31 performs various kinds of arithmetic processing.
  • the control unit 31 is formed by a processor such as a CPU (Central Processing Unit).
  • the control unit 31 may be formed of MCU (Micro Controller Unit), MPU (Micro Processor Unit), FPGA (Field Programmable Gate Array), PLC (Programmable Logic Controller), or the like.
  • the storage unit 32 stores programs executed by the control unit 31 and various data.
  • the storage unit 32 is formed of a non-volatile memory, HDD (Hard Disc Drive), SSD (Solid State Drive), or the like.
  • HDD Hard Disc Drive
  • SSD Solid State Drive
  • the storage unit 32 stores a control program 321 and three-dimensional information 322 of the object W.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with various data.
  • the control program 321 is a program for causing the control unit 31 as a computer to realize the function of controlling the robot system 100 .
  • the three-dimensional information 322 of the object W is information representing the surface of the object W.
  • the three-dimensional information 322 of the object W is STL (Standard Triangulated Language) data of the object W. That is, the surface of the object W is represented by a plurality of polygons, and the coordinate information of each polygon is stored in the storage section 32 as the three-dimensional information 322 .
  • the coordinate information of each polygon is coordinate information in the work coordinate system set for the object W.
  • the storage unit 32 also stores the positional relationship between the origin of the work coordinate system and the origin of the slave coordinate system.
  • the three-dimensional information 322 of the object W is acquired in advance and stored in the storage unit 32 .
  • the surface of the object W is measured by a three-dimensional scanner or the like, and point cloud data of the object W is obtained.
  • the object W is polygonized from the point cloud data, and STL data is obtained.
  • STL data may be acquired from design data such as CAD data of the object W.
  • the memory 33 temporarily stores data and the like.
  • memory 33 is formed of volatile memory.
  • FIG. 7 is a block diagram showing the configuration of the control system of the robot system 100. As shown in FIG.
  • the control unit 16 of the robot control device 14 implements various functions by reading programs from the storage unit 17 to the memory 18 and expanding them. Specifically, the control unit 16 functions as an input processing unit 41 and an operation control unit 42 .
  • the input processing unit 41 outputs information, data, commands, etc. received from the contact force sensor 13 and the servomotor 15 to the control device 3 . Specifically, the input processing unit 41 receives detection signals of six-axis forces from the contact force sensor 13 and outputs the detection signals to the control device 3 as operation information. The input processing unit 41 also receives detection signals from a rotation sensor (for example, an encoder) and a current sensor from the servomotor 15 . The input processing unit 41 outputs the detection signal to the motion control unit 42 for feedback control of the robot arm 12 by the motion control unit 42 . The input processing unit 41 also outputs the detection signal to the control device 3 as positional information of the robot arm 12 .
  • a rotation sensor for example, an encoder
  • a current sensor from the servomotor 15
  • the input processing unit 41 outputs the detection signal to the motion control unit 42 for feedback control of the robot arm 12 by the motion control unit 42 .
  • the input processing unit 41 also outputs the detection signal to the control device 3 as positional information of the
  • the motion control unit 42 receives a slave command (specifically, command position xds) from the control device 3 and generates a control command for operating the robot arm 12 according to the slave command.
  • the motion control unit 42 outputs a control command to the servomotor 15 to operate the robot arm 12 and move the grinding device 11a to a position corresponding to the commanded position.
  • the motion control unit 42 feedback-controls the motion of the robot arm 12 based on the detection signal of the rotation sensor and/or the current sensor of the servomotor 15 from the input processing unit 41 .
  • the operation control unit 42 outputs a control command to the grinding device 11a to operate the grinding device 11a.
  • the grinding device 11a grinds the target object W.
  • the control unit 26 of the operation control device 24 implements various functions by reading programs from the storage unit 27 into the memory 28 and expanding them. Specifically, the control unit 26 functions as an input processing unit 51 and an operation control unit 52 .
  • the input processing unit 51 outputs information, data, commands, etc. received from the operating force sensor 23 to the control device 3 . Specifically, the input processing unit 51 receives detection signals of six-axis forces from the operating force sensor 23 and outputs the detection signals to the control device 3 as reaction force information. The input processing unit 51 also receives detection signals from a rotation sensor (for example, an encoder) and a current sensor from the servomotor 25 . The input processing unit 51 outputs the detection signal to the operation control unit 52 for feedback control of the support mechanism 22 by the operation control unit 52 .
  • a rotation sensor for example, an encoder
  • a current sensor from the servomotor 25
  • the motion control unit 52 receives a master command (specifically, command position xdm) from the control device 3 and generates a control command for operating the support mechanism 22 according to the master command.
  • the motion control unit 52 outputs a control command to the servomotor 25 to operate the support mechanism 22 and move the operation unit 21 to a position corresponding to the commanded position.
  • the motion control unit 52 feedback-controls the motion of the support mechanism 22 based on the detection signal of the rotation sensor and/or the current sensor of the servomotor 25 from the input processing unit 51 .
  • a reaction force is applied to the operation force applied to the operation unit 21 by the user.
  • the user can operate the operation unit 21 while feeling the reaction force of the object W from the operation unit 21 in a pseudo manner.
  • the control unit 31 of the control device 3 implements various functions by reading the control program 321 from the storage unit 32 into the memory 33 and developing it. Specifically, the control unit 31 functions as an operating force acquisition unit 61, a contact force acquisition unit 62, an addition unit 63, a force/velocity conversion unit 64, a slave output unit 69, a gain processing unit 610, and a master output unit 611. .
  • the control device 3 generates a slave command and a master command according to the operation information and the reaction force information.
  • the control device 3 performs coordinate transformation such that the reference plane RP in the operation coordinate system set in the operation device 2 is associated with the surface of the object W.
  • the coordinate transformation is performed in the same correspondence relationship as the correspondence relationship between the reference plane RP and the surface of the object W. to run.
  • the control device 3 when the user operates the operation device 2 along the reference plane RP, the control device 3 generates a slave command that causes the end effector 11 to move along the surface of the object W.
  • the reference plane RP is a virtual plane in the operation coordinate system, and in this example is a plane in the operation coordinate system (for example, a plane parallel to the Xn-Yn plane of the operation coordinate system).
  • Coordinate transformation means that the generated slave command is coordinate-transformed with respect to the operation information. That is, it does not matter at which stage the coordinate transformation is performed, whether the operation information is first subjected to coordinate transformation or the coordinate transformation is performed at the final stage of generating the slave command.
  • control device 3 maintains a constant attitude of the end effector 11 with respect to the surface of the object W in the coordinate transformation. Specifically, the control device 3 makes the reference axis A coincide with the normal line of the object W at the intersection of the reference axis A defined by the tool coordinate system set in the end effector 11 and the surface of the object W. The posture of the end effector 11 with respect to the surface of the object W is maintained constant by changing the posture of the end effector 11 as shown in FIG. In this example, the reference axis A is the Zt axis of the tool coordinate system.
  • the operating force acquiring unit 61 receives the detection signal of the operating force sensor 23 via the input processing unit 51 and acquires the operating force fm based on the detection signal. For example, from the detection signal of the operating force sensor 23, the operating force acquiring unit 61 obtains the force acting on the center of the operating unit 21 and represented by the operating coordinate system as the operating force fm. The operating force acquisition unit 61 inputs the operating force fm to the adding unit 63 .
  • the contact force acquisition unit 62 receives the detection signal of the contact force sensor 13 via the input processing unit 41 and acquires the contact force fs based on the detection signal. For example, from the detection signal of the contact force sensor 13, the contact force acquisition unit 62 obtains the force acting on the contact point of the end effector 11 with the object W and expressed in the tool coordinate system as the contact force fs. . The contact force acquisition unit 62 inputs the contact force fs to the addition unit 63 .
  • the adding section 63 calculates the sum of the operating force fm input from the operating force acquiring section 61 and the contact force fs input from the contact force acquiring section 62 .
  • the operating force fm and the contact force fs are forces in opposite directions, the positive and negative signs of the operating force fm and the contact force fs are different. That is, the absolute value of the operating force fm becomes smaller by adding the operating force fm and the contact force fs.
  • the force/velocity conversion unit 64 generates the command velocity xd' that is the basis of the slave command and the master command.
  • the force/velocity conversion unit 64 has an operation conversion unit 65 that generates an operation component that corresponds to operation information from the operation device 2, and a transformation unit 66 that generates a transformation component that is a component corresponding to coordinate transformation. .
  • a force/velocity conversion unit 64 adds a conversion component to the operation component to generate the command velocity xd'.
  • the operation conversion unit 65 generates an operation component using the operation force fm detected by the operation force sensor 23 as operation information. In addition to the operation information, the operation conversion unit 65 also considers the reaction force information about the reaction force that the robot 1 receives from the object W to generate the operation component. Specifically, the operation conversion unit 65 uses the contact force fs detected by the contact force sensor 13 as reaction force information, and generates an operation component based on the operation information and the reaction force information. That is, the operation component is at least a command component according to the operation information, more specifically a command component according to the operation information and the reaction force information.
  • the operation conversion unit 65 converts the resultant force fm+fs, which is the sum of the operation force fm and the contact force fs, into the velocity e'.
  • the operation conversion unit 65 uses a motion model based on an equation of motion including an inertia coefficient, a viscosity coefficient (damper coefficient), and a stiffness coefficient (spring coefficient) to calculate the velocity e' of the object when the resultant force fm+fs acts. .
  • the operation conversion unit 65 calculates the velocity e' based on the following equation of motion.
  • e is the position of the object.
  • md is the inertia coefficient.
  • cd is the viscosity coefficient.
  • kd is the stiffness coefficient.
  • fm is the operating force.
  • fs is the contact force.
  • "'" represents one-time differentiation, and """ represents two-time differentiation.
  • the function V (fm, fs) is stored in the storage unit 32.
  • the operation conversion unit 65 reads out the function V(fm, fs) from the storage unit 32 and obtains the velocity e'.
  • Velocity e' is the operating component.
  • the speed e' will be referred to as "manipulation component e'".
  • the conversion unit 66 generates a conversion component s'. More specifically, the transformation component s′ achieves coordinate transformation in which the reference plane RP in the operation coordinate system is associated with the surface of the object W while maintaining a constant orientation of the end effector 11 with respect to the surface of the object W. is a command component for
  • the conversion unit 66 includes an acquisition unit 67 that acquires the normal of the object at the intersection of the reference axis A defined in the tool coordinate system and the surface of the object W, and an end effector that aligns the reference axis with the normal. and a calculator 68 that obtains a command speed for moving 11 as a conversion component s'.
  • the acquisition unit 67 obtains the position of the origin Ot and the direction of the Zt axis in the tool coordinate system.
  • the Zt axis of the tool coordinate system is set as the reference axis A.
  • the control device 3 receives detection signals from the rotation sensor and the current sensor of the servomotor 15 as position information of the robot arm 12 from the input processing unit 41, and determines the state (specifically, the position and orientation) of the robot arm 12. Continuously monitored.
  • the obtaining unit 67 obtains the current position of the origin Ot of the tool coordinate system and the direction of the Zt axis from the current state of the robot arm 12 .
  • the acquisition unit 67 also reads the three-dimensional information 322 of the object W from the storage unit 32 .
  • FIG. 8 is a schematic diagram showing the normal line N of the object W at the intersection point P between the reference axis A and the object W. As shown in FIG.
  • the obtaining unit 67 obtains polygons through which the reference axis A penetrates, among a plurality of polygons forming the surface of the object W (that is, triangular minute portions).
  • the obtaining unit 67 obtains the normal line N of the polygon through which the reference axis A passes.
  • the obtaining unit 67 obtains a normal N that is a normal to a plane that passes through the three vertices of the polygon and that passes through the intersection of the polygon and the reference axis A.
  • the calculation unit 68 obtains the command speed for moving the end effector 11 so that the reference axis A coincides with the normal line N obtained by the acquisition unit 67 as the conversion component s'.
  • the conversion component s' is a command velocity for moving the end effector 11 indicated by the solid line to the position of the end effector 11 indicated by the two-dot chain line.
  • the force/velocity conversion unit 64 adds the conversion component s' to the operation component e' to generate the command velocity xd'. Adding the transformation component s' to the operation component e' is equivalent to subjecting the operation component e' to coordinate transformation having the same correspondence relationship as the correspondence relationship between the reference plane RP and the surface of the object W. Force/velocity conversion section 64 outputs the generated command velocity xd′ to slave output section 69 and gain processing section 610 .
  • the slave output unit 69 generates a slave command based on the command speed xd' (that is, the operation component e' and the conversion component s'). Specifically, the slave output unit 69 converts the command speed xd′ into the command position xds of the end effector 11 .
  • the command position xds is a position in the tool coordinate system.
  • Command position xds is a slave command. For example, when the ratio of the movement amount of the robot 1 to the movement amount of the operation device 2 is set, the slave output unit 69 multiplies the command position obtained from the command speed xd' according to the movement ratio to obtain the command position xds Ask for The command speed xd' is finally converted into a slave command.
  • the operation component e' can be regarded as a command component corresponding to the operation information of the slave command expressed in the form of velocity.
  • the transformation component s' can be regarded as a command component corresponding to coordinate transformation in the slave command expressed in the form of velocity.
  • the slave output unit 69 outputs the command position xds to the robot control device 14, specifically the motion control unit 42.
  • the motion control unit 42 generates a control command to the servomotor 15 to move the end effector 11 to the command position xds.
  • the motion control unit 42 outputs the generated control command to the servo motor 15 to operate the robot arm 12 and move the end effector 11 to the position corresponding to the command position xds.
  • a gain processing unit 610 performs gain processing on the command speed xd'.
  • a gain processing unit 610 adjusts the gain of each component of the command speed xd'.
  • the gain processing unit 610 sets the gain of the conversion component s' of the command speed xd' to zero. That is, the gain processing unit 610 cancels the transform component s' and outputs only the operation component e'.
  • Gain processing unit 60 outputs command speed xd′ after processing to master output unit 611 .
  • the master output unit 611 generates a master command based on the gain-processed command speed xd'. Specifically, the master output unit 611 converts the gain-processed command speed xd′ into the command position xdm of the operation unit 21 .
  • the command position xdm is a position in the operation coordinate system. Command position xdm is the master command.
  • the master output unit 611 outputs the commanded position xdm to the operation control device 24, specifically the motion control unit 52.
  • the motion control unit 52 generates a control command to the servomotor 25 to move the operation unit 21 to the command position xdm.
  • the motion control unit 52 outputs the generated control command to the servomotor 25 to operate the support mechanism 22 and move the operation unit 21 to the position corresponding to the command position xdm.
  • FIG. 9 is a flow chart showing the operation of the robot system 100.
  • the user operates the operating device 2 to grind the object W by the robot 1 .
  • the control device 3 repeatedly executes the processing of the flowchart shown in FIG. 9 at a predetermined control cycle.
  • the control device 3 acquires the operation force and the contact force in step S1.
  • the operating force sensor 23 detects the operating force applied by the user via the operating section 21 .
  • the operating force detected by the operating force sensor 23 is input to the control device 3 as a detection signal by the input processing unit 51 .
  • the contact force detected by the contact force sensor 13 of the robot 1 is input as a detection signal to the contact force acquisition unit 62 of the control device 3 via the input processing unit 41 .
  • the operating force acquisition unit 61 inputs the operating force fm based on the detection signal to the adding unit 63.
  • the contact force acquisition unit 62 inputs the contact force fs based on the detection signal to the addition unit 63 .
  • step S2 the control device 3 generates the operating component e' of the master command and the slave command.
  • the adder 63 inputs the resultant force fm+fs to the force/velocity converter 64 .
  • the force/velocity conversion unit 64 uses the function V(fm, fs) to obtain the operation component e' from the resultant force fm+fs.
  • the control device 3 In parallel with steps S1 and S2, the control device 3 generates a transform component s' in step S3. Specifically, the conversion unit 66 derives the position of the origin Ot of the current tool coordinate system and the direction of the Zt axis. The conversion unit 66 reads out the three-dimensional information 322 of the object W from the storage unit 32, and obtains the Zt axis, that is, the intersection point P between the reference axis A and the surface of the object W. FIG. The conversion unit 66 obtains the normal line N of the surface of the object W at the obtained intersection point P. FIG. Then, the conversion unit 66 obtains a command speed for moving the end effector 11 so that the reference axis A coincides with the normal line N of the object W as the conversion component s'.
  • step S4 the control device 3 adds the conversion component s' to the operation component e' to generate the command speed xd'.
  • Steps S1, S2, S3, and S4 perform coordinate transformation in which a reference plane in the operation coordinate system set in the master device is associated with the surface of the object when a command to the action unit is generated based on the operation information. Equivalent to doing.
  • step S5 the control device 3 generates a slave command, that is, a command position xds of the end effector 11 from the command speed xd'.
  • Step S5 corresponds to outputting a command to the action section to operate the action section according to the operation information input via the master device.
  • step S7 the control device 3 performs gain processing on the command speed xd' to make the angular velocity component of the command speed xd' zero.
  • step S8 the control device 3 generates a master command, that is, a command position xdm of the operation unit 21 from the gain-processed command speed xd'.
  • control device 3 outputs the command position xds to the robot 1 in step S6, and outputs the command position xdm to the operation device 2 in step S9.
  • the robot 1 operates according to the command position xds to perform grinding.
  • the operation device 2 operates according to the commanded position xdm and presents the reaction force to the user.
  • FIG. 10 is a schematic diagram of the operation unit 21 that is moved by the user.
  • FIG. 11 is a schematic diagram showing the operation of the end effector 11 when coordinate conversion is not performed.
  • FIG. 12 is a schematic diagram showing the operation of the end effector 11 when coordinate conversion is performed.
  • the user moves the operation unit 21 of the operation device 2 along the reference plane RP, for example, in the X direction, as shown in FIG.
  • an operating force in the X direction that does not include a Y-direction component and a Z-direction component is input from the operating device 2 to the control device 3 .
  • the contact force acting on the robot 1 is also input to the control device 3 .
  • the control device 3 obtains the operation component e' according to the operation force from the operation device 2, that is, according to the resultant force fm+fs.
  • the operation component e' is only an X-direction component and does not include a Y-direction component, a Z-direction component, and a rotation component.
  • the end effector 11 moves only in the X direction of the tool coordinate system, as shown in FIG. .
  • the end effector 11 performs an operation similar to or similar to the operation of the operation unit 21 in the operation coordinate system in the tool coordinate system.
  • the user in order to move the end effector 11 along the surface of the object W, the user needs to input a corresponding operation to the operation section 21 .
  • the user needs to move the operation unit 21 in the Z direction as well as in the X direction. Therefore, the user needs to perform an operation such as adjusting the processing position of the end effector 11 while performing an operation to bring the end effector 11 along the surface of the object W.
  • the control device 3 performs coordinate transformation that associates the reference plane RP in the operation coordinate system with the surface of the object W when generating the slave command from the operation information. Specifically, as shown in FIG. 8, the control device 3 moves the end effector 11 so that the reference axis A coincides with the normal line N at the intersection point P between the reference axis A and the surface of the object W ( This operation corresponds to coordinate transformation). This changes the orientation of the tool coordinate system.
  • the operation component e' corresponds to the tool coordinate system.
  • the current operation component e' is only the X-direction component, but since the direction of the Xt-axis of the tool coordinate system changes, the end effector 11 moves in the changed direction of the Xt-axis. In the example of FIG.
  • the Zt-axis of the tool coordinate system is aligned with the normal line N of the intersection point P, so the Xt-axis of the tool coordinate system faces the tangential direction of the object W at the intersection point P. That is, the operation component e', which is only the X-direction component, is a component pointing in the tangential direction of the object W.
  • Such processing is repeated in the control cycle. That is, in each cycle, the reference axis A and the normal line N of the object W corresponding to the reference axis A are obtained, and the posture of the end effector 11, that is, the orientation of the tool coordinate system is changed successively. Specifically, the orientation of the tool coordinate system is sequentially changed so that the XtYt plane of the tool coordinate system becomes parallel to the tangent plane at the intersection point P of the object W.
  • the end effector 11 moves along the surface of the target object W, as shown in FIG.
  • the user does not need to perform an intentional operation to bring the end effector 11 along the surface of the object W.
  • the user can adjust the processing position by the end effector 11 on the surface of the object W, the movement trajectory of the end effector 11 during processing (for example, during grinding) (that is, how to move the end effector 11), and the end effector 11 It is possible to concentrate on operations other than bringing the end effector 11 along the surface of the object W, such as the amount of processing (for example, the depth of grinding).
  • the user can move the end effector 11 along the surface of the target object W by moving the operation part 21 along the reference plane RP, so the operation range of the operation part 21 is limited. Even when the end effector 11 is set, the end effector 11 can be moved relatively flexibly and over a wide range.
  • the end effector 11 can be moved relatively flexibly and over a wide range.
  • there are various surface shapes of the object W and there may be a surface shape in which the normal direction of the surface of the object W changes by approximately 180 degrees.
  • the operating range of the operation portion 21 depends on the support mechanism 22 . It is difficult to rotate the operation unit 21 by approximately 180 degrees.
  • the control device 3 converts the movement of the operation part 21 along the reference plane RP into movement of the end effector 11 along the surface of the object W.
  • FIG. As described above, even if the operation is limited to the movement of the operation unit 21 along the reference plane RP, the end effector 11 can be flexibly and widely moved according to various surface shapes of the object W. can be done. In this respect as well, the operability when operating the operating device 2 to operate the robot 1 can be improved.
  • the orientation of the end effector 11 with respect to the surface of the target object W is maintained constant in the coordinate transformation.
  • the attitude (that is, the angle) of the operation unit 21 with respect to the reference plane RP is maintained constant, the end effector 11 can move toward the surface of the object W while maintaining the attitude with respect to the surface of the object W. move along.
  • the fact that the posture of the end effector 11 is maintained constant means that the angle of the reference axis A with respect to the normal N or tangent to the object W at the intersection point P between the reference axis A defined in the tool coordinate system and the surface of the object W. is kept constant.
  • the operation of the operation unit 21 along the reference plane RP with a constant attitude with respect to the reference plane RP in the operation coordinate system can be performed by the end effector with a constant attitude with respect to the surface of the target object W and along the surface of the target object W. converted to 11 moves.
  • the object W When the surface of the object W is curved, in order to keep the posture of the end effector 11 with respect to the surface of the object W constant while moving the end effector 11 along the surface of the object W, the object Depending on the position of the end effector 11 on the surface of W, the end effector 11 needs to be rotated. According to the coordinate conversion of the control device 3, the user moves the operation unit 21 along the reference plane RP while maintaining the attitude (that is, the angle) of the operation unit 21 with respect to the reference plane RP. The end effector 11 can be moved along the surface of the object W while maintaining a constant attitude with respect to the surface of the object W without performing any special operation. In particular, even if the surface of the object W has a complicated shape, it is possible to maintain a constant posture of the end effector 11 with respect to the surface of the object W with an easy operation.
  • the tool in the case of grinding, it is possible to easily move the tool along the surface of the object W while maintaining a constant angle of the tool such as a grinder with respect to the surface of the object W.
  • the surface of the object W can be ground evenly, ie, homogeneously, by an easy operation.
  • the action of the action part is not limited to grinding, and may be cutting or polishing, welding, painting or assembly.
  • a tool such as an end mill, a welding torch, or a coating gun can be moved along the surface of the object W with a simple operation while maintaining a fixed attitude (for example, angle) of the tool with respect to the surface of the object W. .
  • the opening extends in a predetermined direction with respect to the surface of the object W in assembly such as inserting another part into an opening formed in the object W
  • the end effector 11 with respect to the surface of the object W Maintaining a constant orientation of the part facilitates maintaining a constant orientation of the part with respect to the opening. Thereby, it is possible to easily insert the component into the opening. As a result, the surface of the object W can be uniformly cut or polished, welded, painted or assembled with a simple operation.
  • the coordinate transformation of the control device 3 does not mean that the end effector 11 can only be moved along the surface of the object W.
  • the operation section 21 is moved in a direction that intersects the reference plane RP
  • the end effector 11 is moved in a direction that intersects the surface of the target object W according to such operation information.
  • the coordinate transformation is executed in the same correspondence relationship as the reference plane RP is associated with the surface of the object W.
  • the attitude of the operation unit 21 with respect to the reference plane RP is constant, the attitude of the end effector 11 with respect to the surface of the object W is maintained constant. 11 is kept constant. That is, even if the position of the end effector 11 on the surface of the object W changes, the operation part 21 for moving the end effector 11 in a specific direction such as a normal direction or a tangential direction to the surface of the object W
  • the operation direction in the operation coordinate system does not change.
  • the operation of the operation unit 21 in the Zn-axis direction in the operation coordinate system is always normal to the surface of the object W. This is converted into movement of the end effector 11 in the linear direction. Therefore, the user can operate the operation unit 21 without being too conscious of the posture of the end effector 11 with respect to the surface of the target object W.
  • the conversion component s' of the command speed xd' is set to zero, and the master command is generated using only the operation component e' of the command speed xd'. be.
  • the movement of the operation part 21 corresponding to the movement of the end effector 11 along the surface of the object W is cancelled.
  • the operation unit 21 is controlled so as to correspond to the movement of the end effector 11 along the surface of the object W, the end effector 11 for maintaining the posture of the end effector 11 with respect to the surface of the object W.
  • the operation part 21 can also rotate with the rotation of 11 . In that case, the reference plane RP is inclined with respect to the horizontal direction.
  • the master command is generated from the command speed xd′ without considering the conversion component s′ of the command speed xd′, thereby reducing the rotation of the operation unit 21 and making it easier to keep the reference plane RP horizontal.
  • the user can easily move the operation unit 21 along the reference plane RP by horizontally moving the operation unit 21 without being conscious of rotational fluctuations of the reference plane RP.
  • the robot system 100 includes the operation device 2 (master device) operated by the user, the end effector 11 (action part) that applies an action to the object W, and the robot arm 12 (action part) that operates the end effector 11 (action part). and a control device 3 for outputting a command to the robot arm 12 to operate the end effector 11 according to operation information input via the operation device 2.
  • the control device 3 performs coordinate transformation in which the reference plane RP in the operation coordinate system set in the operation device 2 is associated with the surface of the object W, and generates a command to the robot arm 12 based on the operation information. .
  • the robot 1 has an operation device 2 (master device) operated by a user, an end effector 11 (action section) that applies an action to the object W, and a robot arm 12 (action section) that operates the end effector 11.
  • (slave device) includes: outputting a command to the robot arm 12 to operate the end effector 11 according to operation information input via the operation device 2; This includes performing coordinate transformation so that the reference plane RP in the operation coordinate system set in the operation device 2 is associated with the surface of the object W when the command to the robot arm 12 is generated based on the information.
  • a robot having an operation device 2 (master device) operated by a user, an end effector 11 (action section) that applies an action to the object W, and a robot arm 12 (action section) that operates the end effector 11. 1 (slave device), a control program 321 for causing a computer to realize a function of controlling the robot system 100, which controls the robot to operate the end effector 11 according to operation information input via the operation device 2.
  • a function of outputting a command to the arm 12 and a reference plane RP in the operation coordinate system set in the operation device 2 when generating the command to the robot arm 12 based on the operation information corresponds to the surface of the object W.
  • the computer is made to realize the function of performing the coordinate transformation to be attached.
  • the operation of the operating device 2 along the reference plane RP is converted into movement of the end effector 11 along the surface of the target object W.
  • the user does not need to consider the surface shape of the object W when operating the operation device 2, and moves the end effector 11 along the surface of the object W by moving the operation device 2 along the reference plane RP. can be made Even if the surface of the object W is curved or has a complicated shape, the user can move the end effector 11 along the surface of the object W by simply operating the operation device 2. . As a result, it is possible to improve the operability when operating the operating device 2 to operate the robot 1 .
  • the user does not need to consider the surface shape of the object W to operate the operation device 2, so the user can adjust the position of the end effector 11 on the surface of the object W or adjust the force applied to the operation unit 21. etc., and the accuracy of the operation can be improved.
  • the operation range of the operation unit 21 is limited. Even so, the end effector 11 can be moved relatively flexibly and over a wide range. The end effector 11 can be moved flexibly and over a wide range according to various surface shapes of the object W, even if the operation is limited to moving the operation portion 21 along the reference plane RP. In this respect as well, the operability when operating the operating device 2 to operate the robot 1 can be improved.
  • the reference plane RP is a plane in the operation coordinate system.
  • the user can move the end effector 11 along the surface of the object W by moving the operation device 2 planarly in the operation coordinate system. That is, the user can move the end effector 11 along the surface of the object W by performing an operation via the operation device 2 as if applying an action to the plane.
  • control device 3 maintains a constant attitude of the end effector 11 with respect to the surface of the object W in the coordinate transformation.
  • the controller 3 makes the posture of the end effector 11 with respect to the surface of the target object W constant when performing coordinate conversion to associate the reference plane RP in the operation coordinate system with the surface of the target object W.
  • the posture of the end effector 11 is adjusted as follows. Therefore, the user can automatically adjust the attitude of the end effector 11 with respect to the surface of the object W so that the attitude of the end effector 11 with respect to the surface of the object W is constant without performing a special operation for making the attitude of the end effector 11 with respect to the surface of the object W constant. adjusted to As a result, a uniform or homogenous action on the object W can be applied by the end effector 11 .
  • control device 3 causes the reference axis A defined in the tool coordinate system set in the end effector 11 to match the normal line N of the object W at the intersection point P between the reference axis A and the surface of the object W.
  • the posture of the end effector 11 with respect to the surface of the object W is maintained constant by changing the posture of the end effector 11 as shown in FIG.
  • the operation device 2 has an operation unit 21 operated by a user, and a support mechanism 22 (support unit) that supports the operation unit 21 and operates the operation unit 21. Fixed.
  • the operating section 21 is supported by the support mechanism 22 and operated by the support mechanism 22 . That is, the operation unit 21 can move.
  • the reference plane RP moves as the operation unit 21 moves. Even if the operation unit 21 moves, the relationship between the reference plane RP and the operation unit 21 is constant, so the user can move the reference plane RP while easily grasping it.
  • the operation device 2 further has an operation force sensor 23 that detects an operation force applied by the user to the operation unit 21, and the control device 3 detects an operation component e', which is a command component corresponding to operation information, as an operation force.
  • the conversion unit 66 Based on the operation conversion unit 65 that obtains the operation force detected by the sensor 23 as operation information, the conversion unit 66 that obtains the conversion component s′ that is the command component corresponding to the coordinate conversion, and the operation component e′ and the conversion component s′. and a slave output 69 for generating commands to the robot arm 12 .
  • the operation force sensor 23 of the operation device 2 detects the operation force applied by the user to the operation unit 21 as operation information.
  • the operation conversion unit 65 of the control device 3 obtains an operation component e' corresponding to the operation force detected by the operation force sensor 23.
  • the transformation unit 66 of the control device 3 obtains a transformation component s' corresponding to coordinate transformation.
  • the slave output section 69 of the control device 3 generates a command based on the operation component e' and the conversion component s'. In this way, by dividing the operation component e' and the conversion component s' and obtaining them by the operation conversion unit 65 and the conversion unit 66, respectively, the processing for obtaining the operation component e' and the conversion component s' can be simplified. can.
  • the conversion unit 66 includes an acquisition unit 67 that acquires the normal N of the object W at the intersection point P between the reference axis A defined in the tool coordinate system fixed to the end effector 11 and the surface of the object W. , and a calculation unit 68 that obtains a command component for moving the end effector 11 so that the reference axis A coincides with the normal line N as a transformation component s′.
  • the acquisition unit 67 first acquires the normal N of the object W at the intersection point P between the reference axis A defined in the tool coordinate system of the end effector 11 and the surface of the object W.
  • the calculator 68 obtains a transformation component s′ for moving the end effector 11 so that the reference axis A coincides with the normal line N.
  • the posture of the end effector 11 is adjusted so that the reference axis A coincides with the normal line N of the object W.
  • the robot system 100 further includes a contact force sensor 13 (contact force detection unit) that detects a contact force that is a reaction force acting on the end effector 11 from the object W. and the contact force detected by the contact force sensor 13, and the control device 3 outputs a command to the support mechanism 22 to operate the operation unit 21.
  • the operation component e ' further includes a master output 611 that generates based on .
  • the operation conversion unit 65 obtains the operation component e' based on the contact force detected by the contact force sensor 13 in addition to the operation force detected by the operation force sensor 23.
  • the end effector 11 operates according to not only the operation force but also the contact force.
  • the manipulation component e' is used not only to generate commands to the robot arm 12, but also to generate commands to the support mechanism 22 of the manipulation device 2.
  • the operating device 2 can present the reaction force according to the contact force to the user. That is, the user can operate the operation device 2 while feeling the reaction force acting on the end effector 11 .
  • the master output unit 611 generates a command to the support mechanism 22 based on the operation component e' without considering the conversion component s'.
  • commands to the robot arm 12 are generated based on the operation component e' and the conversion component s'.
  • the command to the support mechanism 22 is generated based on the operation component e' and does not reflect the conversion component s'.
  • the end effector 11 operates according to the operation information and the coordinate conversion
  • the support mechanism 22 operates according to the operation information without reflecting the coordinate conversion. Specifically, even if the end effector 11 moves along the surface of the object W, the operation part 21 does not move following the surface shape of the object W. Therefore, the user can easily move the operation unit 21 along the reference plane RP.
  • the action applied to the object W by the end effector 11 is grinding, cutting or polishing.
  • the end effector 11 contacts the object W, and a reaction force acts on the end effector 11 from the object W.
  • the user operates the operating device 2 while being presented with the reaction force based on the contact force detected by the contact force sensor 13 .
  • the user moves the end effector 11 along the surface of the object W by operating the operation unit 21 while feeling the reaction force.
  • the user can move the end effector 11 along the surface of the object W while feeling the reaction force from the object W only by operating the operation unit 21 in the direction along the reference plane RP. .
  • the operability of the robot 1 when grinding, cutting, or polishing the object W can be improved.
  • FIG. 13 is a schematic diagram of the operation unit 21 moved by the user in a modification.
  • the method of obtaining the master command from the command speed xd' is different from the above-described example.
  • the gain processing unit 610 of the control device 3 outputs the command speed xd′ to the master output unit 611 without setting the gain of the conversion component s′ of the command speed xd′ to zero, that is, without canceling the gain. do. Therefore, the master output unit 611 generates a master command, that is, a command position xdm based on the operation component e' and the conversion component s'.
  • the operation of the end effector 11 is the same as the above example. That is, when the operation unit 21 is moved along the reference plane RP, the end effector 11 moves along the surface of the object W while maintaining a constant attitude with respect to the surface of the object W, as shown in FIG. Moving.
  • the operation unit 21 performs an operation reflecting both the operation of the end effector 11 caused by the operation component e' and the operation of the end effector 11 caused by the conversion component s'.
  • the operation unit 21 is moved by the support mechanism 22 so as to draw a trajectory along the surface of the object W with its attitude relative to the surface of the object W generally constant.
  • the user applies an operation force to the operation unit 21 in a direction along the reference plane RP, and intentionally operates the operation unit 21 so that the operation unit 21 draws a trajectory along the surface of the target object W. Do not mean. That is, the user can operate the operation unit 21 while sensing the surface shape of the object W without intentionally operating the operation unit 21 along the surface of the object W.
  • the reference plane RP is defined by the operation coordinate system fixed to the operation unit 21, it moves in the same manner as the operation unit 21 moves.
  • the attitude that is, the angle of the reference plane RP also changes accordingly. Since the user holds the operation unit 21, the user can perceive the posture of the operation unit 21 and can roughly grasp the angle of the reference plane RP. Therefore, even if the posture of the operation unit 21 changes, the user can easily move the operation unit 21 along the reference plane RP.
  • the master output unit 611 generates a command to the support mechanism 22 based on the conversion component s' in addition to the operation component e'.
  • the operation part 21 can be moved in the same manner as the end effector 11 is moved along the surface of the object W.
  • the user can operate the operation unit 21 while sensing the surface shape of the object W without intentionally operating the operation unit 21 along the surface of the object W.
  • the master device is not limited to the operation device 2, and can adopt any configuration as long as the user can input operation information.
  • the slave device is not limited to the robot 1, and any configuration can be adopted as long as it has an action section that applies an action to an object and an action section that operates the action section.
  • the three-dimensional information 322 of the object W is not limited to STL data.
  • the three-dimensional information 322 of the object may be any data from which the normal of any part of the surface of the object can be obtained, and may be point cloud data, for example.
  • the three-dimensional information 322 of the object may be the information itself of the normal line in each portion of the surface of the object.
  • the coordinate transformation method described above is merely an example and is not limited to this.
  • the coordinate transformation may be any one that allows the reference plane in the master coordinate system to correspond to the surface of the object, and it is not essential to maintain a constant orientation of the action portion with respect to the surface of the object.
  • the distance between the end effector 11 and the surface of the object W in the direction of the Zr axis of the master coordinate system becomes constant without rotating the end effector 11 in the coordinate transformation. Only the position of the end effector 11 in the Zr-axis direction may be adjusted.
  • the method of calculating the commanded position xds and the commanded position xdm from the combined force fm+fs described above is merely an example.
  • the exercise model is only an example, and different exercise models may be used.
  • the gain processing unit 610 may set the gain of the rotation component of each of the three axes of the command speed xd' to zero instead of the conversion component s'. In other words, the gain processing unit 610 may cancel the angular velocity component of the command speed xd' and output only the translational component of each of the three axes of the command speed xd'. The rotation of the operation unit 21 is suppressed by canceling the rotation component of the command speed xd'. Such a method also makes it easier for the user to move the operation unit 21 horizontally.
  • the technology of the present disclosure may be a non-transitory computer-readable recording medium on which the program is recorded.
  • the program may be one that can be distributed via a transmission medium such as the Internet.
  • a processor is a processing circuit or the like that includes transistors and other circuits.
  • a unit, controller or means is hardware or programmed to perform the functions described.
  • the hardware is hardware disclosed in this embodiment or known hardware configured or programmed to perform the functions disclosed in this embodiment.
  • the circuit, means or unit is a combination of hardware and software, the software being used to configure the hardware and/or the processor.

Abstract

ロボットシステム100は、ユーザに操作される操作装置2と、対象物Wに作用を加えるエンドエフェクタ11とエンドエフェクタ11を動作させるロボットアーム12とを有するロボット1と、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力する制御装置3とを備えている。制御装置3は、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行って、操作情報に基づいてロボットアーム12への指令を生成する。

Description

ロボットシステム、その制御方法及び制御プログラム
 ここに開示された技術は、ロボットシステム、その制御方法及び制御プログラムに関する。
 従来より、ロボットを動作させることによって対象物に作用を加えるロボットシステムが知られている。
 例えば、特許文献1では、グラインダ等のツールを有するロボットアームによって対象物を加工するロボットシステムが開示されている。このロボットシステムにおいては、制御装置がロボットアームを制御して、ツールによる所望の加工を実現させている。
特開2017-1122号公報
 ところで、ロボットアームを制御装置による自動制御ではなく、ユーザの操作を介した手動制御することが考えられる。つまり、ユーザがマスタ装置を操作して、ロボットのようなスレーブ装置を動作させることが考えられる。そのようなロボットシステムにおいては、例えば、スレーブ装置が配置された現場から離れた位置からユーザがマスタ装置を操作、即ち、遠隔操作することができる。
 しかしながら、遠隔操作においては、ユーザがツール等を実際に把持して行う作業時とは異なり、視覚、触覚又は聴覚等からのフィードバックを得ることが難しく、実際の作業とは異なる操作の難しさがある。
 ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的とするところは、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることにある。
 本開示のロボットシステムは、ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置と、前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する制御装置とを備え、前記制御装置は、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行って、前記操作情報に基づいて前記動作部への指令を生成する。
 本開示のロボットシステムの制御方法は、ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置とを備えるロボットシステムの制御方法であって、前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力することと、前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行うこととを含む。
 本開示の制御プログラムは、ユーザに操作されるマスタ装置と、前記マスタ装置の動作に応じて対象物に作用を加えるスレーブ装置とを備えるロボットシステムを制御する機能をコンピュータに実現させるための制御プログラムであって、前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する機能と、前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行う機能とをコンピュータに実現させる。
 前記ロボットシステムによれば、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることができる。
 前記ロボットシステムの制御方法によれば、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることができる。
 前記制御プログラムによれば、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることができる。
図1は、ロボットシステムの構成を示す模式図である。 図2は、エンドエフェクタの拡大図である。 図3は、ロボット制御装置の概略的なハードウェア構成を示す図である。 図4は、操作装置の斜視図である。 図5は、操作制御装置の概略的なハードウェア構成を示す図である。 図6は、制御装置の概略的なハードウェア構成を示す図である。 図7は、ロボットシステムの制御系統の構成を示すブロック図である。 図8は、基準軸と対象物との交点における対象物の法線を示す模式図である。 図9は、ロボットシステムの動作を示すフローチャートである。 図10は、ユーザによって動かされる操作部の模式図である。 図11は、座標変換が行われない場合のエンドエフェクタの動作を示す模式図である。 図12は、座標変換が行われた場合のエンドエフェクタの動作を示す模式図である。 図13は、変形例において、ユーザによって動かされる操作部の模式図である。
 以下、例示的な実施形態を図面に基づいて詳細に説明する。
 本開示において、ロボットが行う作業は、ティーチング作業並びに教示の確認及び修正作業を含まない。したがって、以下の説明における操作装置2は、ティーチペンダントを含まない。
 図1は、実施形態に係るロボットシステム100の構成を示す模式図である。
 ロボットシステム100は、ロボット1と、ユーザに操作される操作装置2と、ロボット1を制御する制御装置3とを備える。ロボットシステム100は、マスタスレーブシステムを構成する。操作装置2は、マスタ装置として機能し、ロボット1は、スレーブ装置として機能する。制御装置3は、ロボットシステム100の全体を制御し、ロボット1と操作装置2との間でバイラテラル制御を行う。
 ロボット1は、例えば、産業用ロボットである。ロボット1は、対象物Wに作用を加えるエンドエフェクタ11と、エンドエフェクタ11を動作させるロボットアーム12とを有している。エンドエフェクタ11は、ロボットアーム12の先端に連結されている。ロボット1は、ロボットアーム12によってエンドエフェクタ11を動作、即ち、移動させて、エンドエフェクタ11によって対象物Wに作用を加える。例えば、作用は、加工である。例えば、対象物Wは、大型タンクの湾曲した壁等である。
 ロボット1は、ロボットアーム12を支持するベース10と、ロボット1の全体を制御するロボット制御装置14とをさらに有していてもよい。
 ロボットアーム12は、エンドエフェクタ11の位置及び姿勢を変更する。ロボットアーム12は、垂直多関節型のロボットアームである。ロボットアーム12は、複数のリンク12aと、複数のリンク12aを接続する関節12bと、複数の関節12bを回転駆動するサーボモータ15(図3参照)とを有している。例えば、ロボットアーム12の一端部(エンドエフェクタ11とは反対側の端部)に位置するリンク12aは、関節12bを介して、鉛直方向に延びる回転軸R1回りに回転可能にベース10に連結されている。ロボットアーム12は、動作部の一例である。
 尚、ロボットアーム12は、水平多関節型、パラレルリンク型、直角座標型、又は極座標型のロボットアーム等であってもよい。
 図2は、エンドエフェクタ11の拡大図である。エンドエフェクタ11は、研削装置11aを有し、対象物Wに作用としての研削を加える。エンドエフェクタ11は、作用部の一例である。尚、エンドエフェクタ11が対象物Wに加える作用は、研削ではなく、切削又は研磨等であってもよい。
 例えば、研削装置11aは、グラインダ、オービタルサンダ、ランダムオービットサンダ、デルタサンダ又はベルトサンダ等であってもよい。グラインダは、円盤状の研削砥石を回転させるタイプ、円錐状又は円柱状の研削砥石を回転させるタイプ等であってもよい。ここでは、研削装置11aは、円盤状の研削砥石を回転させるタイプのグラインダである。
 ロボット1には、直交3軸のスレーブ座標系が規定されている。スレーブ座標系は、ロボット1を基準に設定されている。スレーブ座標系は、互いに直交するXr軸、Yr軸、及びZr軸を有している。Xr軸、Yr軸、及びZr軸は、原点Orにおいて互いに交差している。原点Orは、ベース10の上面に位置している。Xr軸及びYr軸は、水平方向に、即ち、ベース10の上面と平行に延びている。Zr軸は、鉛直方向に延びている。Zr軸は、ロボットアーム12とベース10とを連結する関節12bの回転軸R1と一致している。Yr軸は、図1における紙面と垂直に延びている。
 また、エンドエフェクタ11には、直交3軸のツール座標系が規定されている。ツール座標系は、エンドエフェクタ11に固定された座標系である。ツール座標系は、図2に示すように、互いに直交するXt軸、Yt軸、及びZt軸を有している。Xt軸、Yt軸、及びZt軸は、原点Otにおいて互いに交差している。例えば、原点Otは、研削装置11aのうち対象物Wとの接点に位置している。詳しくは、研削装置11aの研削砥石の回転軸Bは、エンドエフェクタ11が取り付けられたリンク12aの回転軸R2に対して傾斜している。研削砥石の外周縁のうち回転軸R2の方向においてリンク12aから最も離れた部分が、対象物Wとの接点として想定されている。Zt軸は、回転軸R2と平行に延びている。Xt軸は、研削砥石の回転軸BがXt-Zt平面内で延びるように設定されている。Yt軸は、図1における紙面と垂直に延びている。ツール座標系は、スレーブ座標系から見ると、エンドエフェクタ11の位置・姿勢に応じて変化する。つまり、ツール座標系は、ロボットアーム12の移動に応じて、エンドエフェクタ11と共に移動する。
 ロボット1は、エンドエフェクタ11が対象物から受ける反力(以下、「接触力」という)を検出する接触力センサ13をさらに有していてもよい。
 接触力センサ13は、この例では、ロボットアーム12とエンドエフェクタ11との間(具体的には、ロボットアーム12とエンドエフェクタ11との連結部)に設けられている。接触力センサ13は、直交する3軸方向の力と該3軸回りのモーメントを検出する。接触力センサ13は、接触力検出部の一例である。
 尚、接触力検出部は、接触力センサ13に限定されない。例えば、接触力センサ13は、1軸、2軸又は3軸方向の力のみを検出してもよい。あるいは、接触力検出部は、ロボットアーム12のサーボモータ15の電流を検出する電流センサ又はサーボモータ15のトルクを検出するトルクセンサ等であってもよい。
 図3は、ロボット制御装置14の概略的なハードウェア構成を示す図である。ロボット制御装置14は、ロボットアーム12のサーボモータ15及び研削装置11aを制御する。ロボット制御装置14は、接触力センサ13の検出信号を受け付ける。ロボット制御装置14は、制御装置3と情報、指令及びデータ等の送受信を行う。ロボット制御装置14は、制御部16と、記憶部17と、メモリ18とを有している。
 制御部16は、ロボット制御装置14の全体を制御する。制御部16は、各種の演算処理を行う。例えば、制御部16は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部16は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で形成されていてもよい。
 記憶部17は、制御部16で実行されるプログラム及び各種データを格納している。記憶部17は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
 メモリ18は、データ等を一時的に格納する。例えば、メモリ18は、揮発性メモリで形成される。
 操作装置2は、図1に示すように、ユーザが操作する操作部21と、操作部21にユーザから加えられる操作力を検出する操作力センサ23とを有している。操作装置2は、ロボット1を手動運転で操作するための入力を受け付け、入力された情報である操作情報を制御装置3へ出力する。具体的には、ユーザは、操作部21を把持して操作装置2を操作する。その際に操作部21に加えられる力を操作力センサ23が検出する。操作力センサ23によって検出される操作力は、操作情報として制御装置3へ出力される。
 操作装置2は、ベース20と、ベース20に設けられ、操作部21を支持する支持機構22と、操作装置2の全体を制御する操作制御装置24とをさらに有していてもよい。操作装置2は、制御装置3からの制御によって、操作力に対する反力をユーザに与える。具体的には、操作制御装置24は、制御装置3からの指令を受けて、支持機構22を制御することによって、反力をユーザに感知させる。支持機構22は、支持部の一例である。
 図4は、操作装置2の斜視図である。支持機構22は、6つのアーム22aを有している。2つのアーム22aが1つの組を形成している。つまり、支持機構22は、3組のアーム22aを有している。3組のアーム22aは、操作部21から放射状に延びている。各アーム22aは、関節22bを有している。各関節22bは、アーム22aを形成する2つのリンクを直交する3軸回りに回転可能にボールジョイント等の自在継手を介して連結している。各アーム22aは、関節22bで屈曲可能である。各アーム22aの一端は、直交する3軸回りに回転可能に操作部21にボールジョイント等の自在継手を介して連結されている。各アーム22aの他端は、サーボモータ25に減速機等(図示省略)を介して連結されている。サーボモータ25は、ベース20上に配置されている。
 ベース20の上面には、6つのサーボモータ25が配置されている。同組の2つのアーム22aに連結された2つのサーボモータ25が1つの組を形成している。各組の2つのサーボモータ25の回転軸は、一直線上に、即ち、同軸上に延びている。3組のサーボモータ25の回転軸が三角形を形成するように、6つのサーボモータ25は配置されている。
 このように構成された支持機構22は、操作部21が3次元空間内で任意の位置及び姿勢をとることができるように、操作部21を支持する。操作部21の位置及び姿勢に対応して、サーボモータ25が回転する。サーボモータ25の回転量、即ち、回転角は、一義的に決まる。
 操作装置2には、直交3軸のマスタ座標系が規定されている。マスタ座標系は、操作装置2を基準に設定されている。マスタ座標系は、互いに直交するXm軸、Ym軸、及びZm軸を有している。Xm軸、Ym軸、及びZm軸は、原点Omにおいて互いに交差している。原点Omは、ベース20の上面に位置している。Xm軸及びYm軸は、水平方向に、即ち、ベース20の上面と平行に延びている。Zm軸は、鉛直方向に延びている。Zm軸は、3組のサーボモータ25の回転軸によって形成される三角形の重心を通る。マスタ座標系は、操作装置2のベース20に固定された座標系である。
 また、操作部21には、直交3軸の操作座標系が規定されている。操作座標系は、操作部21に固定された座標系である。操作座標系は、互いに直交するXn軸、Yn軸及びZn軸を有している。Xn軸、Yn軸及びZn軸は、原点Onにおいて互いに直交している。例えば、原点Onは、操作部21の中央に位置している。操作座標系は、マスタ座標系から見ると、操作部21の位置・姿勢に応じて変化する。つまり、操作座標系は、操作部21の移動に応じて、操作部21と共に移動する。この例では、操作座標系は、ツール座標系と対応している。
 さらに、操作座標系においては、基準面RPが設定されている。この例では、基準面RPは、平面であり、具体的には、Xn-Yn平面に平行な面である。
 操作力センサ23は、この例では、図1に示すように操作部21と支持機構22との間(具体的には、操作部21と支持機構22との連結部)に設けられている。操作力センサ23は、直交する3軸方向の力と該3軸回りのモーメントを検出する。操作力センサ23は、操作力検出部の一例である。
 尚、操作力検出部は、操作力センサ23に限定されない。例えば、操作力センサ23は、1軸、2軸又は3軸方向の力のみを検出してもよい。あるいは、操作力検出部は、支持機構22のサーボモータ25の電流を検出する電流センサ又はサーボモータ25のトルクを検出するトルクセンサ等であってもよい。
 図5は、操作制御装置24の概略的なハードウェア構成を示す図である。操作制御装置24は、サーボモータ25を制御することによって支持機構22を動作させる。操作制御装置24は、操作力センサ23の検出信号を受け付ける。操作制御装置24は、制御装置3と情報、指令及びデータ等の送受信を行う。操作制御装置24は、制御部26と、記憶部27と、メモリ28とを有している。
 制御部26は、操作制御装置24の全体を制御する。制御部26は、各種の演算処理を行う。例えば、制御部26は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部26は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で形成されていてもよい。
 記憶部27は、制御部26で実行されるプログラム及び各種データを格納している。記憶部27は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
 メモリ28は、データ等を一時的に格納する。例えば、メモリ28は、揮発性メモリで形成される。
 制御装置3は、ロボット1及び操作装置2を制御する。制御装置3は、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるように、ロボットアーム12への指令であるスレーブ指令をロボット1へ出力する。制御装置3は、操作装置2を介した操作に応じてロボットアーム12を制御することによってエンドエフェクタ11に対象物Wへ作用を加えさせる。さらに、制御装置3は、対象物Wからロボット1が受ける反力に応じて操作部21を動作させるように、支持機構22への指令であるマスタ指令を操作装置2へ出力する。制御装置3は、支持機構22を制御することによって、エンドエフェクタ11が対象物Wから受ける反力をユーザに提示する。
 図6は、制御装置3の概略的なハードウェア構成を示す図である。制御装置3は、ロボット制御装置14及び操作制御装置24と情報、指令及びデータ等の送受信を行う。制御装置3は、制御部31と、記憶部32と、メモリ33とを有している。
 制御部31は、制御装置3の全体を制御する。制御部31は、各種の演算処理を行う。例えば、制御部31は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部31は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で形成されていてもよい。
 記憶部32は、制御部31で実行されるプログラム及び各種データを格納している。記憶部32は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。例えば、記憶部32は、制御プログラム321及び対象物Wの三次元情報322を格納している。
 制御プログラム321は、ロボットシステム100を制御する機能をコンピュータとしての制御部31に実現させるためのプログラムである。
 対象物Wの三次元情報322は、対象物Wの表面を表す情報である。例えば、対象物Wの三次元情報322は、対象物WのSTL(Standard Triangulated Language)データである。つまり、対象物Wの表面が複数のポリゴンで表現され、各ポリゴンの座標情報が三次元情報322として記憶部32に格納されている。各ポリゴンの座標情報は、対象物Wに設定されたワーク座標系における座標情報である。記憶部32には、ワーク座標系の原点とスレーブ座標系の原点との位置関係も格納されている。
 対象物Wの三次元情報322は、予め取得され、記憶部32に格納されている。例えば、三次元スキャナ等で対象物Wの表面が測定され、対象物Wの点群データが取得される。点群データから、対象物Wがポリゴン化され、STLデータが取得される。あるいは、対象物WのCADデータ等の設計データから、STLデータが取得されてもよい。
 メモリ33は、データ等を一時的に格納する。例えば、メモリ33は、揮発性メモリで形成される。
 図7は、ロボットシステム100の制御系統の構成を示すブロック図である。
 ロボット制御装置14の制御部16は、記憶部17からプログラムをメモリ18に読み出して展開することによって、各種機能を実現する。具体的には、制御部16は、入力処理部41と動作制御部42として機能する。
 入力処理部41は、接触力センサ13及びサーボモータ15から受け取る情報、データ及び指令等を制御装置3に出力する。具体的には、入力処理部41は、接触力センサ13から6軸の力の検出信号を受け取り、該検出信号を操作情報として制御装置3へ出力する。また、入力処理部41は、サーボモータ15から回転センサ(例えば、エンコーダ)及び電流センサの検出信号を受け取る。入力処理部41は、動作制御部42によるロボットアーム12のフィードバック制御のために該検出信号を動作制御部42へ出力する。また、入力処理部41は、ロボットアーム12の位置情報として該検出信号を制御装置3へ出力する。
 動作制御部42は、制御装置3からスレーブ指令(具体的には、指令位置xds)を受け取り、スレーブ指令に従ってロボットアーム12を動作させるための制御指令を生成する。動作制御部42は、サーボモータ15へ制御指令を出力し、ロボットアーム12を動作させ、研削装置11aを指令位置に対応する位置へ移動させる。このとき、動作制御部42は、入力処理部41からのサーボモータ15の回転センサ及び/又は電流センサの検出信号に基づいて、ロボットアーム12の動作をフィードバック制御する。また、動作制御部42は、研削装置11aへ制御指令を出力し、研削装置11aを動作させる。これにより、研削装置11aが対象物Wを研削する。
 操作制御装置24の制御部26は、記憶部27からプログラムをメモリ28に読み出して展開することによって、各種機能を実現する。具体的には、制御部26は、入力処理部51と動作制御部52として機能する。
 入力処理部51は、操作力センサ23から受け取る情報、データ及び指令等を制御装置3に出力する。具体的には、入力処理部51は、操作力センサ23から6軸の力の検出信号を受け取り、該検出信号を反力情報として制御装置3へ出力する。また、入力処理部51は、サーボモータ25から回転センサ(例えば、エンコーダ)及び電流センサの検出信号を受け取る。入力処理部51は、動作制御部52による支持機構22のフィードバック制御のために該検出信号を動作制御部52へ出力する。
 動作制御部52は、制御装置3からマスタ指令(具体的には、指令位置xdm)を受け取り、マスタ指令に従って支持機構22を動作させるための制御指令を生成する。動作制御部52は、サーボモータ25へ制御指令を出力し、支持機構22を動作させ、操作部21を指令位置に対応する位置へ移動させる。このとき、動作制御部52は、入力処理部51からのサーボモータ25の回転センサ及び/又は電流センサの検出信号に基づいて、支持機構22の動作をフィードバック制御する。これにより、ユーザが操作部21に与える操作力に対して反力が与えられる。その結果、ユーザは、対象物Wから反力を操作部21から疑似的に感じつつ、操作部21を操作することができる。
 制御装置3の制御部31は、記憶部32から制御プログラム321をメモリ33に読み出して展開することによって、各種機能を実現する。具体的には、制御部31は、操作力取得部61と接触力取得部62と加算部63と力/速度換算部64とスレーブ出力部69とゲイン処理部610とマスタ出力部611として機能する。
 これらの機能によって、制御装置3は、操作情報及び反力情報に応じてスレーブ指令及びマスタ指令を生成する。制御装置3は、操作情報からスレーブ指令を生成する際に、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行う。つまり、制御装置3は、エンドエフェクタ11を動作させるためのスレーブ指令を操作装置2の操作情報から生成する際に、基準面RPと対象物Wの表面との対応関係と同じ対応関係で座標変換を実行する。例えば、ユーザが操作装置2を基準面RPに沿って操作した場合、制御装置3は、エンドエフェクタ11が対象物Wの表面に沿った動作を行うようなスレーブ指令を生成する。基準面RPは、操作座標系における仮想面であり、この例では、操作座標系における平面(例えば、操作座標系のXn-Yn平面と平行な面)である。座標変換は、生成されたスレーブ指令が操作情報に対して座標変換されていることを意味する。つまり、操作情報をまず座標変換するとか、スレーブ指令を生成する最終段階で座標変換するとか、どの段階で座標変換されるかは問わない。
 さらに、制御装置3は、座標変換において、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。具体的には、制御装置3は、エンドエフェクタ11に設定されたツール座標系で定義された基準軸Aと対象物Wの表面との交点における対象物Wの法線に基準軸Aが一致するようにエンドエフェクタ11の姿勢を変更することによって、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。この例では、基準軸Aは、ツール座標系のZt軸である。
 操作力取得部61は、入力処理部51を介して、操作力センサ23の検出信号を受け取り、検出信号に基づいて操作力fmを取得する。例えば、操作力取得部61は、操作力センサ23の検出信号から、操作部21の中央に作用する力であって操作座標系で表される力を操作力fmとして求める。操作力取得部61は、操作力fmを加算部63へ入力する。
 接触力取得部62は、入力処理部41を介して、接触力センサ13の検出信号を受け取り、検出信号に基づいて接触力fsを取得する。例えば、接触力取得部62は、接触力センサ13の検出信号から、エンドエフェクタ11のうち対象物Wとの接点に作用する力であってツール座標系で表される力を接触力fsとして求める。接触力取得部62は、接触力fsを加算部63へ入力する。
 加算部63は、操作力取得部61から入力された操作力fmと接触力取得部62から入力された接触力fsとの和を算出する。ここで、操作力fmと接触力fsとは、反対向きの力なので、操作力fmと接触力fsとは正負の符号が異なる。つまり、操作力fmと接触力fsとが足されることによって、操作力fmの絶対値は小さくなる。
 力/速度換算部64は、スレーブ指令及びマスタ指令の基になる指令速度xd’を生成する。力/速度換算部64は、操作装置2による操作情報に応じた成分である操作成分を生成する操作換算部65と、座標変換に相当する成分である変換成分を生成する変換部66とを有する。力/速度換算部64は、操作成分に変換成分を付加して指令速度xd’を生成する。
 操作換算部65は、操作力センサ23によって検出される操作力fmを操作情報として操作成分を生成する。操作換算部65は、操作情報に加えて、ロボット1が対象物Wから受ける反力に関する反力情報も考慮して操作成分を生成する。具体的には、操作換算部65は、接触力センサ13によって検出される接触力fsを反力情報として、操作情報及び反力情報に基づいて操作成分を生成する。つまり、操作成分は、少なくとも操作情報に応じた指令成分であり、より具体的には操作情報及び反力情報に応じた指令成分である。
 詳しくは、操作換算部65は、操作力fmと接触力fsとの和である合成力fm+fsを速度e’に換算する。操作換算部65は、慣性係数、粘性係数(ダンパ係数)及び剛性係数(バネ係数)を含む運動方程式に基づく運動モデルを用いて、合成力fm+fsが作用した場合の物体の速度e’を算出する。具体的には、操作換算部65は、以下の運動方程式に基づいて速度e’を算出する。
Figure JPOXMLDOC01-appb-M000001
 ここで、eは、物体の位置である。mdは、慣性係数である。cdは、粘性係数である。kdは、剛性係数である。fmは、操作力である。fsは、接触力である。尚、「’」は1回微分を表し、「”」は2回微分を表す。
 式(1)は線形微分方程式であり、式(1)を速度e’について解くと、e’=V(fm,fs)となる。V(fm,fs)は、fm,fsを変数とし,md,cd,kd等を定数とする関数である。
 関数V(fm,fs)は、記憶部32に格納されている。操作換算部65は、記憶部32から関数V(fm,fs)を読み出して速度e’を求める。速度e’が操作成分である。以下、速度e’を「操作成分e’」と称する。
 変換部66は、変換成分s’を生成する。より詳しくは、変換成分s’は、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持しつつ、操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を実現するための指令成分である。
 変換部66は、ツール座標系で定義された基準軸Aと対象物Wの表面との交点における対象物の法線を取得する取得部67と、基準軸を法線に一致させるようにエンドエフェクタ11を移動させるための指令速度を変換成分s’として求める算出部68とを有している。
 取得部67は、ツール座標系における原点Otの位置及びZt軸の向きを求める。この例では、ツール座標系のZt軸が基準軸Aとして設定されている。制御装置3は、サーボモータ15の回転センサ及び電流センサの検出信号が入力処理部41から、ロボットアーム12の位置情報として入力され、ロボットアーム12の状態(具体的には、位置及び姿勢)を逐次監視している。取得部67は、現在のロボットアーム12の状態から、現在のツール座標系の原点Otの位置及びZt軸の向きを求める。また、取得部67は、対象物Wの三次元情報322を記憶部32から読み出す。
 そして、取得部67は、図8に示すように、基準軸A(Zt軸)と対象物Wの表面との交点Pにおける法線Nを求める。図8は、基準軸Aと対象物Wとの交点Pにおける対象物Wの法線Nを示す模式図である。
 具体的には、取得部67は、対象物Wの表面を形成する複数のポリゴン(即ち、三角形の微小部分)のうち基準軸Aが貫通するポリゴンを求める。取得部67は、基準軸Aが貫通するポリゴンの法線Nを求める。例えば、取得部67は、該ポリゴンの3つの頂点を通る平面の法線であって、該ポリゴンと基準軸Aとの交点を通る法線Nを求める。
 算出部68は、取得部67によって求められた法線Nに基準軸Aが一致するようにエンドエフェクタ11を移動させるための指令速度を変換成分s’として求める。図8の例では、変換成分s’は、実線のエンドエフェクタ11を二点鎖線のエンドエフェクタ11の位置へ移動させるための指令速度である。
 力/速度換算部64は、操作成分e’に変換成分s’を付加し、指令速度xd’を生成する。操作成分e’に変換成分s’を付加することは、基準面RPと対象物Wの表面との対応関係と同じ対応関係の座標変換を操作成分e’に施すことに等しい。力/速度換算部64は、生成された指令速度xd’をスレーブ出力部69とゲイン処理部610とへ出力する。
 スレーブ出力部69は、指令速度xd’(即ち、操作成分e’及び変換成分s’)に基づいてスレーブ指令を生成する。詳しくは、スレーブ出力部69は、指令速度xd’をエンドエフェクタ11の指令位置xdsに換算する。指令位置xdsは、ツール座標系における位置である。指令位置xdsがスレーブ指令である。例えば、操作装置2の移動量に対するロボット1の移動量の比が設定されている場合、スレーブ出力部69は、指令速度xd’から求めた指令位置を移動比に応じて逓倍して指令位置xdsを求める。指令速度xd’は、最終的にスレーブ指令に換算される。そのため、操作成分e’は、スレーブ指令のうち操作情報に応じた指令成分が速度の形式で表されたものとみなすことができる。変換成分s’は、スレーブ指令のうち座標変換に相当する指令成分が速度の形式で表されたものとみなすことができる。
 スレーブ出力部69は、指令位置xdsをロボット制御装置14、具体的には、動作制御部42へ出力する。動作制御部42は、指令位置xdsへのエンドエフェクタ11の移動を実現させるための、サーボモータ15への制御指令を生成する。動作制御部42は、生成された制御指令をサーボモータ15へ出力することによって、ロボットアーム12を動作させ、エンドエフェクタ11を指令位置xdsに対応する位置へ移動させる。
 ゲイン処理部610は、指令速度xd’にゲイン処理を施す。ゲイン処理部610は、指令速度xd’の各成分のゲインを調整する。この例では、ゲイン処理部610は、指令速度xd’のうち変換成分s’のゲインをゼロにする。つまり、ゲイン処理部610は、変換成分s’をキャンセルして、操作成分e’のみを出力する。ゲイン処理部60は、処理後の指令速度xd’をマスタ出力部611へ出力する。
 マスタ出力部611は、ゲイン処理された指令速度xd’に基づいてマスタ指令を生成する。詳しくは、マスタ出力部611は、ゲイン処理された指令速度xd’を操作部21の指令位置xdmに換算する。指令位置xdmは、操作座標系における位置である。指令位置xdmがマスタ指令である。
 マスタ出力部611は、指令位置xdmを操作制御装置24、具体的には、動作制御部52へ出力する。動作制御部52は、指令位置xdmへの操作部21の移動を実現させるための、サーボモータ25への制御指令を生成する。動作制御部52は、生成された制御指令をサーボモータ25へ出力することによって、支持機構22を動作させ、操作部21を指令位置xdmに対応する位置へ移動させる。
 [ロボットシステムの動作]
 次に、このように構成されたロボットシステム100の動作について説明する。図9は、ロボットシステム100の動作を示すフローチャートである。この例では、ユーザは、操作装置2を操作して、ロボット1によって対象物Wに研削加工を行う。制御装置3は、図9に示すフローチャートの処理を所定の制御周期で繰り返し実行する。
 まず、制御装置3は、ステップS1において、操作力及び接触力を取得する。ユーザが操作装置2を操作すると、ユーザが操作部21を介して加えた操作力を操作力センサ23が検出する。操作力センサ23に検出された操作力は、入力処理部51によって検出信号として制御装置3へ入力される。このとき、ロボット1の接触力センサ13によって検出される接触力が入力処理部41を介して制御装置3の接触力取得部62に検出信号として入力される。
 制御装置3では、操作力取得部61が、検出信号に基づく操作力fmを加算部63へ入力する。接触力取得部62は、検出信号に基づく接触力fsを加算部63へ入力する。
 続いて、ステップS2において、制御装置3は、マスタ指令及びスレーブ指令の操作成分e’を生成する。具体的には、加算部63は、合成力fm+fsを力/速度換算部64へ入力する。力/速度換算部64は、関数V(fm,fs)を用いて、合成力fm+fsから操作成分e’を求める。
 ステップS1,S2と並行して、制御装置3は、ステップS3において変換成分s’を生成する。具体的には、変換部66は、現在のツール座標系の原点Otの位置及びZt軸の向きを導出する。変換部66は、対象物Wの三次元情報322を記憶部32から読み出し、Zt軸、即ち、基準軸Aと対象物Wの表面との交点Pを求める。変換部66は、求められた交点Pにおける対象物Wの表面の法線Nを求める。そして、変換部66は、基準軸Aが対象物Wの法線Nに一致するようにエンドエフェクタ11を移動させるための指令速度を変換成分s’として求める。
 ステップS4において、制御装置3は、操作成分e’に変換成分s’を付加して、指令速度xd’を生成する。ステップS1,S2,S3,S4は、操作情報に基づいて動作部への指令を生成する際に、マスタ装置に設定された操作座標系における基準面が対象物の表面に対応付けられる座標変換を行うこととに相当する。
 ステップS5において、制御装置3は、指令速度xd’からスレーブ指令、即ち、エンドエフェクタ11の指令位置xdsを生成する。ステップS5は、マスタ装置を介して入力される操作情報に応じて作用部を動作させるように動作部への指令を出力することに相当する。
 それと並行して、制御装置3は、ステップS7において、指令速度xd’にゲイン処理を施し、指令速度xd’のうちの角速度成分をゼロにする。その後、制御装置3は、ステップS8において、ゲイン処理された指令速度xd’からマスタ指令、即ち、操作部21の指令位置xdmを生成する。
 その後、制御装置3は、ステップS6において指令位置xdsをロボット1へ出力すると共に、ステップS9において指令位置xdmを操作装置2へ出力する。これにより、ロボット1は、指令位置xdsに応じて動作して研削を実行する。それと並行して、操作装置2は、指令位置xdmに応じて動作して、ユーザに反力を提示する。
 このような処理が行われた場合のエンドエフェクタ11等の動作について詳しく説明する。図10は、ユーザによって動かされる操作部21の模式図である。図11は、座標変換が行われない場合のエンドエフェクタ11の動作を示す模式図である。図12は、座標変換が行われた場合のエンドエフェクタ11の動作を示す模式図である。
 この例では、ユーザは、図10に示すように、操作装置2の操作部21を基準面RPに沿って、例えば、X方向へ移動させる。これにより、Y方向成分及びZ方向成分を含まないX方向への操作力が、操作装置2から制御装置3へ入力される。このとき、ロボット1に作用する接触力も、制御装置3へ入力される。
 制御装置3は、操作装置2からの操作力に応じて、即ち、合成力fm+fsに応じて操作成分e’を求める。ここで、操作部21はX方向へのみ動かされているので、合成力fm+fsもX方向成分のみである。そのため、操作成分e’は、X方向成分のみであり、Y方向成分、Z方向成分及び回転成分を含まない。
 仮に、制御装置3が座標変換を行うことなく、単純に操作成分e’からスレーブ指令を生成したとすると、エンドエフェクタ11は、図11に示すように、ツール座標系のX方向にのみ移動する。つまり、エンドエフェクタ11は、操作座標系における操作部21の動作と同様の動作、又は、相似的な動作をツール座標系において実行する。この場合、エンドエフェクタ11を対象物Wの表面に沿って移動させるためには、ユーザは、それに相当する操作を操作部21に対して入力する必要がある。例えば、ユーザは、操作部21をX方向に加えて、Z方向へも動かす必要がある。そのため、ユーザは、エンドエフェクタ11を対象物Wの表面に沿わせるための操作を行いつつ、エンドエフェクタ11による加工位置を調整する等の操作を行う必要がある。
 それに対し、制御装置3は、操作情報からスレーブ指令を生成する際に、操作座標系における基準面RPを対象物Wの表面に対応付ける座標変換を行う。具体的には、図8に示すように、制御装置3は、基準軸Aと対象物Wの表面との交点Pにおける法線Nに基準軸Aが一致するようにエンドエフェクタ11を移動させる(この動作が座標変換に相当する)。これにより、ツール座標系の向きが変わる。操作成分e’は、ツール座標系に対応している。今回の操作成分e’は、X方向成分のみであるが、ツール座標系のXt軸の向きが変わるので、エンドエフェクタ11は、変更されたXt軸の向きへ移動する。図12の例では、ツール座標系のZt軸が交点Pの法線Nに一致させられるので、ツール座標系のXt軸は、交点Pにおける対象物Wの接線方向を向くことになる。つまり、X方向成分のみの操作成分e’は、対象物Wの接線方向を向く成分となる。
 このような処理が制御周期で繰り返される。つまり、各周期において、基準軸A、及び、基準軸Aに対応する、対象物Wの法線Nが求められ、エンドエフェクタ11の姿勢、即ち、ツール座標系の向きが逐次変更される。具体的には、ツール座標系のXtYt平面が対象物Wの交点Pにおける接平面と平行となるように、ツール座標系の向きが逐次変更される。
 その結果、ユーザは、操作部21を基準面RPに沿って移動させると、エンドエフェクタ11は、図12に示すように、対象物Wの表面に沿うように移動する。ユーザは、エンドエフェクタ11を対象物Wの表面に沿わせるための意図的な操作が不要となる。ユーザは、対象物Wの表面上のエンドエフェクタ11による加工位置の調整、加工時(例えば、研削時)のエンドエフェクタ11の移動軌跡(即ち、エンドエフェクタ11の動かし方)、及び、エンドエフェクタ11による加工量(例えば、研削の深さ)等の、エンドエフェクタ11を対象物Wの表面に沿わせる以外の操作に集中することができる。
 別の観点からは、ユーザは、操作部21を基準面RPに沿って移動させることによってエンドエフェクタ11を対象物Wの表面に沿って移動させることができるので、操作部21の動作範囲が限定されている場合であっても、エンドエフェクタ11を比較的柔軟かつ広範囲に移動させることができる。例えば、対象物Wの表面形状は様々であり、対象物Wの表面の法線方向が略180度変化するような表面形状もあり得る。一方、前述のように操作部21が支持機構22によって支持されている構成においては、操作部21の動作範囲は、支持機構22に依存する。操作部21を略180度回転させることは難しい。そのような場合であっても、制御装置3は、基準面RPに沿った操作部21の移動を対象物Wの表面に沿ったエンドエフェクタ11の移動に変換する。このように、基準面RPに沿った操作部21の移動という限られた範囲の操作であっても、対象物Wの様々な表面形状に応じてエンドエフェクタ11を柔軟に且つ広範囲に移動させることができる。この点においても、操作装置2を操作してロボット1を動作させる際の操作性を向上させることができる。
 さらに、この例では、座標変換において、対象物Wの表面に対するエンドエフェクタ11の姿勢が一定に維持される。つまり、基準面RPに対する操作部21の姿勢(即ち、角度)が一定に維持されていれば、エンドエフェクタ11は、対象物Wの表面に対する姿勢が一定に維持されつつ、対象物Wの表面に沿って移動する。エンドエフェクタ11の姿勢が一定に維持されるとは、ツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線N又は接線に対する基準軸Aの角度が一定に維持されることを意味する。これにより、操作座標系における基準面RPに対する姿勢が一定での基準面RPに沿った操作部21の操作は、対象物Wの表面に対する姿勢が一定で且つ対象物Wの表面に沿ったエンドエフェクタ11の移動に変換される。
 対象物Wの表面が湾曲している場合、エンドエフェクタ11を対象物Wの表面に沿って移動させつつ、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持するためには、対象物Wの表面におけるエンドエフェクタ11の位置に応じてエンドエフェクタ11を回転させる必要がある。制御装置3の座標変換によれば、ユーザは、基準面RPに対する操作部21の姿勢(即ち、角度)を一定に維持したまま操作部21を基準面RPに沿って移動させることによって、それ以外の特段の操作をしなくても、エンドエフェクタ11を対象物Wの表面に対する姿勢を一定に維持したまま対象物Wの表面に沿って移動させることができる。特に、対象物Wの表面が複雑な形状であっても、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持することを容易な操作で実現できる。
 その結果、研削の場合には、対象物Wの表面に対するグラインダ等のツールの角度を一定に維持したまま、ツールを対象物Wの表面に沿って移動させることを容易な操作で実現できる。これにより、対象物Wの表面の一様な、即ち、均質な研削を容易な操作で実現できる。作用部による作用は、研削に限定されず、切削若しくは研磨、溶接、塗装又は組立であってもよい。対象物Wの表面に対するエンドミル、溶接トーチ又は塗装ガン等のツールの姿勢(例えば、角度)を一定に維持したまま、ツールを対象物Wの表面に沿って移動させることを容易な操作で実現できる。あるいは、対象物Wに形成された開口に別の部品を挿入する等の組立において、開口が対象物Wの表面に対して所定の方向に延びている場合、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持することによって、開口に対する部品の向きを一定に維持することが容易になる。それにより、開口への部品の挿入を容易に行うことができる。その結果、対象物Wの表面の一様な、即ち、均質な切削若しくは研磨、溶接、塗装又は組立を容易な操作で実現できる。
 ただし、制御装置3の座標変換は、エンドエフェクタ11を対象物Wの表面に沿った方向にしか移動させることができないことを意味するものではない。例えば、操作部21が基準面RPと交差する方向に動かされた場合には、そのような操作情報に応じて、エンドエフェクタ11は、対象物Wの表面と交差する方向に移動させられる。ただし、操作情報からスレーブ指令が生成される際には、基準面RPが対象物Wの表面に対応付けられるのと同じ対応関係で座標変換が実行される。
 さらに、基準面RPに対する操作部21の姿勢が一定であれば対象物Wの表面に対するエンドエフェクタ11の姿勢が一定に維持されるので、操作部21の操作方向と対象物Wの表面に対するエンドエフェクタ11の移動方向との対応関係が一定に維持される。すなわち、対象物Wの表面上のエンドエフェクタ11の位置が変化しても、エンドエフェクタ11を対象物Wの表面の法線方向又は接線方向等の特定の方向に移動させるための操作部21の操作座標系における操作方向は変化しない。例えば、前述の例では、対象物Wの表面上のエンドエフェクタ11の位置が変化しても、操作座標系におけるZn軸方向への操作部21の操作は、常に、対象物Wの表面に対する法線方向へのエンドエフェクタ11の移動に変換される。そのため、ユーザは、対象物Wの表面に対するエンドエフェクタ11の姿勢をあまり意識することなく、操作部21を操作することができる。
 また、指令速度xd’からマスタ指令が生成される際に、指令速度xd’のうち変換成分s’がゼロにされ、指令速度xd’のうち操作成分e’のみを用いてマスタ指令が生成される。これにより、対象物Wの表面に沿ったエンドエフェクタ11の移動に対応する操作部21の移動がキャンセルされる。仮に、対象物Wの表面に沿ったエンドエフェクタ11の移動に対応するように操作部21が動作制御されると、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持するためのエンドエフェクタ11の回転に伴って操作部21も回転し得る。その場合、基準面RPが水平方向に対して傾斜する。つまり、指令速度xd’のうち変換成分s’を考慮することなく、指令速度xd’からマスタ指令が生成されることによって、操作部21の回転を低減し、基準面RPを水平に維持しやすくなる。ユーザは、基準面RPの回転変動を意識することなく、操作部21を水平に動かすことによって操作部21を基準面RPに沿って容易に移動させることができる。
 以上のように、ロボットシステム100は、ユーザに操作される操作装置2(マスタ装置)と、対象物Wに作用を加えるエンドエフェクタ11(作用部)とエンドエフェクタ11を動作させるロボットアーム12(動作部)とを有するロボット1(スレーブ装置)と、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力する制御装置3とを備え、制御装置3は、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行って、操作情報に基づいてロボットアーム12への指令を生成する。
 換言すると、ユーザに操作される操作装置2(マスタ装置)と、対象物Wに作用を加えるエンドエフェクタ11(作用部)とエンドエフェクタ11を動作させるロボットアーム12(動作部)とを有するロボット1(スレーブ装置)とを備えるロボットシステム100の制御方法は、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力することと、操作情報に基づいてロボットアーム12への指令を生成する際に、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行うこととを含む。
 さらに換言すると、ユーザに操作される操作装置2(マスタ装置)と、対象物Wに作用を加えるエンドエフェクタ11(作用部)とエンドエフェクタ11を動作させるロボットアーム12(動作部)とを有するロボット1(スレーブ装置)とを備えるロボットシステム100を制御する機能をコンピュータに実現させるための制御プログラム321は、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力する機能と、操作情報に基づいてロボットアーム12への指令を生成する際に、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行う機能とをコンピュータに実現させる。
 これらの構成によれば、基準面RPに沿った操作装置2の操作が、対象物Wの表面に沿ったエンドエフェクタ11の移動に変換される。ユーザは、対象物Wの表面形状を考慮して操作装置2を操作する必要はなく、操作装置2を基準面RPに沿って動かすことによって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。対象物Wの表面が湾曲したり、複雑な形状をしていたりしても、ユーザは、操作装置2の単純な操作によって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。その結果、操作装置2を操作してロボット1を動作させる際の操作性を向上させることができる。例えば、ユーザは、対象物Wの表面形状を考慮して操作装置2を操作する必要がない分、対象物Wの表面上のエンドエフェクタ11の位置の調整又は操作部21への力加減の調整等に注力することができ、操作の精度を向上させることができる。
 別の観点からは、基準面RPに沿った操作装置2の操作が、対象物Wの表面に沿ったエンドエフェクタ11の移動に変換されるので、操作部21の動作範囲が限定されている場合であっても、エンドエフェクタ11を比較的柔軟かつ広範囲に移動させることができる。基準面RPに沿った操作部21の移動という限られた範囲の操作であっても、対象物Wの様々な表面形状に応じてエンドエフェクタ11を柔軟に且つ広範囲に移動させることができる。この点においても、操作装置2を操作してロボット1を動作させる際の操作性を向上させることができる。
 また、基準面RPは、操作座標系における平面である。
 この構成によれば、ユーザは、操作装置2を操作座標系において平面的に動かすことによって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。つまり、ユーザは、平面に対して作用を加えるかのような操作を操作装置2を介して行うことによって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。
 さらに、制御装置3は、座標変換において、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。
 この構成によれば、制御装置3は、操作座標系における基準面RPを対象物Wの表面に対応付けるような座標変換を行う際に、対象物Wの表面に対するエンドエフェクタ11の姿勢が一定になるようにエンドエフェクタ11の姿勢を調整する。そのため、ユーザは、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定にするための特段の操作を行わなくても、対象物Wの表面に対するエンドエフェクタ11の姿勢が一定になるように自動的に調整される。その結果、対象物Wに対する一様な、即ち、均質な作用をエンドエフェクタ11によって加えることができる。
 詳しくは、制御装置3は、エンドエフェクタ11に設定されたツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線Nに基準軸Aが一致するようにエンドエフェクタ11の姿勢を変更することによって、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。
 この構成によれば、対象物Wの表面の法線Nに対するエンドエフェクタ11の姿勢が一定に維持される。
 また、操作装置2は、ユーザが操作する操作部21と、操作部21を支持すると共に操作部21を動作させる支持機構22(支持部)とを有し、操作座標系は、操作部21に固定されている。
 この構成によれば、操作部21は、支持機構22によって支持されると共に、支持機構22によって動作させられる。つまり、操作部21は、移動し得る。ここで、操作座標系は、操作部21に固定されているので、基準面RPは、操作部21の移動に伴って移動する。操作部21が移動しても、操作部21に対する基準面RPの関係が一定なので、ユーザは、基準面RPを容易に把握しながら移動させることができる。
 さらに、操作装置2は、操作部21にユーザから加えられる操作力を検出する操作力センサ23をさらに有し、制御装置3は、操作情報に応じた指令成分である操作成分e’を操作力センサ23によって検出される操作力を操作情報として求める操作換算部65と、座標変換に相当する指令成分である変換成分s’を求める変換部66と、操作成分e’及び変換成分s’に基づいてロボットアーム12への指令を生成するスレーブ出力部69とを有している。
 この構成によれば、操作装置2の操作力センサ23が、操作部21にユーザから加えられる操作力を操作情報として検出する。制御装置3の操作換算部65は、操作力センサ23によって検出された操作力に応じた操作成分e’を求める。さらに、制御装置3の変換部66は、座標変換に相当する変換成分s’を求める。そして、制御装置3のスレーブ出力部69は、操作成分e’及び変換成分s’に基づいて指令を生成する。このように、操作成分e’及び変換成分s’を分けて、それぞれを操作換算部65及び変換部66が求めることによって、操作成分e’及び変換成分s’を求める処理を簡単にすることができる。
 詳しくは、変換部66は、エンドエフェクタ11に固定されたツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線Nを取得する取得部67と、基準軸Aが法線Nに一致するようにエンドエフェクタ11を移動させるための指令成分を変換成分s’として求める算出部68とを有する。
 この構成によれば、まず、取得部67が、エンドエフェクタ11のツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線Nを取得する。その後、算出部68は、基準軸Aが法線Nに一致するようにエンドエフェクタ11を移動させるための変換成分s’を求める。この変換成分s’を用いてロボットアーム12への指令が生成されることによって、基準軸Aが対象物Wの法線Nと一致するように、エンドエフェクタ11の姿勢が調整される。
 さらに、ロボットシステム100は、対象物Wからエンドエフェクタ11へ作用する反力である接触力を検出する接触力センサ13(接触力検出部)をさらに備え、操作換算部65は、操作力センサ23によって検出される操作力及び接触力センサ13によって検出される接触力に基づいて操作成分e’を求め、制御装置3は、操作部21を動作させるための支持機構22への指令を操作成分e’に基づいて生成するマスタ出力部611をさらに有している。
 この構成によれば、操作換算部65は、操作力センサ23によって検出される操作力に加えて、接触力センサ13によって検出される接触力に基づいて操作成分e’を求める。その結果、エンドエフェクタ11は、操作力だけでなく接触力にも応じた動作を行う。さらに、操作成分e’は、ロボットアーム12への指令を生成するために用いられるだけでなく、操作装置2の支持機構22への指令を生成するために用いられる。その結果、操作装置2は、ユーザに接触力に応じた反力を提示することができる。つまり、ユーザは、エンドエフェクタ11に作用する反力を感じながら、操作装置2を操作することができる。
 詳しくは、マスタ出力部611は、変換成分s’を考慮せずに、操作成分e’に基づいて支持機構22への指令を生成する。
 この構成によれば、ロボットアーム12への指令は、操作成分e’及び変換成分s’に基づいて生成される。一方、支持機構22への指令は、操作成分e’に基づいて生成され、変換成分s’が反映されない。つまり、エンドエフェクタ11は、操作情報及び座標変換に応じた動作を行うのに対し、支持機構22は、座標変換を反映せず、操作情報に応じた動作を行う。具体的には、エンドエフェクタ11が対象物Wの表面に沿って移動しても、操作部21は、対象物Wの表面形状に倣った移動をしない。そのため、ユーザは、操作部21を基準面RPに沿って移動させることが容易になる。
 また、エンドエフェクタ11が対象物Wに加える作用は、研削、切削又は研磨である。
 研削、切削又は研磨においては、エンドエフェクタ11が対象物Wに接触し、対象物Wからエンドエフェクタ11へ反力が作用する。ユーザは、接触力センサ13によって検出される接触力に基づく反力を提示されながら操作装置2を操作する。ユーザは、反力を感じながら、操作部21を操作して、エンドエフェクタ11を対象物Wの表面に沿うように移動させる。このとき、ユーザは、操作部21を基準面RPに沿う方向へ操作するだけで、対象物Wからの反力を感じつつ、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。その結果、対象物Wに研削、切削又は研磨を実行する際のロボット1の操作性を向上させることができる。
 〈変形例〉
 次に、ロボットシステム100の変形例について説明する。図13は、変形例において、ユーザによって動かされる操作部21の模式図である。この変形例では、指令速度xd’からのマスタ指令の求め方が前述の例とは異なる。
 詳しくは、制御装置3のゲイン処理部610は、指令速度xd’のうち変換成分s’のゲインをゼロにすることなく、即ち、キャンセルすることなく、指令速度xd’をマスタ出力部611へ出力する。そのため、マスタ出力部611は、操作成分e’及び変換成分s’に基づいてマスタ指令、即ち、指令位置xdmを生成する。
 これにより、エンドエフェクタ11の動作は、前述の例と変わらない。つまり、操作部21が基準面RPに沿って動かされると、エンドエフェクタ11は、図12に示すように、対象物Wの表面に対する姿勢が一定に維持されつつ、対象物Wの表面に沿って移動する。
 このとき、操作部21は、操作成分e’に起因するエンドエフェクタ11の動作と変換成分s’に起因するエンドエフェクタ11の動作との両方を反映させた動作を行う。つまり、図13に示すように、操作部21は、概ね、対象物Wの表面に対する姿勢が一定で対象物Wの表面に沿った軌跡を描くように支持機構22によって移動させられる。ユーザは、基準面RPに沿った方向へ操作部21に操作力を加えており、操作部21が対象物Wの表面に沿った軌跡を描くように操作部21を意図的に操作しているわけではない。つまり、ユーザは、操作部21を対象物Wの表面に沿うように意図的に操作しなくても、対象物Wの表面形状を感知しながら、操作部21を操作することができる。
 尚、基準面RPは、操作部21に固定された操作座標系で規定されているので、操作部21の移動と同様に移動する。操作部21の姿勢が変化すると、それに伴って基準面RPの姿勢、即ち、角度も変化する。ユーザは、操作部21を把持しているので、操作部21の姿勢を知覚することができ、基準面RPの角度を概ね把握することができる。そのため、操作部21の姿勢が変化しても、ユーザは、操作部21を容易に基準面RPに沿って移動させることができる。
 以上のように、変形例においては、マスタ出力部611は、支持機構22への指令を操作成分e’に加えて変換成分s’に基づいて生成する。
 この構成によれば、基準面RPに沿った操作部21の操作であっても、対象物Wの表面に沿ったエンドエフェクタ11の移動と同様に操作部21を移動させることができる。その結果、ユーザは、操作部21を対象物Wの表面に沿うように意図的に操作しなくても、対象物Wの表面形状を感知しながら、操作部21を操作することができる。
 《その他の実施形態》
 以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 例えば、マスタ装置は、操作装置2に限定されず、ユーザによる操作情報を入力できる限り、任意の構成を採用することができる。スレーブ装置は、ロボット1に限定されず、対象物に作用を加える作用部と作用部を動作させる動作部とを有する限り、任意の構成を採用することができる。
 対象物Wの三次元情報322は、STLデータに限定されない。対象物の三次元情報322は、対象物の表面の任意の部分の法線を取得することができるデータであればよく、例えば、点群データでもよい。あるいは、対象物の三次元情報322は、対象物の表面の各部分における法線の情報そのものであってもよい。
 前述の座標変換の手法は、一例に過ぎず、これに限定されない。座標変換は、マスタ座標系における基準面が対象物の表面に対応付けられるものであればよく、対象物の表面に対する作用部の姿勢を一定に維持することは必須ではない。つまり、前述の図11,12の例で、座標変換において、エンドエフェクタ11を回転させずに、マスタ座標系のZr軸の方向におけるエンドエフェクタ11と対象物Wの表面との距離が一定になるようにエンドエフェクタ11のZr軸の方向の位置だけを調整してもよい。
 前述の合成力fm+fsから指令位置xds及び指令位置xdmを算出する方法は、一例に過ぎない。例えば、運動モデルは一例に過ぎず、異なる運動モデルを用いてもよい。
 ゲイン処理部610は、変換成分s’ではなく、指令速度xd’のうち3軸それぞれの回転成分のゲインをゼロにしてもよい。つまり、ゲイン処理部610は、指令速度xd’のうち角速度の成分をキャンセルして、指令速度xd’のうち3軸それぞれの並進成分のみを出力してもよい。指令速度xd’のうちの回転成分がキャンセルされることによって、操作部21の回転が抑制される。このような方法でも、ユーザは、操作部21を水平に移動させやすくなる。 
 前述のブロック図は一例であり、複数のブロックを1つのブロックとして実現したり、1つのブロックを複数のブロックに分割したり、一部の機能を別のブロックに移したりしてもよい。
 前述のフローチャートは一例であり、ステップを省略又は変更してもよい。または、ステップの順番を変更したり、直列的な複数のステップを並列に処理したり、又は、並列的な複数のステップを直列的に処理したりしてもよい。
 本開示の技術は、前記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、前記プログラムは、インターネット等の伝送媒体を介して流通させることができるものであってもよい。
 本実施形態で開示された構成の機能は、電気回路又は処理回路を用いて実行されてもよい。プロセッサは、トランジスタ及びその他の回路を含む処理回路等である。本開示において、ユニット、コントローラ又は手段は、記載した機能を実行するためのハードウェア又はプログラムされたものである。ここで、ハードウェアは、本実施形態で開示された機能を実行するように構成若しくはプログラムされた、本実施形態で開示されたもの又は公知のハードウェアである。ハードウェアが、プロセッサ又はコントローラの場合、回路、手段又はユニットは、ハードウェアとソフトウェアの組み合わせであり、ソフトウェアは、ハードウェア及び/又はプロセッサを構成するために用いられる。

Claims (13)

  1.  ユーザに操作されるマスタ装置と、
     対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置と、
     前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する制御装置とを備え、
     前記制御装置は、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行って、前記操作情報に基づいて前記動作部への指令を生成するロボットシステム。
  2.  請求項1に記載のロボットシステムにおいて、
     前記基準面は、前記操作座標系における平面であるロボットシステム。
  3.  請求項1又は2に記載のロボットシステムにおいて、
     前記制御装置は、前記座標変換において、前記対象物の表面に対する前記作用部の姿勢を一定に維持するロボットシステム。
  4.  請求項3に記載のロボットシステムにおいて、
     前記制御装置は、前記作用部に設定されたツール座標系で定義された基準軸と前記対象物の表面との交点における前記対象物の法線に前記基準軸が一致するように前記作用部の姿勢を変更することによって、前記対象物の表面に対する前記作用部の姿勢を一定に維持するロボットシステム。
  5.  請求項1に記載のロボットシステムにおいて、
     前記マスタ装置は、ユーザが操作する操作部と、前記操作部を支持すると共に前記操作部を動作させる支持部とを有し、
     前記操作座標系は、前記操作部に固定されているロボットシステム。
  6.  請求項5に記載のロボットシステムにおいて、
     前記マスタ装置は、前記操作部にユーザから加えられる操作力を検出する操作力検出部をさらに有し、
     前記制御装置は、
      前記操作情報に応じた指令成分である操作成分を前記操作力検出部によって検出される前記操作力を前記操作情報として求める操作換算部と、
      前記座標変換に相当する指令成分である変換成分を求める変換部と、
      前記操作成分及び前記変換成分に基づいて前記動作部への指令を生成するスレーブ出力部とを有しているロボットシステム。
  7.  請求項6に記載のロボットシステムにおいて、
     前記変換部は、
      前記作用部に固定されたツール座標系で定義された基準軸と前記対象物の表面との交点における前記対象物の法線を取得する取得部と、
      前記基準軸が前記法線に一致するように前記作用部を移動させるための指令成分を前記変換成分として求める算出部とを有するロボットシステム。
  8.  請求項6又は7に記載のロボットシステムにおいて、
     前記対象物から前記作用部へ作用する反力である接触力を検出する接触力検出部をさらに備え、
     前記操作換算部は、前記操作力検出部によって検出される前記操作力及び前記接触力検出部によって検出される前記接触力に基づいて前記操作成分を求め、
     前記制御装置は、前記操作部を動作させるための前記支持部への指令を前記操作成分に基づいて生成するマスタ出力部をさらに有しているロボットシステム。
  9.  請求項8に記載のロボットシステムにおいて、
     前記マスタ出力部は、前記変換成分を考慮せずに、前記操作成分に基づいて前記支持部への指令を生成するロボットシステム。
  10.  請求項8に記載のロボットシステムにおいて、
     前記マスタ出力部は、前記支持部への指令を前記操作成分に加えて前記変換成分に基づいて生成するロボットシステム。
  11.  請求項8乃至10の何れか1つに記載のロボットシステムにおいて、
     前記作用部が前記対象物に加える作用は、研削、切削又は研磨であるロボットシステム。
  12.  ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置とを備えるロボットシステムの制御方法であって、
     前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力することと、
     前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行うこととを含む、ロボットシステムの制御方法。
  13.  ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置とを備えるロボットシステムを制御する機能をコンピュータに実現させるための制御プログラムであって、
     前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する機能と、
     前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行う機能とをコンピュータに実現させるための制御プログラム。
PCT/JP2022/017490 2021-04-15 2022-04-11 ロボットシステム、その制御方法及び制御プログラム WO2022220217A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280027670.5A CN117120216A (zh) 2021-04-15 2022-04-11 机器人系统、其控制方法以及控制程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-069305 2021-04-15
JP2021069305A JP2022164073A (ja) 2021-04-15 2021-04-15 ロボットシステム、その制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
WO2022220217A1 true WO2022220217A1 (ja) 2022-10-20

Family

ID=83640097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/017490 WO2022220217A1 (ja) 2021-04-15 2022-04-11 ロボットシステム、その制御方法及び制御プログラム

Country Status (3)

Country Link
JP (1) JP2022164073A (ja)
CN (1) CN117120216A (ja)
WO (1) WO2022220217A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01222311A (ja) * 1988-03-01 1989-09-05 Hitachi Constr Mach Co Ltd 多自由度作業機械の曲面倣い制御装置
JPH06195127A (ja) * 1992-12-22 1994-07-15 Agency Of Ind Science & Technol マニピュレータのハイブリッド遠隔制御装置
JPH11333764A (ja) * 1998-05-29 1999-12-07 Kawasaki Heavy Ind Ltd 遠隔操縦装置
JP2020156800A (ja) * 2019-03-27 2020-10-01 ソニー株式会社 医療用アームシステム、制御装置、及び制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01222311A (ja) * 1988-03-01 1989-09-05 Hitachi Constr Mach Co Ltd 多自由度作業機械の曲面倣い制御装置
JPH06195127A (ja) * 1992-12-22 1994-07-15 Agency Of Ind Science & Technol マニピュレータのハイブリッド遠隔制御装置
JPH11333764A (ja) * 1998-05-29 1999-12-07 Kawasaki Heavy Ind Ltd 遠隔操縦装置
JP2020156800A (ja) * 2019-03-27 2020-10-01 ソニー株式会社 医療用アームシステム、制御装置、及び制御方法

Also Published As

Publication number Publication date
JP2022164073A (ja) 2022-10-27
CN117120216A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
Liu et al. Inverse kinematics of a 5-axis hybrid robot with non-singular tool path generation
US9149931B2 (en) Robot system, robot control device and method for controlling robot
González et al. Advanced teleoperation and control system for industrial robots based on augmented virtuality and haptic feedback
Neto et al. High‐level robot programming based on CAD: dealing with unpredictable environments
KR20180059888A (ko) 로봇교시방법 및 로봇 암 제어장치
Bolmsjö et al. Robotic arc welding–trends and developments for higher autonomy
JP6418483B2 (ja) 加工軌道生成装置と方法
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
US20180117764A1 (en) Force control coordinate axis setting device, robot, and force control coordinate axis setting method
EP2523786B1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
Ang et al. An industrial application of control of dynamic behavior of robots-a walk-through programmed welding robot
Bratchikov et al. Development of digital twin for robotic arm
JPH06332524A (ja) 数値制御装置における速度制御方法
ZQ et al. Robotic milling of complex NURBS surface with fixed cutter axis control method
JP6390832B2 (ja) 加工軌道生成装置と方法
WO2022220217A1 (ja) ロボットシステム、その制御方法及び制御プログラム
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
CN111590586A (zh) 一种机械臂离线编程的人机交互终端及方法
WO2021117701A1 (ja) マスタスレーブシステム及び制御方法
WO2022210948A1 (ja) 特定点検出システム、特定点検出方法及び特定点検出プログラム
WO2023013559A1 (ja) ロボットシステム、ロボットの加工方法及び加工プログラム
JP2021146435A (ja) ロボットシステム、ロボットシステムで実行される方法および教示データを生成する方法
WO2023058653A1 (ja) 制御装置、ロボットシステム、ロボット制御方法及びロボット制御プログラム
WO2022075333A1 (ja) ロボットシステム及びその制御方法
WO2023013560A1 (ja) ロボットシステム、ロボットの加工方法及び加工プログラム

Legal Events

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

Ref document number: 22788142

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18555280

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22788142

Country of ref document: EP

Kind code of ref document: A1