Route creation method and route creation device

Disclosed is a route creation method capable of creating a travel route which reduces the travel quantity of a robot and achieves the efficient travel of the robot. The route creation method and route creation device creates a plurality of candidate routes by using an intermediate point generated between the initial position and the final position set in advance, and thereafter evaluates the travel quantity of a traveling part of a robot with respect to each candidate route to select a candidate route, which achieves the most efficient travel, as a travel route.

TECHNICAL FIELD

The present invention relates to a route creation method and a route creation device which create the travel route of a traveling part to be moved by the operation of joints in a robot having a plurality of joints.

BACKGROUND ART

A route creation method and route creation device is known which probabilistically generate an intermediate point between an initial position and a final position, and creates the travel route of a robot by using the intermediate point (for example, Japanese Unexamined Patent Application Publication No. 2006-048372). In this route creation method and route creation device, a route is created so as to linearly connect the initial position and the final position to the intermediate point, it is determined whether or not a robot has collided against an obstacle when the robot has moved by a unit length in the route on the final position side, and it is determined whether or not the robot has collided against an obstacle when the robot has moved by a unit length in the route on the initial position side. When it is determined that the robot has not collided against an obstacle, a route is decided for the unit length of each of the routes on the final position side and the initial position side. Meanwhile, when it is determined that the robot has collided against an obstacle, an intermediate point is generated again to create a new route. This decision of a route for a unit length is repeatedly performed, and when the route on the initial position side and the route on the final position side are linked with each other, the entire route is used as the travel route of the robot.

DISCLOSURE OF THE INVENTION

In the above-described route creation method and route creation device, the intermediate point is probabilistically generated without taking the efficiency of the travel quantity of the robot into consideration, the route is created while only determining whether or not the robot does not collide against an obstacle, and if one travel route is found, subsequent route creation is not performed. Accordingly, when the robot has traveled along the relevant travel route, the travel quantity may increase, which may make it difficult to achieve efficient travel.

The invention has been finalized in order to solve such problems, and it is an object of the invention to provide a route creation method and a route creation device capable of creating a travel route which reduces the travel quantity of a robot and achieves the efficient travel of the robot.

An aspect of the invention provides a route creation method of creating a travel route of a traveling part to be moved by the operation of joints in a robot having a plurality of joints. The route creation method includes the steps of generating an intermediate point between the initial position and the final position of the travel route and creating a plurality of candidate routes as candidates for the travel route between the initial position and the final position with the intermediate point as a target, and evaluating the travel quantity of the traveling part of the robot with respect to each candidate route to select one travel route.

Another aspect of the invention provides a route creation device for creating a travel route of a traveling part to be moved by the operation of joints in a robot having a plurality of joints. The route creation device includes a candidate route creation unit generating an intermediate point between the initial position and the final position of the travel route and creating a plurality of candidate routes as candidates for the travel route between the initial position and the final position with the intermediate point as a target, and a travel quantity evaluation unit evaluating the travel quantity of the traveling part of the robot with respect to each candidate route to select one travel route.

With the route creation method and route creation device, a plurality of candidate routes can be created by using the generated intermediate point, and thereafter the travel quantity of the traveling part of the robot can be evaluated with respect to each candidate route to select a candidate route, which achieves the most efficient travel, as the travel route. Therefore, a travel route can be created which reduces the travel quantity of the traveling part of the robot and achieves the efficient travel of the robot.

In the route creation method, when a plurality of candidate routes are created, a partial route of a previously created candidate route may be used. In the route creation device, the candidate route creation unit may create a plurality of candidate routes by using a partial route of a previously created candidate route. With this configuration, a route can be newly created while using a previously created candidate route, and thus, a plurality of candidate route can be efficiently created.

