Robot control device, robot control system, modification method, robot control method
The robot control device facilitates single-handed operation of industrial robots by using a joystick with touch-sensitive areas for position and posture changes, addressing the limitations of conventional systems and enabling complex movements.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NIPPON STEEL & SUMIKIN ENGINEERING CO LTD
- Filing Date
- 2026-04-27
- Publication Date
- 2026-07-09
AI Technical Summary
Existing robot control systems face challenges in operating industrial robots, particularly vertical articulated 6-degree-of-freedom robots, due to the need for two-handed operation with conventional joysticks, limitations in remote control interfaces, and the inability to achieve complex movements with jog operation.
A robot control device and system that allows single-handed operation through a control point fixing or following mode, using a joystick with distinct touch-sensitive areas for position and posture changes, enabling efficient control of robot movements.
Enables efficient single-handed operation of industrial robots, allowing complex movements and overcoming limitations of conventional joysticks and remote control interfaces.
Smart Images

Figure 2026116397000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot control device, a robot control system, a modification method, and a robot control method.
Background Art
[0002] In an environment where it is difficult for humans to perform work, various robots that perform work in place of humans are known. Here, environments where it is difficult for humans to perform work include underwater, high-place, or low-temperature environments. Regarding the operation device of a robot, a technique for selectively commanding the position or speed of the hand portion of an operation-type manipulator by operating a joystick is known (see, for example, Patent Document 1). According to this technique, for a three-degree-of-freedom manipulator operation, a force sensor provided at the base of the hand portion for detecting the component forces in the respective coordinate axis directions of the external force received by this hand portion, and pressurizing means for generating a pressing force corresponding to the magnitude of each component force in each positive and negative direction based on the force sense signal from this force sensor, a diaphragm disposed on the surface of the grip portion so as to intersect one of the respective coordinate axes on the grip portion side corresponding to each coordinate axis on the hand portion side, provided inside the grip portion of the joystick, and each force feedback portion composed of a space corresponding to each pressing force filled with a fluid. A pair of pressing forces corresponding to the magnitude of each component force in each positive and negative direction are transmitted to a pair of force feedback portions where the diaphragm is located on the corresponding coordinate axes on the grip portion side, and the corresponding diaphragms are displaced corresponding to the magnitude of each component force in each positive and negative direction.
[0003] Also, regarding the operation device of a robot, a remote operation interface for a robot using CG (Computer Graphics) superimposed display is known (see, for example, Non-Patent Document 1). According to this technique, a camera image capturing the work space of the operation target from a third-person perspective is projected onto a touch screen. The user can operate the robot by directly touching the part of the robot that the user wants to operate with a finger.
Prior Art Documents
Patent Documents
[0004] [Patent Document 1] Japanese Patent Application Publication No. 63-288687 [Non-patent literature]
[0005] [Non-Patent Document 1] Naoshi Hashimoto, Akihiko Ishida, Masahiko Inami, and Takeo Igarashi, "TouchMe: A Direct Robot Control Method Using CG Overlay Display," Information Processing Society of Japan, Interaction 2011. [Overview of the project] [Problems that the invention aims to solve]
[0006] When an operator controls an industrial robot, particularly a vertical articulated 6-degree-of-freedom robot, the following challenges are anticipated. If we conceptually consider a manipulator and configure a joystick device that allows operation up to 3 degrees of freedom to control a 6-degree-of-freedom robot, then two sets of such joystick devices would be used, requiring operation with both hands. When using a remote control interface for a robot that utilizes CG overlay, it is not possible to operate the robot when it is not visible. Furthermore, CG models and mappings must be created for each system, which may reduce their versatility in environments other than similar ones. One technique for operating industrial robots without teaching is jog operation using an attached teaching pendant. However, the teaching pendant is typically operated by turning on the enable switch with one hand and operating it with the other. Therefore, it is physically difficult to operate multiple axes simultaneously. Furthermore, jog operation results in movement at a uniform speed, so if multiple axes are operated simultaneously, for example, each axis will move at the same speed, making it impossible to achieve any desired complex movement.
[0007] The object of the present invention is to provide a robot control device, a robot control system, a modification method, and a robot control method that can be operated on a robot. [Means for solving the problem]
[0008] A robot control device according to one aspect of the present invention comprises: an input unit into which operation information for the robot is input by a user; a change instruction unit into which the robot is instructed to change its position; and a control unit capable of controlling the robot in response to input to the input unit by either a control point fixing mode, which is an operating mode in which the control point, which is the center of the arc drawn by a predetermined point of the robot due to a change in the robot's posture, is not allowed to follow the position changed according to the instruction by the change instruction unit, or a control point following mode, which is an operating mode in which the control point follows the position changed. The input unit includes a contactable part that is touched by the user, and the control unit is capable of controlling the robot by either the control point fixing mode or the control point following mode depending on whether the contactable part has been touched or not. [Effects of the Invention]
[0009] According to embodiments of the present invention, the robot can be operated. [Brief explanation of the drawing]
[0010] [Figure 1] This figure shows a robot control system according to an embodiment of the present invention. [Figure 2] This figure shows an example of a coordinate system set in the robot system according to this embodiment. [Figure 3] This figure shows an example of a control device and a modification device included in the robot control system according to this embodiment. [Figure 4] A schematic diagram of an example of a modification device included in the robot control system according to this embodiment. [Figure 5] This is a schematic diagram illustrating an example of operation 1 for a modification device included in the robot control system according to this embodiment. [Figure 6] It is a schematic diagram for explaining Example 2 of operations on a modification device included in the robot control system according to this embodiment. [Figure 7] It is a diagram showing an example of the operation of the robot control system according to this embodiment. [Figure 8] It is a diagram showing Example 1 of the operation of the robot control system according to this embodiment. [Figure 9] It is a diagram showing Example 2 of the operation of the robot control system according to this embodiment. [Figure 10] It is a diagram showing Example 3 of the operation of the robot control system according to this embodiment. [Figure 11] It is a diagram showing another example of a modification device included in the robot control system according to this embodiment. [Figure 12] It is a diagram showing an example of a modification device included in the robot control system according to Modification Example 1 of the embodiment. [Figure 13] It is a schematic diagram of an example of a modification device included in the robot control system according to Modification Example 1 of the embodiment. [Figure 14] It is a diagram showing an example of the operation of the robot control system according to Modification Example 1 of the embodiment. [Figure 15] It is a diagram showing an example of a modification device included in the robot control system according to Modification Example 2 of the embodiment. [Figure 16] It is a schematic diagram of an example of a modification device included in the robot control system according to Modification Example 2 of the embodiment. [Figure 17] It is a diagram showing an example of a coordinate system set in the robot system according to Modification Example 2 of this embodiment. [Figure 18] It is a schematic diagram for explaining Example 1 of operations on a modification device included in the robot control system according to Modification Example 2 of the embodiment. [Figure 19] It is a schematic diagram for explaining Example 2 of operations on a modification device included in the robot control system according to Modification Example 2 of the embodiment. [Figure 20] It is a diagram showing an example of the operation of the robot control system according to Modification Example 2 of the embodiment. [Figure 21] It is a diagram showing an example 2 of the operation of the robot control system according to Modification Example 2 of the embodiment. [Figure 22] It is a diagram for explaining an example 1 of the operation of the robot control system according to Modification Example 2 of the embodiment. [Figure 23] It is a diagram for explaining an example 1 of the operation of the robot control system according to Modification Example 2 of the embodiment.
Mode for Carrying Out the Invention
[0011] Next, the changing device, robot control system, changing method, and robot control method of the present embodiment will be described while referring to the drawings. The embodiments described below are merely examples, and the embodiments to which the present invention is applied are not limited to the following embodiments. In all the drawings for explaining the embodiments, those having the same function are denoted by the same reference numerals, and repeated explanations are omitted. Also, in the present application, “based on XX” means “based on at least XX”, and includes cases where it is based on another element in addition to XX. Also, “based on XX” is not limited to the case of directly using XX, and includes cases where it is based on something obtained by performing calculations or processing on XX. “XX” is an arbitrary element (for example, arbitrary information).
[0012] (Embodiment) (Robot Control System) FIG. 1 is a diagram showing a robot control system according to an embodiment of the present invention. The robot control system 1 according to this embodiment comprises a robot 2 and a robot control device 100. The robot control device 100 comprises a control device 110 and a change device 120. The control device 110 controls the robot 2. The change device 120 instructs the robot 2 to change its position and posture. The change device 120 selects either a position change mode, which is an operation mode that instructs the robot 2 to change its position, or a posture change mode, which is an operation mode that instructs the robot 2 to change its posture. The change device 120 selects either the position change mode or the posture change mode based on the part of the input section where the user inputs operation information to the robot 2 that the user has touched. When the position change mode is selected, the change device 120 instructs the robot 2 to change its position, and when the posture change mode is selected, it instructs the robot 2 to change its posture. An example of robot 2 is a single-arm robot comprising arm A and a support base 4 that supports arm A. A single-arm robot is a robot that has one arm, such as arm A. Note that robot 2 may be a multi-arm robot instead of a single-arm robot. A multi-arm robot is a robot that has two or more arms (for example, two or more arms A). Note that among multi-arm robots, a robot with two arms is also called a twin-arm robot. Robot 2 may be a twin-arm robot with two arms, or a multi-arm robot with three or more arms (for example, three or more arms A).
[0013] Arm A comprises an end effector E and a manipulator M. An example of an end effector E is an end effector capable of lifting an object by means of air suction, magnetism, a jig, etc., or an end effector equipped with fingers capable of grasping an object. A control point TCP is also set on the end effector E. A control point TCP is the origin of the coordinate system set at the location to be controlled by the robot 2. An example of a control point TCP is a TCP (Tool Center Point) set at the center of gravity of the end effector E, which moves as the center of gravity of the end effector E moves. Note that the position where the control point TCP is set may be another position associated with the end effector E instead of the center of gravity of the end effector E. In this embodiment, as an example, the description will continue with the case where the center of gravity of the end effector E is the position of the control point TCP of the end effector E. Note that the position of the control point TCP of the end effector E may be represented by another position associated with the end effector E instead.
[0014] Figure 2 shows an example of a coordinate system set up in the robot system according to this embodiment. A control point TCP is assigned a control point coordinate system TC, which is a three-dimensional local coordinate system representing the position and orientation of the control point TCP, or in other words, the position and orientation of the end effector E. The position and orientation of the control point TCP are the position and orientation of the control point TCP in the robot coordinate system. Furthermore, the direction of each coordinate axis in the control point coordinate system TC represents the orientation of the control point TCP, in other words, the orientation of the end effector E. As shown in Figure 2, an example of the control point coordinate system TC is a Cartesian coordinate system with the support base 4 of the robot 2 as the reference (origin). Hereafter, the Cartesian coordinate system with the support base 4 of the robot 2 as the reference (origin) will also be called the first coordinate system. In an example of the control point coordinate system TC, the vertical direction is the Z axis, and the X and Y axes are set in directions perpendicular to the Z axis and mutually orthogonal. The X and Y axes are parallel to the horizontal plane. Below, as an example, we will explain the case where the Z axis and the vertical direction coincide in the control point coordinate system TCP, and the X and Y axes are perpendicular to the Z axis and mutually orthogonal. Return to Figure 1 and continue the explanation. The end effector E is connected to the control device 110 via, for example, a cable (not shown) to enable communication. As a result, the end effector E operates based on control signals received from the control device 110. Wired communication via cable is performed using standards such as Ethernet® or USB. Alternatively, the end effector E may be connected to the control device 110 via wireless communication using a communication standard such as Wi-Fi®.
[0015] The manipulator M has multiple joints, including a joint that rotates the end effector E. Each of the multiple joints is also equipped with an actuator (not shown). An example of an arm A equipped with the manipulator M is a 6-axis vertical articulated arm. This example of arm A performs 6-axis motion with 6 degrees of freedom through the coordinated action of the support base 4, the end effector E, the manipulator M, and the actuators of each of the multiple joints of the manipulator M. However, this example of arm A may also be configured to operate with 5 or fewer degrees of freedom, or with 7 or more degrees of freedom. When arm A operates with 6 degrees of freedom, the number of possible postures it can adopt increases compared to when it operates with 5 or fewer degrees of freedom. This allows arm A to move more smoothly and more easily avoid interference with objects in its vicinity. Furthermore, controlling arm A when it operates with 6 degrees of freedom is easier because it requires less computation compared to when it operates with 7 or more degrees of freedom.
[0016] Each of the actuators located at the multiple joints of the manipulator M is connected to the control device 110 via a cable (not shown) to enable communication. This allows the actuators to operate the manipulator M based on control signals received from the control device 110. Wired communication via the cable is performed using standards such as Ethernet® or USB. Alternatively, some or all of the actuators of the manipulator M may be connected to the control device 110 via wireless communication using a communication standard such as Wi-Fi®. The force detection unit FD is provided in the modification device 120. An example of the force detection unit FD is a force sensor. The force detection unit FD is connected to the control device 110 via a cable (not shown) for communication. Wired communication via the cable is performed using standards such as Ethernet® or USB. Alternatively, the force detection unit FD and the control device 110 may be connected via a force sensor interface unit. Alternatively, the force detection unit FD and the control device 110 may be connected via wireless communication using a communication standard such as Wi-Fi®. The force detection unit FD detects the force or moment (torque) acting on the modification device 120. The force detection unit FD transmits force detection information to the control device 110, which includes a value indicating the magnitude of the detected force or moment as an output value.
[0017] The control device 110 controls arm A based on force detection information. An example of the force detection unit FD may be a sensor that detects values indicating the magnitude of force or moment applied to a torque sensor or the like. The control device 110 operates the robot 2 by transmitting control signals to it. This allows the control device 110 to cause the robot 2 to perform a predetermined task. Specifically, the control device 110 creates a control signal to change the position or orientation of the robot 2 based on the change instruction signal output by the change device 120. The control device 110 outputs the created control signal to the robot 2. Note that the control device 110 may be built into the robot 2 instead of being installed externally.
[0018] The change device 120 is an input device that receives user operations on the robot 2. Based on the received operations, the change device 120 creates change instruction signals to instruct the robot 2 to change its position and orientation. The change device 120 outputs the created change instruction signals to the control device 110. Specifically, the change device 120 has an input section where the user inputs operation information to the robot 2. Based on the part of the input section that the user has contacted, the change device 120 selects either a position change mode or an orientation change mode. If the position change mode is selected, the change device 120 creates a change instruction signal to instruct the robot 2 to change its position, and if the orientation change mode is selected, it creates a change instruction signal to instruct the robot 2 to change its orientation. The modification device 120 is connected to the control device 110 via a cable (not shown) in a communicative manner. Wired communication via the cable is performed using standards such as Ethernet® or USB. Alternatively, the modification device 120 and the control device 110 may be connected by wireless communication using a communication standard such as Wi-Fi®.
[0019] <Overview of the prescribed tasks performed by Robot 2> The following describes an overview of the predetermined tasks performed by the robot 2 in the robot control system 1 according to this embodiment. In Figure 1, the robot 2 performs a predetermined task on an object (not shown) using the end effector E. The robot 2 may have already grasped the object, or it may be configured to grasp an object placed in a predetermined material feeding area. The object may be, for example, an industrial part, component, or product. A mark is provided to indicate the object coordinate system, which is a three-dimensional local coordinate system representing the position and orientation of the object. Here, the position and orientation of the object are the position and orientation of the object in the robot coordinate system. The origin of the object coordinate system is, for example, the position of the object's center of gravity. Furthermore, the direction of each coordinate axis of the object coordinate system represents the orientation of the object. Furthermore, the mark indicating the object's coordinate system may be any mark that can indicate the object's coordinate system, or it may even be a part of the object itself. Also, the object may be other objects such as parts, materials, or products that are not industrial, or even living organisms, instead of industrial parts. In addition, the shape of the object may be other shapes than those described above.
[0020] When robot 2 performs a predetermined task on an object, the control device 110 reads current coordinate data from robot 2. Coordinate data is information that associates position information and orientation information. Here, position information is information that indicates the relative position between a reference position, which is a reference position, and the position that indicates the point where robot 2 aligns with control point TCP when moving arm A. Orientation information is information that indicates the relative orientation between a reference orientation, which is a reference orientation, and the orientation of control point TCP at the reference position. As the orientation of robot 2 is changed, a predetermined point on robot 2 traces an arc centered on control point TCP. Based on the read current coordinate data, the control device 110 generates movement coordinate data based on the change instruction signal received from the change device 120. By moving arm A by position control based on the generated movement coordinate data, the position and orientation of control point TCP, i.e., the position and orientation of end effector E, are changed, thereby causing robot 2 to perform the task on the object.
[0021] Position control is a control method that moves arm A by matching the position of control point TCP to the position indicated by the position information contained in the coordinate data. Specifically, position control is a control method that moves arm A by matching the position of control point TCP to the position indicated by the position information contained in the coordinate data, and also by matching the attitude of control point TCP to the attitude indicated by the attitude information contained in the coordinate data.
[0022] When the position and orientation of the control point TCP during operation coincide with the initial position and orientation of the object, and the position and orientation of the object coincide with the reference position and orientation, the control device 110 moves arm A by position control based on the read current coordinate data and movement coordinate data generated from the change instruction signal, thereby changing the position and orientation of the control point TCP, i.e., the position and orientation of the end effector E, and allowing the robot 2 to perform work on the object. The control device 110 and the modification device 120 included in the robot control system 1 will be described in detail below.
[0023] Figure 3 shows an example of a control device and a modification device included in the robot control system according to this embodiment. (Control device 110) The control device 110 comprises a first communication unit 180-1, a second communication unit 180-2, a control unit 190, and a storage unit 200. The first communication unit 180-1 is implemented by a communication module. The first communication unit 180-1 communicates with an external communication device. The first communication unit 180-1 may communicate using a communication method such as a wired LAN. Alternatively, the first communication unit 180-1 may communicate using a wireless communication method such as wireless LAN, Bluetooth®, or LTE®. The first communication unit 180-1 transmits the control signal output by the control unit 190 to the robot 2. Specifically, the first communication unit 180-1 transmits the control signal output by the control unit 190 to at least one of the multiple actuators provided by the manipulator M. The first communication unit 180-1 receives coordinate information transmitted by the robot 2. The second communication unit 180-2 is implemented by a communication module. The second communication unit 180-2 communicates with an external communication device. The second communication unit 180-2 may communicate using a communication method such as a wired LAN. Alternatively, the second communication unit 180-2 may communicate using a wireless communication method such as wireless LAN, Bluetooth®, or LTE®. The second communication unit 180-2 receives a change instruction signal output by the change device 120.
[0024] The control unit 190 acquires coordinate information received by the first communication unit 180-1. The control unit 190 acquires a change instruction signal received by the second communication unit 180-2. If the acquired change instruction signal contains information that specifies a change in the position of robot 2, the control unit 190 creates a control signal to change the position of robot 2 based on the acquired coordinate information and the change instruction signal. The control unit 190 outputs the created control signal to the first communication unit 180-1. If the acquired change instruction signal contains information that specifies a change in the posture of robot 2, the control unit 190 creates a control signal to change the posture of robot 2 based on the acquired coordinate information and the change instruction signal. The control unit 190 outputs the created control signal to the first communication unit 180-1. The memory unit 200 is implemented using a hard disk drive (HDD), flash memory, random access memory (RAM), or read-only memory (ROM). The memory unit 200 stores teaching point information.
[0025] The control unit 190 is implemented, for example, by a hardware processor such as a CPU (Central Processing Unit) executing a computer program (software) stored in the memory unit 200. Furthermore, some or all of these functional units may be implemented by hardware (including circuitry) such as LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), or GPU (Graphics Processing Unit), or by the cooperation of software and hardware.
[0026] (Modification device 120) The change device 120 comprises an input unit 130, a communication unit 160, an output unit 165, and a change instruction unit 170. The input unit 130 comprises a selection unit 140, a force sensor 150, a touch sensor TS1, a touch sensor TS2, and a touch sensor TS3. The selection unit 140 comprises a first part P1 and a second part P2. Figure 4 is a schematic diagram of an example of a modification device included in the robot control system according to this embodiment. An example of the change device 120 includes a joystick ST, a base PD, and a force detection unit FD. The joystick ST is composed of a columnar portion and a spherical portion. The spherical portion is formed on the upper part (upper side) of the columnar portion. The joystick ST and base PD have a first part P1 and a second part P2. An example of the first part P1 includes a first part P1-1 formed on the base PD, a first part P1-21 formed on the columnar portion of the joystick ST adjacent to the base, and a first part P1-22 formed on the columnar portion of the joystick ST adjacent to the spherical portion. An example of the second part P2 is formed on the spherical portion of the joystick ST. Return to Figure 3 and continue the explanation.
[0027] The selection unit 140 selects the position change mode when the user touches the first part P1. The position change mode is an operation mode that causes the robot 2 to change its position. The touch sensor TS1 detects when the user touches the first part P1-1. The touch sensor TS2 detects when the user touches either the first part P1-21 or the first part P1-22. The force sensor 150 detects the force applied by the user to the joystick ST or the base PD. The input unit 130 acquires information that identifies the user touching the first part P1-1 as detected by the touch sensor TS1, information that identifies the user touching the first part P1-21 as detected by the touch sensor TS2, information that identifies the user touching the first part P1-22 as detected by the touch sensor TS2, and force information that was applied by the user to the joystick ST or the base PD as detected by the force sensor 150.
[0028] Figure 5 is a schematic diagram illustrating an example of operation 1 of the modification device 120 included in the robot control system according to this embodiment. The force sensor 150 detects either the user moving the joystick ST in the X-axis direction by applying force Fx to the joystick ST or moving the joystick ST in the Y-axis direction by applying force Fy to the joystick ST after the touch sensor TS1 detects that the user has touched the first part P1-1, or the user moving the joystick ST in the Z-axis direction by applying force Fz to the joystick ST after the touch sensor TS2 detects that the user has touched the first part P1-21 or P1-22. The input unit 130 acquires information that identifies the user touching the first part P1-1 as detected by the touch sensor TS1, information that identifies the user touching the first part P1-21 or information that identifies the user touching the first part P1-22 as detected by the touch sensor TS2, and information that identifies the user moving the joystick ST in the X-axis, Y-axis, or Z-axis direction as detected by the force sensor 150. Return to Figure 3 and continue the explanation.
[0029] The selection unit 140 selects the posture change mode when the user touches the second part P2. The posture change mode is an operation mode that causes the robot 2 to change its posture. The touch sensor TS3 detects that the user has touched the second part P2. The force sensor 150 detects the moment (torque) applied by the user to the joystick ST or the base PD. The input unit 130 acquires information that identifies the user touching the second part P2 as detected by the touch sensor TS3, and information that the user has applied to the joystick ST or the base PD as detected by the force sensor 150. Figure 6 is a schematic diagram illustrating example 2 of operation on the change device included in the robot control system according to this embodiment. The force sensor 150 detects, after the touch sensor TS3 detects that the user has made contact with the second part P2, that the user has rotated the joystick ST around the X-axis by applying a force Mx to the joystick ST, that the user has rotated the joystick ST around the Y-axis by applying a force My to the joystick ST, or that the user has rotated the joystick ST around the Z-axis by applying a force Mz to the joystick ST. The input unit 130 acquires information that identifies the user's contact with the second part P2 as detected by the touch sensor TS3, and information that identifies one of the user's rotations of the joystick ST around the X-axis, Y-axis, or Z-axis as detected by the force sensor 150. Return to Figure 3 and continue the explanation.
[0030] The derivation unit 165 acquires information obtained by the input unit 130 that identifies that the user has come into contact with the first part P1-1, or information that identifies that the user has come into contact with the first part P1-21 and / or information that identifies that the user has come into contact with the first part P1-22, or information that identifies that the user has come into contact with the second part P2. If the derivation unit 165 obtains information that identifies the user has made contact with the first part P1-1, it obtains information obtained by the input unit 130 that identifies the user has moved the joystick ST in either the X-axis direction or the Y-axis direction. If the derivation unit 165 obtains information that identifies the user has made contact with the first part P1-21 or information that identifies the user has made contact with the first part P1-22, it obtains information obtained by the input unit 130 that identifies the user has moved the joystick ST in the Z-axis direction. The derivation unit 165 derives the amount of change (movement) in the X-axis direction based on information that identifies that the user moved the joystick ST in the X-axis direction. The derivation unit 165 derives the amount of change (movement) in the Y-axis direction based on information that identifies that the user moved the joystick ST in the Y-axis direction. The derivation unit 165 derives the amount of change (movement) in the Z-axis direction based on information that identifies that the user moved the joystick ST in the Z-axis direction.
[0031] When the change instruction unit 170 obtains information that the user has made contact with the first part P1-1 and information that the user has moved the joystick ST in the X-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the X-axis direction by the amount of change derived by the derivation unit 165 in position change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170 obtains information that the user has made contact with the first part P1-1 and information that the user has moved the joystick ST in the Y-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the Y-axis direction by the amount of change derived by the derivation unit 165 in position change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170 obtains information that the user has made contact with the first part P1-21 or the first part P1-22, and information that the user has moved the joystick ST in the Z-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the Z-axis direction by the amount of change derived by the derivation unit 165 in position change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160.
[0032] When the derivation unit 165 obtains information that identifies the user has made contact with the second part P2, it obtains information that identifies one of the following, obtained by the input unit 130: that the user rotated the joystick ST around the X axis, around the Y axis, or around the Z axis. The derivation unit 165 derives the amount of attitude change (attitude movement) around the X-axis based on information that identifies that the user rotated the joystick ST around the X-axis. The derivation unit 165 derives the amount of attitude change (attitude movement) around the Y-axis based on information that identifies that the user rotated the joystick ST around the Y-axis. The derivation unit 165 derives the amount of attitude change (attitude movement) around the Z-axis based on information that identifies that the user rotated the joystick ST around the Z-axis.
[0033] When the change instruction unit 170 obtains information that the user has made contact with the second part P2 and information that the user has rotated the joystick ST around the X-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the X-axis by the amount of attitude change derived by the derivation unit 165 in attitude change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170 obtains information that the user has made contact with the second part P2 and information that the user has rotated the joystick ST around the Y-axis, it creates a change instruction signal that specifies that the posture of the robot 2 should be changed around the Y-axis by the amount of posture change derived by the derivation unit 165 in posture change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170 obtains information that the user has made contact with the second part P2 and information that the user has rotated the joystick ST around the Z-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the Z-axis by the amount of attitude change derived by the derivation unit 165 in attitude change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160.
[0034] The communication unit 160 is implemented by a communication module. The communication unit 160 communicates with an external communication device. The communication unit 160 may communicate using a communication method such as a wired LAN. Alternatively, the communication unit 160 may communicate using a wireless communication method such as wireless LAN, Bluetooth®, or LTE®. The communication unit 160 transmits the change instruction signal output by the change instruction unit 170 to the control device 110. The selection unit 140, input unit 130, derivation unit 165, and change instruction unit 170 are implemented, for example, by a hardware processor such as a CPU executing a computer program (software) stored in a memory unit (not shown). Furthermore, some or all of these functional units may be implemented by hardware (including circuitry) such as LSIs, ASICs, FPGAs, and GPUs, or by the cooperation of software and hardware.
[0035] Figure 7 shows an example of the operation of the robot control system according to this embodiment. Here, as an example, we will explain the cases of (1) changing the position of the robot 2 in the Y-axis direction, (2) changing the position of the robot 2 in the Z-axis direction, and (3) changing the posture of the robot 2 around the Z-axis direction. (1) The case of changing the position of robot 2 in the Y-axis direction will be explained. The touch sensor TS1 detects when the user touches the first part P1-1. The input unit 130 acquires information that identifies the user who touched the first part P1-1 as detected by the touch sensor TS1 (1-1). The force sensor 150 detects that the user has made contact with the first part P1-1 via the touch sensor TS1, and then detects that the user has moved the joystick ST in the Y-axis direction by applying a force Fy to the joystick ST. The input unit 130 acquires information that identifies the user moving the joystick ST in the Y-axis direction as detected by the force sensor 150. The derivation unit 165 acquires the information acquired by the input unit 130 that identifies the user has made contact with the first part P1-1, and the information that identifies the user has moved the joystick ST in the Y-axis direction. Based on the acquired information that identifies the user has moved the joystick ST in the Y-axis direction, the derivation unit 165 derives the amount of change (movement) in the Y-axis direction (1-2). When the change instruction unit 170 obtains information that the user has made contact with the first part P1-1 and information that the user has moved the joystick ST in the Y-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the Y-axis direction by the amount of change derived by the derivation unit 165 in position change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160.
[0036] (2) The case of changing the position of robot 2 in the Z-axis direction will be explained. The touch sensor TS2 detects when the user touches either the first part P1-21 or the first part P1-22. The input unit 130 acquires either information that identifies the user touching the first part P1-21 or information that identifies the user touching the first part P1-22 as detected by the touch sensor TS2 (2-1). The force sensor 150 detects that the user has made contact with either the first part P1-21 or the second part P1-22 via the touch sensor TS2, and then detects that the user has moved the joystick ST in the Z-axis direction by applying a force Fz to the joystick ST. The input unit 130 acquires information that identifies the user moving the joystick ST in the Z-axis direction as detected by the force sensor 150. The derivation unit 165 acquires either the information that identifies the user has made contact with the first part P1-21 or the information that identifies the user has made contact with the first part P1-22 acquired by the input unit 130. The derivation unit 165 acquires the information that identifies the user has made contact with the first part P1-21, the information that identifies the user has made contact with the first part P1-22, and the information that identifies the user has moved the joystick ST in the Z-axis direction. Based on the acquired information that identifies the user has moved the joystick ST in the Z-axis direction, the derivation unit 165 derives the amount of change (movement) in the Z-axis direction (2-2). When the change instruction unit 170 obtains information that the user has made contact with the first part P1-21 or the first part P1-22, and information that the user has moved the joystick ST in the Z-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the Z-axis direction by the amount of change derived by the derivation unit 165 in position change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160.
[0037] (3) The case in which the posture of robot 2 is changed in the Z-axis direction will be explained. The touch sensor TS3 detects when the user touches the second part P2. The input unit 130 acquires information that identifies the user who touched the second part P2 as detected by the touch sensor TS3 (3-1). The force sensor 150 detects that the user has made contact with the second part P2 via the touch sensor TS3, and then detects that the user has rotated the joystick ST around the Z-axis direction by applying a force Mz to the joystick ST. The input unit 130 acquires information that the force sensor 150 has detected that the user has rotated the joystick ST around the Z-axis direction. The derivation unit 165 acquires the information acquired by the input unit 130 that the user has made contact with the second part P2, and the information that the user has rotated the joystick ST around the Z-axis direction. Based on the acquired information that the user has rotated the joystick ST around the Z-axis direction, the derivation unit 165 derives the amount of attitude change (attitude movement) around the Z-axis direction (3-2). When the change instruction unit 170 obtains information that the user has made contact with the second part P2 and information that the user has rotated the joystick ST around the Z-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the Z-axis by the amount of attitude change derived by the derivation unit 165 in attitude change mode. The change instruction unit 170 outputs the created change instruction signal to the communication unit 160.
[0038] (Operation of robot control system 1) The operation of the robot control system 1 according to this embodiment will be explained in two parts: the process of setting the coordinate system and the process of changing the position or orientation of the robot 2. Figure 8 shows an example 1 of the operation of the robot control system according to this embodiment. Referring to Figure 8, the process of setting the coordinate system for the robot control system 1 will be explained. (Step S1-1) In the robot control device 100, the control device 110 starts operation. (Step S2-1) In the control device 110, the control unit 190 creates a robot operation mode setting command that includes information identifying the first coordinate system. The control unit 190 outputs the created robot operation mode setting command to the first communication unit 180-1. (Step S3-1) In the control device 110, the first communication unit 180-1 receives the robot operation mode setting command output by the control unit 190 and outputs the acquired robot operation mode setting command to the robot 2.
[0039] (Step S4-1) Robot 2 receives a robot operation mode setting command transmitted by the control device 110. Based on the information that identifies the first coordinate system included in the received robot operation mode setting command, Robot 2 sets itself to the first coordinate system. (Step S5-1) Robot 2 creates a robot operation mode setting response that includes information identifying that it has been set to the first coordinate system. Robot 2 transmits the created robot operation mode setting response to the control device 110. (Step S6-1) In the control device 110, the first communication unit 180-1 receives the robot operation mode setting response transmitted by the robot 2. The control unit 190 acquires the robot operation mode setting response transmitted by the first communication unit 180-1. The control unit 190 acquires information that identifies the setting of the robot operation mode in the acquired robot operation mode setting response. Based on the acquired information that identifies the setting of the robot operation mode in the acquired first coordinate system, the control unit 190 determines whether or not it matches the specified operation mode. If it is determined that it does not match, the process returns to step S2-1. If it is determined that it matches, the process of setting the coordinates is terminated.
[0040] Figure 9 shows an example 2 of the operation of the robot control system according to this embodiment. Referring to Figure 9, the process of changing the position of the robot 2 in the robot control system 1 will be described. This process may be performed following the process of setting the coordinate system in the robot control system 1. (Step S1-2) The control device 110 turns on the robot operation start flag. The robot 2 is notified that the robot operation start flag has been turned on. (Step S2-2) Robot 2 is notified that the robot operation start flag has been turned on. Robot 2 starts operating the robot program. (Step S3-2) Robot 2 turns on the "Robot in operation" flag. The control device 110 is notified that the "Robot in operation" flag has been turned on. (Step S4-2) In the modification device 120, the touch sensor TS1 or touch sensor TS2 determines whether the user has made contact with the first part P1 (first part P1-1, first part P1-21, first part P1-22). If it is determined that there is no contact, the device returns to step S4-2; if it is determined that there is contact, the device proceeds to step S5-2. (Step S5-2) In the modification device 120, the touch sensor TS1 determines whether the user has made contact with the first part P1-1. If it is determined that the user has made contact with the first part P1-1, the device proceeds to step S6-2. If it is determined that the user has not made contact (if the touch sensor TS2 determines that the user has made contact with the first part P1-21 or the first part P1-22), the device proceeds to step S7-2.
[0041] (Step S6-2) In the modification device 120, the force sensor 150 detects that the user has made contact with the first part P1-1 via the touch sensor TS1, and then detects that the user has moved the joystick ST in the X-axis direction by applying a force Fx to the joystick ST, or that the user has moved the joystick ST in the Y-axis direction by applying a force Fy to the joystick ST. The input unit 130 acquires information that identifies the user moving the joystick ST in the X-axis direction or the user moving the joystick ST in the Y-axis direction as detected by the force sensor 150. (Step S7-2) In the modification device 120, the force sensor 150 detects that the user has made contact with the first part P1-21 or the first part P1-22 via the touch sensor TS2, and then detects that the user has moved the joystick ST in the Z-axis direction by applying a force Fz to the joystick ST. The input unit 130 acquires information that identifies the user's movement of the joystick ST in the Z-axis direction as detected by the force sensor 150. (Step S8-2) In the change device 120, the derivation unit 165 derives either the amount of change (movement) in the X-axis direction, the amount of change (movement) in the Y-axis direction, or the amount of change (movement) in the Z-axis direction. The change instruction unit 170 creates a change instruction signal that includes information specifying that the robot 2 should be moved in either the X-axis direction, the Y-axis direction, or the Z-axis direction by the amount of change derived by the derivation unit 165, in position change mode. (Step S9-2) In the modification device 120, the modification instruction unit 170 outputs the created modification instruction signal to the communication unit 160. The communication unit 160 acquires the modification instruction signal output by the modification instruction unit 170 and transmits the acquired modification instruction signal to the control device 110. (Step S10-2) In the control device 110, the second communication unit 180-2 receives the change instruction signal transmitted by the change device 120.
[0042] (Step S11-2) Robot 2 obtains its current position. (Step S12-2) Robot 2 transmits the acquired current coordinate data of Robot 2, which includes information identifying Robot 2's current position, to the control device 110. (Step S13-2) In the control device 110, the first communication unit 180-1 receives the current coordinate data transmitted by the robot 2. (Step S14-2) In the control device 110, the control unit 190 acquires the current coordinate data received by the first communication unit 180-1. The control unit 190 acquires the change instruction signal received by the second communication unit 180-2. Based on the information included in the acquired change instruction signal that specifies that the robot 2 should be moved by a change amount in either the X-axis, Y-axis, or Z-axis direction, and the current coordinate data, the control unit 190 calculates the target coordinates to which the robot 2 should be moved. (Step S15-2) In the control device 110, the control unit 190 creates movement coordinate data including the coordinate calculation results. The control unit 190 outputs the created movement coordinate data to the first communication unit 180-1. The first communication unit 180-1 acquires the movement coordinate data output by the control unit 190 and transmits the acquired movement coordinate data to the robot 2.
[0043] (Step S16-2) Robot 2 receives movement coordinate data transmitted by control device 110. Robot 2 moves based on the calculation results of the coordinates included in the received movement coordinate data. (Step S17-2) In the change device 120, the input unit 130 determines whether or not an operation termination command has been received. If an operation termination command has not been received, the process proceeds to step S4-2. (Step S18-2) In the change device 120, the change instruction unit 170 acquires the operation termination command acquired by the input unit 130. The change instruction unit 170 outputs the acquired operation termination command to the communication unit 160. The communication unit 160 acquires the operation termination command output by the change instruction unit 170 and transmits the acquired operation termination command to the control device 110. (Step S19-2) In the control device 110, the second communication unit 180-2 receives the operation termination command transmitted by the modification device 120. The control unit 190 creates an operation command flag that includes the operation termination command received by the second communication unit 180-2. (Step S20-2) In the control device 110, the control unit 190 outputs the created operation command flag to the first communication unit 180-1. The first communication unit 180-1 receives the operation command flag output by the control unit 190 and transmits the received operation command flag to the robot 2.
[0044] (Step S21-2) Robot 2 receives the operation command flag transmitted by the control device 110. Based on the received operation command flag, Robot 2 determines whether the operation end flag is on or off. If the operation end flag is not on, the process returns to step 11-2; if the operation end flag is on, the process ends. (Step S22-2) In the control device 110, the control unit 190 determines whether or not to terminate the operation. If the operation is not to be terminated, the process returns to step S13-2; if the operation is to be terminated, the process ends. In Example 2 of the operation of the robot control system 1 shown in Figure 9, steps S4-2 to S10-2 and steps S11-2 to S13-2 may be executed simultaneously. Alternatively, steps S11-2 to S13-2 may be executed periodically.
[0045] Figure 10 shows an example 3 of the operation of the robot control system 1 according to this embodiment. Referring to Figure 10, the process of changing the posture of the robot 2 in the robot control system 1 will be described. This process may be performed following the process of setting the coordinate system in the robot control system 1. Steps S1-3 to S3-3 can be modified by applying steps S1-2 to S3-2 in Figure 9. (Step S4-3) In the modification device 120, the touch sensor TS3 determines whether the user has made contact with the second part P2. If it is determined that there has been no contact, the process returns to step S4-3; if it is determined that there has been contact, the process proceeds to step S5-3. (Step S5-3) In the modification device 120, the force sensor 150 detects, after the touch sensor TS3 detects that the user has made contact with the second part P2, that the user has rotated the joystick ST around the X-axis by applying force Mx to the joystick ST, that the user has rotated the joystick ST around the Y-axis by applying force My to the joystick ST, or that the user has rotated the joystick ST around the Z-axis by applying force Mz to the joystick ST. The input unit 130 acquires either information that the force sensor 150 detected that the user rotated the joystick ST around the X-axis, information that the user rotated the joystick ST around the Y-axis, or information that the user rotated the joystick ST around the Z-axis.
[0046] (Step S6-3) In the change device 120, the derivation unit 165 derives either the amount of change (movement) around the X-axis, the amount of change (movement) around the Y-axis, or the amount of change (movement) around the Z-axis. The change instruction unit 170 creates a change instruction signal that includes information specifying that the robot 2 should be moved by the derived amount around either the X-axis, Y-axis, or Z-axis in the attitude change mode. (Step S7-3) In the modification device 120, the modification instruction unit 170 outputs the created modification instruction signal to the communication unit 160. The communication unit 160 acquires the modification instruction signal output by the modification instruction unit 170 and transmits the acquired modification instruction signal to the control device 110. (Step S8-3) In the control device 110, the second communication unit 180-2 receives the change instruction signal transmitted by the change device 120. (Step S9-3) Robot 2 obtains its current position. (Step S10-3) Robot 2 transmits the acquired current coordinate data of Robot 2, which includes information identifying Robot 2's current position, to the control device 110.
[0047] (Step S11-3) In the control device 110, the first communication unit 180-1 receives the current coordinate data transmitted by the robot 2. (Step S12-3) In the control device 110, the control unit 190 acquires the current coordinate data received by the first communication unit 180-1. The control unit 190 acquires the change instruction signal received by the second communication unit 180-2. Based on the information contained in the acquired change instruction signal that specifies that the robot 2 should be moved by a change amount around either the X-axis, Y-axis, or Z-axis, and the current coordinate data, the control unit 190 calculates the coordinates to which the robot 2 should be moved. (Step S13-3) In the control device 110, the control unit 190 creates movement coordinate data including the coordinate calculation results. The control unit 190 outputs the created movement coordinate data to the first communication unit 180-1. The first communication unit 180-1 acquires the movement coordinate data output by the control unit 190 and transmits the acquired movement coordinate data to the robot 2.
[0048] (Step S14-3) Robot 2 receives movement coordinate data transmitted by control device 110. Robot 2 moves based on the calculation results of the coordinates included in the received movement coordinate data. (Step S15-3) In the change device 120, the input unit 130 determines whether or not an operation termination command has been received. If an operation termination command has not been received, the process proceeds to step S4-3. Steps S16-3 to S20-3 can be explained by applying steps S18-2 to S22-2 in Figure 9, so their explanation is omitted here. In Example 3 of the operation of the robot control system 1 shown in Figure 10, steps S4-3 to S8-3 and steps S9-3 to S11-3 may be executed simultaneously. Alternatively, steps S9-3 to S11-3 may be executed periodically.
[0049] In the embodiment described above, the selection unit 140 of the changing device 120 selected a position change mode when the user touched the first part P1 and selected a posture change mode when the user touched the second part P2. However, the invention is not limited to this example. For example, in the changing device 120, the operation mode selected by the selection unit 140 when the user touches the first part P1 may be set to the position change mode, and the operation mode selected by the selection unit 140 when the user touches the second part P2 may be set to the posture change mode. Alternatively, in the changing device 120, the operation mode selected by the selection unit 140 when the user touches the first part P1 may be set to the posture change mode, and the operation mode selected by the selection unit 140 when the user touches the second part P2 may be set to the position change mode. Furthermore, the change device 120 may also be configured to notify the user of the operating mode selected by the selection unit 140. Figure 11 shows another example of the modification device 120 included in the robot control system 1 according to this embodiment. In the example shown in Figure 11, the modification device 120 further comprises a setting unit 155 in the input unit 130. The setting unit 155 sets the operation mode selected by the selection unit 140 to the position change mode when the user touches the first part P1, and sets the operation mode selected by the selection unit 140 to the attitude change mode when the user touches the second part P2. Alternatively, the setting unit 155 sets the operation mode selected by the selection unit 140 to the attitude change mode when the user touches the first part P1, and sets the operation mode selected by the selection unit 140 to the position change mode when the user touches the second part P2. The change device 120 also includes a notification unit 175. The notification unit 175 notifies the user of the operating mode selected by the selection unit 140. The notification to the user may be made by voice or via a display unit (not shown).
[0050] In the embodiment described above, the change instruction unit 170 may suppress instructions to change the posture of the robot 2 when a position change mode is selected by the selection unit 140 and operation information to change posture is input by the input unit 130. Alternatively, the change instruction unit 170 may suppress instructions to change the position of the robot 2 when a posture change mode is selected by the selection unit 140 and operation information to change position is input by the input unit 130. In the embodiment described above, the output unit 165 and the change instruction unit 170 may be provided in the control device 110 instead of the change device 120. In this case, in the change device 120, the communication unit 160 transmits to the control device 110 information that identifies that the user detected by the touch sensor TS1 has touched the first part P1-1, information that identifies that the user detected by the touch sensor TS2 has touched the first part P1-21 and information that identifies that the user has touched the first part P1-22, and force information that the user has applied to the joystick ST or base PD as detected by the force sensor 150.
[0051] According to the robot control system 1 of this embodiment, the change device 120 instructs the robot 2 to change its position and posture. The change device 120 includes a selection unit 140 that selects either a position change mode, which is an operation mode for changing the robot 2's position, or a posture change mode, which is an operation mode for changing its posture, and a change instruction unit 170 that instructs the robot 2 to change its position when the selection unit 140 selects the position change mode, and instructs the robot 2 to change its posture when the selection unit 140 selects the posture change mode. The selection unit 140 selects either the position change mode or the posture change mode based on the part of the input unit 130, where the user inputs operation information to the robot 2, that the user has touched. The change device 120 selects either a position change mode, which changes the robot's position, or a posture change mode, which changes its posture, based on the part of the input unit 130 that the user has contacted. If the position change mode is selected, the change device 120 instructs the robot to change its position, and if the posture change mode is selected, it instructs the robot to change its posture. With this configuration, the user can select either the position change mode or the posture change mode based on the part of the input unit 130 that the user has contacted, allowing the robot to be operated with one hand.
[0052] The input unit 130 includes a selection unit 140. With this configuration, the selection unit 140 included in the input unit 130 can select either a position change mode or an attitude change mode based on the part of the input unit 130 that the user has touched. The input unit 130 includes a first part and a second part, and the selection unit 140 selects the position change mode when the user touches the first part, and selects the posture change mode when the user touches the second part. With this configuration, the changing device 120 can select either the position change mode or the posture change mode based on the part touched by the user.
[0053] The input unit 130 includes a first part and a second part, and further includes a setting unit 155 that sets the operation mode selected by the selection unit 140 to the position change mode when the user touches the first part and sets the operation mode selected by the selection unit 140 to the posture change mode when the user touches the second part, or sets the operation mode selected by the selection unit 140 to the posture change mode when the user touches the first part and sets the operation mode selected by the selection unit 140 to the position change mode when the user touches the second part. The input unit 130 includes a first part and a second part. The setting unit 155 sets the operation mode selected by the selection unit 140 to the position change mode when the user touches the first part, and sets the operation mode selected by the selection unit 140 to the posture change mode when the user touches the second part. Alternatively, the setting unit 155 sets the operation mode selected by the selection unit 140 to the posture change mode when the user touches the first part, and sets the operation mode selected by the selection unit 140 to the position change mode when the user touches the second part. By configuring it in this way, the part to be touched can be set when selecting either the position change mode or the posture change mode.
[0054] The change instruction unit 170 suppresses instructions to change the posture of the robot 2 when a position change mode is selected by the selection unit 140 and operation information to change posture is input by the input unit 130. With this configuration, instructions corresponding to the operation information can be suppressed when the selected operation mode and the input operation information are different. A predetermined point on robot 2 traces an arc centered on the control point as the robot's posture changes. The predetermined point on the robot can move by tracing an arc centered on the control point as the robot's posture changes. By configuring it in this way, the robot's posture can be changed. The change instruction unit 170 sets the control point. With this configuration, the control point can be set at any point. The input unit 130 is equipped with a force detection unit such as a force sensor 150, and the change instruction unit 170 instructs a change in position or posture based on the force detected by the force detection unit. With this configuration, the part of the input unit 130 that the user touches when inputting operation information to the robot 2 is detected by the force detection unit, so the change instruction unit 170 can instruct a change in position or posture based on the force detected by the force detection unit. The device 120 includes a notification unit 175 that notifies the user of the operating mode selected by the selection unit 140. In the changing device 120, the notification unit 175 can notify the user of the operating mode selected by the selection unit 140. With this configuration, the changing device 120 can inform the user of the selected operating mode.
[0055] (Variation 1) The robot control system 1a according to the first modified embodiment can be adapted to Figure 1. The robot control system 1a according to the first modified embodiment comprises a robot 2 and a robot control device 100a. The robot control device 100a comprises a control device 110 and a change device 120a. The change device 120a is an input device that receives user commands for the robot 2. Based on the received commands, the change device 120a creates change instruction signals to change the position and orientation of the robot 2. The change device 120a outputs the created change instruction signals to the control device 110.
[0056] Specifically, the change device 120a includes an input unit where the user inputs operation information to the robot 2. Based on the part of the input unit that the user has contacted, the change device 120a selects one of the following operation modes: a position change mode, which is an operation mode that changes the position of the robot 2; a posture change mode, which is an operation mode that changes the posture of the robot 2; or a position and posture change mode, which is an operation mode that changes both the position and posture of the robot 2. When the position change mode is selected, the change device 120a creates a change instruction signal that instructs the robot 2 to change its position; when the posture change mode is selected, it creates a change instruction signal that instructs the robot 2 to change its posture; and when the position and posture change mode is selected, it creates a change instruction signal that instructs the robot 2 to change its position or posture. The change device 120a is connected to the control device 110 via a cable (not shown) in a communicative manner. Wired communication via the cable is performed using standards such as Ethernet® or USB. Alternatively, the change device 120a and the control device 110 may be connected by wireless communication using a communication standard such as Wi-Fi®.
[0057] Figure 12 shows an example of a modification device included in a robot control system according to a modified example 1 of the embodiment. (Modification device 120a) The change device 120a comprises an input unit 130a, a communication unit 160, an output unit 165a, and a change instruction unit 170a. The input unit 130a comprises a selection unit 140a, a force sensor 150, and touch sensors TS1 to TS4. The selection unit 140a comprises a first part P1, a second part P2, and a third part P3. Figure 13 is a schematic diagram of an example of a modification device included in a robot control system according to a modified example 1 of the embodiment. An example of the change device 120a comprises a joystick ST, a base PD, and a force detection unit FD. The joystick ST is composed of a columnar portion and a spherical portion. The spherical portion is formed on the upper side of the columnar portion. The joystick ST and base PD have a first part P1, a second part P2, and a third part P3. An example of the first part P1 includes a first part P1-1 formed on the base PD, a first part P1-21 formed on the columnar part of the joystick ST adjacent to the base PD, and a first part P1-22 formed on the columnar part of the joystick ST adjacent to the spherical part. An example of the second part P2 is formed on the spherical part of the joystick ST. An example of the third part P3 is formed on the columnar part of the joystick ST that is not adjacent to the base PD or the spherical part. Return to Figure 12 and continue the explanation.
[0058] The selection unit 140a can apply the selection unit 140. However, the selection unit 140a selects the position and orientation change mode if the user touches the third part P3. The position and orientation change mode is an operation mode that causes the robot 2 to change its position or orientation. The touch sensor TS4 detects that the user has touched the third part P3. The input unit 130a acquires information that identifies the user touching the third part P3 as detected by the touch sensor TS4. After the touch sensor TS4 detects that the user has made contact with the third part P3, the force sensor 150 detects one of the following: that the user has applied force Fx to the joystick ST and moved the joystick ST in the X-axis direction; that the user has applied force Fy to the joystick ST and moved the joystick ST in the Y-axis direction; that the user has applied force Fz to the joystick ST and moved the joystick ST in the Z-axis direction; that the user has applied force Mx to the joystick ST and rotated the joystick ST around the X-axis direction; that the user has applied force My to the joystick ST and rotated the joystick ST around the Y-axis direction; or that the user has applied force Mz to the joystick ST and rotated the joystick ST around the Z-axis direction.
[0059] The input unit 130a acquires information that identifies one of the following actions detected by the force sensor 150: that the user moved the joystick ST in the X-axis direction, that the joystick ST moved in the Y-axis direction, that the joystick ST moved in the Z-axis direction, that the joystick ST rotated around the X-axis direction, that the joystick ST rotated around the Y-axis direction, or that the joystick ST rotated around the Z-axis direction. The derivation unit 165a can apply the derivation unit 165. However, the derivation unit 165a obtains one of the following from the input unit 130: information that identifies that the user has come into contact with the first part P1-1, information that identifies that the user has come into contact with either the first part P1-21 or the first part P1-22, information that identifies that the user has come into contact with the second part P2, or information that identifies that the user has come into contact with the third part P3. When the derivation unit 165a obtains information that identifies the user has made contact with the third part P3, it obtains information that identifies one of the following, obtained by the input unit 130a: that the user moved the joystick ST in the X-axis direction, the Y-axis direction, the Z-axis direction, that it rotated around the X-axis direction, that it rotated around the Y-axis direction, or that it rotated around the Z-axis direction.
[0060] The derivation unit 165a derives one of the following based on information that identifies whether the user moved the joystick ST in the X-axis direction, the Y-axis direction, the Z-axis direction, rotated it around the X-axis direction, rotated it around the Y-axis direction, or rotated it around the Z-axis direction: the amount of change (movement) in the X-axis direction, the amount of change (movement) in the Y-axis direction, the amount of change (movement) in the Z-axis direction, the amount of change (movement) around the X-axis direction, the amount of change (movement) around the Y-axis direction, or the amount of change (movement) around the Z-axis direction. When the change instruction unit 170a obtains information that identifies that the user has made contact with the third part P3, and information that identifies that the user has moved the joystick ST in the X-axis direction, the Y-axis direction, or the Z-axis direction, it creates a change instruction signal that includes information that identifies that the robot 2 should be moved in the X-axis direction, the Y-axis direction, or the Z-axis direction by the amount of change derived by the derivation unit 165a in position and orientation change mode. The change instruction unit 170a outputs the created change instruction signal to the communication unit 160.
[0061] When the change instruction unit 170a obtains information that identifies that the user has made contact with the third part P3, and information that identifies that the user has rotated the joystick ST around the X-axis, Y-axis, or Z-axis, it creates a change instruction signal that includes information that identifies that the attitude of the robot 2 should be moved in one of the X-axis, Y-axis, or Z-axis directions by the amount of change derived by the derivation unit 165a, in position and attitude change mode. The change instruction unit 170a outputs the created change instruction signal to the communication unit 160. The selection unit 140a, input unit 130a, derivation unit 165a, and change instruction unit 170a are implemented, for example, by a hardware processor such as a CPU executing a computer program (software) stored in a memory unit (not shown). Furthermore, some or all of these functional units may be implemented by hardware (including circuitry) such as LSIs, ASICs, FPGAs, and GPUs, or by the cooperation of software and hardware.
[0062] (Operation of robot control system 1a) The operation of the robot control system 1a according to the modified embodiment 1 can be described by applying Figures 8 to 10. In addition to the operations shown in Figures 8 to 10, the robot control system 1a performs the following operations. Figure 14 shows an example of the operation of a robot control system according to a modified example of the embodiment 1. Referring to Figure 14, the process of changing the position or orientation of the robot 2 in the robot control system 1a will be described. This process may be performed following the process of setting a coordinate system in the robot control system 1a. Steps S1-4 to S3-4 can be modified by applying steps S1-2 to S3-2 in Figure 9. (Step S4-4) In the modification device 120a, the touch sensor TS4 determines whether the user has made contact with the third part P3. If it is determined that there is no contact, the process returns to step S4-4; if it is determined that there is contact, the process proceeds to step S5-4.
[0063] (Step S5-4) In the modification device 120a, the force sensor 150 detects, after the touch sensor TS4 detects that the user has made contact with the third part P3, that the user has applied a force Fx to the joystick ST, thereby moving the joystick ST in the X-axis direction; applied a force Fy to the joystick ST, thereby moving the joystick ST in the Y-axis direction; applied a force Fz to the joystick ST, thereby moving the joystick ST in the Z-axis direction; applied a force Mx to the joystick ST, thereby rotating the joystick ST around the X-axis direction; applied a force My to the joystick ST, thereby rotating the joystick ST around the Y-axis direction; or applied a force Mz to the joystick ST, thereby rotating the joystick ST around the Z-axis direction. The input unit 130 acquires information that identifies one of the following actions detected by the force sensor 150: that the user moved the joystick ST in the X-axis direction, that the joystick ST moved in the Y-axis direction, that the joystick ST moved in the Z-axis direction, that the joystick ST rotated around the X-axis direction, that the joystick ST rotated around the Y-axis direction, or that the joystick ST rotated around the Z-axis direction.
[0064] (Step S6-4) In the change device 120a, the derivation unit 165a derives one of the following: a change amount (movement amount) in the X-axis direction, a change amount (movement amount) in the Y-axis direction, a change amount (movement amount) in the Z-axis direction, a change amount (movement amount) around the X-axis direction, a change amount (movement amount) around the Y-axis direction, or a change amount (movement amount) around the Z-axis direction. The change instruction unit 170a creates a change instruction signal that includes information specifying that the robot 2 should be moved in one of the X-axis, Y-axis, or Z-axis directions by the change amount derived by the derivation unit 165a, or information specifying that the robot 2 should be moved around one of the X-axis, Y-axis, or Z-axis directions by the change amount derived by the derivation unit 165a. (Step S7-4) In the modification device 120a, the modification instruction unit 170a outputs the created modification instruction signal to the communication unit 160. The communication unit 160 acquires the modification instruction signal output by the modification instruction unit 170a and transmits the acquired modification instruction signal to the control device 110. (Step S8-4) In the control device 110, the second communication unit 180-2 receives the change instruction signal transmitted by the change device 120a. (Step S9-4) Robot 2 obtains its current position. (Step S10-4) Robot 2 transmits the acquired current coordinate data of Robot 2, which includes information identifying Robot 2's current position, to the control device 110.
[0065] (Step S11-4) In the control device 110, the first communication unit 180-1 receives the current coordinate data transmitted by the robot 2. (Step S12-4) In the control device 110, the control unit 190 acquires the current coordinate data received by the first communication unit 180-1. The control unit 190 acquires the change instruction signal received by the second communication unit 180-2. Based on the information included in the acquired change instruction signal that specifies moving the robot 2 by a change amount in either the X-axis direction, the Y-axis direction, or the Z-axis direction, or information that specifies moving the robot 2 by a change amount around the X-axis direction, the Y-axis direction, or the Z-axis direction, and the current coordinate data, the control unit 190 calculates the target coordinates to which the robot 2 should be moved. (Step S13-4) In the control device 110, the control unit 190 creates movement coordinate data including the coordinate calculation results. The control unit 190 outputs the created movement coordinate data to the first communication unit 180-1. The first communication unit 180-1 acquires the movement coordinate data output by the control unit 190 and transmits the acquired movement coordinate data to the robot 2. (Step S14-4) Robot 2 receives movement coordinate data transmitted by control device 110. Robot 2 moves based on the calculation results of the coordinates included in the received movement coordinate data.
[0066] (Step S15-4) In the change device 120a, the input unit 130 determines whether or not an operation termination command has been received. If an operation termination command has not been received, the process proceeds to step S4-4. Steps S16-4 to S20-4 can be explained by applying steps S18-2 to S22-2 in Figure 9, so their explanation is omitted here. In an example of the operation of the robot control system 1a shown in Figure 14, steps S4-4 to S8-4 and steps S9-4 to S11-4 may be executed simultaneously. Alternatively, steps S9-4 to S11-4 may be executed periodically.
[0067] According to the robot control system 1a of the modified embodiment 1, the changing device 120a further includes an input unit 130a containing a third part P3. The selection unit 140a selects a position and orientation change mode for the robot 2 when the user touches the third part P3. The change instruction unit 170a instructs the robot 2 to change its position and orientation when the selection unit 140a has selected a position and orientation change mode. With this configuration, the changing device 120a can select a position and orientation change mode based on the part touched by the user.
[0068] (Modification 2) The robot control system 1b according to the modified embodiment 2 can be adapted to Figure 1. The robot control system 1b according to the modified embodiment 2 comprises a robot 2 and a robot control device 100b. The robot control device 100b comprises a control device 110 and a change device 120b. The change device 120b is an input device that receives user commands for the robot 2. Based on the received commands, the change device 120b creates change instruction signals to change the position and orientation of the robot 2. The change device 120b outputs the created change instruction signals to the control device 110. Specifically, the change device 120b includes an input unit for the user to input operation information to the robot 2. The change device 120b sets the coordinate system based on the operation of the buttons included in the input unit. The change device 120b sets the coordinate system to the first coordinate system if the button is not pressed, and to the second coordinate system if the button is pressed. An example of the second coordinate system is the tool coordinate system.
[0069] The change device 120b selects one of two operation modes from the input section based on the part that the user has touched: a position change mode, which changes the position of the robot 2, and a posture change mode, which changes the posture of the robot 2. When the position change mode is selected, the change device 120b creates a change instruction signal that instructs the robot 2 to change its position in the set coordinate system of the first coordinate system and the second coordinate system. When the posture change mode is selected, the change device 120b creates a change instruction signal that instructs the robot 2 to change its posture in the set coordinate system of the first coordinate system and the second coordinate system. The change device 120b is connected to the control device 110 via a cable (not shown) in a communicative manner. Wired communication via the cable is performed using standards such as Ethernet® or USB. Alternatively, the change device 120b and the control device 110 may be connected by wireless communication using a communication standard such as Wi-Fi®.
[0070] Figure 15 shows an example of a modification device included in a robot control system according to a modified example 2 of the embodiment. (Modification device 120b) The change device 120b comprises an input unit 130b, a communication unit 160, an output unit 165b, and a change instruction unit 170b. The input unit 130b comprises a selection unit 140b, a force sensor 150, and touch sensors TS1 to TS3. The selection unit 140b comprises a first part P1, a second part P2, and a button BU. Figure 16 is a schematic diagram of an example of a modification device included in a robot control system according to a modified example 2 of the embodiment. An example of the change device 120b comprises a joystick ST, a base PD, and a force detection unit FD. The joystick ST is composed of a columnar portion and a spherical portion. The spherical portion is formed on the upper part (upper side) of the columnar portion. The joystick ST and base PD have a first part P1 and a second part P2. An example of the first part P1 includes a first part P1-1 formed on the base PD, a first part P1-21 formed on the columnar part of the joystick ST adjacent to the base PD, and a first part P1-22 formed on the columnar part of the joystick ST adjacent to the spherical part. An example of the second part P2 is formed on the spherical part of the joystick ST. An example of the third part P3 is formed on the columnar part of the joystick ST. An example of the button BU is formed on the spherical part of the joystick ST opposite the columnar part. Return to Figure 15 and continue the explanation.
[0071] Selection unit 140b can apply selection unit 140. However, selection unit 140b is set to the first coordinate system if the user does not press button BU, and to the second coordinate system if the user presses button BU. The second coordinate system will be explained below. Figure 17 shows an example of a coordinate system set in the robot system according to this embodiment. A control point TCP is assigned a control point coordinate system TC, which is a three-dimensional local coordinate system representing the position and orientation of the control point TCP, or in other words, the position and orientation of the end effector E. The position and orientation of the control point TCP are the position and orientation of the control point TCP in the robot coordinate system. Furthermore, the direction of each coordinate axis in the control point coordinate system TC represents the orientation of the control point TCP, or in other words, the orientation of the end effector E. As shown in Figure 17, a tool coordinate system is set up, which is located at the end (reference) of the tool (or workpiece) being held, such as the control point TCP. In the tool coordinate system, the origin of the mechanical interface coordinate system is offset to an arbitrary point and rotated around each axis.
[0072] Figure 18 is a schematic diagram illustrating an example 1 of operation on a modification device included in a robot control system according to a modified example 2 of the embodiment. The force sensor 150 detects that the user has pressed button BU and that the user has made contact with the first part P1-1 via the touch sensor TS1. It then detects either that the user has moved the joystick ST in the X-axis direction by applying force Fx to the joystick ST, or that the user has moved the joystick ST in the Y-axis direction by applying force Fy to the joystick ST. The input unit 130 acquires information that identifies that the user has pressed button BU, information that identifies that the user has made contact with the first part P1-1 via the touch sensor TS1, and information that identifies either that the user has moved the joystick ST in the X-axis direction or the Y-axis direction as detected by the force sensor 150. The force sensor 150 detects that the user has pressed button BU and that the user has made contact with the first part P1-21 or the second part P1-22 via the touch sensor TS2, and then detects that the user has moved the joystick ST in the Z-axis direction by applying force Fz to the joystick ST. The input unit 130 acquires information that identifies that the user has pressed button BU, information that identifies that the user has made contact with the first part P1-21 or the first part P1-22 via the touch sensor TS2, and information that identifies that the user has moved the joystick ST in the Z-axis direction as detected by the force sensor 150.
[0073] Figure 19 is a schematic diagram illustrating an example 2 of operations on a modification device included in a robot control system according to a modified example 2 of the embodiment. The force sensor 150 detects that the user has pressed button BU and that the user has made contact with the second part P2 via the touch sensor TS3. It then detects that the user has rotated the joystick ST around the X-axis by applying force Mx to the joystick ST, rotated the joystick ST around the Y-axis by applying force My to the joystick ST, or rotated the joystick ST around the Z-axis by applying force Mz to the joystick ST. The input unit 130b acquires information that identifies that the user has pressed button BU, information that identifies that the user has made contact with the second part P2 as detected by the touch sensor TS3, and information that identifies that the user has rotated the joystick ST around the X-axis, Y-axis, or Z-axis as detected by the force sensor 150. Return to Figure 15 and continue the explanation.
[0074] This section explains what happens when the user does not press button BU. The derivation unit 165b acquires one of the following from the input unit 130b: information identifying that the user has come into contact with the first part P1-1, information identifying that the user has come into contact with the first part P1-21, information identifying that the user has come into contact with the first part P1-22, or information identifying that the user has come into contact with the second part P2. After the derivation unit 165b acquires information that identifies the user has made contact with the first part P1-1, it acquires information acquired by the input unit 130 that identifies either the user has moved the joystick ST in the X-axis direction or the Y-axis direction, and after acquiring information that identifies either the user has made contact with the first part P1-21 or the user has made contact with the first part P1-22, it acquires information acquired by the input unit 130 that identifies the user has moved the joystick ST in the Z-axis direction. The derivation unit 165b derives the amount of change (movement) in the X-axis direction in the first coordinate system based on information that identifies that the user moved the joystick ST in the X-axis direction. The derivation unit 165b derives the amount of change (movement) in the Y-axis direction in the first coordinate system based on information that identifies that the user moved the joystick ST in the Y-axis direction. The derivation unit 165b derives the amount of change (movement) in the Z-axis direction in the first coordinate system based on information that identifies that the user moved the joystick ST in the Z-axis direction.
[0075] After the derivation unit 165b acquires information that the user has made contact with the second part P2, it acquires information acquired by the input unit 130b that the user has rotated the joystick ST in one of the following directions: around the X axis, Y axis, or Z axis. The derivation unit 165b derives the amount of attitude change (attitude movement) in the X-axis direction in the first coordinate system based on information that identifies that the user rotated the joystick ST around the X-axis direction. The derivation unit 165b derives the amount of attitude change (attitude movement) in the Y-axis direction in the first coordinate system based on information that identifies that the user rotated the joystick ST around the Y-axis direction. The derivation unit 165b derives the amount of attitude change (attitude movement) in the Z-axis direction in the first coordinate system based on information that identifies that the user rotated the joystick ST around the Z-axis direction.
[0076] When the change instruction unit 170b obtains information that the user has made contact with the first part P1-1 and information that the user has moved the joystick ST in the X-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the X-axis direction by the amount of change derived by the derivation unit 165b, using the first coordinate system and in position change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b obtains information that the user has made contact with the first part P1-1 and information that the user has moved the joystick ST in the Y-axis direction, it creates a change instruction signal that includes information specifying that the robot 2 should be moved in the Y-axis direction by the amount of change derived by the derivation unit 165b, using the first coordinate system and in position change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b obtains information that the user has made contact with the first part P1-21 or the first part P1-22, and information that the user has moved the joystick ST in the Z-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the Z-axis direction by the amount of change derived by the derivation unit 165b, using the first coordinate system and in position change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160.
[0077] When the change instruction unit 170b obtains information that the user has made contact with the second part P2 and information that the user has rotated the joystick ST around the X-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the X-axis by the amount of attitude change derived by the derivation unit 165b, using the first coordinate system and in attitude change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b obtains information that the user has made contact with the second part P2 and information that the user has rotated the joystick ST around the Y-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the Y-axis by the amount of attitude change derived by the derivation unit 165b, using the first coordinate system and in attitude change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b obtains information that the user has made contact with the second part P2 and information that the user has rotated the joystick ST around the Z-axis, it creates a change instruction signal that specifies that the attitude of the robot 2 should be changed around the Z-axis using the first coordinate system and in attitude change mode by the attitude change amount derived by the derivation unit 165b. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160.
[0078] This section explains what happens when the user presses button BU. The derivation unit 165b acquires, along with information acquired by the input unit 130b that identifies the user has pressed button BU, one of the following: information that identifies the user has touched the first part P1-1, information that identifies the user has touched the first part P1-21, information that identifies the user has touched the first part P1-22, or information that identifies the user has touched the second part P2. After the derivation unit 165b acquires information that identifies that the user has made contact with the first part P1-1, it acquires information acquired by the input unit 130b that identifies either that the user has moved the joystick ST in the X-axis direction or in the Y-axis direction, and after acquiring information that identifies either that the user has made contact with the first part P1-21 or that the user has made contact with the first part P1-22, it acquires information acquired by the input unit 130b that identifies that the user has moved the joystick ST in the Z-axis direction. The derivation unit 165b derives the amount of change (movement) in the X-axis direction in the second coordinate system based on information that identifies that the user moved the joystick ST in the X-axis direction. The derivation unit 165b derives the amount of change (movement) in the Y-axis direction in the second coordinate system based on information that identifies that the user moved the joystick ST in the Y-axis direction. The derivation unit 165b derives the amount of change (movement) in the Z-axis direction in the second coordinate system based on information that identifies that the user moved the joystick ST in the Z-axis direction.
[0079] After the derivation unit 165b acquires information that identifies the user has made contact with the second part P2, it acquires information acquired by the input unit 130b that identifies the user has moved the joystick ST in one of the following directions: around the X axis, Y axis, or Z axis. The derivation unit 165b derives the amount of attitude change (attitude movement) in the X-axis direction in the second coordinate system based on information that identifies that the user rotated the joystick ST around the X-axis direction. The derivation unit 165b derives the amount of attitude change (attitude movement) in the Y-axis direction in the second coordinate system based on information that identifies that the user rotated the joystick ST around the Y-axis direction. The derivation unit 165b derives the amount of attitude change (attitude movement) in the Z-axis direction in the second coordinate system based on information that identifies that the user rotated the joystick ST around the Z-axis direction.
[0080] When the change instruction unit 170b obtains information that the user is pressing button BU, information that the user has made contact with the first part P1-1, and information that the user has moved the joystick ST in the X-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the X-axis direction by the amount of change derived by the derivation unit 165b, using the second coordinate system, in position change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b obtains information that the user is pressing button BU, information that the user has made contact with the first part P1-1, and information that the user has moved the joystick ST in the Y-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the Y-axis direction by the amount of change derived by the derivation unit 165b, using the second coordinate system, in position change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b obtains information that the user is pressing button BU, information that the user is touching the first part P1-21 or the first part P1-22, and information that the user is moving the joystick ST in the Z-axis direction, it creates a change instruction signal that specifies that the robot 2 should be moved in the Z-axis direction by the amount of change derived by the derivation unit 165b, using the second coordinate system, in position change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160.
[0081] When the change instruction unit 170b acquires information that the user is pressing button BU, information that the user is making contact with the second part P2, and information that the user is rotating the joystick ST around the X-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the X-axis by the amount of attitude change derived by the derivation unit 165b, using the second coordinate system, in attitude change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b acquires information that the user is pressing button BU, information that the user is making contact with the second part P2, and information that the user is rotating the joystick ST around the Y-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the Y-axis by the amount of attitude change derived by the derivation unit 165b, using the second coordinate system, in attitude change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160. When the change instruction unit 170b acquires information that the user is pressing button BU, information that the user is making contact with the second part P2, and information that the user is rotating the joystick ST around the Z-axis, it creates a change instruction signal that includes information specifying that the attitude of the robot 2 should be changed around the Z-axis by the amount of attitude change derived by the derivation unit 165b, using the second coordinate system, in attitude change mode. The change instruction unit 170b outputs the created change instruction signal to the communication unit 160.
[0082] The selection unit 140b, input unit 130b, derivation unit 165b, and change instruction unit 170b are implemented, for example, by a hardware processor such as a CPU executing a computer program (software) stored in a memory unit (not shown). Furthermore, some or all of these functional units may be implemented by hardware (including circuitry) such as LSIs, ASICs, FPGAs, and GPUs, or by the cooperation of software and hardware.
[0083] (Operation of robot control system 1b) The operation of the robot control system 1b according to the modified embodiment 2 can be applied to Figure 8. In addition to the operation shown in Figure 8, the robot control system 1b performs the following operations. Figure 20 shows an example 1 of the operation of a robot control system according to a modified example 2 of the embodiment. Referring to Figure 20, the process of changing the position of the robot 2 in the robot control system 1b will be described. This process may be performed following the process of setting a coordinate system in the robot control system 1b. Steps S1-5 to S3-5 can be modified by applying steps S1-2 to S3-2 in Figure 9. (Steps S4-5) In the change device 120b, the selection unit 140b determines whether the user has pressed button BU. If it is determined that the user has not pressed it, the process proceeds to step S5-5; if it is determined that the user has pressed it, the process proceeds to step S6-5. (Step S5-5) In the changing device 120b, the selection unit 140b is set to the first coordinate system.
[0084] (Step S6-5) In the changing device 120b, the selection unit 140b is set to the second coordinate system. (Step S7-5) In the modification device 120b, the touch sensor TS1 or touch sensor TS2 determines whether the user has made contact with the first part P1 (first part P1-1, first part P1-21, first part P1-22). If it is determined that there is no contact, the device returns to step S7-5; if it is determined that there is contact, the device proceeds to step S8-5. (Step S8-5) In the modification device 120b, the touch sensor TS1 determines whether the user has made contact with the first part P1-1. If it is determined that the user has made contact with the first part P1-1, the device proceeds to step S9-5. If it is determined that the user has not made contact (if the touch sensor TS2 determines that the user has made contact with the first part P1-21 or the first part P1-22), the device proceeds to step S10-5. (Step S9-5) In the modification device 120b, the force sensor 150 detects that the user has made contact with the first part P1-1 via the touch sensor TS1, and then detects that the user has moved the joystick ST in the X-axis direction by applying a force Fx to the joystick ST, or that the user has moved the joystick ST in the Y-axis direction by applying a force Fy to the joystick ST. The input unit 130 acquires information that identifies the user moving the joystick ST in the X-axis direction or the user moving the joystick ST in the Y-axis direction as detected by the force sensor 150.
[0085] (Step S10-5) In the modification device 120b, the force sensor 150 detects that the user has made contact with the first part P1-21 or the first part P1-22 via the touch sensor TS2, and then detects that the user has moved the joystick ST in the Z-axis direction by applying a force Fz to the joystick ST. The input unit 130b acquires information that identifies the user's movement of the joystick ST in the Z-axis direction, as detected by the force sensor 150. (Step S11-5) In the change device 120b, the derivation unit 165b derives either the change amount (movement amount) in the X-axis direction, the change amount (movement amount) in the Y-axis direction, or the change amount (movement amount) in the Z-axis direction in the set coordinate system from the first coordinate system and the second coordinate system. The change instruction unit 170b uses the set coordinate system to create a change instruction signal that includes information specifying that the robot 2 should be moved in either the X-axis direction, the Y-axis direction, or the Z-axis direction by the change amount derived by the derivation unit 165b in position change mode. (Step S12-5) In the modification device 120b, the modification instruction unit 170b outputs the created modification instruction signal to the communication unit 160. The communication unit 160 acquires the modification instruction signal output by the modification instruction unit 170b and transmits the acquired modification instruction signal to the control device 110. (Step S13-5) In the control device 110, the second communication unit 180-2 receives the change instruction signal transmitted by the change device 120b.
[0086] (Step S14-5) Robot 2 obtains its current position. (Step S15-5) Robot 2 transmits the acquired current coordinate data of Robot 2, which includes information identifying Robot 2's current position, to the control device 110. (Step S16-5) In the control device 110, the first communication unit 180-1 receives the current coordinate data transmitted by the robot 2. (Step S17-5) In the control device 110, the control unit 190 acquires the current coordinate data received by the first communication unit 180-1. The control unit 190 acquires the change instruction signal received by the second communication unit 180-2. Based on the information that identifies the coordinate system included in the acquired change instruction signal, the information that specifies that the robot 2 should be moved by a change amount in either the X-axis, Y-axis, or Z-axis direction, and the current coordinate data, the control unit 190 calculates the target coordinates to which the robot 2 should be moved in the coordinate system corresponding to the information that identifies the coordinate system.
[0087] (Step S18-5) In the control device 110, the control unit 190 creates movement coordinate data including the coordinate calculation results. The control unit 190 outputs the created movement coordinate data to the first communication unit 180-1. The first communication unit 180-1 acquires the movement coordinate data output by the control unit 190 and transmits the acquired movement coordinate data to the robot 2. (Step S19-5) Robot 2 receives movement coordinate data transmitted by control device 110. Robot 2 moves based on the calculation results of the coordinates included in the received movement coordinate data. (Step S20-5) In the change device 120b, the input unit 130b determines whether or not an operation termination command has been received. If an operation termination command has not been received, the process proceeds to step S4-5. Steps S21-5 to S25-5 can be explained by applying steps S18-2 to S22-2 in Figure 9, so their explanation is omitted here. In Example 1 of the operation of the robot control system 1b shown in Figure 20, steps S4-5 to S13-5 and steps S14-5 to S16-5 may be executed simultaneously. Alternatively, steps S14-5 to S16-5 may be executed periodically.
[0088] Figure 21 is a diagram showing example 2 of the operation of a robot control system according to modified embodiment 2. Referring to Figure 21, the process of changing the posture of robot 2 in robot control system 1b will be described. Steps S1-6 to S3-6 can be modified by applying steps S1-2 to S3-2 in Figure 9. (Steps S4-6) In the change device 120b, the selection unit 140b determines whether the user has pressed button BU. If it is determined that the user has not pressed it, the process proceeds to step S5-6; if it is determined that the user has pressed it, the process proceeds to step S6-6. (Steps S5-6) In the changing device 120b, the selection unit 140b is set to the first coordinate system. (Step S6-6) In the changing device 120b, the selection unit 140b is set to the second coordinate system. (Step S7-6) In the modification device 120b, the touch sensor TS3 determines whether the user has touched the second part P2. If it is determined that there is no contact, the process returns to step S7-6; if it is determined that there is contact, the process proceeds to step S8-6. (Step S8-6) In the modification device 120b, the force sensor 150 detects, after the touch sensor TS3 detects that the user has made contact with the second part P2, that the user has rotated the joystick ST around the X-axis by applying force Mx to the joystick ST, that the user has rotated the joystick ST around the Y-axis by applying force My to the joystick ST, or that the user has rotated the joystick ST around the Z-axis by applying force Mz to the joystick ST. The input unit 130b acquires either information that the force sensor 150 detected that the user rotated the joystick ST around the X-axis, information that the user rotated the joystick ST around the Y-axis, or information that the user rotated the joystick ST around the Z-axis.
[0089] (Step S9-6) In the change device 120b, the derivation unit 165b derives either the amount of change (movement) around the X-axis, the amount of change (movement) around the Y-axis, or the amount of change (movement) around the Z-axis in the set coordinate system from the first coordinate system and the second coordinate system. The change instruction unit 170b uses the set coordinate system to create a change instruction signal that includes information specifying that the robot 2 should be moved by the change amount around the X-axis, Y-axis, or Z-axis in the attitude change mode. (Step S10-6) In the modification device 120b, the modification instruction unit 170b outputs the created modification instruction signal to the communication unit 160. The communication unit 160 acquires the modification instruction signal output by the modification instruction unit 170b and transmits the acquired modification instruction signal to the control device 110. (Step S11-6) In the control device 110, the second communication unit 180-2 receives the change instruction signal transmitted by the change device 120b. (Step S12-6) Robot 2 obtains its current position. (Step S13-6) Robot 2 transmits the acquired current coordinate data of Robot 2, which includes information identifying Robot 2's current position, to the control device 110. (Step S14-6) In the control device 110, the first communication unit 180-1 receives the current coordinate data transmitted by the robot 2.
[0090] (Step S15-6) In the control device 110, the control unit 190 acquires the current coordinate data received by the first communication unit 180-1. The control unit 190 acquires the change instruction signal received by the second communication unit 180-2. Based on the information that identifies the coordinate system included in the acquired change instruction signal, the information that identifies moving the robot 2 by a change amount around either the X-axis, Y-axis, or Z-axis, and the current coordinate data, the control unit 190 calculates the coordinates to move the robot 2 in the coordinate system corresponding to the information that identifies the coordinate system. (Step S16-6) In the control device 110, the control unit 190 creates movement coordinate data including the coordinate calculation results. The control unit 190 outputs the created movement coordinate data to the first communication unit 180-1. The first communication unit 180-1 acquires the movement coordinate data output by the control unit 190 and transmits the acquired movement coordinate data to the robot 2.
[0091] (Step S17-6) Robot 2 receives movement coordinate data transmitted by control device 110. Robot 2 moves based on the calculation results of the coordinates included in the received movement coordinate data. (Step S18-6) In the change device 120b, the input unit 130b determines whether or not an operation termination command has been received. If an operation termination command has not been received, the process proceeds to step S4-6. Steps S19-6 to S23-6 can be explained by applying steps S18-2 to S22-2 in Figure 9, so their explanation is omitted here. In Example 2 of the operation of the robot control system 1b shown in Figure 21, steps S4-6 to S11-6 and steps S12-6 to S14-6 may be executed simultaneously. Alternatively, steps S12-6 to S14-6 may be executed periodically.
[0092] In the modified example 2 of the above-described embodiment, the selection unit 140b of the changing device 120b sets the system to the first coordinate system when the user does not press button BU, and to the second coordinate system when the user presses button BU, and the derivation unit 165b derives the target for changing the robot's position or the target for changing the robot's posture in the set coordinate system from the first and second coordinate systems. However, the invention is not limited to this example. For example, the derivation unit 165b may derive the target for changing the robot's position or the target for changing the robot's posture based on the operation on the input unit 130 when button BU is pressed, based on one of the first, second, or third coordinate systems. Here, an example of the third coordinate system is a coordinate system that can be defined by the user, specifically a 3-axis orthogonal jog mode. For example, the change device 120b may transition to an operation switching mode when button BU is pressed, and in this operation switching mode, three coordinate systems, including the first coordinate system, the second coordinate system, and the third coordinate system, may be switched in response to operations on the input unit 130.
[0093] In the modified embodiment 2 described above, a predetermined point of the robot 2 is controlled to draw an arc centered on a control point by changing its posture. The derivation unit 165b may derive the target for changing the robot's posture by either a control point following mode, which is an operation mode in which the control point follows the position changed in accordance with the instruction from the input unit 130b when the button BU is pressed, or a control point fixing mode, which is an operation mode in which the control point does not follow the position changed in accordance with the instruction from the input unit 130b. Figure 22 is a diagram illustrating Example 1 of the operation of a robot control system according to Modification 2 of the Embodiment. The control point fixed mode will be described with reference to Figure 22. Figure 22 shows a robot 2, a tool TO that the robot 2 is gripping, and a control point TCP. In the control point following mode, when the position of the robot 2 is changed by the changing device 120b (1), the position of the control point TCP is also changed in accordance with the changed position of the robot 2. When the posture of the robot 2 is changed by the changing device 120b (2), the robot 2 is positioned on an arc centered on the control point TCP. Figure 23 is a diagram illustrating Example 2 of the operation of a robot control system according to Modification 2 of the Embodiment. The control point fixed mode will be described with reference to Figure 23. Figure 23 shows a robot 2, a tool TO that the robot 2 is gripping, and a control point TCP. In the control point fixed mode, when the position of the robot 2 is changed by the changing device 120b (1), the position of the control point TCP is not changed. When the posture of the robot 2 is changed by the changing device 120b (2), the robot 2 is positioned on an arc centered on the control point TCP.
[0094] In the modified example 2 of the above-described embodiment, the derivation unit 165b may have different amounts of positional changes depending on whether the button BU is pressed or not in response to the instructions from the input unit 130b. In the modified embodiment 2 described above, the modification device 120b may include a selection unit 140b that selects either a first coordinate system mode, which is an operation mode that instructs a change of position based on a first coordinate system, or a second coordinate system mode, which is an operation mode that instructs a change of position based on a second coordinate system, based on the part of the input unit 130b in which the user inputs operation information to the robot 2, that the user has contacted, and a modification instruction unit 170b that instructs the robot 2 to change its position based on the first coordinate system when the selection unit 140b selects the first coordinate system mode, and instructs the robot to change its position based on the second coordinate system when the selection unit 140b selects the second coordinate system mode.
[0095] According to the robot control system 1b of the modified embodiment 2, the change device 120b further comprises a button BU in the input unit 130b of the change device 120. The change device 120b further comprises a derivation unit 165b that derives a target for changing the robot's position or a target for changing the robot's posture based on a first coordinate system when the button is not pressed, and based on a second coordinate system when the button BU is pressed. In the change device 120b, the input unit 130b further includes a button BU. The derivation unit 165b derives the target for changing the robot's position or the target for changing the robot's posture based on a first coordinate system when button BU is pressed, and based on a second coordinate system when button BU is not pressed. An example of the first coordinate system is a Cartesian coordinate system with the robot's base as the origin or other reference point, and an example of the second coordinate system is a Cartesian coordinate system with the end (reference point) of the tool (or workpiece) that the robot is gripping as the origin or other reference point. With this configuration, when changing the position or posture, the target for changing the robot's position or the target for changing the robot's posture can be derived based on the first coordinate system or the second coordinate system.
[0096] The input unit 130b further includes a button BU. The changing device 120b further includes a derivation unit 165b that, when the button BU is pressed, derives a target for changing the robot's position or a target for changing the robot's posture based on the operation on the input unit 130b, using one of the first coordinate system, the second coordinate system, or the third coordinate system. In the change device 120b, the input unit 130b further includes a button BU. The change device 120b further includes a derivation unit 165b that derives a target for changing the robot's position or posture based on an operation on the input unit 130b when the button BU is pressed, based on one of the first coordinate system, the second coordinate system, or the third coordinate system. An example of the third coordinate system is a Cartesian coordinate system based on the robot's world coordinate system. With this configuration, when changing the position or posture, the target for changing the robot's position or posture can be derived based on one of the first coordinate system, the second coordinate system, or the third coordinate system. The input unit 130b further includes a button BU, and a predetermined point of the robot 2 is controlled to draw an arc centered on a control point when the posture is changed. When button BU is pressed, the system further includes a derivation unit 165b that derives a target for changing the robot's position using either a control point following mode, which is an operation mode in which the control point follows the position changed according to the instruction from the input unit 130b, or a control point fixing mode, which is an operation mode in which the control point does not follow the position changed according to the instruction from the input unit 130b. With this configuration, when changing the posture of the robot, the target for changing the posture of the robot can be derived using either the control point following mode or the control point fixing mode. The derivation unit 165b makes the amount of position change that is changed in response to the input unit 130b differ depending on whether button BU is pressed or not. When deriving the amount of position or posture change based on the force detected by the force sensor 150, the amount of position or posture change (operated amount) may be made different in proportion to the input value (force) detected by the force sensor 150 acquired by the input unit 130b, or the amount of position or posture change (operated amount) may be made different in steps with respect to the input value (force) acquired by the input unit 130b. By configuring it in this way, the position or posture of the robot 2 can be moved by different amounts of change. The amount of position or posture change may be the same for the X axis, Y axis and Z axis, or it may be different.
[0097] Although embodiments have been described above, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, modifications, and combinations are possible without departing from the spirit of the invention. These embodiments are included in the scope and spirit of the invention, as well as in the claims and their equivalents. The control device 110, modification device 120, modification device 120a, and modification device 120b described above may also be implemented using a computer. In that case, a program for implementing the function of each functional block is recorded on a computer-readable recording medium. The program recorded on this recording medium may be loaded into a computer system and executed by the CPU. The term "computer system" here includes hardware such as an OS (Operating System) and peripheral devices. Furthermore, "computer-readable recording media" refers to portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs. It also includes storage devices such as hard disks built into computer systems.
[0098] Furthermore, "computer-readable recording media" may include those that dynamically hold programs for a short period of time. Examples of those that dynamically hold programs for a short period of time include communication lines used when transmitting programs via networks such as the Internet or communication lines such as telephone lines. Furthermore, "computer-readable recording media" may include volatile memory within a server or client computer system that retains programs for a certain period of time. The program itself may also be intended to implement some of the functions described above. Additionally, the program may be capable of implementing the aforementioned functions in combination with programs already recorded in the computer system. Furthermore, the program may be implemented using a programmable logic device, such as an FPGA.
[0099] Furthermore, the control device 110, modification device 120, modification device 120a, and modification device 120b described above each have a computer inside. The processes of each of the control device 110, modification device 120, modification device 120a, and modification device 120b described above are stored in program format on a computer-readable recording medium, and the above processes are performed when the computer reads and executes this program. Here, computer-readable recording media refer to magnetic disks, magneto-optical disks, CD-ROMs, DVD-ROMs, semiconductor memory, etc. Alternatively, this computer program may be distributed to a computer via a communication line, and the computer that receives the program may execute it. Furthermore, the above program may be intended to implement some of the functions described above. It may also be a so-called differential file (differential program) that can implement the aforementioned functions in combination with programs already recorded in the computer system. [Explanation of Symbols]
[0100] 1, 1a, 1b Robot control system 2 Robots 4 Support stand 100, 100a, 100b Robot Control Device 110 Control device 180-1 First Communications Department 180-2 Second Communications Department 190 Control Unit 200 Storage section 120, 120a, 120b change device 130, 130a, 130b Input section 140, 140a, 140b Selection section 150 force sensors 155 Setting Section 160 Communications Department 165, 165a, 165b Derivation part 170, 170a, 170b Change instruction section
Claims
1. An input unit where user inputs operation information for the robot, A change instruction unit that instructs the robot to change its position, The control unit is capable of controlling the robot in response to input to the input unit by either a control point fixing mode, which is an operating mode in which the control point, which is the center of the arc traced by a predetermined point of the robot, is not allowed to follow a position changed according to the instruction of the change instruction unit, or a control point following mode, which is an operating mode in which the control point follows the position changed. The input unit includes a contactable part that is touched by the user, The control unit can control the robot in either the control point fixing mode or the control point tracking mode, depending on whether the contacted part is in contact or not. A robot control device characterized by the following features.
2. The contacted portion is provided on the upper part of the input portion, The robot control device according to feature 1.
3. Setting unit for setting the control point, The robot control device according to claim 1 or 2, further comprising the above.
4. The setting unit sets the control point on the end effector of the robot. The robot control device according to claim 3.
5. A robot control system comprising a robot, a control device for controlling the robot, and a position change device for instructing the robot to change its position, An input unit into which operation information for the robot is input by the user, A change instruction unit that instructs the robot to change its position, The control unit is capable of controlling the robot in response to an input to the input unit, using either a control point fixing mode, which is the control point that is the center of the arc traced by a predetermined point of the robot when the robot's posture is changed, to a position changed according to the instruction of the change instruction unit, or a control point following mode, which is the control point that follows the position changed. The input unit includes a contactable part that is touched by the user, The control unit can control the robot in either the control point fixing mode or the control point tracking mode, depending on whether the contacted part is in contact or not. A robot control system characterized by the following features.
6. An input step in which user inputs operational information for the robot, A change instruction step in which the robot is instructed to change its position, The control step includes either a control point fixing mode, which is an operating mode in which the control point, which is the center of the arc drawn by a predetermined point of the robot as a result of a change in the robot's posture, does not follow the position changed according to the instruction in the change instruction step, or a control point following mode, which is an operating mode in which the control point follows the position changed, in response to the input in the input step, and the robot is controlled by either of these modes. The control step allows the robot to be controlled by either the control point fixed mode or the control point following mode, depending on whether the contacted part for inputting operation information to the robot was contacted in the input step. A method of modification characterized by the following features.
7. A robot control method performed by a robot control system comprising a robot, a control device for controlling the robot, and a position change device for instructing the robot to change its position, An input step in which operation information for the robot is input by the user, A change instruction step in which the robot is instructed to change its position, The control step includes either a control point fixing mode, which is an operating mode in which the control point, which is the center of the arc drawn by a predetermined point of the robot as a result of a change in the robot's posture, does not follow the position changed according to the instruction in the change instruction step, or a control point following mode, which is an operating mode in which the control point follows the position changed, in response to the input in the input step, and the robot is controlled by either of these modes. The control step allows the robot to be controlled by either the control point fixed mode or the control point following mode, depending on whether the contacted part for inputting operation information to the robot was contacted in the input step. A robot control method characterized by the following: