The present invention relates to a control system, for example, for industrial robots, and, particularly, to a module system for robots which is suitable for robot miniaturization and autonomous robot operation.
Robot systems have come to be widely used in various fields. In recent years, particularly, applications have been spreading from indoor uses, for example, in factories, to outdoor uses. Against such a backdrop, expectations have been rising for robot systems operable in narrow spaces or under dynamically varying circumstances.
Generally, such robot systems are each configured with a mechanical system including arms and end effectors provided at arm ends and a control device to control such mechanical parts.
In Patent Literature 1, an example of a control system for such robot systems is described. An object of the control system is to provide technology to allow, when having a system execute a predetermined task using a learning module, the user of the system to perform, during operation execution, adjustment according to operating conditions. The system is provided with a learned model, learned as prescribed through mechanical learning, or a learning module having a model provided with inputs and outputs equivalent to those of the learned model, and is used to have a predetermined task executed. The system is configured including: a first input unit which receives information acquired by one or more external systems and generates at least part of information to be inputted to the learning module; an output unit which acquires information outputted from the learning module and generates information to be outputted from the system, the information to be outputted from the system being for use in execution of a predetermined task; and a second input unit which receives input from the user. Information based on the input from the user is inputted to at least one of the first input unit, the learning module, and the output unit. Information outputted from the output unit varies based on the input from the user.
Patent Literature 1: Japanese Unexamined Patent Application Publication No. 2018-190241
Because of labor power shortages at work sites, robots are expected as substitutes for labor power, and they are required to offer high levels of sophistication and autonomy. In reality, however, with industrial robots used at work sites widely varying in performance and individuality, there is no easy means for enhancing the autonomy and performance of the existing systems.
If end effectors capable of precision control and autonomous operation can be mounted at end parts of robot arms, control precision and operation speed can be improved, making it easy to realize autonomous robot operation. When doing so, by adopting modularized mechanisms and control systems, wiring arrangement and implementability can be improved.
However, if such modularization results in reducing the space for mounting a control system, a high-performance CPU cannot be mounted. Therefore, a new means for making arithmetic processing required for autonomous robot operation executable is required, but this is not taken into consideration in Patent Literature 1.
Based on the above-described, it is an object of the present invention to provide a module system for robots which is suitable for autonomous robots to substitute for labor power at work sites.
Based on the above-described, the present invention provides a module system for robots which, by being linked to a drive mechanism and a sensor of a robot, controls the drive mechanism. The module system comprises a software processing unit, a logic circuit unit, and an input/output controller linked to the drive mechanism and the sensor. The software processing unit stores switching conditions for switching plural control tasks executed in a series of operation processes to be executed in the drive mechanism and parameters for use in operation tasks executed in the control tasks. The software processing unit also transmits the switching conditions and the parameters to the logic circuit unit and specifies a next operation process to be executed. The logic circuit unit: confirms, based on sensor signals from the input/output controller, establishment of the switching conditions and controls starting and ending of the plurality of control tasks; temporarily retains the parameters and uses the parameters in the operation tasks to be executed in the next operation process specified for execution; and controls, via the input/output controller, the drive mechanism according to operation results of the operation tasks.
A module system for robots which is suitable for autonomous robots to substitute for labor power at work sites is provided.
In the following, an embodiment of the present invention will be described with reference to drawings.
During the operation, the higher-order control device 3 carries out analyses concerning object recognition and operation generation and directs operations while transmitting necessary information to the lower-order control device 4 using a communication means, not shown. The lower-order control device 4 controls the hand 2 according to the directions received. In realizing the lower-order control device 4, the major objects include: speeding up of, delay reduction in, and autonomous control realization for feedback control in downstream systems; and, in the process of achieving such objects, reducing the development man-hours and improving wiring layout and implementability.
The lower-order control device 4 is configured mainly with a master controller 4A and has a modular configuration integrating plural input/output controllers 4B and plural sensors 4C including actuator drivers, sensors, and a camera. These controllers and sensors are interconnected via wired communication paths. The plural input/output controllers 4B may be divided, to be respectively configured, into input/output controllers to execute input/output control and communication controllers to execute communication control. According to
As described above, the lower-order control device 4 is a modularized device combining the controller with other controllers and mechanisms with built-in sensors and controllers. This modularized single configuration makes it possible to control, at high speed, position correction and gripping movement. This enables hand parts at ends to operate independently without being dependent on arm forms and arm performance. Thus, the implementation man-hours can be reduced while maintaining safety by reflective end-part control.
The master controller 4A is configured including a software processing unit 4A1 including a CPU and a logic circuit unit 4A2 including hardware such as an FPGA (field programmable gate array). An example of a minimum internal configuration of the master controller 4A is shown in
In this configuration, command signals issued by the software processing unit 4A1 are transmitted from the bus communication path 4A11 to the input/output control unit 4A23 via the parameter control unit 4A21 and the normal-time operation unit 4A22 to be then supplied from the input/output controller 4B shown in
As clear from the configuration shown in
Next, the operations of each part of the master controller will be described referring to specific operation examples of the robot system. According to the specific operations of the robot system represented in
In each operation process D1, plural control tasks D2 are executed. In the bolt fitting process st1, for example, an object gripping control task st11 to use the gripper mechanism 2d of the robot shown in
Completion of gripping control st11 is confirmed when an operating condition with the values detected by sensor and sensor B both being X or larger is met. The information on this operating condition is provided as a command signal from the software processing unit 4A1 to the switching condition storing unit 10 in the parameter control unit 4A21. In the switching condition storing unit 10, the sensor signals fed back from the input/output controller 4B to the parameter control unit 4A21 via the input/output control unit 4A23 are monitored and, when the above operating condition for switching is met, a next control task is activated. Upon being met of the operating condition, the information stored in the switching condition storing unit 10 is discarded, and the command signal on a new switching condition received from the software processing unit 4A1 is newly stored.
In the gripping control task st11, for example, a bolt is made a control object. The parameters stored in the parameter control unit 4A21 represent feature amount information, for example, about a control object such as a bolt or about a control environment. Furthermore, in the NN operation unit 4A22, operation is carried out based on the parameters. In the present example, parameters for gripping bolts A, B, and C are retained as command signals from the software processing unit 4A1 in plural parameter storing memories 40. The parameters representing feature amounts about bolts A, B, and C are entered in the plural parameter storing memories 40 via the FIFO memory unit 20 and the memory section unit 30, the plural parameter storing memories 40 being used in order from top. In the case of position control, feature amounts representing lightness in bright and dark states are entered in the plural parameter storing memories 40 in order from top. While data is serially processed in the software processing unit 4A1, parallel processing is advantageous in the logic circuit unit 4A2 that is hardware. Hence, parallel-to-serial conversion is made in the FIFO memory unit 20 and the memory selection unit 30.
In the NN operation unit 4A22 to perform neural network operations, operation task D3 is executed using feature amount information obtained from the parameter storing memories 40 and, thereby, an optimum work amount is determined. For bolt A, the operation task 1 is executed. In the case of bolt B or bolt C, the operation task 2 is executed. In a bright state, the operation task 3 is executed and, in a dark state, the operation task 4 is executed. The execution result is transmitted to the input/output controller 4B via the input/output control unit 4A23, causing the relevant mechanisms to be driven and the bolt A to be fastened.
Though not explicitly shown in
In the diagram, the height direction represents a time series. At time t0, the software processing unit 4A1 issues a gripping control command for a bolt fitting operation process indicated in
At time t0 at the beginning of this time series when the software processing unit 4A1 issues a gripping control command, the operation unit 4A22 is engaged in execution of the preceding task in the stage preceding the gripping control and the switching condition storing unit 10 is in the process of determining whether the condition for switching the preceding task in the stage preceding the gripping control has been met. Namely, while the operation unit 4A22 and the switching condition storing unit 10 are engaged in execution and confirmation of the current operation, the software processing unit 4A1 and the part to receive signals from the software processing unit 4A1 are making preparations to start the next stage by engaging in signal exchanges concerning the next-stage operation and processing.
The control command issuance by the software processing unit 4A1 is carried out through the following two processes. In the first command issuance process, the software processing unit 4A1 transmits, by referring to the external main storage device 4A12, the data group H1 representing switching conditions, indicated in
At this point of time, operation parameters p have only been stored in the FIFO memory unit 20. Subsequently, the memory selection unit 30 stores the data group J1 including a series of parameters for respective operation tasks in plural parameter storing memories 40 such that the serial data group J1 including the parameters for respective operation tasks are allocated to different parameter storing memories 40, respectively. Referring to the illustrated example: storing parameter p1 is storing the parameter for the operation task for bolt A; storing parameter p2 is storing the parameter for the operation task for bolt B; and storing parameter p3 is storing the parameter for the operation task for bolt C. This means that, at this timing, only the transfer of the parameters p is being executed. This applies also to the switching condition storing unit 10. Namely, the data group H1 representing switching conditions for the control tasks and operation tasks concerning gripping control have only been received, and, during this period, whether the switching condition for the preceding task in the preceding stage has been met is being determined.
When time point t1 is reached, the switching condition storing unit 10 confirms that the switching condition for the preceding task has been met, accordingly reports to the operation unit 4A22, and the operation unit 4A22 stops operation of the preceding task. That the switching condition for the preceding task has been met is also reported to the software processing unit 4A1. The software processing unit 4A1 transfers, based on the conditions determined in the switching condition storing unit 10, the parameters P3 stored in the parameter storing memories 40 to the operation unit 4A22 via the memory selection unit 50 of the parameter control unit 4A21 and, subsequently, deletes all contents of the memories. The operation unit 4A2 to which the parameters have been transferred starts execution using the parameters while retaining the parameters. Subsequently, every time a switching condition is met, the operation unit 4A22 executes operation using the selected parameter.
The software processing unit 4A1 issues, at time point t2 subsequent to the issuance of the direction for parameter deletion, a position control command to the logic circuit unit 4A2 side, and, subsequently, continues processing execution for each part based on the same logical judgment as described above. The contents of the processing will be easily understood from the above description, so that further description is omitted herein.
The normal-time operation unit 4A22 shown in
Processing step S106 makes neuron processing for a layer repeated until all neurons in the layer have been processed. Similarly, processing step S107 makes layer-by-layer neuron processing repeated until all of the plural layers have been processed. In this case, until all layers have been processed, every time processing for a layer is started, the operation result of the preceding layer is read out. Finally, in processing step S108, completion of processing for all layers is confirmed.
The NN operation unit shown in
In the totally coupled network shown in
When, on the other hand, there is data dependency, overall inference operations can be speeded up by implementing processing-by-processing pipelining and, thereby, shortening the processing execution cycle. Furthermore, for the operation units, to ensure actuator control accuracy, a single-precision floating point format is used, and, for the memories, weights can be changed every time learning is made.
According to the industrial robot control system and control method therefor of the present invention described above, a module system for robots which is suitable for autonomous robots to undertake field operations can be provided.
1: Arm, 2: Hand, 2a: Positioning mechanism, 2b: Camera, 2c: Wrist mechanism, 2d: Gripper mechanism, 3: Higher-order control device, 4: Lower-order control device, 4A: Master controller, 4A2: Logic circuit unit, 4A1: Software processing unit, 4A11: Bus communication unit, 4A21: Parameter control unit, 4A22: Normal-time operation unit, 4A23: Input/output control unit, 4A24: Emergency operation unit, 4B: Input/output controller, 10: Switching condition storing unit, 20: FIFO memory unit, 30: Memory selection unit, 40: Parameter storing memory, 50: Memory selection unit
Number | Date | Country | Kind |
---|---|---|---|
2020-039705 | Mar 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/048757 | 12/25/2020 | WO |