In the route creation method, when the travel quantity of the traveling part of the robot is evaluated with respect to each candidate route, a work space where the robot is actually present may be defined, the travel quantity of the traveling part when having traveled along each candidate route may be converted into a travel quantity in the work space, and the converted travel quantity may be evaluated. In the route creation device, the travel quantity evaluation unit may define a work space where the robot is actually present, may convert the travel quantity of the traveling part when having traveled along each candidate route into a travel quantity in the work space, and may evaluate the converted travel quantity. With this configuration, the travel quantity of the traveling part of the robot when having traveled along the created candidate route can be converted into the travel quantity of the traveling part of the robot in the work space, and the converted travel quantity can be evaluated. Therefore, a travel route can be created which achieves the most efficient travel of the robot in the actual space.

According to the invention, a travel route can be created which reduces the travel quantity of the robot and achieves the efficient travel of the robot.

BEST MODE FOR CARRYING OUT THE INVENTION

Hereinafter, an embodiment of a route creation method and a route creation device of the invention will be described. First,FIG. 1is a schematic view showing the configuration of a route creation device which executes a route creation method of this embodiment. A route creation device1is specifically formed by a computer. As shown inFIG. 1, the route creation device1is a device which creates a travel route of a traveling part to be moved by the operation of joints in a robot having a plurality of joints. The route creation device1has route creation means (unit)2which creates a plurality of candidate routes as candidates for the travel route and selects one candidate route, information input means (unit)3which is means for inputting external information, and route output means (unit)4which converts a route being created or a travel route finally created (set) into a travel command signal and outputs the travel command signal to the robot.

The route creation means2has start/goal position decision means (unit)5which finally decides the start position (initial position) and the goal position (final position) of the travel route, candidate route creation means (unit)6which sets (temporarily sets) an intermediate point between the start position and the goal position to create a plurality of candidate routes, travel quantity evaluation means (unit)7which evaluates the travel quantity of the traveling part of the robot with respect to each created candidate route to select one travel route, and information storage means (unit)8which stores input information from the information input means3. The start/goal position decision means5, the candidate route creation means6, and the travel quantity evaluation means7are implemented by a program stored in a hard disk or a ROM, and a CPU executing the program. The information storage means8is specifically a hard disk, a RAM, or the like.

The information input means3is means for inputting joint angle information of the initial posture and the target posture of the robot having a plurality of joints, information regarding obstacles around the robot, and a set value about the number of candidate routes as candidates for the travel route. The information input means3is formed by an information acquisition device, such as a camera, various kinds of sensors, or the like, a keyboard, or an optical disk drive in which data is stored in advance. The route output means4is specifically a driver or the like which operates the actuator of the robot.

In this embodiment, an example where a robot having a plurality of joints is a robot arm will be described.FIG. 2is a diagram schematically showing a robot arm100which travels along a travel route created by the route creation device1. As shown inFIG. 2, the robot arm100includes a plurality of links101and articular joints102each disposed between two links101. Each articular joint102is a joint with a single degree of freedom. A grip103is attached at the front end of the robot arm100. Here, it is assumed that the route creation device1creates the travel route for the base of the grip103, that is, the front end portion (wrist position X) of the terminal link101. A space where the robot arm100is actually present is called a work space.

If the angle of each articular joint102is known, the state of the robot arm100, that is, the posture of the robot arm100can be grasped. Here, if a multidimensional coordinate space (in this example, a three-dimensional coordinate space) is set with the angles θ1, θ2, and θ3at three articular joints102inFIG. 2as the coordinate axes, the posture of the robot arm100can be expressed by one point [coordinate (θ1,θ2,θ3)]in the multidimensional coordinate space.

When the x and y coordinate axes are set with respect to the work space, the coordinate (x,y) of the wrist position X representing the posture of the robot arm100can be easily obtained by converting the coordinate (θ1,θ2,θ3) on the multidimensional coordinate space. In this example, although the state (posture) of the robot arm100is expressed by the three-dimensional coordinate, the state (posture) of the robot arm100may be expressed in a two-dimensional coordinate space or a multidimensional coordinate space. For example, in the case of a robot arm having seven articular joints102, the state (posture) of the robot arm may be expressed as one point in a seven-dimensional coordinate space. In the case of a robot arm having three articular joints and one extendable portion, the state (posture) of the robot arm may be expressed as one point in a four-dimensional coordinate space.

