control device
By introducing sensor coordinate storage, setting storage, data reception, and anomaly detection components into the robot control device, the problem of wireless accelerometer pairing errors is solved, ensuring the control accuracy and stability of the robot system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-22
- Publication Date
- 2026-03-31
AI Technical Summary
In robotic systems, there is a problem of unintended control caused by mispairing between wireless accelerometers, especially when wirelessly connected to the wrong sensor, which can affect the robot's vibration and control accuracy.
By setting up a sensor coordinate storage unit, a sensor setting storage unit, a sensor data receiving unit, an angle detection unit for each axis, a sensor value estimation unit, and a sensor value anomaly determination unit in the control device, the accuracy of sensor data is ensured and erroneous connections are prevented by using these components to verify and determine anomalies.
It effectively prevents robots from operating under incorrect sensor connection conditions, reduces unintended control caused by sensor setting errors, and improves control accuracy and stability.
Smart Images

Figure CN117042938B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to control devices. Background Technology
[0002] Improving robot speed, trajectory accuracy, and production efficiency and quality by reducing vibration during robot movements is directly related to these improvements. Therefore, it is desirable to reduce vibration and trajectory deviations generated during robot movements.
[0003] To address this issue, the following method is proposed: Accelerometers are installed at the locations where vibration needs to be eliminated and where high-precision trajectories are desired. The vibrations during robot movement are measured using these accelerometers, and learning control is employed to reduce the vibrations. For example, refer to Patent Document 1.
[0004] In addition, a method is proposed as follows: when the sensor connection is wired, the sensor cable is cumbersome to wind up; therefore, a wireless accelerometer is installed on the robot to suppress robot vibration. For example, see Patent Document 2.
[0005] Existing technical documents
[0006] Patent documents
[0007] Patent Document 1: Japanese Patent Application Publication No. 2011-167817
[0008] Patent Document 2: Japanese Patent Application Publication No. 2011-161562 Summary of the Invention
[0009] The problem that the invention aims to solve
[0010] In connecting to a wireless accelerometer of a robot being controlled, pairing errors sometimes occur between the sensor and a wireless accelerometer configured on another robot. If sensor measurements continue to be taken while wirelessly connected to the wrong wireless accelerometer, unintended robot control will result.
[0011] Therefore, a feature is desired to notify the user in the event of a pairing error.
[0012] Methods for solving problems
[0013] (1) One aspect of the control device disclosed herein is to control a robot equipped with sensors. The control device includes: a sensor coordinate storage unit that stores coordinate system information related to a pre-set sensor coordinate system of the sensors; a sensor setting storage unit that stores setting information related to communication between the sensors; a sensor data receiving unit that receives sensor data detected by the sensors based on the setting information; an axis angle detection unit that detects the angles of each of the plurality of axes included in the robot; a sensor value estimation unit that estimates the sensor values detected by the sensors by positive transformation of the angles of each of the plurality of axes detected by the axis angle detection unit and coordinate transformation of the sensor coordinate system; and a sensor value anomaly determination unit that compares the value of the sensor data with the sensor value estimated by the sensor value estimation unit, and determines that the sensor data receiving unit has received sensor data from a sensor configured on another robot if the difference between the value of the sensor data and the estimated sensor value exceeds a pre-set threshold.
[0014] (2) One aspect of the control device disclosed herein is to control a robot equipped with sensors. The control device comprises: a sensor coordinate storage unit that stores coordinate system information related to a pre-set sensor coordinate system of the sensors; a sensor setting storage unit that stores setting information related to communication between the sensors; a sensor data receiving unit that receives sensor data detected by the sensors based on the setting information; a sensor physical quantity calculation unit that calculates physical quantities based on the sensor data; an axis angle detection unit that detects the angles of each of the plurality of axes included in the robot; a sensor physical quantity estimation unit that estimates physical quantities related to the sensors by positive transformation of the angles of each of the plurality of axes detected by the axis angle detection unit and coordinate transformation of the sensor coordinate system; and a sensor value anomaly determination unit that compares the physical quantity calculated based on the sensor data with the physical quantity estimated by the sensor physical quantity estimation unit, and determines that the sensor data receiving unit has received sensor data from a sensor configured on another robot if the difference between the calculated physical quantity and the estimated physical quantity exceeds a pre-set threshold.
[0015] (3) One aspect of the control device disclosed herein is to control a robot equipped with sensors. The control device comprises: a sensor coordinate storage unit that stores coordinate system information related to a pre-set sensor coordinate system of the sensors; a sensor data receiving unit that receives sensor data detected by sensors respectively configured on a plurality of robots, including the robot of the control object; an axis angle detection unit that detects the angles of each of the plurality of axes included in the robot of the control object; a sensor value estimation unit that estimates the sensor values detected by the sensors of the robot of the control object by positive transformation of the angles of each of the plurality of axes detected by the axis angle detection unit and coordinate transformation of the sensor coordinate system; and an appropriate sensor determination unit that compares the values of the sensor data of the sensors respectively configured on the plurality of robots with the sensor values estimated by the sensor value estimation unit, and determines the sensors whose sensor data differ from the estimated sensor values by more than a pre-set threshold as sensors of robots other than the robot of the control object.
[0016] (4) One aspect of the control device disclosed herein is to control a robot equipped with sensors. The control device comprises: a sensor coordinate storage unit that stores coordinate system information related to a pre-set sensor coordinate system of the sensors; a sensor data receiving unit that receives sensor data detected by sensors respectively configured on a plurality of robots, including the robot of the control object; a sensor physical quantity calculation unit that calculates physical quantities based on the sensor data of the sensors respectively configured on the plurality of robots; an axis angle detection unit that detects the angles of each of the plurality of axes included in the robot of the control object; a sensor physical quantity estimation unit that estimates the physical quantities related to the sensors of the robot of the control object by positive transformation of the angles of each of the plurality of axes detected by the axis angle detection unit and coordinate transformation of the sensor coordinate system; and an appropriate sensor determination unit that compares the physical quantities calculated based on the sensor data of the sensors respectively configured on the plurality of robots with the physical quantities estimated by the sensor physical quantity estimation unit, and determines the sensors whose sensor data differ from the estimated physical quantities by more than a pre-set threshold as sensors of robots other than the robot of the control object.
[0017] Invention Effects
[0018] It can prevent the robot from operating when the sensors are connected incorrectly. Attached Figure Description
[0019] Figure 1This is a functional block diagram illustrating a functional structural example of the robot system according to the first embodiment.
[0020] Figure 2A It is used for explanation Figure 1 A diagram of the robot's coordinate system.
[0021] Figure 2B It is used for explanation Figure 1 A diagram of the robot's coordinate system.
[0022] Figure 3 This is a functional block diagram representing a functional structural example of a control device.
[0023] Figure 4A This is an example of a graph showing a comparison between the sensor data value and the estimated sensor value.
[0024] Figure 4B This is an example of a graph showing a comparison between the sensor data value and the estimated sensor value.
[0025] Figure 5 This is a flowchart illustrating the abnormal judgment and handling process of the control device.
[0026] Figure 6 This is a functional block diagram illustrating a functional structural example of the robot system according to the second embodiment.
[0027] Figure 7 This is a functional block diagram representing a functional structural example of a control device.
[0028] Figure 8 This is a flowchart illustrating the abnormal judgment and handling process of the control device.
[0029] Figure 9 This is a functional block diagram illustrating a functional structural example of the robot system according to the third embodiment.
[0030] Figure 10 This is a functional block diagram representing a functional structural example of a control device.
[0031] Figure 11 This is an example of a graph showing a comparison between the sensor data value and the estimated sensor value.
[0032] Figure 12 This is a flowchart explaining the appropriate sensor determination and processing of the control device.
[0033] Figure 13 This is a functional block diagram representing a functional structural example of a control device.
[0034] Figure 14 This is a flowchart explaining the appropriate sensor determination and processing of the control device.
[0035] Figure 15 This is a functional block diagram representing a functional structural example of a robot system. Detailed Implementation
[0036] <First Implementation Method>
[0037] The structure of this embodiment is described in detail with reference to the accompanying drawings. Here, a wireless accelerometer sensor is illustrated as an example of a sensor. Furthermore, the present invention can also be applied to sensors such as gyroscope sensors and inertial sensors, and to smart devices such as smartphones that include one or more sensors as sensors.
[0038] Figure 1 This is a functional block diagram illustrating a functional structural example of the robot system according to the first embodiment.
[0039] like Figure 1 As shown, the robot system 1 has n robots 10(1) to 10(n), n control devices 20(1) to 20(n) and a wireless receiver 30 (n is an integer of 2 or more).
[0040] Robots 10(1) to 10(n), control devices 20(1) to 20(n), and wireless receiver 30 can also be directly connected to each other via a connection interface not shown. Alternatively, robots 10(1) to 10(n) and control devices 20(1) to 20(n) can also be connected to each other via a network such as a LAN (Local Area Network). In this case, robots 10(1) to 10(n) and control devices 20(1) to 20(n) can also have a communication unit (not shown) for communicating with each other via this connection.
[0041] Furthermore, in the following, unless it is necessary to distinguish each of the robots 10(1) to 10(n) individually, they will be collectively referred to as "robot 10". Also, unless it is necessary to distinguish each of the control devices 20(1) to 20(n) individually, they will be collectively referred to as "control device 20".
[0042] <Robot 10>
[0043] For example, such as Figure 1As shown, robot 10 is a 6-axis vertical articulated robot with 6 articulated axes 11(1) to 11(6) and an arm 12 connected to each of the articulated axes 11(1) to 11(6). Based on drive commands from the control device 20, robot 10 drives movable parts such as the arm 12 by driving servo motors (not shown) respectively disposed on the articulated axes 11(1) to 11(6). Furthermore, an end effector 13, such as a welding torch, a gripper, or a laser irradiation device, is mounted at the front end of the movable parts of robot 10, for example, at the front end of articulated axis 11(6). Moreover, a wireless accelerometer 101 is provided on the end effector 13.
[0044] In addition, robot 10 is set as a 6-axis vertical multi-joint robot, but it can also be a vertical multi-joint robot with more than 6 axes, or a horizontal multi-joint robot, a parallel linkage robot, etc.
[0045] Figure 2A and Figure 2B It is used for explanation Figure 1 A diagram of the coordinate system of robot 10.
[0046] like Figure 2A As shown, robot 10 has a robot reference point 14 and a robot coordinate system Σr centered on robot reference point 14. Additionally, wireless accelerometer 101 has a sensor reference point 111 and a sensor coordinate system Σs centered on sensor reference point 111.
[0047] In addition, such as Figure 2B As shown, the flange at the front end of the joint axis 11 (6) of the robot 10 has a robot front end point 15 and a mechanical interface coordinate system Σm centered on the robot front end point 15.
[0048] The positional relationship between the mechanical interface coordinate system Σm and the sensor coordinate system Σs can be defined in the mechanical interface coordinate system Σm using six elements: the vector (x, y, z) from the origin of the mechanical interface coordinate system Σm to the origin of the sensor coordinate system Σs, the rotation angle (w, p, r) of the mechanical interface coordinate system Σm about each axis, and the rotation angle (w, p, r) of the direction of the sensor coordinate system Σs. Furthermore, the vector (x, y, z) and the rotation angle (w, p, r) can be obtained using known methods (e.g., Japanese Patent Application Laid-Open No. 2017-74647).
[0049] Therefore, the control device 20 described later uses vectors (x, y, z) and rotation angles (w, p, r) to calculate the distance from the robot front end point 15 of joint axis 11 (6) to the origin of sensor coordinate system Σs, thereby enabling the position of wireless acceleration sensor 101 in robot coordinate system Σr to be calculated based on the coordinates and angles recorded in the robot's motion program.
[0050] The wireless accelerometer 101 is, for example, a three-dimensional accelerometer that periodically detects acceleration along each XYZ axis of a sensor coordinate system Σs in the front end of a movable part accompanying the movement of the robot 10 at a predetermined sampling time. The wireless accelerometer 101 has a clock unit (not shown), from which time information output each time acceleration is detected is acquired as the detected time. Furthermore, the wireless accelerometer 101 wirelessly transmits, for example, a sensor signal containing the detected acceleration along each axis and time information to a wireless receiver 30.
[0051] In addition, the wireless accelerometer 101 wirelessly transmits the sensor signal containing the detected acceleration and time information to the wireless receiver 30, but it can also be connected to the control device 20 via a wired connection to transmit the sensor signal to the control device 20.
[0052] Furthermore, the wireless accelerometer 101 is not limited to an accelerometer; it can also be a gyroscope, inertial sensor, force sensor, laser tracker, vision sensor, or motion capture sensor, etc. Additionally, the wireless accelerometer 101 can also be a smart device such as a smartphone that includes multiple sensors, including an accelerometer.
[0053] <Wireless Receiver 30>
[0054] The wireless receiver 30, such as a WiFi (registered trademark) router, receives sensor signals from the wireless accelerometer 101 and outputs the received sensor signals to the control device 20.
[0055] Furthermore, the communication standard for wireless communication is not limited to WiFi (registered trademark); it can also utilize radio waves such as Bluetooth (registered trademark) or infrared communication. Moreover, the wireless receiver 30 preferably uses a module compatible with the communication standard.
[0056] <Control Device 20>
[0057] The control device 20 is a control device (also called a "robot controller") that performs learning control using acceleration detected by the wireless acceleration sensor 101, thereby outputting drive commands to the robot 10 based on the action program in a way that reduces vibration generated in the arm 12 of the robot 10 during movement, and controlling the movement of the robot 10.
[0058] Figure 3 This is a functional block diagram representing a functional structural example of the control device 20.
[0059] like Figure 3As shown, the control device 20 of this embodiment is connected to a teach pendant 25 and includes a sensor coordinate storage unit 201, a sensor setting storage unit 202, an axis angle detection unit 203, a sensor value estimation unit 204, a sensor data receiving unit 205, and a sensor value anomaly determination unit 206. Furthermore, the teach pendant 25 includes a user notification unit 251 and a user input unit 252.
[0060] In addition, in order to achieve Figure 3 The control device 20 includes an arithmetic processing unit (not shown) such as a CPU (Central Processing Unit) to control the operation of the function blocks. Additionally, the control device 20 includes auxiliary storage devices (not shown) such as ROM (Read Only Memory) and HDD (Hard Disk Drive) that store various control programs, and a main storage device (not shown) such as RAM (Random Access Memory) that stores data temporarily needed by the arithmetic processing unit when executing programs.
[0061] Then, in the control device 20, the arithmetic processing unit reads the OS and application software from the auxiliary storage device, expands the read OS and application software in the main storage device, and performs arithmetic processing based on these OS and application software. Based on the processing results, the control device 20 controls each piece of hardware. Thus, [the following is achieved]... Figure 3 The processing of functional blocks. That is, the control device 20 can achieve this through hardware and software collaboration.
[0062] The sensor coordinate storage unit 201 is a memory such as RAM, which stores coordinate system information related to the sensor coordinate system Σs of the wireless accelerometer 101, which is preset based on the user input operation via the user input unit 252 of the teaching operation panel 25 (described later).
[0063] Specifically, the sensor coordinate storage unit 201 stores the vector (x, y, z) from the origin of the mechanical interface coordinate system Σm to the origin of the sensor coordinate system Σs, which is required to calculate the position and attitude of the wireless accelerometer 101, as well as the rotation angle (w, p, r) that defines the direction of the sensor coordinate system Σs by the rotation of the mechanical interface coordinate system Σm about each axis, as coordinate system information.
[0064] The sensor setting storage unit 202 is a memory such as RAM, which stores setting information related to communication with the wireless acceleration sensor 101 based on user input operations via the user input unit 252 of the teaching operation panel 25 (described later).
[0065] Specifically, the sensor setting storage unit 202 stores the communication address (e.g., IP address, MAC address, etc.) of the wireless accelerometer 101 that is the communication target as setting information.
[0066] The angle detection unit 203 of each axis uses, for example, encoders (not shown) that are respectively arranged on the joint axes 11(1) to 11(6) of the robot 10 to detect the angle of each joint axis 11(1) to 11(6).
[0067] The angle detection unit 203 of each axis outputs the detected angles of the joint axes 11(1) to 11(6) to the sensor value estimation unit 204.
[0068] The sensor value estimation unit 204 estimates the sensor value detected by the wireless accelerometer 101 at the position where the wireless accelerometer 101 is installed by positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection unit 203 of each axis and coordinate transformation of the sensor coordinate system Σs.
[0069] Specifically, the sensor value estimation unit 204 uses the angles of each joint axis 11(1) to 11(6) detected by the angle detection unit 203 to perform a positive transformation to calculate the position and posture of the mechanical interface coordinate system Σm in the robot coordinate system Σr. The sensor value estimation unit 204 uses the coordinate system information of vectors (x, y, z) and rotation angles (w, p, r) stored in the sensor coordinate storage unit 201 to calculate the position of the wireless accelerometer 101 installed in the robot coordinate system Σr. The sensor value estimation unit 204 calculates the acceleration of each axis in the robot coordinate system Σr by performing a second-order differential of the calculated position time data with respect to time, and converts the calculated acceleration into sensor values of the acceleration of each axis in the sensor coordinate system Σs via the mechanical interface coordinate system Σm for estimation. Then, when the robot 10 performs an action, the sensor value estimation unit 204 subtracts the gravitational acceleration component from the sensor value of the acceleration in the estimated sensor coordinate system Σs, and outputs the subtracted sensor value to the sensor value anomaly determination unit 206.
[0070] Furthermore, when the robot 10 is stationary, the sensor value estimation unit 204 may output the sensor value of the estimated acceleration of the sensor coordinate system Σs to the sensor value anomaly determination unit 206 without subtracting the gravitational acceleration.
[0071] The sensor data receiving unit 205 receives sensor data detected by the wireless acceleration sensor 101 based on the setting information stored in the sensor setting storage unit 202.
[0072] Specifically, the sensor data receiving unit 205 pairs with the wireless accelerometer 101 based on the communication address of the setting information stored in the sensor setting storage unit 202. For example, the sensor data receiving unit 205 receives a sensor signal from the sensor signal received via the wireless receiver 30 that includes the communication address of the wireless accelerometer 101 paired with the head of the sensor signal. The sensor data receiving unit 205 outputs the acceleration of each axis of the sensor coordinate system Σs contained in the received sensor signal as sensor data to the sensor value anomaly determination unit 206.
[0073] In addition, when the sensor data receiving unit 205 outputs sensor data to the sensor value anomaly determination unit 206, it can remove noise through a low-pass filter (not shown) and then output the data.
[0074] The sensor value anomaly determination unit 206 compares the sensor data value from the sensor data receiving unit 205 with the sensor value estimated by the sensor value estimation unit 204 for each axis of the sensor coordinate system Σs. If the largest difference between the sensor data value and the estimated sensor value for each axis exceeds a preset threshold (e.g., "2 m / s"), the sensor value anomaly determination unit 206 determines the anomaly. 2 In cases such as "etc.", the sensor data receiving unit 205 determines that it has received sensor data from the wireless accelerometer 101 configured on the other robot 10. The sensor value anomaly determination unit 206 outputs the determination result to the user notification unit 251 of the teaching operation panel 25, which will be described later.
[0075] Figure 4A and Figure 4B This is an example graph showing a comparison between the sensor data value and the estimated sensor value. Furthermore, Figure 4A This indicates a normal situation where, for example, the difference between the sensor data value in the X-axis direction of the sensor coordinate system Σs during robot movement and the estimated sensor value is below a threshold. Additionally, Figure 4B This indicates an abnormal situation where the difference between the sensor data value in the X-axis direction of the sensor coordinate system Σs during robot movement and the estimated sensor value exceeds a threshold.
[0076] Furthermore, the sensor value anomaly determination unit 206 calculates the difference between the sensor data value and the estimated sensor value for each axis of the sensor coordinate system Σs, and compares the calculated difference with a preset threshold, but is not limited to this. For example, the sensor value anomaly determination unit 206 may also calculate the difference between the magnitude of the vector of sensor data values for each axis of the sensor coordinate system Σs and the magnitude of the vector of sensor values estimated from each axis of the sensor coordinate system Σs, and compare the calculated difference with the threshold.
[0077] Alternatively, a predetermined function with the acceleration of each axis of the sensor coordinate system Σs as a variable can be used. The sensor value anomaly determination unit 206 calculates the difference between the value calculated by inputting the sensor data values of each axis of the sensor coordinate system Σs into the predetermined function and the value calculated by inputting the sensor values estimated from each axis of the sensor coordinate system Σs into the predetermined function, and compares the calculated difference with a threshold.
[0078] Based on the determination result of the sensor value anomaly determination unit 206, the user notification unit 251 outputs the sensor data value to notify an alarm of the anomaly.
[0079] Specifically, if the sensor data value is abnormal, the user notification unit 251 will display an alarm indicating the abnormality on a display unit such as an LCD screen included in the teach pendant 25.
[0080] In addition, the user notification unit 251 can also output the setting information set in the sensor setting storage unit 202 and the value of the sensor data received by the sensor data receiving unit 205 together with the alarm.
[0081] This allows the user to check whether the setting information stored in the sensor setting storage unit 202 is incorrect, or whether the wireless accelerometer 101 is malfunctioning. If the setting information is incorrect, the user can reset the correct setting information via the user input unit 252 of the teach pendant 25 (described later). Furthermore, if the wireless accelerometer 101 malfunctions, the user can quickly address the abnormal sensor values by replacing it with a new one.
[0082] In addition, the user notification unit 251 is configured on the teaching operation panel 25, but it can also be configured on the control device 20.
[0083] The user input unit 252, such as the operation keys or touch panel configured on the teach pendant 25, receives input from the user, including the setting of the sensor coordinate system Σs and the communication address of the wireless accelerometer 101. The user input unit 252 outputs the received input to the control device 20.
[0084] In addition, the user input unit 252 is configured on the teaching operation panel 25, but it can also be configured on the control device 20.
[0085] <Abnormal detection and handling of control device 20>
[0086] Next, refer to Figure 5 The procedure for handling abnormalities in control device 20 is explained.
[0087] Figure 5This is a flowchart illustrating the anomaly detection and handling process of the control device 20. The process shown here is executed each time the user sets the sensor coordinate system Σs of the wireless accelerometer 101.
[0088] In step S1, the user input unit 252, based on the user's input operation, sets the vector (x, y, z) from the origin of the mechanical interface coordinate system Σm to the origin of the sensor coordinate system Σs of the wireless accelerometer 101, and the rotation angles (w, p, r) that define the direction of the sensor coordinate system Σs by rotating the mechanical interface coordinate system Σm around each axis, as coordinate system information, and stores them in the sensor coordinate storage unit 201. Additionally, the user input unit 252, based on the user's input operation, sets the communication address of the wireless accelerometer 101 as setting information, and stores it in the sensor setting storage unit 202.
[0089] In step S2, when the learning control starts, the wireless accelerometer 101 begins to measure the acceleration of each axis of the sensor coordinate system Σs. The sensor data receiving unit 205 receives sensor signals containing the acceleration of each axis of the sensor coordinate system Σs measured by the wireless receiver 30, and obtains the received acceleration of each axis of the sensor coordinate system Σs as sensor data.
[0090] In step S3, the sensor value estimation unit 204 estimates the sensor values of each axis of the sensor coordinate system Σs at the location where the wireless accelerometer 101 is installed by using the posture of the robot 10 obtained by the positive transformation of the angles of the joint axes 11(1) to 11(6) before the robot 10 moves (when the robot 10 is stationary) detected by the angle detection unit 203 of each axis, and the coordinate transformation of the sensor coordinate system Σs.
[0091] Furthermore, in step S3, regardless of whether the action program is executed, the sensor value estimation unit 204 preferably estimates the sensor value (gravitational acceleration) before the robot 10 moves (when the robot 10 is stationary).
[0092] In step S4, the sensor value anomaly determination unit 206 determines whether the difference between the sensor data value obtained in step S2 and the sensor value estimated in step S3 is below a threshold value across all axes of the sensor coordinate system Σs. If the difference between the sensor data value and the estimated sensor value is below the threshold value across all axes of the sensor coordinate system Σs, the process proceeds to step S6. On the other hand, if the difference between the sensor data value and the estimated sensor value is not below the threshold value across all axes of the sensor coordinate system Σs, the process proceeds to step S5.
[0093] In step S5, the sensor value anomaly determination unit 206 outputs the determination result of sensor data anomaly to the user notification unit 251, and the user notification unit 251 displays an alarm on the display unit (not shown) of the teaching operation panel 25. Then, the process returns to step S1.
[0094] In step S6, the sensor value estimation unit 204 estimates the sensor values of each axis of the sensor coordinate system Σs at the location where the wireless accelerometer 101 is installed by using the position and posture of the robot 10 obtained by the positive transformation of the angles of the joint axes 11(1) to 11(6) of the robot 10 when it moves, which are detected by the angle detection unit 203 of each axis, and the coordinate transformation of the sensor coordinate system Σs.
[0095] Furthermore, the actions of robot 10 can be actual actions during operation, or pre-set actions such as translation of the robot coordinate system Σr relative to the X-axis and Y-axis.
[0096] In step S7, the sensor value anomaly determination unit 206 determines whether the difference between the sensor data value obtained by the sensor data receiving unit 205 and the sensor value estimated in step S6 is below a threshold across all axes of the sensor coordinate system Σs. If the difference between the sensor data value and the estimated sensor value is below the threshold across all axes of the sensor coordinate system Σs, the process proceeds to step S8. On the other hand, if the difference between the sensor data value and the estimated sensor value is not below the threshold across all axes of the sensor coordinate system Σs, the process proceeds to step S5.
[0097] In step S8, if there is no abnormality in the sensor value, the control device 20 (sensor value anomaly determination unit 206) determines that it is normal and continues to control the robot 10 based on the learning control action program.
[0098] As described above, the control device 20 of the first embodiment can prevent the robot from operating under conditions where the wireless accelerometer 101 is connected incorrectly by changing the setting of the communication address of the wireless accelerometer 101.
[0099] Furthermore, before and during the operation of the robot 10, the control device 20 detects abnormalities in the sensor data by comparing the sensor data values with the estimated sensor values, and notifies the user of any detected abnormalities. Thus, the control device 20 can reduce unnecessary time spent preventing the robot 10 from continuing to control itself if the wireless accelerometer 101 is misconfigured, and can prevent unintended control of the robot 10 due to misconfigurations of the wireless accelerometer 101 (e.g., vibration-induced movements).
[0100] The first embodiment has been described above.
[0101] <Second Implementation Method>
[0102] Next, the second embodiment will be described. In the first embodiment, the control device 20 estimates the sensor values of each axis of the sensor coordinate system Σs at the location of the wireless accelerometer 101 by obtaining the position and posture of the robot 10 based on the positive transformation of the angles of the joint axes 11(1) to 11(6) of the robot 10, and the coordinate transformation of the sensor coordinate system Σs. It then determines whether the difference between the sensor data value detected by the wireless accelerometer 101 and the estimated sensor value is below a threshold in all axes of the sensor coordinate system Σs, thereby notifying the user of an abnormality in the sensor data (connection error of the wireless accelerometer 101). In contrast, in the second embodiment, the difference from the first embodiment is that the control device 20A calculates the position and posture of the robot 10 based on the positive transformation of the angles of the joint axes 11(1) to 11(6) of the robot 10, and the coordinate transformation of the sensor coordinate system Σs, and estimates the movement distance and movement direction vector of the wireless accelerometer 101 in the robot coordinate system Σr as physical quantities. Based on the sensor data received by the sensor data receiving unit, it calculates the movement distance and movement direction vector of the wireless accelerometer 101 in the robot coordinate system Σr as physical quantities, and determines whether all components of the difference between the movement vector of the physical quantity calculated based on the sensor data and the movement vector of the estimated physical quantity are below a threshold.
[0103] Therefore, the control device 20A of the second embodiment can prevent the robot from operating when the sensor connection is incorrect.
[0104] The second embodiment will be described below.
[0105] Figure 6 This is a functional block diagram illustrating an example of the functional structure of the robot system according to the second embodiment. Furthermore, for systems having... Figure 1 Elements of the same function in robot system 1 are labeled with the same symbols, and detailed descriptions are omitted.
[0106] like Figure 6 As shown, the robot system 1A has n robots 10(1) to 10(n), n control devices 20A(1) to 20A(n) and a wireless receiver 30.
[0107] Hereinafter, without needing to distinguish between the control devices 20A(1) to 20A(n) individually, they will be collectively referred to as "control device 20A".
[0108] The robot 10, the wireless accelerometer 101, and the wireless receiver 30 have the same structure as the robot 10, the wireless accelerometer 101, and the wireless receiver 30 in the first embodiment.
[0109] <Control Device 20A>
[0110] Figure 7 This is a functional block diagram representing a functional structural example of the control device 20A.
[0111] like Figure 7 As shown, the control device 20A is connected to the teach pendant 25 and includes a sensor coordinate storage unit 201, a sensor setting storage unit 202, an axis angle detection unit 203, a sensor data receiving unit 205, a sensor value anomaly determination unit 206a, a sensor physical quantity estimation unit 207, and a sensor physical quantity calculation unit 208. Additionally, the teach pendant 25 includes a user notification unit 251 and a user input unit 252.
[0112] The sensor coordinate storage unit 201, sensor setting storage unit 202, each axis angle detection unit 203, and sensor data receiving unit 205 have the same functions as the sensor coordinate storage unit 201, sensor setting storage unit 202, each axis angle detection unit 203, and sensor data receiving unit 205 in the first embodiment.
[0113] In addition, the user notification unit 251 and the user input unit 252 have the same functions as the user notification unit 251 and the user input unit 252 in the first embodiment.
[0114] The sensor physical quantity estimation unit 207 estimates the physical quantities related to the wireless acceleration sensor 101 by positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection unit 203 of each axis and coordinate transformation of the sensor coordinate system Σs.
[0115] Specifically, the sensor physical quantity estimation unit 207 uses, for example, the angles of the joint axes 11(1) to 11(6) detected by the angle detection units 203 to perform a positive transformation to calculate the position and posture of the mechanical interface coordinate system Σm in the robot coordinate system Σr. The sensor physical quantity estimation unit 207 uses the vector (x, y, z) and rotation angle (w, p, r) stored in the sensor coordinate storage unit 201 to estimate the movement vector formed by the movement distance and movement direction of the position where the wireless accelerometer 101 is installed in the robot coordinate system Σr as a physical quantity.
[0116] The sensor physical quantity calculation unit 208 calculates physical quantities based on sensor data of acceleration detected by the wireless accelerometer 101.
[0117] Specifically, the sensor physical quantity calculation unit 208 performs a second-order integral over time on the acceleration time series data of the sensor data received from the sensor data receiving unit 205 to calculate the movement vector of the wireless accelerometer 101 in the robot coordinate system Σr as a physical quantity.
[0118] The sensor value anomaly determination unit 206a compares the movement vector, which is a physical quantity calculated by the sensor physical quantity calculation unit 208, with the movement vector, which is a physical quantity estimated by the sensor physical quantity estimation unit 207. If the largest difference in the XYZ components of the difference between the calculated movement vector and the estimated movement vector exceeds a preset threshold (e.g., "1 mm"), the sensor value anomaly determination unit 206a determines that the sensor data receiving unit 205 has received sensor data from the wireless accelerometer 101 configured on the other robot 10. Then, the sensor value anomaly determination unit 206a outputs the determination result to the user notification unit 251 of the teaching operation panel 25.
[0119] In addition, the sensor value anomaly determination unit 206a may, for example, calculate the difference between the magnitude of the movement vector calculated by the sensor physical quantity calculation unit 208 and the magnitude of the movement vector estimated by the sensor physical quantity estimation unit 207, and compare the calculated difference with a threshold.
[0120] <Abnormal detection and handling of control device 20A>
[0121] Next, refer to Figure 8 The procedure for handling abnormalities in control device 20A is explained.
[0122] Figure 8 This is a flowchart illustrating the anomaly detection and handling process of the control device 20A. The process shown here is executed each time the user sets the sensor coordinate system Σs of the wireless accelerometer 101.
[0123] In addition, Figure 8 In the anomaly detection and processing shown, the processing of steps S1, S2, and S8 is similar to... Figure 5 The processing of steps S1, S2, and S8 in the first embodiment is the same, and the description is omitted.
[0124] In step S3a, the sensor physical quantity estimation unit 207 estimates the movement vector of the position on which the wireless accelerometer 101 is installed as a physical quantity by using the posture of the robot 10 obtained by the positive transformation of the angles of the joint axes 11(1) to 11(6) before the robot 10 moves (when the robot 10 is stationary) detected by the angle detection unit 203 of each axis, and the coordinate transformation of the sensor coordinate system Σs.
[0125] In step S4a, the sensor value anomaly determination unit 206a determines whether all components of the difference between the physical quantity of the movement vector of the wireless accelerometer 101 calculated by the sensor physical quantity calculation unit 208 using the sensor data obtained in step S2 and the physical quantity estimated in step S3a are below a threshold. If all components of the difference are below the threshold, the process proceeds to step S6a. On the other hand, if all components of the difference are not below the threshold, the process proceeds to step S5a.
[0126] In step S5a, the sensor value anomaly determination unit 206a outputs the anomaly determination result of the physical quantity to the user notification unit 251, and the user notification unit 251 displays an alarm on the display unit (not shown) of the teaching operation panel 25. Then, the process returns to step S1.
[0127] In step S6a, the sensor physical quantity estimation unit 207 estimates the movement vector of the position on which the wireless accelerometer 101 is installed as a physical quantity by calculating the position and posture of the robot 10 based on the positive transformation of the angles of the joint axes 11(1) to 11(6) of the robot 10 when it moves, which are detected by the angle detection unit 203 of each axis, and the coordinate transformation of the sensor coordinate system Σs.
[0128] In step S7a, the sensor value anomaly determination unit 206a determines whether all components of the difference between the physical quantity of the movement vector calculated by the sensor physical quantity calculation unit 208 and the physical quantity of the movement vector estimated in step S6a are below a threshold. If all components of the difference are below the threshold, the process proceeds to step S8. On the other hand, if all components of the difference are not below the threshold, the process proceeds to step S5a.
[0129] As described above, the control device 20A of the second embodiment can prevent the robot 10 from operating when the wireless accelerometer 101 is connected incorrectly by changing the setting of the communication address of the wireless accelerometer 101.
[0130] Furthermore, before and during the operation of the robot 10, the control device 20A detects anomalies in the sensor data by comparing the physical quantities calculated from the sensor data with the estimated physical quantities, and notifies the user of any detected anomalies. Thus, the control device 20A can reduce unnecessary operating time spent preventing the robot 10 from continuing to control it under conditions of incorrect setting of the wireless accelerometer 101, and can prevent unintended control of the robot 10 due to incorrect setting of the wireless accelerometer 101 (e.g., vibration-induced divergent movements).
[0131] The second embodiment has been described above.
[0132] <Third Implementation Method>
[0133] Next, the third embodiment will be described. Furthermore, the control device 20B of the third embodiment differs from that of the first embodiment in the following aspects.
[0134] (1) The control device 20B of the third embodiment receives sensor data detected by wireless acceleration sensors 101 respectively disposed on a plurality of robots 10 containing a robot 10.
[0135] (2) The control device 20B of the third embodiment compares the sensor data of the wireless acceleration sensor 101 of each robot 10 with the sensor value of the position of the wireless acceleration sensor 101 estimated by the positive transformation of the angle of each axis of the robot 10 under control and the coordinate transformation of the sensor coordinate system, and determines the sensor that the difference between the estimated value and the sensor is greater than a preset threshold as a sensor of the robot 10 other than the robot 10 under control.
[0136] Therefore, the control device 20B of the third embodiment can prevent the robot from operating when the sensor connection is incorrect.
[0137] The third embodiment will be described below.
[0138] Figure 9 This is a functional block diagram illustrating a functional structural example of the robot system according to the third embodiment. Furthermore, for systems having... Figure 1 Elements of the same function in robot system 1 are labeled with the same symbols, and detailed descriptions are omitted.
[0139] like Figure 9 As shown, the robot system 1B has n robots 10(1) to 10(n), n control devices 20B(1) to 20B(n) and a wireless receiver 30.
[0140] Hereinafter, without needing to distinguish between the control devices 20B(1) to 20B(n) individually, they will be collectively referred to as "control device 20B".
[0141] The robot 10, the wireless accelerometer 101, and the wireless receiver 30 have the same structure as the robot 10, the wireless accelerometer 101, and the wireless receiver 30 in the first embodiment.
[0142] <Control Device 20B>
[0143] Figure 10 This is a functional block diagram representing a functional structural example of the control device 20B(1). Furthermore, in Figure 10The example shown is a functional structure of control device 20B(1), but control devices 20B(2) to 20B(n) are also the same as control device 20B(1).
[0144] like Figure 10 As shown, the control device 20B(1) is connected to the teaching operation panel 25 and includes a sensor coordinate storage unit 201, a sensor setting storage unit 202, an axis angle detection unit 203, a sensor value estimation unit 204, a sensor data receiving unit 205b, and an appropriate sensor determination unit 209. Additionally, the teaching operation panel 25 includes a user notification unit 251 and a user input unit 252.
[0145] The sensor coordinate storage unit 201, sensor setting storage unit 202, axis angle detection unit 203, and sensor value estimation unit 204 have the same functions as those of the sensor coordinate storage unit 201, sensor setting storage unit 202, axis angle detection unit 203, and sensor value estimation unit 204 in the first embodiment.
[0146] In addition, the user notification unit 251 and the user input unit 252 have the same functions as the user notification unit 251 and the user input unit 252 in the first embodiment.
[0147] The sensor data receiving unit 205b receives sensor signals containing acceleration detected by the wireless accelerometer 101 of the robot 10(1) being controlled, and also receives sensor signals containing acceleration detected by the wireless accelerometers 101 respectively disposed on robots 10(2) to 10(n). That is, the wireless accelerometers 101 disposed on each robot 10 may transmit sensor signals, for example, via multicast. In this case, the sensor data receiving unit 205b may not need to refer to the setting information of the sensor setting storage unit 202.
[0148] The sensor data receiving unit 205b outputs the acceleration of each axis of the sensor coordinate system Σs contained in the sensor signals received from each wireless accelerometer 101 as sensor data to the appropriate sensor determination unit 209. Furthermore, the sensor data receiving unit 205b can also remove noise using a low-pass filter (not shown) before outputting the sensor data from each wireless accelerometer 101 to the appropriate sensor determination unit 209.
[0149] The appropriate sensor determination unit 209 compares the sensor data values of the wireless accelerometers 101 of each robot 10(1) to 10(n) from the sensor data receiving unit 205b with the sensor values estimated by the sensor value estimation unit 204 for each axis of the sensor coordinate system Σs. The appropriate sensor determination unit 209 determines the appropriate sensor based on whether the largest difference between the sensor data values of the wireless accelerometers 101 of each robot 10(1) to 10(n) and the estimated sensor values for each axis exceeds a preset threshold (e.g., "2 m / s"). 2 The wireless acceleration sensor 101, which receives sensor data from sensors such as "etc.", is determined to be an inappropriate sensor of the robot 10 other than the robot 10(1) being controlled.
[0150] On the other hand, the appropriate sensor determination unit 209 determines the maximum difference within a preset threshold (e.g., "2 m / s"). 2 The wireless accelerometer 101, whose sensor data is within the range of "etc.", is determined to be an appropriate sensor for the robot 10(1) to be controlled. The appropriate sensor determination unit 209 outputs the determination result to the user notification unit 251 of the teaching operation panel 25. In this case, the user input unit 252 may also set the communication address of the appropriate wireless accelerometer 101 as setting information and store it in the sensor setting storage unit 202 based on the display of the user notification unit 251 and the user's input operation.
[0151] Figure 11 This is a graph illustrating an example of comparing sensor data values with estimated sensor values. Furthermore, in Figure 11 For example, the values of sensor data in the X-axis direction of the sensor coordinate system Σs and the estimated sensor values are shown when the robot is moving, detected by wireless accelerometers 101 respectively configured on the robot 10(1) to 10(3).
[0152] Furthermore, the appropriate sensor determination unit 209 calculates the difference between the sensor data value and the estimated sensor value for each axis of the sensor coordinate system Σs, and compares the calculated difference with a preset threshold, but is not limited to this. For example, the appropriate sensor determination unit 209 may also calculate the difference between the magnitude of the vector of sensor data values for each axis of the sensor coordinate system Σs and the magnitude of the vector of sensor values estimated from each axis of the sensor coordinate system Σs, and compare the calculated difference with the threshold.
[0153] Alternatively, a predetermined function with the acceleration of each axis of the sensor coordinate system Σs as a variable can be used. The appropriate sensor determination unit 209 calculates the difference between the value calculated by inputting the sensor data values of each axis of the sensor coordinate system Σs into the predetermined function and the value calculated by inputting the estimated sensor values of each axis of the sensor coordinate system Σs into the predetermined function, and compares the calculated difference with a threshold.
[0154] <Appropriate sensor determination processing of control device 20B>
[0155] Next, refer to Figure 12 The appropriate sensor determination process of control device 20B will be explained. In addition, the appropriate sensor determination process of control device 20B(1) will be explained below, but the cases of control devices 20B(2) to 20B(n) are the same as those of control device 20B(1), and the explanation will be omitted.
[0156] Figure 12 This is a flowchart illustrating the appropriate sensor determination process of the control device 20B. The process shown here is executed each time the user sets the sensor coordinate system Σs of the wireless accelerometer 101.
[0157] In step S11, the user input unit 252 sets the vector (x, y, z) from the origin of the mechanical interface coordinate system Σm to the origin of the sensor coordinate system Σs of the wireless accelerometer 101, and the rotation angle (w, p, r) of the mechanical interface coordinate system Σm about each axis as coordinate system information according to the user's input operation, and stores it in the sensor coordinate storage unit 201.
[0158] In step S12, when the learning control begins, the wireless accelerometer 101 of each robot 10(1) to 10(n) starts measuring the acceleration of each axis of the sensor coordinate system Σs. The sensor data receiving unit 205b receives sensor signals containing the acceleration of each axis of the sensor coordinate system Σs measured by the wireless accelerometer 101 of each robot 10 (1) containing the controlled object, via the wireless receiver 30, and obtains the acceleration of each axis of the sensor coordinate system Σs in the received sensor signals as sensor data.
[0159] In step S13, similar to step S3 in the first embodiment, the sensor value estimation unit 204 estimates the sensor values of each axis of the sensor coordinate system Σs at the location where the wireless accelerometer 101 is installed by using the posture of the robot 10(1) obtained by the positive transformation of the angles of the joint axes 11(1) to 11(6) of the robot 10(1) before the robot 10(1) moves (when the robot 10(1) is stationary) detected by the axis angle detection unit 203 and the coordinate transformation of the sensor coordinate system Σs.
[0160] Furthermore, in step S13, regardless of whether the action program is executed, the sensor value estimation unit 204 preferably estimates the sensor value (gravitational acceleration) before the robot 10(1) moves (when the robot 10(1) is stationary).
[0161] In step S14, the appropriate sensor determination unit 209 determines whether there exists an appropriate wireless accelerometer 101 whose difference between the sensor data value of each robot 10's wireless accelerometer 101 obtained in step S12 and the sensor value estimated in step S13 is below a threshold value across all axes of the sensor coordinate system Σs. If an appropriate wireless accelerometer 101 exists, the process proceeds to step S16. On the other hand, if no appropriate wireless accelerometer 101 exists, the process proceeds to step S15.
[0162] In step S15, the appropriate sensor determination unit 209 outputs a determination result indicating that there is no appropriate wireless accelerometer sensor 101 to the user notification unit 251, which then displays an alarm on the display unit (not shown) of the teaching operation panel 25. The process then returns to step S11.
[0163] In step S16, the sensor value estimation unit 204 estimates the sensor values of each axis of the sensor coordinate system Σs at the location where the wireless accelerometer 101 is installed by calculating the position and posture of the robot 10(1) and the coordinate transformation of the sensor coordinate system Σs based on the positive transformation of the joint axes 11(1) to 11(6) of the robot 10(1) when it moves, as detected by the axis angle detection unit 203.
[0164] In addition, the actions of robot 10(1) can be actual actions in the operation, or predetermined actions such as translation of the robot coordinate system Σr relative to the X-axis and Y-axis.
[0165] In step S17, the appropriate sensor determination unit 209 determines whether there exists an appropriate wireless accelerometer 101 where the difference between the sensor data value of each wireless accelerometer 101 of the robot 10 (1) containing the controlled object, obtained by the sensor data receiving unit 205b, and the sensor value estimated in step S16, is below a threshold value across all axes of the sensor coordinate system Σs. If an appropriate wireless accelerometer 101 exists, the process proceeds to step S18. On the other hand, if no appropriate wireless accelerometer 101 exists, the process proceeds to step S15.
[0166] In step S18, the user input unit 252 sets the communication address of the appropriate wireless accelerometer 101 as setting information and stores it in the sensor setting storage unit 202 according to the user's input operation, and pairs it with the appropriate wireless accelerometer 101. Then, the control device 20B(1) continues to control the robot 10 based on the learning control action program.
[0167] As described above, the control device 20B of the third embodiment, by pairing with a suitable wireless acceleration sensor 101 configured on each robot 10 whose difference between the sensor data value and the estimated sensor value is below a threshold in all axes of the sensor coordinate system Σs, i.e., the wireless acceleration sensor 101 configured on the robot 10 to be controlled, can prevent the robot from operating under a state of incorrect connection of the wireless acceleration sensor 101 and can arbitrarily switch the connection settings.
[0168] Furthermore, before and during the operation of the robot 10, the control device 20B determines whether a suitable wireless accelerometer 101 is present by comparing the sensor data values of the wireless accelerometers 101 configured on each robot 10 with the estimated sensor values. If no suitable wireless accelerometer 101 is present, an alarm is issued to the user. Thus, the control device 20B can reduce unnecessary operating time spent preventing the robot 10 from continuing to control it when an inappropriate wireless accelerometer 101 is set, and can prevent unintended control of the robot 10 (e.g., vibration-induced movements) caused by incorrect setting of the wireless accelerometer 101.
[0169] The third embodiment has been described above.
[0170] <Fourth Implementation Method>
[0171] Next, the fourth embodiment will be described. Furthermore, the control device 20B of the fourth embodiment differs from that of the first embodiment in the following aspects.
[0172] (1) The control device 20B of the fourth embodiment receives sensor data detected by wireless acceleration sensors 101 respectively disposed on a plurality of robots 10 containing a robot 10.
[0173] (2) The control device 20B of the fourth embodiment compares the physical quantity calculated based on the sensor data of the wireless acceleration sensor 101 of each robot 10 with the physical quantity estimated by the positive transformation of the angle of each axis of the robot 10 under control and the coordinate transformation of the sensor coordinate system, and determines the sensor that the difference between the physical quantity and the estimated physical quantity exceeds a preset threshold as a sensor of the robot 10 other than the robot 10 under control.
[0174] Therefore, the control device 20B of the fourth embodiment can prevent the robot from operating when the sensor connection is incorrect.
[0175] The fourth embodiment will now be described.
[0176] The robot system of the fourth embodiment and Figure 9 The same symbols are used for elements that have the same functions as those in Robot System 1B, and detailed descriptions are omitted.
[0177] The robot 10, the wireless accelerometer 101, and the wireless receiver 30 have the same structure as the robot 10, the wireless accelerometer 101, and the wireless receiver 30 in the third embodiment.
[0178] <Control Device 20B>
[0179] Figure 13 This is a functional block diagram representing a functional structural example of the control device 20B(1). Furthermore, in Figure 13 The example shown is a functional structure of control device 20B(1), but control devices 20B(2) to 20B(n) are also the same as control device 20B(1).
[0180] like Figure 13 As shown, the control device 20B(1) is connected to the teach pendant 25 and includes a sensor coordinate storage unit 201, a sensor setting storage unit 202, an axis angle detection unit 203, a sensor data receiving unit 205b, a sensor physical quantity estimation unit 207, a sensor physical quantity calculation unit 208b, and an appropriate sensor determination unit 209b. Additionally, the teach pendant 25 includes a user notification unit 251 and a user input unit 252.
[0181] The sensor coordinate storage unit 201, the sensor setting storage unit 202, and the axis angle detection unit 203 have the same functions as the sensor coordinate storage unit 201, the sensor setting storage unit 202, and the axis angle detection unit 203 in the first embodiment.
[0182] In addition, the sensor physical quantity estimation unit 207 has the same function as the sensor physical quantity estimation unit 207 in the second embodiment.
[0183] In addition, the sensor data receiving unit 205b has the same function as the sensor data receiving unit 205b in the third embodiment.
[0184] In addition, the user notification unit 251 and the user input unit 252 have the same functions as the user notification unit 251 and the user input unit 252 in the first embodiment.
[0185] The sensor physical quantity calculation unit 208b calculates physical quantities based on sensor data of acceleration detected by the wireless acceleration sensors 101 of each robot 10 (1) containing the controlled object.
[0186] Specifically, the sensor physical quantity calculation unit 208b performs a second-order integral over time on the acceleration time data of each wireless accelerometer 101 sensor data received from the sensor data receiving unit 205b to calculate the movement vector of the wireless accelerometer 101 in the robot coordinate system Σr as a physical quantity.
[0187] The appropriate sensor determination unit 209b compares the physical quantity calculated by the sensor physical quantity calculation unit 208b, i.e., the movement vector of each wireless accelerometer 101, with the physical quantity estimated by the sensor physical quantity estimation unit 207, i.e., the movement vector. The appropriate sensor determination unit 209b determines the wireless accelerometer 101 whose sensor data has a maximum difference in the XYZ components of the difference between the movement vector calculated by each wireless accelerometer 101 and the estimated movement vector, exceeding a preset threshold (e.g., "1 mm"). The appropriate sensor determination unit 209b determines the wireless accelerometer 101 as an inappropriate sensor for the robot 10 other than the robot 10(1) to be controlled.
[0188] On the other hand, the appropriate sensor determination unit 209b determines that the wireless accelerometer 101, whose maximum difference component is within a preset threshold (e.g., "1 mm"), is an appropriate sensor for the robot 10(1) being controlled. The appropriate sensor determination unit 209b outputs the determination result to the user notification unit 251 of the teaching operation panel 25. In this case, the user input unit 252 may also set the communication address of the appropriate wireless accelerometer 101 as setting information and store it in the sensor setting storage unit 202 based on the display of the user notification unit 251 and the user's input operation.
[0189] <Appropriate sensor determination processing of control device 20B>
[0190] Next, refer to Figure 14 The appropriate sensor determination process for control device 20B will be explained. In addition, the appropriate sensor determination process for control device 20B(1) will be explained below, but the process for control devices 20B(2) to 20B(n) is the same as that for control device 20B(1), and will be omitted.
[0191] Figure 14 This is a flowchart illustrating the appropriate sensor determination process of the control device 20B. The process shown here is executed each time the user sets the sensor coordinate system Σs of the wireless accelerometer 101.
[0192] In addition, Figure 14 In the appropriate sensor determination process shown, the processing of steps S11, S12, S15, and S18 is similar to... Figure 12 The processes of steps S11, S12, S15, and S18 in the third embodiment are the same, and the description is omitted.
[0193] In step S13a, the sensor physical quantity estimation unit 207 estimates the movement vector of the position on which the wireless accelerometer 101 is installed as a physical quantity by calculating the posture of the robot 10(1) before the robot 10(1) moves (when the robot 10(1) is stationary) based on the positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection unit 203 of each axis and the coordinate transformation of the sensor coordinate system Σs.
[0194] In step S14a, the appropriate sensor determination unit 209b determines whether there exists an appropriate wireless accelerometer 101 whose physical quantity of the position movement vector of each wireless accelerometer 101 calculated by the sensor physical quantity calculation unit 208b using the sensor data of the wireless accelerometer 101 of each robot 10 (1) containing the controlled object obtained in step S12 is below a threshold value. If an appropriate wireless accelerometer 101 exists, the process proceeds to step S16a. On the other hand, if no appropriate wireless accelerometer 101 exists, the process proceeds to step S15.
[0195] In step S16a, the sensor physical quantity estimation unit 207 estimates the movement vector of the position on which the wireless accelerometer 101 is installed as a physical quantity by calculating the position and posture of the robot 10(1) and the coordinate transformation of the sensor coordinate system Σs based on the positive transformation of the joint axes 11(1) to 11(6) of the robot 10(1) when it moves, which are detected by the axis angle detection unit 203.
[0196] In step S17a, the appropriate sensor determination unit 209b determines whether there exists an appropriate wireless accelerometer 101 whose difference between the physical quantity of the movement vector of each wireless accelerometer 101 calculated by the sensor physical quantity calculation unit 208b and the physical quantity of the movement vector estimated in step S16a is below a threshold. If an appropriate wireless accelerometer 101 exists, the process proceeds to step S18. On the other hand, if no appropriate wireless accelerometer 101 exists, the process proceeds to step S15.
[0197] As described above, the control device 20B of the fourth embodiment, by pairing with a suitable wireless acceleration sensor 101 that is configured on the robot 10 to be controlled, where the difference between the physical quantity calculated using the sensor data of the wireless acceleration sensor 101 configured on each robot 10 and the estimated physical quantity is below a threshold in all components, can prevent the robot 10 from operating in a state where the wireless acceleration sensor 101 is connected incorrectly, and can arbitrarily switch the connection settings.
[0198] Furthermore, before and during the operation of the robot 10, the control device 20B determines whether a suitable wireless accelerometer 101 is present by comparing the physical quantities calculated using sensor data from the wireless accelerometers 101 configured on each robot 10 with the estimated physical quantities. If no suitable wireless accelerometer 101 is present, an alarm is issued to the user. Thus, the control device 20B can reduce unnecessary operating time spent preventing the continued control of the robot 10 when an inappropriate wireless accelerometer 101 is set, and can prevent unintended control of the robot 10 (e.g., vibration-induced movements) caused by incorrect setting of the wireless accelerometer 101.
[0199] The fourth embodiment has been described above.
[0200] The first to fourth embodiments have been described above, but the control device 20 (20A, 20B) is not limited to the above embodiments, and includes variations and improvements within the scope of achieving the purpose.
[0201] <Variation Example 1>
[0202] In the first to fourth embodiments described above, the sensor is a wireless accelerometer 101, but it is not limited to this. For example, a gyroscope sensor may also be configured on the robot 10 as a sensor. In this case, the sensor value detected by the gyroscope sensor is angular velocity. On the other hand, the control device 20 may also use the detected angles of the joint axes 11(1) to 11(6) to perform a positive transformation to calculate the position and posture of the mechanical interface coordinate system Σm in the robot coordinate system Σr, and estimate the sensor value of angular velocity based on the posture change of the robot 10 at this time. It may also estimate the physical quantities of the movement distance and direction (movement vector) of the gyroscope sensor based on the posture change of the robot 10.
[0203] Alternatively, an inertial sensor can also be configured on the robot 10. Furthermore, in the case of an inertial sensor, the control device 20 can operate in the same manner as in the case of the wireless accelerometer sensor 101 and the aforementioned gyroscope sensor.
[0204] Alternatively, a force sensor can be configured on the robot 10 as a sensor. In this case, the control device 20 can also estimate the force vector, which is a physical quantity different from the movement vector, such as the magnitude and direction of the force detected by the force sensor from the robot's internal data, through simulation.
[0205] Alternatively, a laser tracker can also be configured on the robot 10 as a sensor. In this case, the laser tracker can directly measure the motion trajectory, so the control device 20 can also estimate the motion trajectory (position) by using the positive transformation of the angles of each axis of the robot's internal data and the coordinate transformation of the sensor coordinate system Σs.
[0206] Alternatively, motion capture sensors can be configured on robot 10 instead of laser trackers. In this case, control device 20 can operate in the same way as with laser trackers.
[0207] Alternatively, a vision sensor can be configured on the robot 10 as a sensor. For example, when a tool mounted on the robot 10 moves on a plane, the control device 20 can calculate the physical quantity of the movement distance based on the difference between the captured images by continuously photographing the plane using a vision sensor mounted on the tool. Furthermore, the control device 20 can estimate the movement distance based on internal robot data.
[0208] Alternatively, a combination of two or more sensors, such as the wireless accelerometer 101 and the aforementioned gyroscope sensor, can be configured on the robot 10. Alternatively, a smart device, such as a smartphone, which includes one or more sensors, such as the wireless accelerometer 101 and the gyroscope sensor, can be configured on the robot 10 as a sensor.
[0209] <Variation Example 2>
[0210] Furthermore, for example, in the first and second embodiments, in robot systems 1 and 1A, the wireless accelerometer 101 disposed on robot 10 communicates with control devices 20 and 20A via wireless receiver 30, but this is not a limitation. For example, such as Figure 15 As shown, robot system 1 can also use wireless receivers 31(1) to 31(n) that only receive sensor signals from wireless accelerometers 101 that are respectively configured and paired on robot 10, and wireless accelerometers 101 communicate with control devices 20 and 20A.
[0211] Figure 15 This is a functional block diagram representing a functional structural example of a robot system. Furthermore, for systems with... Figure 1 Elements of the same function in robot system 1 are labeled with the same symbols, and detailed descriptions are omitted.
[0212] like Figure 15As shown, the wireless accelerometer 101 configured on robot 10(i) is paired with a wireless receiver 31(i) (i is 1 to n). That is, if the wireless accelerometer 101 configured on robot 10(i) is to be configured on another robot 10(j), the control device 20(j) needs to switch to connection with the wireless receiver 31(i) (j≠i and j=1~n).
[0213] In other words, since the wireless accelerometer 101 is paired with the wireless receiver 31 for each individual, there is no need for the user to set the wireless accelerometer 101, i.e., the sensor setting storage unit 202. The control devices 20 and 20A can easily switch the pairing of the robot 10 and the wireless accelerometer 101 by simply changing the connection with the wireless receiver 31.
[0214] Furthermore, the functions included in the control devices 20, 20A, and 20B in the first to fourth embodiments can be implemented respectively by hardware, software, or a combination thereof. Here, implementation by software means implementation by reading and executing a program by a computer.
[0215] Programs can be stored and provided to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disks), optical-magnetic recording media (e.g., optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash memory ROMs, and RAM). Alternatively, programs can also be provided to a computer using various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transient computer-readable media can deliver programs to a computer via wired communication paths such as wires and optical fibers, or via wireless communication paths.
[0216] Furthermore, the steps of a program recorded in a recording medium naturally include processing performed in a time sequence according to that sequence, as well as processing performed in parallel or individually without following a time sequence.
[0217] In other words, the control device disclosed herein can be implemented in various ways having the following structure.
[0218] (1) The control device 20 disclosed herein is a control device for controlling a wireless accelerometer 101, and includes a sensor coordinate storage unit 201 that stores coordinate system information related to a preset sensor coordinate system Σs of the wireless accelerometer 101; a sensor setting storage unit 202 that stores setting information related to communication between the wireless accelerometer 101 and the wireless accelerometer 101; a sensor data receiving unit 205 that receives sensor data detected by the wireless accelerometer 101 based on the setting information; and an axis angle detection unit 203 that detects the angles of the plurality of joint axes 11(1) to 11(6) included in the robot 10; and a transmission unit 203. The sensor value estimation unit 204 estimates the sensor value detected by the wireless accelerometer 101 by positive transformation of the angles of the multiple joint axes 11(1) to 11(6) detected by the axis angle detection unit 203 and coordinate transformation of the sensor coordinate system Σs; and the sensor value anomaly determination unit 206 compares the value of the sensor data with the sensor value estimated by the sensor value estimation unit 204. If the difference between the value of the sensor data and the estimated sensor value exceeds a preset threshold, it determines that the sensor data receiving unit 205 is receiving sensor data from the wireless accelerometer 101 configured on other robots 10.
[0219] According to the control device 20, the robot 10 can be prevented from operating in the event of a connection error of the wireless acceleration sensor 101.
[0220] (2) The control device 20A disclosed herein is a control device for controlling a robot 10 equipped with a wireless accelerometer sensor 101, and includes: a sensor coordinate storage unit 201, which stores coordinate system information related to a preset sensor coordinate system Σs of the wireless accelerometer sensor 101; a sensor setting storage unit 202, which stores setting information related to communication between the wireless accelerometer sensor 101; a sensor data receiving unit 205, which receives sensor data detected by the wireless accelerometer sensor 101 based on the setting information; a sensor physical quantity calculation unit 208, which calculates physical quantities based on the sensor data; and an axis angle detection unit 203, which detects the joint axes 11 (1) of the robot. The sensor physical quantity estimation unit 207 estimates the physical quantity related to the wireless acceleration sensor 101 by positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection unit 203 of each axis and coordinate transformation of the sensor coordinate system Σs; and the sensor value anomaly determination unit 206a compares the physical quantity calculated based on the sensor data with the physical quantity estimated by the sensor physical quantity estimation unit 207, and determines that the sensor data receiving unit 205 is receiving sensor data from sensors configured on other robots when the difference between the calculated physical quantity and the estimated physical quantity exceeds a preset threshold.
[0221] According to the control device 20A, it can achieve the same effect as (1).
[0222] (3) In the control devices 20 and 20A described in (1) or (2), a user notification unit 251 may also be provided, which outputs an alarm when the sensor value anomaly determination unit 206 and 206a determines that the sensor data receiving unit 205 has received sensor data from the wireless acceleration sensor 101 configured on the other robot 10.
[0223] Therefore, control devices 20 and 20A can notify the user of a connection error in the wireless accelerometer 101.
[0224] (4) In the control devices 20 and 20A described in (3), the user notification unit 251 may also output the setting information set in the sensor setting storage unit 202 and the value of the sensor data received by the sensor data receiving unit 205 together with the alarm.
[0225] Thus, the user can confirm whether the setting information stored in the sensor setting storage unit 202 is incorrect, whether the wireless acceleration sensor 101 has malfunctioned, etc.
[0226] (5) In any of the control devices 20, 20A described in (1) to (4), two or more sensors that measure different physical quantities may also be configured on the robot.
[0227] Therefore, control devices 20 and 20A are able to detect anomalies in sensor data with higher precision.
[0228] (6) In any of the control devices 20, 20A described in (1) to (4), a smart device containing one or more sensors may also be configured as a sensor on the robot 10.
[0229] Therefore, control devices 20 and 20A can achieve the same effect as (5).
[0230] (7) The control device 20B of this disclosure is a control device for controlling a robot 10 equipped with a wireless acceleration sensor 101, and includes: a sensor coordinate storage unit 201, which stores coordinate system information related to a preset sensor coordinate system Σs of the wireless acceleration sensor 101; a sensor data receiving unit 205b, which receives sensor data detected by the wireless acceleration sensors 101 respectively configured on a plurality of robots 10 including the robot 10; an axis angle detection unit 203, which detects the angle of each of the joint axes 11(1) to 11(6) included in the robot 10 of the control object; and a sensor value estimation unit 204, which transmits data to the robot 10. By performing positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection unit 203 and coordinate transformation of the sensor coordinate system Σs, the sensor value detected by the wireless acceleration sensor 101 of the robot 10 to be controlled is estimated; and the appropriate sensor determination unit 209 compares the sensor data values of the wireless acceleration sensors 101 respectively disposed on the multiple robots 10 with the sensor values estimated by the sensor value estimation unit 204, and determines the wireless acceleration sensor 101 whose sensor data difference from the estimated sensor value exceeds a preset threshold as a sensor of the robot 10 other than the robot 10 to be controlled.
[0231] According to the control device 20B, it can achieve the same effect as (1).
[0232] (8) The control device 20B of this disclosure is a control device for controlling a robot 10 equipped with a wireless acceleration sensor 101, comprising: a sensor coordinate storage unit 201 that stores coordinate system information related to a preset sensor coordinate system Σs of the wireless acceleration sensor 101; a sensor data receiving unit 205b that receives sensor data detected by the wireless acceleration sensors 101 respectively disposed on a plurality of robots 10 including the robot 10; a sensor physical quantity calculation unit 208b that calculates physical quantities based on the sensor data of the wireless acceleration sensors 101 respectively disposed on the plurality of robots 10; and an axis angle detection unit 203 that detects the joint axes 11(1) to 11(2) of the robot 10 including the robot 10. 6) Each of their respective angles; the sensor physical quantity estimation unit 207, which estimates the physical quantity related to the wireless acceleration sensor 101 of the robot 10 being controlled by the positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection unit 203 of each axis and the coordinate transformation of the sensor coordinate system Σs; and the appropriate sensor determination unit 209b, which compares the physical quantity calculated based on the sensor data of the wireless acceleration sensors 101 respectively disposed on the multiple robots 10 with the physical quantity estimated by the sensor physical quantity estimation unit 207, and determines the wireless acceleration sensor 101 whose sensor data difference with the estimated physical quantity exceeds a preset threshold as a sensor disposed on a robot 10 other than the robot 10 being controlled.
[0233] According to the control device 20B, it can achieve the same effect as (1).
[0234] Symbol Explanation
[0235] 1. 1A, 1B Robot Systems
[0236] 10(1)~10(n) robots
[0237] 20, 20A, 20B control devices
[0238] 201 Sensor Coordinate Storage Unit
[0239] 202 Sensor Setting Storage Unit
[0240] 203 Axis Angle Detection Unit
[0241] 204 Sensor Value Estimation Section
[0242] 205, 205b sensor data receiving unit
[0243] 206, 206a Sensor Value Anomaly Detection Unit
[0244] 207 Sensor Physical Quantity Estimation Section
[0245] 208, 208b Sensor Physical Quantity Calculation Unit
[0246] 209, 209b Appropriate sensor determination unit
[0247] 30, 31(1)~31(n) wireless receivers
[0248] 101 Wireless Accelerometer.
Claims
1. A control device that controls a robot configured with a sensor, characterized by, The control device includes: a sensor coordinate storage section that stores coordinate system information related to a sensor coordinate system of the sensor set in advance; a sensor setting storage section that stores setting information related to communication between the sensors; a sensor data reception section that receives sensor data detected by the sensor based on the setting information; an axis angle detection section that detects an angle of each of a plurality of axes included in the robot; a sensor value estimation section that estimates a sensor value detected by the sensor through forward conversion of the angle of each of the plurality of axes detected by the axis angle detection section and coordinate conversion of the sensor coordinate system; and a sensor value abnormality determination section that compares a value of the sensor data with the sensor value estimated by the sensor value estimation section, and determines that the sensor data reception section has received sensor data from a sensor provided to another robot when a difference between the value of the sensor data and the estimated sensor value exceeds a threshold set in advance. The control device includes:
2. A control device that controls a robot configured with a sensor, characterized by, a sensor coordinate storage section that stores coordinate system information related to a sensor coordinate system of the sensor set in advance; a sensor setting storage section that stores setting information related to communication between the sensors; a sensor data reception section that receives sensor data detected by the sensor based on the setting information; a sensor physical quantity calculation section that calculates a physical quantity from the sensor data; an axis angle detection section that detects an angle of each of a plurality of axes included in the robot; a sensor physical quantity estimation section that estimates a physical quantity related to the sensor through forward conversion of the angle of each of the plurality of axes detected by the axis angle detection section and coordinate conversion of the sensor coordinate system; and a sensor value abnormality determination section that compares the physical quantity calculated from the sensor data with the physical quantity estimated by the sensor physical quantity estimation section, and determines that the sensor data reception section has received sensor data from a sensor provided to another robot when a difference between the calculated physical quantity and the estimated physical quantity exceeds a threshold set in advance.
3. The control device according to claim 1 or 2, wherein the control device includes a user notification section that outputs an alarm when it is determined by the sensor value abnormality determination section that the sensor data reception section has received sensor data from a sensor provided to another robot.
4. The control device according to claim 3, wherein the user notification section outputs the alarm and outputs the setting information set by the sensor setting storage section and a value of the sensor data received by the sensor data reception section.
5. The control device according to claim 1 or 2, wherein two or more sensors that measure different physical quantities are provided to the robot.
6. The control device according to claim 1 or 2, wherein The control device is provided with:
7. A control device that controls a robot of a control target configured with a sensor, characterized by a sensor coordinate storage section that stores coordinate system information related to a sensor coordinate system of the sensor that is set in advance; a sensor data reception section that receives sensor data detected by sensors respectively arranged in a plurality of robots including the robot that is the control target; a sensor value estimation section that estimates a sensor value detected by the sensor of the robot that is the control target, by forward conversion of the angles of the plurality of axes detected by the axis angle detection section and coordinate conversion of the sensor coordinate system; a proper sensor determination section that compares the sensor data of the sensors respectively arranged in the plurality of robots with the sensor value estimated by the sensor value estimation section, and determines as a sensor of a robot other than the robot that is the control target, a sensor whose sensor data differs from the estimated sensor value by more than a threshold value set in advance. The control device is provided with: a sensor coordinate storage section that stores coordinate system information related to a sensor coordinate system of the sensor that is set in advance; a sensor data reception section that receives sensor data detected by sensors respectively arranged in a plurality of robots including the robot that is the control target; 8. A control device that controls a robot of a control target configured with a sensor, characterized by, a sensor physical quantity calculation section that calculates a physical quantity from the sensor data of the sensors respectively arranged in the plurality of robots; an axis angle detection section that detects the angles of a plurality of axes included in the robot that is the control target; a sensor physical quantity estimation section that estimates a physical quantity related to the sensor of the robot that is the control target, by forward conversion of the angles of the plurality of axes detected by the axis angle detection section and coordinate conversion of the sensor coordinate system; a proper sensor determination section that compares the physical quantity calculated from the sensor data of the sensors respectively arranged in the plurality of robots with the physical quantity estimated by the sensor physical quantity estimation section, and determines as a sensor of a robot other than the robot that is the control target, a sensor whose sensor data differs from the estimated sensor value by more than a threshold value set in advance.
Citation Information
Patent Citations
Robot having learning control function
JP2011167817A
Robot system comprising function for calculating position and orientation of sensor
JP2017074647A
Wireless transmission device, vibration suppression control device of robot using the same and robot control device
JP2011161562A
Comprehensive fault detection and diagnosis of robots
US10335962B1