The present invention relates to a robot control apparatus, a robot control system, a robot control method, and a robot control program.
Heretofore, robots are used for assembling and processing products. A robot includes one or more arms, and has an end effector such as a hand at an arm's leading end.
For example, a robot that grips or retains a scraping tool and a robot control apparatus that controls the robot are described in Patent Document 1 below. The robot is an articulated robot, and includes a robot arm, and a robot hand attached to a leading end of the robot arm. The scraping tool is gripped or retained by the robot hand.
When a predetermined tool is retained by a robot that specializes in retaining predetermined tools, as in Patent Document 1, there are cases where a tool changer is used. As a result of using the tool changer, a plurality of tools can be used as appropriate.
However, when a task of changing the tool to be gripped, out of a plurality of tools, is performed relatively frequently, it takes time to change the tool when the tool changer is used. On the other hand, if a tool is gripped by a gripper, the time required to switch the tool can be reduced, however, there is a risk that the tool interferes with the surrounding environment when the tool to be gripped changes, because the size and length are different between the plurality of tools, for example. Also, even if the same tool is used, the gripping position and orientation of the tool gripped by the gripper may change, and therefore, there is a risk that the tool interferes with the surrounding environment.
Therefore, the present invention aims to provide a robot control apparatus, a robot control system, a robot control method, and a robot control program, with which the risk that an object interferes with the surrounding environment can be reduced, even when the object is gripped by a gripper equipped in the robot.
A robot control apparatus according to one aspect of this disclosure includes: a calculating unit configured to calculate an interference range of a robot based on a model of the robot in a state in which an object is gripped by a gripper equipped in the robot; and a planning unit configured to plan a motion of the robot based on the model and the interference range.
According to this aspect, as a result of calculating the interference range of the robot based on a model of the robot in a state in which an object is gripped by the gripper, the risk that the object interferes with the surrounding environment can be reduced, even when the object is gripped.
In the above-described aspect, the robot control apparatus may further include an estimating unit configured to estimate the type of the object gripped by the gripper, and the calculating unit may update the model based on the type of the object.
According to this aspect, the type of the object that may change every time gripping is performed is estimated, an accurate model is created, and as a result, the interference range of the robot can be accurately calculated.
In the above-described aspect, the robot control apparatus may further include an estimating unit configured to estimate the orientation of the object gripped by the gripper, and the calculating unit may update the model based on the orientation of the object.
According to this aspect, the orientation of the object, which may change every time gripping is performed, is estimated, a more accurate model is created, and as a result, the interference range of the robot can be more accurately calculated.
In the above-described aspect, the robot may include a camera, and the estimating unit may estimate the type or orientation of the object based on an image of the object shot by the camera.
According to this aspect, the type or orientation of the object, which may change every time gripping is performed, is estimated based on an image, a more accurate model is created, and as a result, the interference range of the robot can be more accurately calculated.
In the above-described aspect, the robot may include a force sensor provided in the gripper, and the estimating unit may estimate the type or orientation of the object based on a detection signal of the force sensor.
According to this aspect, the type or orientation of the object, which may change every time gripping is performed, is estimated based on a detection signal of the force sensor, a more accurate model is created, and as a result, the interference range of the robot can be more accurately calculated.
In the aspect described above, the estimating unit may cause the object to interfere with its environment in a state in which the object is gripped by the gripper, and estimate the type or orientation of the object based on an interference result.
According to this aspect, the type or orientation of the object, which may change every time gripping is performed, is estimated by causing the object interfere with its environment, a more accurate model is created, and as a result, the interference range of the robot can be more accurately calculated.
In the above-described aspect, the object may be a tool.
According to this aspect, as a result of calculating the interference range of the robot based on a model of the robot in a state in which a tool is gripped by the gripper, the risk that the object interferes with the surrounding environment can be reduced, even if various tools are used.
A robot control system according to another aspect of this disclosure includes: a robot equipped with a gripper for gripping an object; and a robot control apparatus configured to control the robot, wherein the robot control apparatus includes: a calculating unit configured to calculate an interference range of the robot based on a model of the robot in a state in which an object is gripped by the gripper equipped in the robot; and a planning unit configured to plan a motion of the robot based on the model and the interference range.
According to this aspect, as a result of calculating the interference range of the robot based on a model of the robot in a state in which an object is gripped by the gripper, the risk that the object interferes with the surrounding environment can be reduced, even when the object is gripped.
A robot control method according to another aspect of this disclosure is a method for causing a processor included in a robot control apparatus to execute: calculating an interference range of a robot based on a model of the robot in a state in which the robot grips an object using a gripper; and planning a motion of the robot based on the model and the interference range.
According to this aspect, as a result of calculating the interference range of the robot based on a model of the robot in a state in which an object is gripped by the gripper, the risk that the object interferes with the surrounding environment can be reduced, even when the object is gripped.
A robot control program according to another aspect of this disclosure is a program for causing a processor included in a robot control apparatus to function as: a calculating unit configured to calculate an interference range of a robot based on a model of the robot in a state in which an object is gripped by a gripper equipped in the robot; and a planning unit configured to plan a motion of the robot based on the model and the interference range.
According to this aspect, as a result of calculating the interference range of the robot based on a model of the robot in a state in which an object is gripped by the gripper, the risk that the object interferes with the surrounding environment can be reduced, even when the object is gripped.
According to the present invention, a robot control apparatus, a robot control system, a robot control method, and a robot control program can be provided, with which the risk that an object interferes with the surrounding environment can be reduced, even when the object is gripped by a gripper with which the robot is equipped.
An embodiment of the present invention will be described with reference to the accompanying drawings. Note that in the drawings, constituent elements denoted by the same reference numerals have the same or similar configurations.
First, an example of a scenario to which the present invention is applied will be described using
The robot 20 grips an object such as a tool using the gripper 21, and the robot control apparatus 10 calculates an interference range of the robot 20 based on a model of the robot 20 in a state in which the object is gripped by the gripper 21. Here, the model of the robot 20 in a state in which an object is gripped by the gripper 21 may be a three-dimensional CAD (computer-aided design) model, for example. The robot control apparatus 10 plans the motion of the robot 20 based on the model of the robot 20 and the calculated interference range. The motion of the robot 20 may be a motion in which the gripped tool is used, for example.
According to the robot control apparatus 10 according to the present embodiment, as a result of calculating the interference range of the robot 20 based on the model of the robot 20 in a state in which an object is gripped by the gripper 21, the risk that the object interferes with the surrounding environment can be reduced, even in a case of an object being gripped.
The robot control apparatus 10 includes a calculating unit 11, a planning unit 12, an estimating unit 13, a CAD memory 14, and a tool designating unit 15.
The calculating unit 11 calculates the interference range of the robot 20 based on a model of the robot 20 in a state in which an object is gripped by the gripper 21 with which the robot 20 is equipped. The model of the robot 20 may be a three-dimensional CAD model, and may be a model for simulating the motion of the robot 20 in a virtual space. A model in which the robot 20 and the object are included may be defined when the object is gripped using the gripper 21. The calculating unit 11 may calculate the leading end position of the object gripped by the gripper 21 from the angles of a plurality of joints that are part of the robot 20 using forward kinematics. The calculating unit 11 may also calculate the angles of the plurality of joints that are part of the robot 20 from the leading end position of the object gripped by the gripper 21 using inverse kinematics.
The planning unit 12 plans the motion of the robot 20 based on the model and interference range of the robot 20. The planning unit 12 plans the motion of the robot 20 such that the arm that constitutes the robot 20 and the object gripped by the gripper 21 will not interfere with its environment. Here, the environment encompasses structures that are arranged around the robot 20 and the robot 20 itself.
When the object is a tool, the motion of the robot 20 may be a motion of using the tool gripped by the gripper 21. The tool may be a screwdriver, a soldering iron, or tweezers, for example, and the motion of using a tool may be a screw fastening motion, a soldering motion, and a motion of pinching a component using tweezers. As described above, as a result of calculating the interference range of the robot 20 based on the model of the robot 20 in a state in which a tool is gripped by the gripper 21, even if various tools are to be used, the risk that the object interferes with the surrounding environment can be reduced.
The estimating unit 13 estimates the type of object gripped by the gripper 21. For example, when the object is a tool, the type of the object is the type of tool such as a screwdriver, a soldering iron, or tweezers. The calculating unit 12 may update the model based on the type of the object. In this way, the type of an object that may change every time gripping is performed is estimated, an accurate model is created, and as a result, the interference range of the robot 20 can be accurately calculated.
The estimating unit 13 estimates the orientation of an object in a state in which the object is gripped by the gripper 21. Here, the orientation of an object includes its position (x, y, z) in a narrow sense and its orientation (ϕ, θ, ψ) in a narrow sense. Also, the orientation of an object may also be defined relative to the gripper 21. The calculating unit 12 may update the model based on the orientation of the object. In this way, the orientation of the object, which may change every time gripping is performed, is estimated, a more accurate model is created, and as a result, the interference range of the robot 20 can be more accurately calculated.
The robot 20 may include a camera 22. The camera 22 may be provided to shoot (photograph) the gripper 21. The estimating unit 13 may estimate the type of the object or the orientation of the object based on an image of the object shot by the camera 22. The estimating unit 13 may estimate the type or orientation of the object by analyzing the image of the object shot by the camera 22 using a known analysis method. In this way, the type or orientation of the object, which may change every time gripping is performed, is estimated based on an image, an accurate model is created, and as a result, the interference range of the robot 20 can be accurately calculated. Note that, the camera 22 may include a depth sensor that acquires a three-dimensional point group or a depth image. In this case, the orientation of the object, which may change every time gripping is performed, is estimated based on the three-dimensional point group or depth image, a more accurate model is created, and as a result, the interference range of the robot 20 can be more accurately calculated.
The robot may include a force sensor provided in the gripper 21. The force sensor may be a sensor that measures a force and a torque, and may be a six-axis force sensor, for example. The estimating unit 13 may estimate the type or orientation of the object based on a detection signal of the force sensor. In this way, the type or orientation, of an object, that may change every time gripping is performed is estimated based on a detection signal of the force sensor, a more accurate model is created, and as a result, the interference range of the robot 20 can be more accurately calculated.
The estimating unit 13 may also cause an object to interfere with its environment in a state in which the object is gripped by the gripper 21, and estimate the type or orientation of the object based on the result of interference. The estimating unit 13 may cause an object to move along a workbench in a state in which the object is gripped by the gripper 21, and estimate the type or orientation of the object based on the result of interference, for example. In this way, the type or orientation, of an object, that may change every time gripping is performed is estimated by causing the object to interfere with its environment, a more accurate model is created, and as a result, the interference range of the robot 20 can be more accurately calculated.
The CAD memory 14 stores a three-dimensional CAD model of the robot 20, three-dimensional CAD models of a tool group 30, and three-dimensional CAD models of structures provided around the robot 20.
The tool designating unit 15 designates a tool, out of the tool group 30, that is to be used in an operation of the robot 20. The tool designating unit 15 may designate the operation of the robot 20, and select the tool needed for the operation.
The CPU 10a is a control unit that performs control regarding execution of programs stored in the RAM 10b or ROM 10c, and computation and processing of data. The CPU 10a is also a computation unit that executes a program for controlling the robot 20 (robot control program). The CPU 10a may receive various data from the input unit 10e and communication unit 10d, and display the data computation result in the display unit 10f, and/or store it in the RAM 10b.
The RAM 10b is a data rewritable portion of the storage unit, and may be constituted by a semiconductor memory element, for example. The RAM 10b may store data such as programs to be executed by the CPU 10a and three-dimensional CAD models of the robot 20 and tool group 30. Note that the aforementioned data is merely an example, and the RAM 10b may store data in addition to the data, or may not store some of the data.
The ROM 10c is a portion, of the storage unit, from which data can be read out, and may be constituted by a semiconductor memory element, for example. The ROM 10c may store a robot control program and data that will not be rewritten, for example.
The communication unit 10d is an interface for connecting the robot control apparatus 10 to another device. The communication unit 10d may be connected to a communication network such as the Internet.
The input unit 10e receives inputs of data from a user, and may include a keyboard and a touch panel, for example.
The display unit 10f visually displays results of computation performed by the CPU 10a, and may be an LCD (liquid crystal display), for example. The display unit 10f may display three-dimensional CAD models of the robot 20 and tool group 30, and planned motions of the robot 20.
The robot control program may be provided by being stored in a computer-readable storage medium such as the RAM 10b or the ROM 10c, or may be provided via a communication network connected by the communication unit 10d. In the robot control apparatus 10, as a result of the CPU 10a executing the robot control program, various motions that are described using
Next, the robot control apparatus 10 grips the object using the gripper 21 with which the robot 20 is equipped (S11). Then, the robot control apparatus 10 estimates the type or orientation of the object based on an image of the object shot by the camera 22 or a detection signal of the force sensor provided in the gripper 21 (S12).
Thereafter, the robot control apparatus 10 updates the model of the robot 20 in a state in which the object is gripped by the gripper 21, based on the type or orientation of the object (S13). Also, the robot control apparatus 10 calculates the interference range of the robot 20 based on the model (S14).
Finally, the robot control apparatus 10 plans the motion of the robot 20 based on the model and the interference range (S15), and causes the robot 20 to execute the motion (S16) in accordance with the plan.
Next, the robot control apparatus 10 grips the object using the gripper 21 with which the robot 20 is equipped (S21). Then, the robot control apparatus 10 causes the object to interfere with its environment, and estimates the type or orientation of the object based on the interference result (S22).
Thereafter, the robot control apparatus 10 updates the model of the robot 20 in a state in which the object is gripped by the gripper 21, based on the type or orientation of the object (S23). Also, the robot control apparatus 10 calculates the interference range of the robot 20 based on the model (S24).
Finally, the robot control apparatus 10 plans the motion of the robot 20 based on the model and the interference range (S25), and causes the robot 20 to execute the motion (S26) in accordance with the plan.
The embodiment of the present invention can also be described as in the following notes. Note that the embodiment of the present invention is not limited to the modes described in the following notes. Also, the embodiment of the present invention may be a mode obtained by replacing features between notes or combining features.
A robot control apparatus (10) including:
The robot control apparatus (10) according to claim 1, further including:
The robot control apparatus (10) according to Note 1 or 2, further including:
The robot control apparatus (10) according to Note 2 or 3,
The robot control apparatus (10) according to any one of Notes 2 to 4,
The robot control apparatus (10) according to any one of Notes 2 to 5, wherein the estimating unit (13) is configured to cause the object to interfere with its environment in a state in which the object is gripped by the gripper (21), and estimate the type or orientation of the object based on an interference result.
The robot control apparatus (10) according to any one of Notes 1 to 6, wherein the object is a tool.
A robot control system (100) including:
A robot control method for causing a processor included in a robot control apparatus (10) to execute:
A robot control program for causing a processor included in a robot control apparatus (10) to function as:
Number | Date | Country | Kind |
---|---|---|---|
2020-001494 | Jan 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/047801 | 12/22/2020 | WO |