Autonomous control system, autonomous control method, and program
The autonomous control system addresses the challenge of robotic control by integrating motion planning and correction units to autonomously adapt to object characteristics and environmental changes, enhancing robotic adaptability and efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KEIO UNIV
- Filing Date
- 2024-12-17
- Publication Date
- 2026-06-29
AI Technical Summary
Conventional robotic control technologies lack the ability to autonomously plan and adapt robotic actions involving contact with objects, failing to account for both pre-planning of movements and real-time modifications based on object characteristics and environmental changes.
An autonomous control system that integrates motion planning and correction units to generate and adjust operation commands based on environmental and object characteristics, enabling bilateral control and adaptive robotic movements.
Enables autonomous robotic operations with improved adaptability and efficiency, reducing human workload and enhancing production efficiency by automating non-routine tasks.
Smart Images

Figure 2026106325000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an autonomous control system, an autonomous control method, and a program.
Background Art
[0002] Currently, robots that perform contact work are used in various fields. Along with this, technologies for appropriately controlling the operations of robots have been proposed in, for example, Patent Documents 1 to 3. Specifically, Patent Document 1 discloses a technology related to bilateral control in which an operation performed by a user on a master device is transmitted as force feedback, and a slave device operates according to the user's operation. Further, Patent Document 2 discloses a technology for realizing automation of flexible gripping of an object by a hand mechanism. Furthermore, Patent Document 3 discloses a technology related to a behavior estimation device that estimates a command value for an operation based on a response output from a slave device.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Patent Document 3
Summary of the Invention
Problems to be Solved by the Invention
[0004] By the way, when humans perform actions, they make an overall long-term action plan (cerebral processing), and realize various contact operations by reflexively or short-term modifying actions according to changes in the situation during execution (cerebellar processing). When applying this to autonomous, non-routine tasks involving contact by robots, it is considered necessary to control the robot from two perspectives: (1) pre-planning of movements, and (2) modifying movements according to the characteristics of the object being worked on. However, conventional technology lacked the concept of controlling based on these two perspectives. For example, the technology disclosed in Patent Document 1 transmits user operations and does not achieve autonomy. Furthermore, the technology disclosed in Patent Document 2 relates to (1) above. This technology requires meticulous modeling and programming in order to prepare operation commands to the device in advance, which takes time for preparation. Therefore, while it is acceptable when handling only a specific type of object, its versatility is insufficient when it comes to autonomously working with various types of objects or objects of varying sizes. Furthermore, the technology disclosed in Patent Document 3 relates to (2) above. While this technology can respond to changes in the characteristics of the work object, it cannot respond to changes in the surrounding environment, including changes in the position of the object. Therefore, this technology also lacks versatility in terms of autonomous operation.
[0005] In other words, conventional technology still had room for improvement in controlling robotic actions that involved contact with objects. This challenge is common to various fields, regardless of the area in which robots are used.
[0006] The objective of this invention is to control robotic actions involving contact with an object, thereby enabling autonomous movement. [Means for solving the problem]
[0007] To solve the above problems, an autonomous control system according to one embodiment of the present invention is An operating device that performs an operation involving contact with an object based on an operation command, and also detects the characteristics of the object to be contacted, A planning means for planning the operation to be performed by the operating device and for outputting the operation command to the operating device for executing the planned operation, A correction means corrects the operation planned by the planning means by correcting the operation command output by the planning means based on the characteristics of the object to be contacted detected by the operating device, It is characterized by having the following features. [Effects of the Invention]
[0008] According to the present invention, autonomous movement can be achieved by controlling actions involving contact between a robot and an object. [Brief explanation of the drawing]
[0009] [Figure 1] This is a conceptual diagram illustrating the basic principles of the present invention. [Figure 2] This is a block diagram showing the overall configuration of the autonomous control system 1 according to this embodiment. [Figure 3] This block diagram shows the hardware configuration of the master device 10 and the slave device 20. [Figure 4] This is a block diagram showing the hardware configuration of the environmental information detection device 40. [Figure 5] This is a schematic diagram showing the hardware configuration of the autonomous control device 30. [Figure 6] This is a block diagram showing the functional configuration of the autonomous control device 30. [Figure 7] This is a block diagram showing the control algorithm for force and tactile sensation transmission by the motion control unit 311. [Figure 8] This schematic diagram shows an example of how the robot operates based on the motion commands generated by the motion planning unit 314 and the motion commands corrected by the motion correction unit 315. [Figure 9] This schematic diagram shows an example of how the robot operates based on the motion commands generated by the motion planning unit 314 and the motion commands corrected by the motion correction unit 315. [Figure 10]It is a flowchart for explaining the data acquisition process executed by the self - control system 1. [Figure 11] It is a flowchart for explaining the self - control process executed by the self - control system 1.
Embodiment for Carrying Out the Invention
[0010] Hereinafter, an example of an embodiment of the present invention will be described with reference to the accompanying drawings.
[0011] [Basic Principle] The present invention realizes control based on two viewpoints in the control of non - standard operations involving contact operations by robots. Specifically, control is performed from two viewpoints: (1) a prior motion plan, and (2) motion correction according to the characteristics of the object during operation.
[0012] FIG. 1 is a conceptual diagram showing the basic principle of the present invention. In FIG. 1, the flow of various data is indicated by arrows. In this case, the dashed - line arrow indicates the flow of data corresponding to (1) the prior motion plan (feed - forward). Also, the solid - line arrow indicates the flow of data corresponding to (2) the motion correction (feedback) according to the characteristics of the object during operation.
[0013] First, environmental information around the robot is detected by the camera and sensors of A1. As a result, data of environmental information such as visual information by the camera, temperature information by the temperature sensor, and humidity information by the humidity sensor is generated. Next, the motion planning unit of A2 plans the motion of the robot based on the detected environmental information data, and for example, motion commands for several seconds to several tens of seconds are generated. Next, in the buffer of A3, the motion commands generated by the plan are buffered. The buffered motion commands are sequentially output to the motion control unit of A4 in time series. The processing in A1 - A3 corresponds to (1) the prior motion plan (feed - forward).
[0014] Next, the A4 motion control unit controls the robot's movements based on the motion commands. Then, the A5 robot performs the task that involves contact with the object. The A5 robot is equipped with sensors that detect response values indicating the reaction force from the object it comes into contact with.
[0015] The motion correction unit A6 corrects the motion command based on the response value, for example, at intervals of a few milliseconds to about one second. Then, the motion control unit A4 continues to control the robot's motion based on the corrected motion command. The processing in A4 to A6 described above corresponds to (2) motion correction (feedback) according to the characteristics of the object being worked on.
[0016] Thus, the motion planning unit (feedforward unit) in the present invention (1) uses surrounding environment information to create a long-term motion plan as a pre-planning motion. This makes it possible to respond to the initial state of the work object or situations that change slowly. On the other hand, the motion correction unit (feedback unit) in the present invention (2) corrects the motion according to the characteristics of the object being worked on. This makes it possible to correct the motion for slight deviations in the motion plan or changes in the characteristics of the object being worked on, thereby achieving adaptability and contributing to improvements in the success rate and quality of the work.
[0017] Thus, the present invention controls the system from two perspectives: (1) pre-planning of movements, and (2) modifying movements according to the characteristics of the object being worked on. This makes it possible to achieve a high level of autonomy in non-routine tasks performed by humans, which have previously been difficult to automate. For example, it becomes possible to automate non-routine tasks performed by robots, which were previously considered difficult due to skill and cost limitations. Furthermore, this autonomy is expected to reduce the workload on humans and improve production efficiency. In other words, according to the present invention, it is possible to solve the problem of the present invention, which is to control the actions of a robot that involve contact with an object and to achieve autonomous movement. The above constitutes the basic principle of the present invention.
[0018] [System Configuration] Figure 2 is a block diagram showing the overall configuration of the autonomous control system 1 according to this embodiment. As shown in Figure 2, the autonomous control system 1 includes a master device 10, a slave device 20, an autonomous control device 30, and an environmental information detection device 40. The diagram also shows the operator who controls the master device 10, and the object being worked on during the operation of the slave device 20. Note that the environmental information detection device 40 in Figure 2 corresponds to A1 in Figure 1. Also, the slave device 20 in Figure 2 corresponds to A5 in Figure 1. Furthermore, the autonomous control device 30 in Figure 2 corresponds to A2, A3, A4, and A6 in Figure 1.
[0019] Furthermore, each of the master device 10, slave device 20, and environmental information detection device 40 is connected to the autonomous control device 30 so as to be able to communicate with each other. Communication between these devices may be carried out in accordance with any communication method, and the communication method is not particularly limited. In addition, communication between these devices may be carried out directly between the devices, or via a network implemented by the Internet or a LAN (Local Area Network).
[0020] In this embodiment, two processes are performed: "data acquisition processing" and "autonomous control processing". First, the data acquisition process is a series of processes that create an operational database based on operations performed by the operator. Furthermore, autonomous control processing is a series of processes that utilize this motion database to enable autonomous work by the robot.
[0021] The master device 10 is a device operated by the operator to perform tasks when creating an operation database during the data acquisition process. The slave device 20 is a device that actually performs tasks by making contact with the target object. Furthermore, the autonomous control device 30 is a device that controls the operation of the master device 10 and the slave device 20 during the operation.
[0022] In the autonomous control system 1, the autonomous control device 30 controls the master device 10 as the master device (also called the "leader device"), and the slave device 20 as the slave device (also called the "follower device"). That is, the user's operation on the master device 10 is transmitted to the slave device 20, causing the slave device 20 to make contact with the object. On the other hand, the reaction force input from the object to the slave device 20 is fed back to the operator via the master device 10. In other words, bilateral control is realized in the autonomous control system 1.
[0023] As an example, the autonomous control device 30 implements this bilateral control based on the algorithm described in the patent gazette (Patent No. 6382203) of the patent rights held by Keio University, the applicant for the present invention. Accordingly, the autonomous control device 30 calculates various force-tactile parameters and secondary parameters that can be calculated from those parameters (hereinafter referred to as "force-tactile parameters") as described in the said patent gazette.
[0024] Furthermore, after the operation database is created, the autonomous control device 30 executes autonomous control processing. This enables autonomous work by the robot (in this case, the slave device 20). The autonomous control processing by the autonomous control device 30 is performed in accordance with the [basic principles] of the present invention, as explained with reference to Figure 1.
[0025] It should be noted that this robot configuration is merely an example for illustrative purposes and is not limited to it. For example, after creating an operation database using the master device 10 and slave device 20 in the data acquisition process, the autonomous control process may target other robots other than the slave device 20 to achieve autonomous operation. In this case, there are no limitations on the number of other robots, or the number of master devices 10 and slave devices 20.
[0026] The environmental information detection device 40 detects environmental information around the robot (in this case, the slave device 20). As mentioned above, the environmental information includes visual information, temperature information, and humidity information. The environmental information detected by the environmental information detection device 40 is used by the autonomous control device 30.
[0027] [Device configuration] Next, the configuration of each device included in the autonomous control system 1 will be described.
[0028] [Configuration of Master Device 10 and Slave Device 20] Figure 3 is a block diagram showing the hardware configuration of the master device 10 and the slave device 20. As shown in Figure 3, the master device 10 and the slave device 20 are each connected to the autonomous control device 30 in a way that allows them to communicate with each other.
[0029] Furthermore, the master device 10 is equipped with an operating mechanism 15. Alternatively, the master device 10 is equipped with an operating mechanism 15. The operating mechanism 15 is a mechanism that receives input from an operator. Furthermore, the slave device 20 is equipped with a contact mechanism 25. Alternatively, the slave device 20 is equipped with a contact mechanism 25. The contact mechanism 25 is a mechanism that performs work by making contact with an object. The contact mechanism 25 has a shape and function suitable for the tasks performed in the autonomous control system 1. These tasks include, for example, gripping and moving an object, or performing cutting, milling, and polishing operations on the object. However, it is not limited to these tasks and can be applied to various technical fields. The contact mechanism 25 is equipped with gripping members, tools, and jigs for performing these tasks.
[0030] Furthermore, the operating mechanism 15 may have the same shape and function as the contact mechanism 25, but some of its shape and function may differ. For example, the part of the operating mechanism 15 that is operated by the operator may have the same shape and function as the contact mechanism 25. On the other hand, unlike the contact mechanism 25, the operating mechanism 15 may omit the tools used to actually contact the object and perform the work, as well as the jigs that guide them.
[0031] Furthermore, the master device 10 includes a master-side actuator 12 for driving the operating mechanism 15, a master-side driver 11 for driving the master-side actuator 12, and a master-side position sensor 13 for detecting the position of the movable part of the operating mechanism 15 that is moved by the drive of the master-side actuator 12.
[0032] On the other hand, the slave device 20 similarly includes a slave-side actuator 22 for driving the contact mechanism 25, a slave-side driver 21 for driving the slave-side actuator 22, and a slave-side position sensor 23 for detecting the position of the movable part of the contact mechanism 25 that is moved by the drive of the slave-side actuator 22.
[0033] In this case, the position of the movable part of the operating mechanism 15 detected by the master-side position sensor 13 is, for example, the position of a predetermined part of the movable part of the operating mechanism 15. However, instead of the position of the movable part of the operating mechanism 15, the position of a predetermined part of the operator operating the operating mechanism 15 may be used. Furthermore, the position of the movable part of the contact mechanism 25 detected by the slave-side position sensor 23 is, for example, the position of a predetermined part of the movable part of the contact mechanism 25. However, instead of the position of the movable part of the contact mechanism 25, the position of a predetermined part that the contact mechanism 25 makes contact with (for example, the position of the tip of the contact mechanism 25) may be used.
[0034] Furthermore, in this embodiment, instead of detecting the position of the movable parts of the operating mechanisms 15 and the movable parts of the contact mechanisms 25, the rotation angle of the output shaft of each actuator may be detected by a rotary encoder built into each actuator. That is, in this embodiment, the concept of position includes angle (for example, the rotation angle of the output shaft of the actuator), and the position information includes position, angle, velocity, angular velocity, acceleration, and angular acceleration. Also, since position and velocity (or acceleration) or angle and angular velocity (or angular acceleration) are parameters that can be substituted by differential and integral calculus, when processing related to position or angle, it is possible to appropriately substitute them with velocity or angular velocity before processing. In the figure, only one system of each driver, each actuator, and each position sensor is shown in the master device 10 and the slave device 20, but multiple systems of these can be provided depending on the number of operating mechanisms 15 and contact mechanisms 25, the number of each actuator, and the number of axes of each arm.
[0035] In this configuration, the autonomous control device 30 outputs control commands to the master driver 11 and the slave driver 21 based on the positions detected by the master position sensor 13 and the slave position sensor 23, thereby realizing bilateral control that transmits force and tactile sensation between the operating mechanism 15, which is a master device connected to the master device 10, and the contact mechanism 25, which is a slave device connected to the slave device 20. The specific algorithm for realizing this force-tactile control (bilateral control) will be described later, with reference to Figure 7.
[0036] Figure 4 is a block diagram showing the hardware configuration of the environmental information detection device 40. As shown in Figure 4, the environmental information detection device 40 comprises a device control unit 41, a camera unit 42, a sensor unit 43, and a data generation unit 44.
[0037] The device control unit 41 controls the camera unit 42 and the sensor unit 43. For example, in response to user operation, it activates the camera unit 42 and the sensor unit 43 to detect environmental information around the robot (in this case, the slave device 20).
[0038] The camera unit 42 detects visual information by taking pictures of the area around the robot. The field of view of the camera unit 42 is set to a field of view that can capture, for example, the state of the object being worked on or the robot's operating state. This makes it possible to obtain image data that captures how the state of the object and the robot changes during work.
[0039] The sensor unit 43 is implemented by a temperature sensor that detects temperature information and a humidity sensor that detects humidity information in the vicinity of the robot. The temperature sensor and humidity sensor may detect the temperature and humidity of the environment in which the robot works (for example, indoors or outdoors), or they may detect the temperature and humidity of the robot itself or the object being worked on. They may also detect information other than temperature and humidity.
[0040] The data generation unit 44 transmits data (hereinafter referred to as "environmental information data") to the autonomous control device 30, which includes visual information detected by the camera unit 42 and information such as temperature and humidity detected by the sensor unit 43.
[0041] Figure 5 is a schematic diagram showing the hardware configuration of the autonomous control device 30. As shown in Figure 5, the autonomous control device 30 includes a CPU (Central Processing Unit) 711, a ROM (Read Only Memory) 712, a RAM (Random Access Memory) 713, a bus 714, an input unit 715, an output unit 716, a storage unit 717, a communication unit 718, and a drive 719.
[0042] The CPU 711 executes various processes according to the program recorded in the ROM 712 or the program loaded into the RAM 713 from the storage unit 717. RAM713 also stores data necessary for CPU711 to perform various processes.
[0043] The CPU 711, ROM 712, and RAM 713 are interconnected via a bus 714. The input unit 715, output unit 716, storage unit 717, communication unit 718, and drive 719 are connected to the bus 714.
[0044] The input unit 715 is equipped with an input device such as a mouse or keyboard and accepts various types of information input to the autonomous control device 30. Alternatively, the input unit 715 may be equipped with a microphone and accept various types of information input via the operator's voice. The output unit 716 consists of a display, speakers, etc., and outputs images and sound. The memory unit 717 consists of an SSD (Solid State Drive), HDD (Hard Disk Drive), or DRAM (Dynamic Random Access Memory), and stores various types of data managed by each server. The communications unit 718 controls communication with other devices via the network.
[0045] The drive 719 is appropriately equipped with removable media 731, which may consist of a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory. Programs read from the removable media 731 by the drive 719 are installed in the storage unit 717 as needed. The above hardware configuration is the basic configuration of the autonomous control device 30, and it is possible to omit some hardware, add additional hardware, or change the hardware implementation.
[0046] [Functional configuration] Next, the functional configuration of the autonomous control device 30 will be described. Figure 6 is a block diagram showing the functional configuration of the autonomous control device 30. As shown in Figure 6, by executing a program that controls the operation of the autonomous control device 30, the CPU 711 functions as follows: the operation control unit 311, the target characteristic detection unit 312, the data acquisition unit 313, the operation planning unit 314, and the operation correction unit 315. Furthermore, by executing a program that controls the operation of the autonomous control device 30, an operation database 321 is formed in the storage unit 717. Unless otherwise specified below, these functional blocks will send and receive the data necessary to perform the processing at the appropriate time.
[0047] The motion control unit 311 controls the operation of each mechanism in the data acquisition process by controlling the transmission of force and tactile sensations between the operating mechanism 15 driven by the master device 10 and the contact mechanism 25 driven by the slave device 20. To achieve this control, the motion control unit 311 acquires force-tactile information necessary for control. For example, the motion control unit 311 acquires the position (specifically, position or angle) of the movable part of the operating mechanism 15, which is moved by the master actuator 12, from the master position sensor 13. The motion control unit 311 also acquires the position (specifically, position or angle) of the movable part of the contact mechanism 25, which is moved by the slave actuator 22, from the slave position sensor 23. These acquired physical quantity data, such as position, are used as reference values for the operation of each mechanism driven by the master device 10 and the slave device 20 in the force-tactile transmission control algorithm. Furthermore, in autonomous control processing, the motion control unit 311 uses a position based on an operation command (specifically, a position or angle) instead of the position of the movable part of the operating mechanism 15 as a reference value for the operation of the contact mechanism 25 driven by the slave device 20.
[0048] Figure 7 is a block diagram showing the control algorithm for force tactile sensation transmission by the motion control unit 311. As shown in Figure 7, the algorithm implemented in the operation control unit 311 is expressed as a control law that includes a function-specific force-velocity assignment conversion block FT, an ideal force source block FC, an ideal velocity (position) source block PC, and an inverse conversion block IFT. The control algorithm shown in Figure 5 is described in the patent gazette (Patent No. 6382203) of a patent held by Keio University, which is one of the applicants of this application, and various control algorithms described in the said patent gazette can be used as appropriate in this embodiment as well. In this embodiment, the first controlled system in the controlled system CS is composed of a master device 10 and an operating mechanism 15, and the second controlled system is composed of a slave device 20 and a contact mechanism 25.
[0049] The Functional Force / Velocity Assignment Conversion Block FT is a block that defines the conversion of control energy to the velocity (position) and force domains set according to the function of the controlled system CS. Specifically, the Functional Force / Velocity Assignment Conversion Block FT defines a coordinate transformation that takes as input the reference value (reference value) of the function of the controlled system CS and the current position (or current angle) of the movable parts of each mechanism moved by the master actuator 12 and slave actuator 22. This coordinate transformation generally converts an input vector with the reference value and current position (current angle) as elements into an output vector consisting of position (angle) for calculating the control target value of position (angle), and also converts an input vector with the reference value and current force as elements into an output vector consisting of force for calculating the control target value of force.
[0050] By setting the coordinate transformation in the functional force / velocity assignment conversion block FT to represent the force-tactile transmission function, it is possible to realize the force-tactile transmission function between the master device 10 and the slave device 20, or to reproduce the force-tactile transmission operation on the slave device 20 without using the master device 10. Furthermore, by setting coefficients in the elements of the transformation matrix in the coordinate transformation of the functional force / velocity assignment conversion block FT, it is possible to scale the position (angle) or force.
[0051] In other words, in this embodiment, the function-specific force / velocity assignment conversion block FT "converts" the individual variables (variables in real space) of the movable parts of each mechanism moved by the drive of the master actuator 12 and the slave actuator 22 into a group of system-wide variables (variables in space after coordinate transformation) that represent the force-tactile transmission function, and assigns control energy to the control energy of position (angle) and the control energy of force. That is, the coordinate transformation set in the function-specific force / velocity assignment conversion block FT converts the coordinates in real space where position (angle) and force are related to each other (oblique coordinates) into coordinates in virtual space where position (angle) and force are independent of each other (orthogonal coordinates). Therefore, compared to the case where control is performed using the individual variables (variables in real space) of the movable parts of each mechanism moved by the drive of the master actuator 12 and the slave actuator 22, it is possible to independently assign the control energy of position (angle) and the control energy of force, that is, to independently control position (angle) and force.
[0052] In this embodiment, for example, when controlling the position (angle) and force output by the master device 10, the state value in the space after coordinate transformation can be calculated under the condition that the difference in position (angle) is zero and the sum of the forces is zero (equal forces in opposite directions are output) between the input of the position (angle) of the movable part of each mechanism moved by the drive of the master-side actuator 12 and the force calculated from these positions (angles), and the reference value that serves as the basis for controlling the position (angle) and force. However, the reference value that serves as the basis for controlling the position (angle) and force is the position (angle) of the movable part of each mechanism moved by the drive of the slave-side actuator 22 in the slave device 20 and the force calculated from these positions (angles).
[0053] Similarly, in this embodiment, for example, when controlling the position (angle) and force output by the slave device 20, the state value in the space after coordinate transformation can be calculated under the condition that the difference in position (angle) is zero and the sum of the forces is zero (equal forces in opposite directions are output) between the input of the position (angle) of the movable part of each mechanism moved by the drive of the slave-side actuator 22 and the force calculated from these positions (angles), and the reference value that serves as the basis for controlling the position (angle) and force. However, the reference value that serves as the basis for controlling the position (angle) and force is the position (angle) of the movable part of each mechanism moved by the drive of the master-side actuator 12 in the master device 10 and the force calculated from these positions (angles).
[0054] The ideal force source block FC is a block that performs calculations in the force domain according to the coordinate transformation defined by the functional force-velocity assignment conversion block FT. In the ideal force source block FC, a target value for force is set when performing calculations based on the coordinate transformation defined by the functional force-velocity assignment conversion block FT. This target value is set as a fixed value or a variable value depending on the function to be realized. For example, when realizing a function similar to the function indicated by the reference value, zero can be set as the target value, or when scaling is performed, a value that is an enlarged or reduced version of the information representing the function indicated by the reference value can be set. In addition, the ideal force source block FC can set an upper limit on the force energy determined by the calculations in the force domain. By setting an upper limit on the force energy, for example, it is possible to limit the contact force when the slave device 20 contacts the object, and it is possible to prevent the contact mechanism 25 from being pressed too hard against the object.
[0055] The ideal velocity (position) source block PC is a block that performs calculations in the position (angle) domain according to the coordinate transformation defined by the function-specific force / velocity assignment conversion block FT. In the ideal velocity (position) source block PC, a target value for position (angle) is set when performing calculations based on the coordinate transformation defined by the function-specific force / velocity assignment conversion block FT. This target value is set as a fixed value or a variable value depending on the function to be realized. For example, when realizing a function similar to the function indicated by the reference value, zero can be set as the target value, or when scaling is performed, a value that is an enlarged or reduced version of the information indicating the function to be reproduced can be set. In addition, the ideal velocity (position) source block PC can set an upper limit on the force energy determined by the calculations in the position (angle) domain. Setting an upper limit on the position (angle) energy limits the distance that the slave device 20 moves forward and backward, and can prevent the contact mechanism 25 from being pressed too hard against the object.
[0056] The inverse transformer block IFT is a block that inversely transforms values in the position (angle) and force domains into values in the input domain to the controlled system CS (e.g., voltage or current values, etc.) (i.e., determines command values in real space). Under this control algorithm, the motion control unit 311 receives time-series position (angle) detection values detected by the master-side position sensor 13. These time-series position (angle) detection values represent the operation of the master-side actuator 12 and the slave-side actuator 22. The motion control unit 311 applies the coordinate transformation described in the patent publication (Patent No. 6382203) of a patent held by Keio University to the input position (angle) and the forces derived from these positions (angles).
[0057] The operation control unit 311, in the data acquisition process, uses such an algorithm, The operation of each mechanism is controlled by transmitting force and tactile sensations between the operating mechanism 15 driven by the master device 10 and the contact mechanism 25 driven by the slave device 20. Furthermore, in autonomous control processing, the motion control unit 311 controls the operation of the contact mechanism 25 by transmitting force and tactile sensations using a position based on the motion command (specifically, position or angle) instead of the position of the movable part of the operating mechanism 15, based on this algorithm.
[0058] Returning to Figure 6, the object characteristic detection unit 312 detects the characteristics of the object (for example, the workpiece to be worked on) in the work performed by the robot (in this case, the slave device 20) based on force-tactile parameters calculated by the motion control unit 311. The characteristics of an object include, for example, a force-tactile model that represents the object's force-tactile properties. A force-tactile model is defined, for example, by a set of the object's inertia M, viscosity D, stiffness (spring force) K, and load force H acting on the object (external load), or any of these. As an example, the target characteristic detection unit 312 realizes the detection of these force-feedback models based on the algorithm described in the international publication (International Publication No. 2021 / 172580) of the patent application filed by Keio University, the applicant of the present invention.
[0059] The data acquisition unit 313 acquires various types of data stored in the operation database 321. First, the data acquisition unit 313 acquires environmental information data received from the environmental information detection device 40. Furthermore, the data acquisition unit 313 acquires time-series data of force-tactile parameters calculated by the motion control unit 311 for force-tactile transmission between the master device 10 and the slave device 20 as motion data. Furthermore, the data acquisition unit 313 acquires data indicating the characteristics of the object detected by the target characteristic detection unit 312 as target characteristic data.
[0060] The data acquisition unit 313 then links these three pieces of data—operational data, target characteristic data, and environmental information data—to form a set of data and stores it in the operation database 321. Each time the data acquisition process is repeated, additional sets of data are added, and a large number of data sets are accumulated in the operation database 321. The operational database 321 functions as a storage unit that stores a database consisting of these sets of data.
[0061] The motion planning unit 314 generates motion commands to operate the robot by formulating a motion plan during autonomous control processing. To this end, the motion planning unit 314 acquires environmental information data from the environmental information detection device 40, which indicates the environmental information around the robot (in this case, the slave device 20) that is the target of autonomous control. Furthermore, the operation planning unit 314 compares the environmental information data acquired this time with all the environmental information data stored in the operation database 321. It then identifies the environmental information data that is most similar in content to the environmental information data acquired this time. Finally, the operation data associated with this identified environmental information data is used as the operation command for the operation to be planned this time.
[0062] The operation command is intended to implement an operation that lasts for a duration of several seconds to tens of seconds. The operation planning unit 314 generates an operation command by reading the operation data associated with the specified environmental information data for that duration, and buffers it in a buffer provided in the RAM 713 or storage unit 717. Then, it outputs the operation command sequentially in chronological order from this buffer to the operation control unit 311. The motion control unit 311 controls the operation of the slave device 20 based on this motion command (i.e., time-series force-tactile parameters), thereby executing the operation planned by the motion planning unit 314.
[0063] The motion correction unit 315 modifies the motion planned by the motion planning unit 314 during autonomous control processing. To this end, the motion correction unit 315 corrects the buffered motion commands (i.e., the motion commands generated by the motion planning unit 314). To this end, the motion correction unit 315 acquires object characteristic data of the object to be operated on autonomously from the object characteristic detection unit 312.
[0064] Furthermore, the motion correction unit 315 compares the target characteristic data acquired this time with all the target characteristic data stored in the motion database 321. It then identifies the target characteristic data that is most similar in content to the target characteristic data acquired this time. Finally, it uses the motion data associated with this identified target characteristic data as the correction data for the motion command. In other words, the motion correction unit 315 corrects the motion command by ensuring that the force-tactile model, which is the object characteristic data of the object in question, matches the force-tactile model, which is the object characteristic data of the contact mechanism 25 that will come into contact with the object in question. By matching the force-tactile models of both in this way, the planned motion is modified to best suit the object in question.
[0065] Furthermore, correction of the operation command is performed, for example, once every few milliseconds to one second. Therefore, the operation correction unit 315 reads the operation data associated with the identified target characteristic data for that length and buffers it in a buffer provided in the RAM 713 or storage unit 717 as the operation command for the most recent few milliseconds to one second. In other words, the correction of the operation command is achieved by rewriting the operation command for the most recent few milliseconds to one second with the correction data. Then, the corrected operation commands are output sequentially in chronological order from this buffer to the operation control unit 311. The motion control unit 311 controls the operation of the slave device 20 based on the corrected motion command (i.e., the time-series force-tactile parameters), thereby correcting the operation planned by the motion correction unit 315 to the operation corrected by the motion correction unit 315.
[0066] In this embodiment, the motion planning unit 314 and the motion correction unit 315 can generate motion commands and correct motion commands by utilizing the motion database 321 in this manner. Therefore, unlike conventional technology, it is not necessary to perform detailed modeling or programming in order to prepare motion commands. Furthermore, the motion data stored in the motion database 321 is based on the operator's actions. Therefore, by using the motion database 321 in this way, human skills can be reproduced. It also becomes possible to digitally preserve and automate the skills of skilled workers that are in danger of being lost.
[0067] Figures 8 and 9 are schematic diagrams illustrating an example of how the robot (in this case, the slave device 20) operates based on the motion commands generated by the motion planning unit 314 and the motion commands corrected by the motion correction unit 315. Figures 8 and 9 schematically show the contact mechanism 25 of the slave device 20 and the object it is working on.
[0068] In this example, the contact mechanism 25 is assumed to be a mechanism in which a knife is positioned at the tip of a robot arm (the robot arm on the left side of the page). The object to be cut is assumed to be a cucumber or a leek on a cutting board. In the autonomous control process, the knife at the tip of the contact mechanism 25 is used to cut the cucumber or leek.
[0069] As a prerequisite, due to its physical properties, it is preferable to cut cucumbers by pressing down on them with a knife (a so-called push-cut). On the other hand, due to its physical properties, it is preferable to cut green onions by pulling them with a knife (a so-called pull-cut). When generating the motion data, it is assumed that the operator is actually performing the cutting method according to these physical properties.
[0070] When autonomous control processing begins, the motion planning unit 314 selects motion data suitable for the current situation based on environmental information data and generates motion commands. In this case, it is assumed that motion data from a previous cucumber cutting operation has been selected. Then, as shown in Figure 8(a), based on the planned motion command, the motion control unit 311 moves the robot arm above the object with the knife of the contact mechanism 25 raised to a certain extent.
[0071] Next, as shown in Figure 8(b), based on the planned motion command, the motion control unit 311 lowers the robot arm to bring the knife into contact with the object. Accordingly, the object characteristic detection unit 312 detects the object characteristic data of the object in question. Then, the motion correction unit 315 attempts to correct the motion command.
[0072] In this case, there are two possibilities. First, the object being worked on is a cucumber, as planned. Then, as shown in Figure 9(c-1), based on the planned motion command, the motion control unit 311 lowers the robot arm and cuts the cucumber with the knife. This is because, since the object being worked on is a cucumber, the motion correction unit 315 did not correct the motion command based on the object characteristic data.
[0073] On the other hand, consider the case where the target object is a leek, which is different from the planned object. In this case, as shown in Figure 9(c-2), the motion control unit 311 lowers the robot arm and cuts the leek with a knife using a pulling motion, based on the motion command which has been corrected from the planned motion command. This is because, since the target object this time was a leek, the motion correction unit 315 corrected the motion command based on the target characteristic data so that it would perform the action required to cut a leek.
[0074] Thus, in this embodiment, control is performed from two perspectives: (1) prior motion planning by the motion planning unit 314, and (2) motion modification by the motion modification unit 315 according to the characteristics of the object being worked on. This makes it possible to achieve a high level of autonomy in non-routine tasks performed by humans, which have been difficult to automate until now. In other words, according to this embodiment, it is possible to solve the problem of the present invention, which is to control the robot's actions involving contact with an object and to achieve autonomous movement.
[0075] [Data acquisition process] Each device included in the autonomous control system 1 has been described in detail. Next, the processing content of the data acquisition process realized by each of these devices will be described. The data acquisition process is a series of processes that create the operation database 321 based on the operations of the operator. Figure 10 is a flowchart illustrating the data acquisition process performed by the autonomous control system 1.
[0076] In step S11, the environmental information detection device 40 starts detecting environmental information. In step S12, the environmental information detection device 40 transmits the detected environmental information to the autonomous control device 30 as environmental information data.
[0077] In step S13, the operation control unit 311 starts controlling the operation of each mechanism by performing force-tactile control between the operating mechanism 15 driven by the master device 10 and the contact mechanism 25 driven by the slave device 20. In step S14, the target characteristic detection unit 312 detects the characteristics of the target object.
[0078] In step S15, the data acquisition unit 313 links environmental information data, operation data, and target characteristic data based on the data acquired during the execution of steps S12 to S14 and stores them as a set in the operation database 321. Note that this step S15 may be performed all at once at the end of the data acquisition process.
[0079] In step S16, the operation control unit 311 determines whether to terminate the data acquisition process. For example, the operation control unit 311 terminates the data acquisition process if it receives an instruction from the operator to terminate the data acquisition process. If the data acquisition process is to be terminated, the determination in step S16 is Yes, and the data acquisition process is terminated. On the other hand, if the data acquisition process is not to be terminated, the determination in step S16 is No, and the process returns to step S12 and is repeated.
[0080] According to the data acquisition process described above, environmental information data, operation data, and target characteristic data can be acquired and stored in the operation database 321.
[0081] [Autonomous control processing] Figure 11 is a flowchart illustrating the flow of autonomous control processing performed by the autonomous control system 1. Autonomous control processing is a series of processes that enable autonomous work by the robot using the motion database 321. In step S21, the environmental information detection device 40 starts detecting environmental information. In step S22, the environmental information detection device 40 transmits the detected environmental information to the autonomous control device 30 as environmental information data.
[0082] In step S23, the motion planning unit 314 generates motion commands to operate the robot by creating a motion plan. In step S24, the operation planning unit 314 outputs the generated operation command to the operation control unit 311 via a buffer.
[0083] In step S25, the motion control unit 311 starts controlling the operation of the contact mechanism 25 by performing control to transmit force sensation using a position based on the motion command (specifically, position or angle) instead of the position of the movable part of the operating mechanism 15. In step S26, the object characteristic detection unit 312 detects the characteristics of the object.
[0084] In step S27, the motion correction unit 315 determines whether or not to correct the motion planned by the motion planning unit 314. For example, if the timing for correcting the motion has arrived and the motion command should be corrected based on the target characteristic data acquired this time, the motion is corrected. If the motion is corrected, the determination in step S27 is Yes, and the process proceeds to step S28. On the other hand, if the motion is not corrected, the determination in step S27 is No, and the process proceeds to step S29.
[0085] In step S28, the motion correction unit 315 corrects the motion planned by the motion planning unit 314 by correcting the motion command. In step S29, the motion planning unit 314 determines whether or not to plan a new motion. For example, if the time to plan a new motion arrives, it plans a new motion. If a new motion is to be planned, the determination in step S29 is Yes, and the process returns to step S22 and is repeated. On the other hand, if a new motion is not to be planned, the determination in step S29 is No, and the process proceeds to step S30.
[0086] In step S30, the operation control unit 311 determines whether to terminate the autonomous control process. For example, the operation control unit 311 terminates the autonomous control process when it receives an instruction from the operator to terminate the autonomous control process, or when the operations to be performed in the autonomous control process are completed. If the autonomous control process is to be terminated, the determination in step S30 is Yes, and the autonomous control process is terminated. On the other hand, if the autonomous control process is not to be terminated, the determination in step S30 is No, and the process returns to step S26 and is repeated.
[0087] The autonomous control process described above can solve the problem of the present invention, which is to control the robot's actions involving contact with an object and achieve autonomous movement. Furthermore, it produces the various effects described with reference to Figures 1, 8, and 9.
[0088] [Differentiation] Although embodiments of the present invention have been described above, these embodiments are merely illustrative and do not limit the technical scope of the present invention. The present invention can take various other forms without departing from the spirit of the invention, and various modifications such as omissions and substitutions can be made. In this case, these embodiments and their variations are included in the scope and spirit of the invention as described herein, and are included in the scope of the invention and its equivalents as described in the claims. As an example, the embodiments of the present invention described above may be modified as follows.
[0089] (Variation 1) In the embodiments described above, force and tactile sensation transmission was achieved using the algorithm described with reference to Figure 7. However, the algorithm is not limited to this, and force and tactile sensation transmission may be achieved using other algorithms as well.
[0090] (Modification 2) In the embodiments described above, operation data was acquired by bilaterally controlling the master device 10 and the slave device 20 during the data acquisition process. However, the invention is not limited to this, and for example, operation data may be acquired by an operator directly operating the device corresponding to the slave device 20.
[0091] (Variation 3) In the embodiments described above, the operation planning unit 314 and the operation modification unit 315 use environmental information data The system selected video data that most closely matched the target characteristic data. However, it is not limited to this method; linear or nonlinear approximation, or machine learning such as neural networks, can be performed in advance, and the video data can be selected using the learned model obtained from this machine learning.
[0092] Furthermore, it is possible to combine some or all of the embodiments and variations described above as appropriate.
[0093] [Example Configuration] As described above, the autonomous control system 1 in this embodiment comprises a slave device 20, an operation planning unit 314, and an operation modification unit 315. The slave device 20 performs an operation that involves contacting the object to be contacted based on the operation command, and also detects the characteristics of the object to be contacted. The operation planning unit 314 plans the operations to be performed by the slave device 20 and outputs operation commands to the slave device 20 to execute the planned operations. The motion correction unit 315 corrects the motion command output by the motion planning unit 314 based on the characteristics of the object to be contacted detected by the slave device 20, thereby correcting the motion planned by the motion planning unit 314.
[0094] Thus, the autonomous control system 1 performs control from two perspectives: (1) prior motion planning by the motion planning unit 314, and (2) motion modification by the motion modification unit 315 according to the characteristics of the object being worked on. Therefore, by appropriately controlling the motion device, it is possible to autonomously and at a high level perform work on various objects with different characteristics and irregular objects. This makes it possible, for example, to automate non-routine tasks by robots, which were previously difficult in terms of skill and cost. Furthermore, with this autonomy, it is expected that the workload on humans will be reduced and production efficiency will be improved. In other words, the autonomous control system 1 can solve the problem of the present invention, which is to control the robot's actions involving contact with an object and thereby achieve autonomous movement.
[0095] The operation planning unit 314 intermittently plans the operations to be performed by the slave device 20. The motion correction unit 315 corrects the motion planned by the motion planning unit 314 by continuously correcting the motion command at a shorter interval than the interval at which the motion planning unit 314 intermittently plans the motion. This allows for the generation of motion commands based on a somewhat long-term plan, and also enables the correction of these motion commands at the appropriate time to modify the robot's movements.
[0096] The characteristics of the object being contacted refer to a model of the force-tactile sensation of that object. The motion correction unit 315 corrects the motion command output by the motion planning unit 314 by correcting the motion command output by the motion planning unit 314 so that the force tactile model of the component in contact with the object to be contacted, provided by the slave device 20, matches the force tactile model of the object to be contacted detected by the slave device 20. This allows the robot's movements to be corrected by adjusting the motion commands in response to the force feedback from the object.
[0097] The autonomous control system 1 further includes an operation database 321. The operation database 321 stores multiple sets of pairs of characteristics detected by the slave devices 20 from an object they are in contact with, and force-tactile parameters, which are linked to the characteristics detected by the slave devices 20 from the object they are in contact with, when an operation involving contact with the object has been performed in the past by transmitting force-tactile parameters between the slave devices 20. The motion correction unit 315 determines the correction content of the motion command based on the characteristics detected by the slave device 20 currently performing the operation from the object it is contacting and the information stored in the motion database 321. This eliminates the need for meticulous modeling and programming to correct the motion commands.
[0098] The autonomous control system 1 further includes an operation database 321 and an environmental information detection device 40. The environmental information detection device 40 detects information representing the surrounding environment of the slave device 20. The operation database 321 stores multiple sets of information that associates force-tactile parameters with information that represents the surrounding environment of the slave device 20 detected by the environmental information detection device 40, when an operation involving contact with an object has been performed in the past by transmitting force-tactile parameters between the slave devices 20. The operation correction unit 315 determines the correction content of the operation command based on the information representing the surrounding environment of the slave device 20 currently performing the operation, which is detected by the environmental information detection device 40, and the information stored in the operation database 321. This eliminates the need for meticulous modeling and programming to prepare action commands.
[0099] The autonomous control system 1 operates the slave device 20 by treating multiple types of objects with different characteristics as contact targets. This allows for versatile operation on various objects with different characteristics.
[0100] [Implementation of functions through hardware and software] The function for executing the series of processes according to the above-described embodiment can be implemented by hardware, by software, or by a combination of both. In other words, it is sufficient that the function to perform the series of processes described above is implemented in any part of the autonomous control system 1, and there are no particular limitations on how this function is implemented.
[0101] For example, when the function of performing the series of processes described above is implemented by a processor that performs arithmetic processing, this processor that performs arithmetic processing may consist of various processing units such as single processors, multi-processors, and multi-core processors, as well as a combination of these various processing units with processing circuits such as ASICs (Application Specific Integrated Circuits) or FPGAs (Field-Programmable Gate Arrays).
[0102] Furthermore, if the function of performing the series of processes described above is implemented by software, the program constituting that software is installed on a computer via a network or recording medium. In this case, the computer may be a computer with dedicated hardware built in, or it may be a general-purpose computer (for example, a general-purpose personal computer or other electronic device in general) capable of performing predetermined functions by installing a program.
[0103] The recording medium on which such a program is stored consists of removable media distributed separately from the computer itself, or storage media pre-installed in the device. Removable media consists of, for example, magnetic disks, optical disks, magneto-optical disks, or flash memory. Optical disks consist of, for example, CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk), Blu-ray Disc (registered trademark), etc. Magneto-optical disks consist of, for example, MD (Mini-Disk). Flash memory consists of, for example, USB (Universal Serial Bus) memory or SD cards. Storage media pre-installed in the device consists of, for example, ROM or hard disks on which the program is stored.
[0104] In this specification, the step of describing a program to be recorded on a recording medium includes not only processes that are performed chronologically in that order, but also processes that are not necessarily performed chronologically, but are executed in parallel or individually. Furthermore, in this specification, the term "system" refers to an overall system composed of multiple devices, means, etc.
[0105] The above embodiments illustrate one example of applying the present invention and do not limit the technical scope of the present invention. That is, the present invention can be modified in various ways, such as by omitting or substituting, without departing from the spirit of the invention, and various embodiments other than those described above are possible. Various embodiments that the present invention can take and their variations are included in the scope of the invention described in the claims and its equivalents. [Explanation of symbols]
[0106] 1 Autonomous control system, 10 Master device, 11 Master-side driver, 12 Master-side actuator, 13 Master-side position sensor, 15 Operating mechanism, 20 Slave device, 21 Slave-side driver, 22 Slave-side actuator, 23 Slave-side position sensor, 25 Contact mechanism, 30 Autonomous control device, 311 Motion control unit, 312 Target characteristic detection unit, 313 Data acquisition unit, 314 Motion planning unit, 315 Motion correction unit, 321 Motion database, 40 Environmental information detection device, 41 Device control unit, 42 Camera unit, 43 Sensor unit, 44 Data generation unit, 711 CPU, 712 ROM, 713 RAM, 714 Bus, 715 Input unit, 716 Output unit, 717 Storage unit, 718 Communication unit, 719 Drive, 731 Removable media, CS Control target system, FT Force / velocity assignment conversion block, FC Ideal power source block, PC Ideal velocity (position) source block, IFT inverse transform block
Claims
1. An operating device that performs an operation involving contact with an object based on an operation command, and also detects the characteristics of the object to be contacted, A planning means for planning the operation to be performed by the operating device and for outputting the operation command to the operating device for executing the planned operation, A correction means corrects the operation planned by the planning means by correcting the operation command output by the planning means based on the characteristics of the object to be contacted detected by the operating device, An autonomous control system characterized by comprising the following features.
2. The planning means intermittently plans the operations to be performed by the operating device. The correction means corrects the operation planned by the planning means by continuously repeating the correction of the operation command at a shorter interval than the interval in which the planning means intermittently plans the operation. The autonomous control system according to claim 1.
3. The characteristics of the object being contacted are a model of the force-tactile sensation of the object being contacted. The modification means corrects the operation planned by the planning means by correcting the operation command output by the planning means so that the force-feedback model of the member in contact with the object to be contacted, provided by the operating device, matches the force-feedback model of the object to be contacted detected by the operating device. The autonomous control system according to claim 1 or 2, characterized in that it is as described above.
4. The system further includes an action memory means that stores multiple sets of pairs of characteristics detected by the action device from the object it was in contact with, and the force-tactile parameters, when an action involving contact with the object was previously performed by the action device, by transmitting force-tactile parameters between the action devices. The correction means determines the correction content of the operation command based on the characteristics detected from the object to be contacted by the operating device currently performing the operation and the information stored in the operation storage means. The autonomous control system according to claim 1 or 2, characterized in that it is as described above.
5. A detection means for detecting information representing the surrounding environment of the operating device, An action storage means stores multiple sets of pairs of information relating the surrounding environment of an action device detected by the detection means and the force-tactile parameters, when an action involving contact with an object has been performed in the past by transmitting force-tactile parameters between action devices. Furthermore, The correction means determines the correction content of the operation command based on information representing the surrounding environment of the operating device currently performing the operation detected by the detection means and information stored in the operation storage means. The autonomous control system according to claim 1 or 2, characterized in that it is as described above.
6. The autonomous control system operates the operating device by treating multiple types of objects with different characteristics as the objects to be contacted. The autonomous control system according to claim 1 or 2, characterized in that it is as described above.
7. An autonomous control method performed by a computer that controls an operating device that performs an operation involving contact with an object based on an operation command, and also detects the characteristics of the object to be contacted, A planning step involves planning the operation to be performed by the operating device and outputting an operation command to the operating device for executing the planned operation. A correction step that modifies the operation planned in the planning step by correcting the operation command output in the planning step based on the characteristics of the object to be contacted detected by the operating device, An autonomous control method characterized by including
8. A computer controls an operating device that performs an operation involving contact with an object based on an operation command, and also detects the characteristics of the object to be contacted. A planning function that plans the operation to be performed by the aforementioned operating device and outputs an operation command to the operating device for executing the planned operation, A correction function that modifies the operation planned by the planning function by correcting the operation command output by the planning function based on the characteristics of the object to be contacted detected by the operating device, A program characterized by its ability to achieve this.