Next, a process of the route creation device1which executes the route creation method of this embodiment will be described.

FIG. 3is a flowchart illustrating a route creation process of the route creation method according to this embodiment.FIG. 4is a flowchart illustrating a candidate route creation process in the route creation process ofFIG. 3. The route creation process is executed when the robot operates.

As shown inFIG. 3, with regard to travel route creation, first, information regarding the number n of candidate routes and the like is input by the information input means3. When sufficient information is input and stored in the information storage means8, new external environment information may not need to be input. In this embodiment, the number n of candidate routes is set to 4 (S200).

Next, an operator sets the start position and the goal position of the travel route on the work space. If these positions are preset in advance, the operator does not need to input the positions. The operator may operate a keyboard to input the coordinate positions so as to set the start and goal positions. Alternatively, the robot arm100may be connected to the information input means3to read the coordinates when the robot arm100is actually positioned at the start and goal positions. Further, external environment information may be automatically or semi-automatically acquired by a camera or various kinds of sensors provided in the device.

In this case, a plurality of goal positions may be set. Although the description has been made for the robot arm100, the number of postures (wrist position X) of the robot arm100there are when gripping an object at the final position is taken into consideration. The robot may grip the object from the above or grasp the object from the right/left side. A plurality of goal positions are set in advance taking such variation into consideration. With regard to an automatic machine other than the robot arm, there are many cases where the manner of gripping at the goal position varies, so in these cases, a plurality of goal positions are set. In this embodiment, description will be provided for a case where one goal position is set.

The start/goal position decision means5compares the input start and goal positions with information stored in the information storage means8to determine whether or not the input start and goal positions do not interfere with an obstacle, and when the start and goal positions do not interfere with the obstacle, the input start and goal positions are decided as the start and goal positions (S205). The verification of the presence/absence of interference will be described below in detail. When the input start and goal positions interfere with an obstacle, the goal position which interferes with the obstacle is deleted or the like, if necessary, the operator is requested to again input the goal position, and the same determination is made for the newly input start/goal position. This procedure is repeatedly performed until the start/goal position is determined.

The decided start and goal positions on the work space are converted into the start and goal positions in the multidimensional coordinate space. For convenience of explanation, description will be made assuming that the multidimensional coordinate space is a two-dimensional coordinate space θx-θy. This corresponds to a case where robot arm has two articular joints102. Here, the start position S and the goal position G are set in the two-dimensional coordinate space θx-θy(seeFIG. 5). The start and goal positions may be input in advance as the coordinates in the multidimensional coordinate space.

Next, the procedure of the candidate route creation process (S210) when a first candidate route is created will be described with reference toFIG. 4. The candidate route creation process is executed by the candidate route creation means6. A random number is first generated in accordance with the probability distribution set in advance in the multidimensional coordinate space so as to temporarily set a plurality of intermediate points (set a plurality of candidate intermediate points m1) between the start and goal positions on the multidimensional coordinate space (seeFIG. 6, S305). After a plurality of candidate intermediate points m1are set, one, which can be suitably used to create a candidate route, of the candidate intermediate points m1is set as an intermediate point M1(seeFIG. 7, S310).

As described above, although a suitable one of a plurality of candidate intermediate points m1is set as the intermediate point M1, the degree of manipulability is calculated for all the candidate intermediate points m1, a candidate intermediate point m1with the highest degree of manipulability, that is, with the best manipulability is used as the intermediate point M1(seeFIG. 7). The manipulability is described in “Computer-Controlled Machine System Series 10, Foundations of Robot Control” (Chapter 4) written by Tsuneo Yoshikawa published by Corona Publishing Company. The manipulability indicates how freely an automated device (here, the finger portion of the robot arm100) can be manipulated, and the degree of manipulability represents the manipulation ability. The manipulability includes kinematic manipulability and dynamic manipulability. Here, the degree of manipulability may be based on either kinematic manipulability or dynamic manipulability.

