Control device
Patent Information
- Application Number
- TW111107779
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-29
- Filing Date
- 2022-03-03
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2042-03-02
Smart Images

Figure TWG2TB001908179_001 
Figure TWG2TB001908179_002 
Figure TWG2TB001908179_003
Abstract
Description
[Technical Field]
[0001] Field of Invention
[0002] This invention relates to a control device. [Previous Technology]
[0003] Background of the Invention
[0004] Improving high-speed operation or trajectory accuracy by reducing vibration during robot movement directly contributes to increased production efficiency or quality. Therefore, it is desirable to reduce vibration or trajectory deviation during robot movement. For this purpose, a method is proposed that involves installing an accelerometer at the point where vibration needs to be eliminated or where a high-precision trajectory is desired. The accelerometer measures the vibration during robot movement and performs learning control to reduce vibration. See, for example, Patent Document 1. Furthermore, when the sensor connection is wired, the complex cable laying leads to problems. A method is proposed that involves installing a wireless accelerometer on the robot to suppress robot vibration. See, for example, Patent Document 2. Prior Art Documents Patent Documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2011-167817; Patent Document 2: Japanese Patent Application Publication No. 2011-161562 [Summary of the Invention]
[0006] Summary of the Invention: Problem to be Solved by the Invention
[0007] When connecting to a wireless accelerometer of a robot configured to control the target, a pairing error may occur between the wireless accelerometer and a wireless accelerometer configured on another robot. If sensor measurements continue to be performed while wirelessly connected to an incorrect wireless accelerometer, unintended robot control will occur.
[0008] Therefore, a function is desired to notify the user when a pairing error occurs. A means to solve this problem is needed.
[0009] (1) One aspect of the control device disclosed herein is a control device for controlling a robot equipped with sensors, and includes: a sensor coordinate memory unit that stores pre-set coordinate system information about the sensor coordinate system of the aforementioned sensors; a sensor setting memory unit that stores setting information about communication with the aforementioned sensors; a sensor data receiving unit that receives sensor data detected by the aforementioned sensors according to the aforementioned setting information; an axis angle detection unit that detects the angle of each of the plurality of axes included in the aforementioned robot; and a sensor... The sensor value estimation unit estimates the sensor value detected by the aforementioned sensor by using the positive transformation of the angles of the aforementioned plurality of axes detected by the aforementioned axis angle detection unit and the coordinate transformation of the aforementioned sensor coordinate system; and the sensor value anomaly determination unit compares the value of the aforementioned sensor data with the sensor value estimated by the aforementioned sensor value estimation unit. When the difference between the value of the aforementioned sensor data and the estimated aforementioned sensor value exceeds a preset threshold, it determines that the aforementioned sensor data receiving unit has received sensor data from sensors configured on other robots.
[0010] (2) One aspect of the control device disclosed herein is a control device for controlling a robot equipped with sensors, and includes: a sensor coordinate memory unit that stores pre-set coordinate system information about the sensor coordinate system of the aforementioned sensor; a sensor setting memory unit that stores setting information about communication with the aforementioned sensor; a sensor data receiving unit that receives sensor data detected by the aforementioned sensor based on the aforementioned setting information; a sensor physical quantity calculation unit that calculates physical quantities from the aforementioned sensor data; and an axis angle detection unit that detects a plurality of axes included in the aforementioned robot. The sensor physical quantity estimation unit estimates the physical quantity of the aforementioned sensor by means of the positive transformation of the angles of the aforementioned plurality of axes detected by the aforementioned axis angle detection unit and the coordinate transformation of the aforementioned sensor coordinate system; and the sensor value anomaly determination unit compares the aforementioned physical quantity calculated from the aforementioned sensor data with the aforementioned physical quantity estimated by the aforementioned sensor physical quantity estimation unit. When the difference between the calculated aforementioned physical quantity and the estimated aforementioned physical quantity exceeds a preset threshold, it is determined that the aforementioned sensor data receiving unit has received sensor data from sensors configured on other robots.
[0011] (3) One aspect of the control device disclosed herein is a control device for controlling a robot equipped with sensors, and includes: a sensor coordinate memory unit that stores pre-set coordinate system information about the sensor coordinate system of the aforementioned sensors; a sensor data receiving unit that receives sensor data detected by sensors of a plurality of robots including the aforementioned robot; an axis angle detection unit that detects the angle of each of the plurality of axes included in the aforementioned robot; and a sensor value estimation unit that, by means of the aforementioned... The axis angle detection unit detects the positive transformation of the angles of the aforementioned plurality of axes and the coordinate transformation of the aforementioned sensor coordinate system to estimate the sensor values detected by the aforementioned sensors of the robot of the aforementioned controlled object; and the appropriate sensor determination unit compares the sensor data values of the sensors disposed on the aforementioned plurality of robots with the sensor values estimated by the aforementioned sensor value estimation unit, and determines the sensors whose sensor data differ from the estimated sensor values by more than a preset threshold as sensors of robots other than the robot of the aforementioned controlled object.
[0012] (4) One aspect of the control device disclosed herein is a control device for controlling a robot equipped with sensors, and includes: a sensor coordinate memory unit that stores pre-set coordinate system information about the sensor coordinate system of the aforementioned sensors; a sensor data receiving unit that receives sensor data detected by sensors of a plurality of robots including the aforementioned control object; a sensor physical quantity calculation unit that calculates physical quantities from the sensor data of the sensors of the plurality of robots; and an axis angle detection unit that detects the angles of the plurality of axes included in the aforementioned control object robot. The system comprises: a sensor physical quantity estimation unit, which estimates the physical quantities of the sensors of the robot being controlled by means of the positive transformation of the angles of the plurality of axes detected by the aforementioned axis angle detection units and the coordinate transformation of the aforementioned sensor coordinate system; and an appropriate sensor determination unit, which compares the physical quantities calculated from the sensor data of the sensors disposed on the plurality of robots with the physical quantities estimated by the aforementioned sensor physical quantity estimation unit, and determines the sensors whose sensor data differs from the estimated physical quantities by more than a preset threshold as sensors of robots other than the robot being controlled. Effects of the Invention
[0013] It can prevent the robot from operating when the sensor connection is incorrect.
Implementation Method
[0015] Form used to implement the invention
[0016] <First Embodiment> The configuration of this embodiment will be described in detail using drawings. Here, a wireless accelerometer sensor is exemplified as a sensor. Furthermore, the present invention is also applicable to sensors such as gyroscope sensors or inertial sensors, or to smart devices such as smartphones that include one or more sensors.
[0017] FIG1 is a functional block diagram showing a functional configuration example of a robot system according to a first embodiment of the present invention. As shown in FIG1, 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). The robots 10(1) to 10(n), the control devices 20(1) to 20(n), and the wireless receiver 30 can also be directly connected to each other through a connection interface not shown. Furthermore, the robots 10(1) to 10(n) and the control devices 20(1) to 20(n) can also be connected to each other through a network such as a LAN (Local Area Network). In this case, the robots 10(1) to 10(n) and the control devices 20(1) to 20(n) can also have a communication unit (not shown) for communicating with each other through this connection. Furthermore, when it is not necessary to distinguish each of the robots 10(1) to 10(n) individually, they will be collectively referred to as "robot 10". Also, when it is not necessary to distinguish each of the control devices 20(1) to 20(n) individually, they will be collectively referred to as "control device 20".
[0018] <Robot 10> For example, as shown in FIG1, robot 10 is a 6-axis vertical multi-joint robot with 6 joint axes 11(1) to 11(6) and an arm 12 connected to each of the joint axes 11(1) to 11(6). Robot 10 drives each servo motor (not shown) arranged on each joint axis 11(1) to 11(6) according to drive commands from control device 20, thereby driving movable components such as the arm 12. Furthermore, at the front end of the movable components of robot 10, such as at the front end of joint axis 11(6), a terminator 13 is installed, such as a welding gun, a gripping hand, or a laser irradiation device. Then, a wireless accelerometer 101 is provided on the terminator 13.
[0019] Furthermore, although robot 10 is a 6-axis vertical multi-joint robot, it can be a vertical multi-joint robot other than 6 axes, or a horizontal multi-joint robot or a parallel robot, etc.
[0020] Figures 2A and 2B are used to illustrate the coordinate system of the robot 10 of Figure 1. As shown in Figure 2A, the robot 10 has a robot reference point 14 and a robot coordinate system Σr centered on the robot reference point 14. Also, the wireless accelerometer 101 has a sensor reference point 111 and a sensor coordinate system Σs centered on the sensor reference point 111. Also, as shown in Figure 2B, 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 at the flange at the front end of the joint axis 11 (6). 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. These six elements are the vector (x, y, z) from the origin of the mechanical interface coordinate system Σm to the origin of the sensor coordinate system Σs, and the rotation angle (w, p, r) of the sensor coordinate system Σs, which is defined by rotation about each axis of the mechanical interface coordinate system Σm. Then, the vector (x, y, z) and the rotation angle (w, p, r) can be obtained using conventional methods (e.g., Japanese Patent Application Publication No. 2017-74647). 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 calculating the position of wireless acceleration sensor 101 in robot coordinate system Σr from the coordinates and angles described in the robot's motion program.
[0021] The wireless accelerometer 101 is, for example, a three-dimensional accelerometer that periodically detects acceleration along each of the XYZ axes of the sensor coordinate system Σs at predetermined sampling times at the front end of a movable component that accompanies the movement of the robot 10. The wireless accelerometer 101 has a clock unit (not shown), which acquires time information output from the clock unit as the detection time each time acceleration is detected. Furthermore, the wireless accelerometer 101 wirelessly transmits sensor signals, including, for example, the detected acceleration and time information for each axis, to the wireless receiver 30. Moreover, although the wireless accelerometer 101 wirelessly transmits the detected acceleration and time information sensor signals to the wireless receiver 30, it can also be wired to the control device 20 to transmit the sensor signals to the control device 20. Furthermore, the wireless accelerometer 101 is not limited to an accelerometer, but may also be a gyroscope sensor, an inertial sensor, a force sensor, a laser tracker, a vision sensor, or a motion capture sensor, etc. Additionally, the wireless accelerometer 101 may also be a smart device such as a smartphone that includes multiple sensors, such as an accelerometer.
[0022] <Wireless Receiver 30> The wireless receiver 30 is, for example, a WiFi (registered trademark) router, which receives sensor signals from the wireless accelerometer sensor 101 and outputs the received sensor signals to the control device 20. Furthermore, the wireless communication standard is not limited to WiFi (registered trademark); it can utilize radio waves such as Bluetooth (registered trademark) or infrared communication. The wireless receiver 30 should preferably use a module compatible with the communication standard.
[0023] <Control Device 20> The control device 20 learns and controls the robot 10 by using the acceleration detected by the wireless accelerometer 101. It outputs drive commands to the robot 10 according to the motion program to control the robot 10's movements, thereby reducing vibrations occurring in the arm 12 of the robot 10 during movement (also called a "robot controller"). Figure 3 is a functional block diagram showing an example of the functional configuration of the control device 20. As shown in Figure 3, the control device 20 of this embodiment is connected to a teaching operation panel 25 and includes a sensor coordinate memory unit 201, a sensor setting memory 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 teaching operation panel 25 includes a user notification unit 251 and a user input unit 252. Moreover, the control device 20 includes a processing unit (not shown) such as a CPU (Central Processing Unit) to realize the operation of the functional blocks in Figure 3. Furthermore, the control device 20 includes auxiliary memory devices (not shown) such as ROM (Read Only Memory) or HDD (Hard Disk Drive) which store various control programs, or main memory devices (not shown) such as RAM (Random Access Memory) which store data temporarily needed by the execution program of the arithmetic processing device.
[0024] Then, in the control device 20, the arithmetic processing device reads the OS or application software from the auxiliary memory device, expands the read OS or application software in the main memory device, and performs arithmetic processing based on the OS or application software. The control device 20 controls each piece of hardware based on the calculation results. This achieves the processing of the functional blocks in FIG3. That is, the control device 20 can achieve this through the cooperation of hardware and software.
[0025] The sensor coordinate memory unit 201 is a memory such as RAM. Based on the input operation performed by the user through the user input unit 252 of the teaching operation panel 25 (described later), it stores the preset coordinate system information of the sensor coordinate system Σs of the wireless accelerometer 101. Specifically, the sensor coordinate memory 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 required to calculate the position and orientation of the wireless accelerometer 101, and the rotation angle (w, p, r) that defines the direction of the sensor coordinate system Σs by rotating about each axis of the mechanical interface coordinate system Σm, as coordinate system information.
[0026] The sensor setting memory unit 202 is a memory such as RAM, which stores setting information about communication with the wireless accelerometer 101 based on the input operation performed by the user through the user input unit 252 of the teaching operation panel 25 (described later). Specifically, the sensor setting memory unit 202 stores the communication address (such as IP address or MAC address) of the wireless accelerometer 101, which is the communication target, as setting information.
[0027] The angle detection unit 203 of each axis uses, for example, encoders (not shown) disposed 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). The angle detection unit 203 of each axis outputs the detected angle of each joint axis 11(1) to 11(6) to the sensor value estimation unit 204.
[0028] The sensor value estimation unit 204 estimates the sensor value detected by the wireless accelerometer 101 at the installation position of the wireless accelerometer 101 by performing a positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection units 203 of each axis and a coordinate transformation of the sensor coordinate system Σs. Specifically, the sensor value estimation unit 204 calculates the position and orientation of the mechanical interface coordinate system Σm in the robot coordinate system Σr by performing a positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection units 203 of each axis. The sensor value estimation unit 204 calculates the installation position of the wireless accelerometer 101 in the robot coordinate system Σr by using the coordinate system information of the vector (x,y,z) and rotation angle (w,p,r) stored in the sensor coordinate memory unit 201. The sensor value estimation unit 204 performs a second-order derivative of the calculated position timing data with respect to time, thereby calculating the acceleration of each axis of the robot coordinate system Σr. Then, through the mechanical interface coordinate system Σm, it converts the calculated acceleration into sensor values of the acceleration of each axis of the sensor coordinate system Σs for estimation. When the robot 10 moves, the sensor value estimation unit 204 subtracts the gravitational acceleration component from the estimated sensor value of the acceleration of the sensor coordinate system Σs and outputs the subtracted sensor value to the sensor value anomaly determination unit 206. Furthermore, when the robot 10 is stationary, the sensor value estimation unit 204 may also output the estimated sensor value of the acceleration of the sensor coordinate system Σs to the sensor value anomaly determination unit 206 without subtracting the gravitational acceleration.
[0029] The sensor data receiving unit 205 receives sensor data detected by the wireless accelerometer sensor 101 based on the setting information stored in the sensor setting memory unit 202. Specifically, the sensor data receiving unit 205 pairs with the wireless accelerometer sensor 101 based on the communication address of the setting information stored in the sensor setting memory unit 202. For example, the sensor data receiving unit 205 receives a sensor signal from the sensor signal received by the wireless receiver 30 that includes the communication address of the wireless accelerometer sensor 101 paired with the header 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. Furthermore, when the sensor data receiving unit 205 outputs sensor data to the sensor value anomaly determination unit 206, noise can also be removed by a low-pass filter (not shown) before outputting.
[0030] 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. When the largest difference between the sensor data value of each axis and the estimated sensor value exceeds a preset threshold (e.g., "2 m / s²"), the sensor value anomaly determination unit 206 determines that the sensor data receiving unit 205 has received sensor data from the wireless accelerometer 101 disposed 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. Figures 4A and 4B are diagrams showing an example of the comparison between the sensor data value and the estimated sensor value. Furthermore, Figure 4A illustrates 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. Figure 4B illustrates 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. 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 can also calculate the difference between the sensor data value (i.e., the magnitude of the vector) for each axis of the sensor coordinate system Σs and the estimated sensor value (i.e., the magnitude of the vector) for each axis of the sensor coordinate system Σs, and compare the calculated difference with a threshold. Alternatively, the sensor value anomaly determination unit 206 can use a predetermined function with the acceleration of each axis of the sensor coordinate system Σs as a variable to calculate the difference between the following two values and compare the calculated difference with a threshold: 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.
[0031] The user notification unit 251 outputs an alarm indicating that the sensor data value is abnormal based on the determination result of the sensor value abnormality determination unit 206. Specifically, when the sensor data value is abnormal, the user notification unit 251 will display the alarm on a display unit such as an LCD screen included in the teaching operation panel 25. Furthermore, the user notification unit 251 can also output the setting information set in the sensor setting memory unit 202 and the sensor data value received by the sensor data receiving unit 205 along with the alarm. In this way, the user can check whether the setting information stored in the sensor setting memory unit 202 is incorrect, or whether the wireless accelerometer sensor 101 is malfunctioning. When the setting information is incorrect, the user can reset the correct setting information through the user input unit 252 of the teaching operation panel 25 (described later). Also, when the wireless accelerometer sensor 101 malfunctions, the user can quickly deal with the abnormal sensor value by replacing it with a new wireless accelerometer sensor 101. Furthermore, although the user notification unit 251 is configured on the teaching operation panel 25, it can also be configured on the control device 20.
[0032] The user input unit 252 is, for example, an operation key or touch panel provided on the teaching operation panel 25, which receives input from the user, such as the settings of the sensor coordinate system Σs or the communication address of the wireless accelerometer sensor 101. The user input unit 252 outputs the received input to the control device 20. Furthermore, although the user input unit 252 is provided on the teaching operation panel 25, it can also be provided on the control device 20.
[0033] <Abnormality Detection Processing of Control Device 20> Next, with reference to FIG5, the abnormality detection processing flow of control device 20 will be described. FIG5 is a flowchart illustrating the abnormality detection processing of control device 20. The flow shown here is executed whenever the user sets the sensor coordinate system Σs of wireless accelerometer 101.
[0034] In step S1, in response to the user's input operation, 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 sensor 101, and the rotation angle (w, p, r) that defines the direction of the sensor coordinate system Σs by rotating around each axis of the mechanical interface coordinate system Σm, as coordinate system information, and stores them in the sensor coordinate memory unit 201. Furthermore, in response to the user's input operation, the user input unit 252 sets the communication address of the wireless accelerometer sensor 101 as setting information and stores it in the sensor setting memory unit 202.
[0035] In step S2, the wireless accelerometer 101 starts measuring the acceleration of each axis of the sensor coordinate system Σs at the start of learning control. The sensor data receiving unit 205 receives the sensor signal 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.
[0036] 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 sensor 101 is installed by using the posture of the robot 10 and the coordinate transformation of the sensor coordinate system Σs. The posture of the robot 10 is obtained by positive transformation of the angles of the joint axes 11(1) to 11(6) before the robot 10 performs an action (when the robot 10 is stationary), as detected by the angle detection unit 203 of each axis. Furthermore, in step S3, regardless of whether an action program is executed, the sensor value estimation unit 204 should estimate the sensor values (gravitational acceleration) before the robot 10 performs an action (when the robot 10 is stationary).
[0037] 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 estimated sensor value 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 a threshold value across all axes of the sensor coordinate system Σs, the process proceeds to step S6. Alternatively, if the difference between the sensor data value and the estimated sensor value is not below a threshold value across all axes of the sensor coordinate system Σs, the process proceeds to step S5.
[0038] In step S5, the sensor value anomaly determination unit 206 outputs the anomaly determination result of the sensor data to the user notification unit 251, and the user notification unit 251 displays the alarm on the display unit (not shown) of the teaching operation panel 25. Then, the process returns to step S1.
[0039] 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 sensor 101 is installed by using the position and posture of the robot 10 and the coordinate transformation of the sensor coordinate system Σs. The aforementioned position and posture of the robot 10 are obtained by positive transformation of the angles of the joint axes 11(1) to 11(6) of the robot 10 when it moves, as detected by the angle detection unit 203 of each axis. Furthermore, the movement of the robot 10 can refer to the actual movement in the operation, or a predetermined movement such as translation relative to the X-axis or Y-axis of the robot coordinate system Σr.
[0040] 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 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 S8. Alternatively, 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.
[0041] In step S8, when the sensor value is not abnormal, the control device 20 (sensor value abnormality determination unit 206) determines that it is normal and continues to control the robot 10 according to the learning control action program.
[0042] As described above, the control device 20 of the first embodiment can prevent the robot from operating under a connection error state of the wireless accelerometer 101 by changing the setting of the communication address of the wireless accelerometer 101. 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. In this way, the control device 20 can reduce unnecessary operating time used to prevent continued control of the robot 10 under conditions of incorrect setting of the wireless accelerometer 101, and can prevent unintended robot 10 control (e.g., vibration-induced divergent movements) caused by incorrect setting of the wireless accelerometer 101. The first embodiment has been described above.
[0043] <Second Embodiment> 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 position of the wireless accelerometer sensor 101 by determining the position and posture of the robot 10 by 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. By determining whether the difference between the sensor data value detected by the wireless accelerometer sensor 101 and the estimated sensor value is below a threshold in all axes of the sensor coordinate system Σs, the device notifies the user of the sensor data abnormality (connection error of the wireless accelerometer sensor 101). In contrast, the second embodiment differs from the first embodiment in that the control device 20A estimates the movement distance and direction vector of the wireless accelerometer 101 in the robot coordinate system Σr by obtaining the position and posture of the robot 10 from 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. Furthermore, it calculates the movement distance and direction vector of the wireless accelerometer 101 in the robot coordinate system Σr from the sensor data received by the sensor data receiving unit, and determines whether all components of the difference between the movement vector of the physical quantity calculated from the sensor data and the estimated movement vector of the physical quantity are below a threshold. Therefore, the control device 20A of the second embodiment can prevent the robot from operating under conditions of sensor connection errors. The second embodiment will be described below.
[0044] FIG6 is a functional block diagram showing a functional configuration example of a robot system according to a second embodiment of the present invention. Furthermore, elements that have the same function as those in robot system 1 of FIG1 are given the same reference numerals, and detailed descriptions are omitted. As shown in FIG6, robot system 1A has n robots 10(1) to 10(n), n control devices 20A(1) to 20A(n), and a wireless receiver 30. Hereinafter, when it is not necessary to distinguish each of the control devices 20A(1) to 20A(n), these will be collectively referred to as "control devices 20A".
[0045] The robot 10, the wireless accelerometer 101 and the wireless receiver 30 have the same configuration as the robot 10, the wireless accelerometer 101 and the wireless receiver 30 in the first embodiment.
[0046] <Control Device 20A> Figure 7 is a functional block diagram showing a functional configuration example of the control device 20A. As shown in Figure 7, the control device 20A is connected to a teaching operation panel 25 and is configured to include a sensor coordinate memory unit 201, a sensor setting memory 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. Furthermore, the teaching operation panel 25 includes a user notification unit 251 and a user input unit 252. The sensor coordinate memory unit 201, the sensor setting memory unit 202, the axis angle detection unit 203, and the sensor data receiving unit 205 have the same functions as those in the first embodiment. Furthermore, 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.
[0047] The sensor physical quantity estimation unit 207 estimates the physical quantities of the wireless accelerometer 101 by performing a positive transformation of the angles of the joint axes 11(1) to 11(6) detected by the angle detection units 203 and a coordinate transformation of the sensor coordinate system Σs. Specifically, the sensor physical quantity estimation unit 207 calculates the position and orientation of the mechanical interface coordinate system Σm in the robot coordinate system Σr by performing a positive transformation using the angles of the joint axes 11(1) to 11(6) detected by the angle detection units 203. The sensor physical quantity estimation unit 207 estimates the movement vector formed by the movement distance and movement direction of the wireless accelerometer 101 in the robot coordinate system Σr as a physical quantity by using the vector (x,y,z) and rotation angle (w,p,r) stored in the sensor coordinate memory unit 201.
[0048] The sensor physical quantity calculation unit 208 calculates physical quantities from the sensor data of acceleration detected by the wireless accelerometer sensor 101. Specifically, the sensor physical quantity calculation unit 208 performs a second-order integral over time on the time-series data of acceleration from the sensor data received by the sensor data receiving unit 205, thereby calculating the movement vector of the wireless accelerometer sensor 101 in the robot coordinate system Σr as a physical quantity.
[0049] 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. When the largest component 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 disposed 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. Furthermore, the sensor value anomaly determination unit 206a can also, 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 the threshold.
[0050] <Abnormality Detection Processing of Control Device 20A> Next, with reference to FIG8, the flow of abnormality detection processing of control device 20A will be described. FIG8 is a flowchart illustrating the abnormality detection processing of control device 20A. The flow shown here is performed whenever the user sets the sensor coordinate system Σs of wireless accelerometer 101. Furthermore, in the abnormality detection processing shown in FIG8, the processing of steps S1, S2, and S8 is the same as that of steps S1, S2, and S8 in the first embodiment of FIG5, so the description is omitted.
[0051] In step S3a, the sensor physical quantity estimation unit 207 estimates the movement vector at the location where the wireless accelerometer 101 is installed as a physical quantity by using the posture of the robot 10 and the coordinate transformation of the sensor coordinate system Σs. The posture of the robot 10 is obtained by positive transformation of the angles of the joint axes 11(1) to 11(6) before the robot 10 performs the action (when the robot 10 is stationary), as detected by the angle detection unit 203 of each axis.
[0052] 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. Alternatively, if all components of the difference are not below the threshold, the process proceeds to step S5a.
[0053] In step S5a, the sensor value abnormality determination unit 206a outputs the determination result of the physical quantity abnormality to the user notification unit 251, and the user notification unit 251 displays the alarm on the display unit (not shown) of the teaching operation panel 25. Then, the process returns to step S1.
[0054] In step S6a, the sensor physical quantity estimation unit 207 estimates the movement vector of the position where the wireless accelerometer 101 is installed as a physical quantity by using the position and posture of the robot 10 and the coordinate transformation of the sensor coordinate system Σs. The position and posture of the robot 10 are obtained by positive transformation of the angles of the joint axes 11(1) to 11(6) of the robot 10 when it moves, as detected by the angle detection unit 203 of each axis.
[0055] 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. Alternatively, if all components of the difference are not below the threshold, the process proceeds to step S5a.
[0056] As described above, the control device 20A of the second embodiment can prevent the robot 10 from operating under a connection error state of the wireless accelerometer 101 by changing the setting of the communication address of the wireless accelerometer 101. Furthermore, before and during the operation of the robot 10, the control device 20A detects abnormalities in the sensor data by comparing the physical quantity calculated from the sensor data with the estimated physical quantity, and notifies the user of the detected abnormality. In this way, the control device 20A can reduce the unnecessary operating time required to prevent continued control of the robot 10 under conditions of incorrect setting of the wireless accelerometer 101, and can prevent unintended control of the robot 10 (such as vibration-induced divergent movements) caused by incorrect setting of the wireless accelerometer 101. The second embodiment has been described above.
[0057] <Third Embodiment> Next, the third embodiment will be described. Furthermore, the control device 20B of the third embodiment differs from the first embodiment in the following aspects: (1) The control device 20B of the third embodiment receives sensor data detected by the wireless accelerometers 101 of each of the plurality of robots 10 containing the controlled object. (3) The control device 20B of the third embodiment compares the sensor data values of the wireless accelerometers 101 of each robot 10 with the sensor values of the positions of the wireless accelerometers 101 estimated by the positive transformation of the angles of each axis of the controlled robot 10 and the coordinate transformation of the sensor coordinate system, and determines that the sensors whose differences from the estimated values exceed a preset threshold are sensors of robots 10 other than the controlled robot 10. In this way, the control device 20B of the third embodiment can prevent the robot from operating in a state of sensor connection error. The third embodiment will be described below.
[0058] FIG9 is a functional block diagram showing a functional configuration example of a robot system according to a third embodiment of the present invention. Furthermore, elements having the same function as those in the first robot system 1 are given the same reference numerals, and detailed descriptions are omitted. As shown in FIG9, 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. Hereinafter, when it is not necessary to distinguish each of the control devices 20B(1) to 20B(n) individually, these will be collectively referred to as "control devices 20B".
[0059] The robot 10, the wireless accelerometer 101 and the wireless receiver 30 have the same configuration as the robot 10, the wireless accelerometer 101 and the wireless receiver 30 in the first embodiment.
[0060] <Control Device 20B> Figure 10 is a functional block diagram showing a functional configuration example of control device 20B(1). Furthermore, while Figure 10 illustrates a functional configuration example of control device 20B(1), control devices 20B(2) to 20B(n) are also the same as control device 20B(1). As shown in Figure 10, control device 20B(1) is connected to a teaching operation panel 25 and is configured to include a sensor coordinate memory unit 201, a sensor setting memory 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. In addition, the teaching operation panel 25 includes a user notification unit 251 and a user input unit 252. The sensor coordinate memory unit 201, sensor setting memory unit 202, axis angle detection unit 203, and sensor value estimation unit 204 have the same functions as those in the first embodiment. Furthermore, the user notification unit 251 and user input unit 252 have the same functions as those in the first embodiment.
[0061] The sensor data receiving unit 205b receives sensor signals containing acceleration detected by the wireless accelerometers 101 disposed on each of the robots 10(2) to 10(n), along with sensor signals containing acceleration detected by the wireless accelerometers 101 disposed on the robot 10(1) of the controlled object. That is, the wireless accelerometers 101 disposed on each robot 10 may also transmit sensor signals via multicast, for example. In this case, the sensor data receiving unit 205b may not refer to the setting information of the sensor setting memory unit 202. 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, when the sensor data receiving unit 205b outputs the sensor data of each wireless accelerometer 101 to the appropriate sensor determination unit 209, it can also remove noise and output the data by using a low-pass filter (not shown).
[0062] 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. For each axis of the difference between the sensor data values of the wireless accelerometers 101 of each robot 10(1) to 10(n) and the estimated sensor values, the appropriate sensor determination unit 209 determines that the wireless accelerometer 101 with the largest difference exceeding a preset threshold (e.g., "2m / s2") is an inappropriate sensor of the robot 10 other than the robot 10(1) of the controlled object. Furthermore, for wireless accelerometer sensors 101 whose maximum difference is within a preset threshold (e.g., "2 m / s²"), the appropriate sensor determination unit 209 determines that it is an appropriate sensor for the robot 10(1) being controlled. The appropriate sensor determination unit 209 outputs the determination result to the user notification unit 251 of the teaching operation panel 25. At this time, the user input unit 252 can also set the communication address of the appropriate wireless accelerometer sensor 101 as setting information and store it in the sensor setting memory unit 202 in response to the user's input operation based on the display of the user notification unit 251. Figure 11 is a diagram of an example of comparing the value of the sensor data with the estimated sensor value. Furthermore, Figure 11 shows, for example, the value of the sensor data in the X-axis direction of the sensor coordinate system Σs detected by the wireless accelerometer sensors 101 of each robot 10(1) to 10(3) during robot movement, and the estimated sensor value. 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 sensor data value (i.e., the magnitude of the vector) for each axis of the sensor coordinate system Σs and the estimated sensor value (i.e., the magnitude of the vector) for each axis of the sensor coordinate system Σs, and compare the calculated difference with the threshold. Alternatively, the appropriate sensor determination unit 209 may also use a predetermined function with the acceleration of each axis of the sensor coordinate system Σs as a variable to calculate the difference between the following two values, and compare the calculated difference with the threshold: the value calculated by inputting the sensor data value of each axis of the sensor coordinate system Σs into the predetermined function; and the value calculated by inputting the estimated sensor value of each axis of the sensor coordinate system Σs into the predetermined function.
[0063] <Appropriate Sensor Determination Process of Control Device 20B> Next, the flow of the appropriate sensor determination process of control device 20B will be described with reference to FIG12. Furthermore, although the appropriate sensor determination process of control device 20B (1) will be described below, the process of control devices 20B (2) to 20B (n) is the same as that of control device 20B (1), so the description is omitted. FIG12 is a flowchart illustrating the appropriate sensor determination process of control device 20B. The flow shown here is executed whenever the user sets the sensor coordinate system Σs of wireless accelerometer 101.
[0064] 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 sensor 101, and the rotation angle (w,p,r) that defines the direction of the sensor coordinate system Σs by rotating around each axis of the mechanical interface coordinate system Σm, as coordinate system information and stores it in the sensor coordinate memory unit 201.
[0065] In step S12, the wireless accelerometers 101 of each robot 10(1) to 10(n) begin to measure the acceleration of each axis of the sensor coordinate system Σs at the start of learning control. The sensor data receiving unit 205b receives the sensor signals containing the acceleration of each axis of the sensor coordinate system Σs measured by the wireless accelerometers 101 of each robot 10 (1) containing the controlled object through the wireless receiver 30, and obtains the acceleration of each axis of the sensor coordinate system Σs of the received sensor signals as sensor data.
[0066] 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 sensor 101 is installed by using the posture of the robot 10 (1) and the coordinate transformation of the sensor coordinate system Σs. The posture of the robot 10 (1) is obtained by positive transformation of the angles of the joint axes 11 (1) to 11 (6) of the robot 10 (1) before it performs an action (when the robot 10 (1) is stationary), as detected by the axis angle detection unit 203. Furthermore, in step S13, regardless of whether an action program is executed, the sensor value estimation unit 204 should estimate the sensor value (gravitational acceleration) before the robot 10 (1) performs an action (when the robot 10 (1) is stationary).
[0067] In step S14, the appropriate sensor determination unit 209 determines whether there is an appropriate wireless accelerometer sensor 101. The aforementioned appropriate wireless accelerometer sensor 101 is the difference between the sensor data value of each robot 10's wireless accelerometer sensor 101 obtained in step S12 and the sensor value estimated in step S13, which is below the threshold value in all axes of the sensor coordinate system Σs. When there is an appropriate wireless accelerometer sensor 101, the process proceeds to step S16. Alternatively, when there is no appropriate wireless accelerometer sensor 101, the process proceeds to step S15.
[0068] 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, 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 S11.
[0069] 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 sensor 101 is installed by using the position and posture of the robot 10 (1) and the coordinate transformation of the sensor coordinate system Σs. The aforementioned position and posture of the robot 10 (1) are obtained by positive transformation of the angles of the joint axes 11 (1) to 11 (6) of the robot 10 (1) when it moves, as detected by the angle detection unit 203 of each axis. Furthermore, the movement of the robot 10 (1) can refer to the movement in actual operation, or a predetermined movement such as translation relative to the X-axis or Y-axis of the robot coordinate system Σr.
[0070] In step S17, the appropriate sensor determination unit 209 determines whether there is an appropriate wireless accelerometer sensor 101. The aforementioned appropriate wireless accelerometer sensor 101 is the difference between the sensor data value of the wireless accelerometer sensor 101 of each robot 10 (1) including the controlled object, obtained by the sensor data receiving unit 205b, and the sensor value estimated in step S16, which is below the threshold value in all axes of the sensor coordinate system Σs. When there is an appropriate wireless accelerometer sensor 101, the process proceeds to step S18. Alternatively, when there is no appropriate wireless accelerometer sensor 101, the process proceeds to step S15.
[0071] Furthermore, in step S18, the user input unit 252 sets the communication address of the appropriate wireless accelerometer 101 as setting information in response to the user's input operation, and stores it in the sensor setting memory unit 202, and pairs it with the appropriate wireless accelerometer 101. Then, the control device 20B (1) continues to control the robot 10 by means of the learning control action program.
[0072] As described above, the control device 20B in the third embodiment, by pairing with a suitable wireless accelerometer 101, i.e., a wireless accelerometer 101 configured on the robot 10 of the controlled object, can prevent the robot from operating under a state of incorrect connection of the wireless accelerometer 101. The connection setting can be switched arbitrarily. The aforementioned suitable wireless accelerometer 101 is defined as the difference between the sensor data value of the wireless accelerometer 101 configured on each robot 10 and the estimated sensor value, which is below a threshold value in all axes of the sensor coordinate system Σs. 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 value of the wireless accelerometer 101 configured on each robot 10 with the estimated sensor value. When no suitable wireless accelerometer 101 is present, an alarm is notified to the user. Therefore, the control device 20B can reduce the extra working hours required to prevent the robot 10 from continuing to be controlled even when the wireless accelerometer 101 is improperly configured, and can prevent unintended control of the robot 10 (such as vibration-induced divergent movements) caused by incorrect configuration of the wireless accelerometer 101. The third embodiment has been described above.
[0073] <Fourth Embodiment> Next, the fourth embodiment will be described. Furthermore, the control device 20B of the fourth embodiment differs from the first embodiment in the following aspects: (1) The control device 20B of the fourth embodiment receives sensor data detected by wireless accelerometer sensors 101 disposed on each of the plurality of robots 10 containing the controlled object. (2) The control device 20B of the fourth embodiment compares the physical quantity calculated from the sensor data of the wireless accelerometer sensors 101 of each robot 10 with the physical quantity estimated by the positive transformation of the angle of each axis of the controlled robot 10 and the coordinate transformation of the sensor coordinate system, and determines that the sensor with a difference exceeding a preset threshold is a sensor of a robot 10 other than the controlled robot 10. In this way, the control device 20B of the fourth embodiment can prevent the robot from operating in a state of sensor connection error. The fourth embodiment will be described below.
[0074] The robot system in the fourth embodiment is the same as the robot system 1B in FIG9. Elements that have the same function as the elements of robot system 1B are marked with the same symbols and detailed descriptions are omitted.
[0075] The robot 10, the wireless accelerometer 101 and the wireless receiver 30 have the same configuration as the robot 10, the wireless accelerometer 101 and the wireless receiver 30 in the third embodiment.
[0076] <Control Device 20B> Figure 13 is a functional block diagram showing a functional configuration example of control device 20B(1). Furthermore, while Figure 13 illustrates a functional configuration example of control device 20B(1), control devices 20B(2) to 20B(n) are also the same as control device 20B(1). As shown in Figure 13, control device 20B(1) is connected to a teaching operation panel 25 and is configured to include a sensor coordinate memory unit 201, a sensor setting memory 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. In addition, the teaching operation panel 25 includes a user notification unit 251 and a user input unit 252. The sensor coordinate memory unit 201, sensor setting memory unit 202, and each axis angle detection unit 203 have the same functions as those in the first embodiment. Furthermore, the sensor physical quantity estimation unit 207 has the same functions as those in the second embodiment. Also, the sensor data receiving unit 205b has the same functions as those in the third embodiment. Finally, the user notification unit 251 and user input unit 252 have the same functions as those in the first embodiment.
[0077] The sensor physical quantity calculation unit 208b calculates physical quantities from the sensor data of acceleration detected by the wireless accelerometers 101 of each robot 10 disposed in the robot 10 (1) containing the controlled object. Specifically, the sensor physical quantity calculation unit 208b performs a second-order integration over time on the timing data of acceleration of the sensor data of each wireless accelerometer 101 received from the sensor data receiving unit 205b, thereby calculating the movement vector of the wireless accelerometer 101 in the robot coordinate system Σr as a physical quantity.
[0078] 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. For wireless accelerometer 101 whose largest difference component among the XYZ components of the difference between the movement vector calculated by each wireless accelerometer 101 and the estimated movement vector exceeds a preset threshold (e.g., "1 mm"), the appropriate sensor determination unit 209b determines that it is an inappropriate sensor of the robot 10 other than the robot 10(1) of the controlled object. On the other hand, for wireless accelerometer 101 whose largest difference component is within the preset threshold (e.g., "1 mm"), the appropriate sensor determination unit 209b determines that it is an appropriate sensor of the robot 10(1) of the controlled object. The appropriate sensor determination unit 209b outputs the determination result to the user notification unit 251 of the teaching operation panel 25. At this time, the user input unit 252 can also set the appropriate communication address of the wireless accelerometer 101 as setting information and remember it in the sensor setting memory unit 202 in response to the input operation performed by the user according to the display of the user notification unit 251.
[0079] <Appropriate Sensor Determination Processing of Control Device 20B> Next, the flow of appropriate sensor determination processing of control device 20B will be described with reference to FIG. 14. Furthermore, although the appropriate sensor determination processing of control device 20B (1) will be described below, the cases of control devices 20B (2) to 20B (n) are the same as those of control device 20B (1), so the description is omitted. FIG. 14 is a flowchart illustrating the appropriate sensor determination processing of control device 20B. The flow shown here is executed whenever the user sets the sensor coordinate system Σs of wireless accelerometer 101. Furthermore, in the appropriate sensor determination processing shown in FIG. 14, the processing of steps S11, S12, S15, and S18 is the same as the processing of steps S11, S12, S15, and S18 in the third embodiment of FIG. 12, so the description is omitted.
[0080] In step S13a, the sensor physical quantity estimation unit 207 estimates the movement vector at the location where the wireless acceleration sensor 101 is installed as a physical quantity by using the posture of the robot 10 (1) and the coordinate transformation of the sensor coordinate system Σs. The posture of the robot 10 (1) is obtained by positive transformation of the angles of the joint axes 11 (1) to 11 (6) before the robot 10 (1) performs an action (when the robot 10 (1) is stationary), as detected by the angle detection unit 203 of each axis.
[0081] In step S14a, the appropriate sensor determination unit 209b determines whether there is an appropriate wireless accelerometer sensor 101. The aforementioned appropriate wireless accelerometer sensor 101 is defined as follows: the difference between the physical quantity of the position movement vector of each wireless accelerometer sensor 101 calculated by the sensor physical quantity calculation unit 208b using the sensor data of the wireless accelerometer sensors 101 of each robot 10 (1) including the controlled object obtained in step S12, and the physical quantity estimated in step S13a, is such that all components of the difference are below a threshold. When there is an appropriate wireless accelerometer sensor 101, the process proceeds to step S16a. Alternatively, when there is no appropriate wireless accelerometer sensor 101, the process proceeds to step S15.
[0082] In step S16a, the sensor physical quantity estimation unit 207 estimates the movement vector of the position where the wireless accelerometer 101 is installed by using the position and posture of the robot 10(1) and the coordinate transformation of the sensor coordinate system Σs as a physical quantity. The position and posture of the robot 10(1) are obtained by positive transformation of the angles of the joint axes 11(1) to 11(6) when the robot 10(1) moves, as detected by the angle detection unit 203 of each axis.
[0083] In step S17a, the appropriate sensor determination unit 209b determines whether there is an appropriate wireless accelerometer sensor 101. The aforementioned appropriate wireless accelerometer sensor 101 is defined as follows: among the differences between the physical quantity of the movement vector of each wireless accelerometer sensor 101 calculated by the sensor physical quantity calculation unit 208b and the physical quantity of the movement vector estimated in step S16a, all components of the difference are below a threshold. When there is an appropriate wireless accelerometer sensor 101, the process proceeds to step S18. Alternatively, when there is no appropriate wireless accelerometer sensor 101, the process proceeds to step S15.
[0084] As described above, the control device 20B in the fourth embodiment, by pairing with a suitable wireless accelerometer 101, i.e., a wireless accelerometer 101 configured on the robot 10 being controlled, can prevent the robot from operating under conditions where the wireless accelerometer 101 is connected incorrectly, and can arbitrarily switch the connection settings. The aforementioned suitable wireless accelerometer 101 is one in which the difference between the physical quantity calculated using the sensor data of the wireless accelerometer 101 configured on each robot 10 and the estimated physical quantity is below a threshold in all components. 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 quantity calculated using the sensor data of the wireless accelerometer 101 configured on each robot 10 with the estimated physical quantity. When no suitable wireless accelerometer 101 is present, an alarm is notified to the user. Therefore, the control device 20B can reduce the extra working hours required to prevent the robot 10 from continuing to be controlled when the wireless accelerometer 101 is improperly configured, and can prevent unintended control of the robot 10 (such as vibration-induced divergent movements) caused by incorrect configuration of the wireless accelerometer 101. The fourth embodiment has been described above.
[0085] 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.
[0086] <Modification 1> 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 can also be configured on the robot 10 as a sensor. In this case, the sensor value detected by the gyroscope sensor is angular velocity. Alternatively, the control device 20 can also calculate the position and orientation of the mechanical interface coordinate system Σm in the robot coordinate system Σr by performing a positive transformation using the detected angles of the joint axes 11(1) to 11(6), and estimate the sensor value of angular velocity from the change in the orientation of the robot 10 at that time, or it can estimate the physical quantities of the distance and direction (movement vector) of the position of the gyroscope sensor from the change in the orientation of the robot 10.
[0087] Furthermore, an inertial sensor can also be configured on the robot 10 as a sensor. Then, in the case of an inertial sensor, the control device 20 can operate in the same way as in the case of a wireless accelerometer sensor 101 or the aforementioned gyroscope sensor. Furthermore, a force sensor can also be configured on the robot 10 as a sensor. In this case, the control device 20 can also estimate a physical quantity different from the movement vector, for example, by simulating the magnitude and direction of the force detected by the force sensor from internal robot data.
[0088] Alternatively, a laser tracker can be configured on the robot 10 as a sensor. In this case, since the laser tracker can directly measure the motion trajectory, the control device 20 can also estimate the motion trajectory (position) by using the positive transformation of the angles of each axis using data from the robot's internal system and the coordinate transformation of the sensor coordinate system Σs. Furthermore, a motion capture sensor can be configured on the robot 10 instead of a laser tracker. In this case, the control device 20 can operate in the same way as in the case of a laser tracker.
[0089] Furthermore, a vision sensor can also 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 from the difference between the captured images by continuously capturing images of the plane using the vision sensor mounted on the tool. Alternatively, the control device 20 can estimate the movement distance from internal robot data. Furthermore, a combination of two or more sensors, such as a wireless accelerometer 101 or a gyroscope sensor, can be configured on the robot 10. Alternatively, a smart device, such as a smartphone, containing one or more sensors, such as a wireless accelerometer 101 or a gyroscope sensor, can be configured on the robot 10 as a sensor.
[0090] <Modification 2> Furthermore, for example in the first and second embodiments, in robot systems 1 and 1A, the wireless accelerometer 101 and control devices 20 and 20A respectively configured on robot 10 communicate through a wireless receiver 30, but this is not a limitation. For example, as shown in FIG16, robot system 1 may also use wireless receivers 31(1) to 31(n) that only receive sensor signals from the paired wireless accelerometers 101 configured on robot 10 to enable communication between the wireless accelerometer 101 and control devices 20 and 20A. FIG15 is a functional block diagram showing a functional configuration example of a robot system. Furthermore, elements that have the same function as the elements of robot system 1 in FIG1 are given the same reference numerals and detailed descriptions are omitted.
[0091] As shown in FIG15, the wireless accelerometer 101 configured on robot 10(i) forms a pair with the paired wireless receiver 31(i) (i from 1 to n). That is, when the wireless accelerometer 101 configured on robot 10(i) is to be configured on other robots 10(j), the control device 20(j) must switch to be connected to the wireless receiver 31(i) (j≠i and j=1~n). In other words, since the pairing of the wireless accelerometer 101 and the wireless receiver 31 is performed on a per-unit basis, the user does not need to set the wireless accelerometer 101, that is, the sensor setting memory unit 202 is not needed. The control devices 20 and 20A can easily switch the pairing of robot 10 and wireless accelerometer 101 by simply changing the connection with the wireless receiver 31.
[0092] Furthermore, the functions included in the control devices 20, 20A, and 20B of the first to fourth embodiments can be implemented by hardware, software, or a combination thereof. Here, implementation by software means implementation by reading and executing a program by a computer.
[0093] Programs can be stored and supplied to a computer using various types of non-transitory computer-readable medium. Non-transitory computer-readable medium includes various types of tangible storage medium. Examples of non-transitory computer-readable medium include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disk drives), optical magnetic recording media (e.g., magneto-optical discs), CD-ROM (Read Only Memory), CD-R, CD-R / W, semiconductor memory (e.g., masked read-only memory, PROM (Programmable ROM), EPROM (Erasable PROM), flash memory, RAM). Furthermore, programs can also be supplied to a computer using various types of transient computer-readable medium. Examples of transient computer-readable medium include electrical signals, optical signals, and electromagnetic waves. Temporary computer-readable media can deliver programs to a computer via wired communication paths such as power lines and fiber optics, or via wireless communication paths.
[0094] Furthermore, the steps of the program described on the recording medium certainly include processing performed sequentially, but not necessarily sequentially, and also include processing performed in parallel or individually.
[0095] In other words, the control device disclosed herein can take various forms having the following configuration.
[0096] (1) The control device 20 disclosed herein is a control device for controlling a robot 10 equipped with a wireless accelerometer sensor 101, and includes: a sensor coordinate memory unit 201, which stores pre-set coordinate system information about the sensor coordinate system Σs of the wireless accelerometer sensor 101; a sensor setting memory unit 202, which stores setting information about communication with the wireless accelerometer sensor 101; a sensor data receiving unit 205, which receives sensor data detected by the wireless accelerometer sensor 101 according to the setting information; and an axis angle detection unit 203, which detects the plurality of joint axes 11(1) to 11(2) of the robot 10. 6) The respective angles; the sensor value estimation unit 204 estimates the sensor value detected by the wireless accelerometer 101 by the positive transformation of the angles of the plurality of joint axes 11(1) to 11(6) detected by the axis angle detection unit 203 and the coordinate transformation of the sensor coordinate system Σs; and the sensor value anomaly determination unit 206 compares the sensor data value with the sensor value estimated by the sensor value estimation unit 204. When the difference between the sensor data value and the estimated sensor value exceeds a preset threshold, it is determined that the sensor data receiving unit 205 has received sensor data from the wireless accelerometer 101 configured on other robots 10. With this control device 20, the operation of the robot 10 can be prevented from being in a state of connection error of the wireless accelerometer 101.
[0097] (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 memory unit 201, which stores pre-set coordinate system information about the sensor coordinate system Σs of the wireless accelerometer sensor 101; a sensor setting memory unit 202, which stores setting information about communication with the wireless accelerometer sensor 101; a sensor data receiving unit 205, which receives sensor data detected by the wireless accelerometer sensor 101 according to the setting information; a sensor physical quantity calculation unit 208, which calculates physical quantities from the sensor data; and an axis angle detection unit 203, which detects the angle of the robot. The control device 20A includes the angles of the joint axes 11(1) to 11(6); a sensor physical quantity estimation unit 207, which estimates the physical quantity of the wireless accelerometer 101 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 a sensor value anomaly determination unit 206a, which compares the physical quantity calculated from the sensor data with the physical quantity estimated by the sensor physical quantity estimation unit 207. When the difference between the calculated physical quantity and the estimated physical quantity exceeds a preset threshold, it is determined that the sensor data receiving unit 205 has received sensor data from the sensor configured on another robot. The same effect as (1) can be achieved by using this control device 20A.
[0098] (3) The control devices 20 and 20A described in (1) or (2) may also include a user notification unit 251, 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 accelerometer 101 configured on another robot 10. In this way, the control devices 20 and 20A can notify the user of a connection error of the wireless accelerometer 101.
[0099] (4) In the control devices 20 and 20A described in (3), the user notification unit 251 can also output the setting information set in the sensor setting memory unit 202 and the sensor data values received by the sensor data receiving unit 205, along with an alarm. In this way, the user can confirm whether the setting information stored in the sensor setting memory unit 202 is incorrect, or whether the wireless accelerometer sensor 101 is malfunctioning, etc.
[0100] (5) The control devices 20 and 20A described in any one of (1) to (4) may also have two or more sensors that can measure different physical quantities disposed on the aforementioned robot. In this way, the control devices 20 and 20A can detect anomalies in sensor data with better accuracy.
[0101] (6) The control devices 20 and 20A described in any one of (1) to (4) may also be configured as sensors on the robot 10, and may include a smart device containing one or more sensors. In this way, the control devices 20 and 20A can achieve the same effect as (5).
[0102] (7) The control device 20B disclosed herein is a control device for controlling a robot 10, which is equipped with a wireless accelerometer sensor 101, and includes: a sensor coordinate memory unit 201, which stores pre-set coordinate system information about the sensor coordinate system Σs of the wireless accelerometer sensor 101; a sensor data receiving unit 205b, which receives sensor data detected by the wireless accelerometer sensor 101 of each of the 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 controlled object; and a sensor value estimation unit 204. The control device 20B estimates the sensor values detected by the wireless accelerometer 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. The appropriate sensor determination unit 209 compares the sensor data values of the wireless accelerometers 101 disposed on each of the plurality of robots 10 with the sensor values estimated by the sensor value estimation unit 204. The wireless accelerometers 101 whose sensor data differs from the estimated sensor values by more than a preset threshold are determined to be sensors of robots 10 other than the robot 10 being controlled. The same effect as (1) can be achieved by this control device 20B.
[0103] (8) The control device 20B disclosed herein is a control device for controlling a robot 10, which is equipped with a wireless accelerometer sensor 101, and includes: a sensor coordinate memory unit 201, which stores pre-set coordinate system information about the sensor coordinate system Σs of the wireless accelerometer sensor 101; a sensor data receiving unit 205b, which receives sensor data detected by the wireless accelerometer sensors 101 of each of the plurality of robots 10, which includes the robot 10; a sensor physical quantity calculation unit 208b, which calculates physical quantities from the sensor data of the wireless accelerometer sensors 101 of each of the plurality of robots 10; and an axis angle detection unit 203, which detects the joint axis 11 ( The control device 20B determines the physical quantities of the wireless accelerometer 101 of the robot 10 being controlled by 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. The control device 20B compares the physical quantities calculated from the sensor data of the wireless accelerometers 101 of the plurality of robots 10 with the physical quantities determined by the sensor physical quantity estimation unit 207. The control device 20B determines the wireless accelerometers 101 whose sensor data differs from the estimated physical quantities by more than a preset threshold as sensors of robots 10 other than the robots 10 being controlled. The control device 20B can achieve the same effect as (1). [Simplified Explanation of the Diagram]
[0014] Figure 1 is a functional block diagram showing a functional configuration example of the robot system of the first embodiment. Figure 2A is a diagram illustrating the coordinate system of the robot of Figure 1. Figure 2B is a diagram illustrating the coordinate system of the robot of Figure 1. Figure 3 is a functional block diagram showing a functional configuration example of the control device. Figure 4A is a diagram illustrating an example of comparing the sensor data value with the estimated sensor value. Figure 4B is a diagram illustrating an example of comparing the sensor data value with the estimated sensor value. Figure 5 is a flowchart illustrating the abnormality determination process of the control device. Figure 6 is a functional block diagram showing a functional configuration example of the robot system of the second embodiment. Figure 7 is a functional block diagram showing a functional configuration example of the control device. Figure 8 is a flowchart illustrating the abnormality determination process of the control device. Figure 9 is a functional block diagram showing a functional configuration example of the robot system of the third embodiment. Figure 10 is a functional block diagram showing a functional configuration example of the control device. Figure 11 is a diagram illustrating an example of comparing the sensor data value with the estimated sensor value. Figure 12 is a flowchart illustrating the appropriate sensor determination process of the control device. Figure 13 is a functional block diagram showing an example of the functional configuration of the control device. Figure 14 is a flowchart illustrating the appropriate sensor determination process of the control device. Figure 15 is a functional block diagram showing an example of the functional configuration of the robot system.
Claims
1. A control device for controlling a robot equipped with sensors, the control device comprising: a sensor coordinate memory unit that stores pre-set coordinate system information about a sensor coordinate system of the sensors; a sensor setting memory unit that stores setting information about communication with the sensors; a sensor data receiving unit that receives sensor data detected by the sensors based on the setting information; and an axis angle detection unit that detects the angle of each of the plurality of axes included in the robot. The sensor value estimation unit estimates the sensor value detected by the aforementioned sensor by using the positive transformation of the angles of the aforementioned plurality of axes detected by the aforementioned axis angle detection unit and the coordinate transformation of the aforementioned sensor coordinate system; and the sensor value anomaly determination unit compares the value of the aforementioned sensor data with the sensor value estimated by the aforementioned sensor value estimation unit. When the difference between the value of the aforementioned sensor data and the estimated aforementioned sensor value exceeds a preset threshold, it determines that the aforementioned sensor data receiving unit has received sensor data from sensors configured on other robots.
2. A control device for controlling a robot equipped with sensors, the control device comprising: a sensor coordinate memory unit that stores pre-set coordinate system information about the sensor coordinate system; a sensor setting memory unit that stores setting information about communication with 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 from the sensor data; and an axis angle detection unit that detects the angle of each of the plurality of axes included in the robot. The sensor physical quantity estimation unit estimates physical quantities of the aforementioned sensors by using the positive transformation of the angles of the aforementioned plurality of axes detected by the aforementioned axis angle detection unit and the coordinate transformation of the aforementioned sensor coordinate system; and the sensor value anomaly determination unit compares the aforementioned physical quantity calculated from the aforementioned sensor data with the aforementioned physical quantity estimated by the aforementioned sensor physical quantity estimation unit. When the difference between the calculated aforementioned physical quantity and the estimated aforementioned physical quantity exceeds a preset threshold, it determines that the aforementioned sensor data receiving unit has received sensor data from sensors configured on other robots.
3. The control device of request item 1 or 2 is equipped with a user notification unit, which outputs an alarm when the aforementioned sensor value anomaly determination unit determines that the aforementioned sensor data receiving unit has received sensor data from a sensor configured on another robot.
4. The control device as described in claim 3, wherein the aforementioned user notification unit outputs the aforementioned setting information set in the aforementioned sensor setting memory unit and the value of the aforementioned sensor data received by the aforementioned sensor data receiving unit, together with the aforementioned alarm.
5. The control device as claimed in claim 1 or 2, wherein two or more sensors measuring different physical quantities are configured on the aforementioned robot.
6. The control device as claimed in claim 1 or 2, wherein a smart device containing one or more sensors is configured on the robot as the aforementioned sensors.
7. A control device for controlling a robot equipped with sensors, the control device comprising: a sensor coordinate memory unit for storing pre-set coordinate system information about a sensor coordinate system of the sensors; a sensor data receiving unit for receiving sensor data detected by sensors disposed on each of a plurality of robots including the robot of the controlled object; and an axis angle detection unit for detecting the angle of each of the plurality of axes included in the robot of the controlled object. The sensor value estimation unit estimates the sensor values detected by the sensors of the robot being controlled by means of the positive transformation of the angles of the plurality of axes detected by the aforementioned axis angle detection unit and the coordinate transformation of the aforementioned sensor coordinate system; and the appropriate sensor determination unit compares the sensor data values of the sensors disposed on the plurality of robots with the sensor values estimated by the aforementioned sensor value estimation unit, and determines the sensors whose sensor data differ from the estimated sensor values by more than a preset threshold as sensors of robots other than the robot being controlled.
8. A control device for controlling a robot equipped with sensors, the control device comprising: a sensor coordinate memory unit for storing pre-set coordinate system information about a sensor coordinate system of the sensors; a sensor data receiving unit for receiving sensor data detected by sensors disposed on each of a plurality of robots including the robot of the control object; a sensor physical quantity calculation unit for calculating physical quantities from the sensor data disposed on each of the sensors of the plurality of robots; and an axis angle detection unit for detecting the angle of each of the plurality of axes included in the robot of the control object. The sensor physical quantity estimation unit estimates the physical quantities of the sensors of the robot being controlled by means of the positive transformation of the angles of the plurality of axes detected by the aforementioned axis angle detection unit and the coordinate transformation of the aforementioned sensor coordinate system; and the appropriate sensor determination unit compares the physical quantities calculated from the sensor data of the sensors of the plurality of robots with the physical quantities estimated by the aforementioned sensor physical quantity estimation unit, and determines the sensors whose sensor data differ from the estimated physical quantities by more than a preset threshold as sensors of robots other than the robot being controlled.
Citation Information
Patent Citations
Robotic device and method of controlling robotic device
CN102328312A
Robot system
JP2011224727A
Vibration suppression control robot system
JP2014014897A