In this way, the start position S, the intermediate point M1, and the goal position G are decided/selected, and the start position S—the intermediate point M1and the intermediate point M1—the goal position G are connected to each other in the two-dimensional coordinate space θx-θyat the shortest distance (the distance on the two-dimensional coordinate space θx-θyregarding the articular joint102). With regard to the distances on the work space and the multidimensional coordinate space, any distance function may be used insofar as it can define the distance. For example, the Euclidean distance function or the like may be used. Then, a line segment on the goal position G side, that is, a predetermined length from the goal position G with respect to a vector B1is cut on the two-dimensional coordinate space θx-θy(seeFIG. 8), and collision determination is performed for the predetermined length (S325). The collision determination is performed to determine whether or not a candidate route to be created does not interfere with an obstacle on the work space.

Specifically, the vector B1is divided into minute sections (seeFIG. 8), and the collision determination is performed for each boundary between the minute sections. The determination for the minute sections is sequentially performed from the goal position G side toward the intermediate point M1side. The position coordinate on the two-dimensional coordinate space θx-θyof the boundary between the minute sections is converted to the actual work space and compared with the information regarding the obstacle stored in the information storage means8, so the determination of the presence/absence of interference on the work space is performed. If there is no interference, a candidate route is created to the end portion of the vector B1for the predetermined length (S330). After the collision determination regarding the vector B1on the goal position G side has been completed, similarly, the collision determination on the start position S side is performed (S335, S340, and S345). If there is no interference on the start position S side, a route is created to the end portion of a vector B2for the predetermined length (S350). After the vector B1has been created, the vector B1and the start position S are connected to each other, and collision determination may be performed for the predetermined length from the start position S toward the vector B1.

With regard to the vectors B1and B2for the predetermined length on the goal position G side and the start position S side, if there is no collision, the collision determination is performed for an additional predetermined length with the intermediate point M1remains as it is, or with the vector B1as it is when the vector B1and the start position S are connected to each other (S355—no). Meanwhile, if a route is created while the collision determination is performed, it may be determined that the route being created interferes with the obstacle on the work space. When it is determined during the collision determination that there is a collision along the predetermined length, the intermediate point Miis discarded for the predetermined length, and a new intermediate point Miis set, Thereafter, the same candidate route creation is continued by using the new intermediate point Mi(S325, S345—no).

Hereinafter, an example where the new intermediate point M2needs to be set by the collision determination during the candidate route creation for a second predetermined length by the intermediate point M1will be described. When the new intermediate point M2is set, a plurality of candidate intermediate points m2are randomly set on the two-dimensional coordinate space θx-θy(seeFIG. 9, S305). Then, like the candidate intermediate point m1, the degree of manipulability is calculated for all the candidate intermediate points m2, and a candidate intermediate point m2with the highest degree of manipulability, that is, with the best manipulability is used as the intermediate point M2(seeFIG. 10, S310).

After the candidate intermediate point m2with the best manipulability from a plurality of candidate intermediate points m2is used as the intermediate point M2, one, which is at a distance closest to the intermediate point M2in the work space, of the goal position G and a point G′ on the candidate route created from the goal position G is selected for the use in the route creation (seeFIG. 11, S315and S320). Here, although there are two points (G and G′) on the candidate route, in the subsequent candidate route creation process, one of a plurality of points may be selected.

With regard to the start side when the route planning is performed by using the intermediate point M2, candidate route creation is performed by using one, which is at a distance closest to the intermediate point M2, of the start position S and a point S′ set in advance from the start position S (seeFIG. 11, S340). Thereafter, the same procedure as above is repeatedly performed, and finally, if the route on the start position S side and the candidate route on the goal position G side are joined together, the first candidate route L1is decided (S355—yes). When one candidate route has been created, the candidate route creation process (S210) ends. For subsequent explanation, the intermediate points created from the start of the candidate route L1are referred to as intermediate points S1, S2, S3, and S4, and the intermediate point created from the goal are referred to as intermediate points G1, G2, G3, and G4.

Returning toFIG. 3, if the first candidate route L1as a candidate has been created, the counter i is incremented by one (S215) and compared with the input set value n. When the counter i is less than the set value n (S220—yes), the process returns to the candidate route creation process (S210), and a candidate route is created again.

Next, creation of a second travel route will be described with reference toFIG. 4. First, like the creation of the first candidate route L1, a plurality of candidate intermediate points are set on the two-dimensional coordinate space θx-θy(S305), and the degree of manipulability is calculated to set an optimum intermediate point M1(seeFIG. 13, S310). Then, one, which is at a distance closest to the intermediate point M1in the work space, of the goal position G and the intermediate points G1, G2, G3, and G4of the previously created candidate route L1is selected for the use in the route creation (S315and S320). Here, the goal position G is selected (seeFIG. 14).

With regard to the start side, candidate route creation is performed from one, which is at a distance closest to the intermediate point M1, of the start position S and the intermediate points S1, S2, S3, and S4(S340). Here, the intermediate point S1is selected (seeFIG. 14). At this time, a partial route between the start position S and the intermediate point S1of the first candidate route L1is used.

Thereafter, similarly, the collision determination and the candidate route decision for a predetermined length are repeatedly performed on the goal side and the start side (S325, S330, S345, and S350), and finally, if the route on the start position S side and the candidate route on the goal position G side are joined together, the second candidate route L2is decided (seeFIG. 15, S355—yes).

The candidate route creation process is repeatedly performed until the counter i reaches the set value n (=4), so candidate routes L3and L4are created on the two-dimensional coordinate space θx-θy(seeFIG. 16).

Returning toFIG. 3, after a set number of candidate routes have been created (S220—no), the travel quantity is calculated with respect to each of the candidate routes L1, L2, L3, and L4(S225). The travel quantity of the wrist position X of the robot arm100is converted into the travel quantity in the work space when having traveled along each candidate route, and evaluation is performed on the converted travel quantity. For example, the travel quantity when the candidate route L1is used becomes the sum of the travel distance of the wrist position X in the work space when the posture is changed from the start position S to the intermediate point S1, the travel distance of the wrist position X in the work space when the posture is changed from the intermediate point S1to the intermediate point S4, the travel distance of the wrist position X in the work space when the posture is changed from the intermediate point S4to the intermediate point G1, and the travel distance of the wrist position X in the work space when the posture is changed from the intermediate point G1to the goal position G.

After the travel quantity has been calculated for all the candidate routes, the travel quantities are evaluated and compared with each other (S230), and a candidate route which can have the smallest travel quantity and achieve efficient travel is decided as a travel route that should be used (S235). S225to S235are executed by the travel quantity evaluation means7. The route output means4converts the selected travel route into a signal for an actuator and outputs the converted signal to the actuator of each articular joint102of the robot arm100. Thus, the joints of the robot arm100are operated along the relevant travel route to move the wrist position X.

As described above, according to the route creation method of this embodiment, a plurality of candidate routes can be created by using the generated intermediate point, and thereafter the travel quantity of the wrist position X of the robot arm100can be evaluated with respect to each candidate route to select a candidate route, which achieves the most efficient travel of the wrist position X of the robot arm100, as a travel route. Therefore, a travel route can be created which reduces the travel quantity of the wrist position X of the robot arm100and achieves the efficient travel of the wrist position X of the robot arm100.

According to the route creation method of this embodiment, a candidate route can be newly created by using the partial route of the previously created candidate route. Therefore, a plurality of candidate routes can be efficiently created.

According to the route creation method of this embodiment, the travel quantity of the robot arm100when having traveled along the created candidate route can be converted into the travel quantity of the wrist position X of the robot arm100in the work space, and the converted travel quantity can be evaluated. Therefore, a travel route can be created which achieves the most efficient travel of the robot arm100in the actual space.

The invention is not limited to the above-described embodiment.

For example, when a plurality of goal positions are set and one goal position selected (S320), a goal position which is at a distance closest to the intermediate point from the goal positions may be selected.

The articular joint102of the robot arm100may be rotated or may be moved straight.

Industrial Applicability

The invention can create a travel route which reduces the travel quantity of the robot and achieves the efficient travel of the robot.