WO2012063397A1 - 移動経路探索装置および移動経路探索方法 - Google Patents

移動経路探索装置および移動経路探索方法 Download PDF

Info

Publication number
WO2012063397A1
WO2012063397A1 PCT/JP2011/005437 JP2011005437W WO2012063397A1 WO 2012063397 A1 WO2012063397 A1 WO 2012063397A1 JP 2011005437 W JP2011005437 W JP 2011005437W WO 2012063397 A1 WO2012063397 A1 WO 2012063397A1
Authority
WO
WIPO (PCT)
Prior art keywords
space
difference
direct teaching
movable
direct
Prior art date
Application number
PCT/JP2011/005437
Other languages
English (en)
French (fr)
Inventor
水谷 研治
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to CN201180014709.1A priority Critical patent/CN102802884B/zh
Priority to JP2012506248A priority patent/JP4991023B2/ja
Publication of WO2012063397A1 publication Critical patent/WO2012063397A1/ja
Priority to US13/482,060 priority patent/US8494677B2/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40437Local, directly search robot workspace

Definitions

  • the present invention relates to a movement path search apparatus and a movement path search method for searching for a movement path of a movable part of a movable robot based on direct teaching.
  • direct teaching When direct teaching (hereinafter referred to as “direct teaching”) is performed in which the instructor directly moves the movable robot to teach the operation (hereinafter referred to as “direct teaching”), the movable part of the movable robot can be moved (hereinafter simply referred to as “A technique for automatically acquiring “movable space” has been proposed. An approach for automatically searching for an optimum route during automatic operation using the automatically acquired movable space has been attempted. For example, in the technique disclosed in Non-Patent Document 1, a space in which the robot can move during direct teaching is automatically acquired and used as an optimum route search space.
  • FIG. 32 is a diagram showing an outline of the conventional movable space acquisition process and the optimum route search process.
  • a teacher 201 teaches an operation by direct teaching using a force sensor mounted on the tip of a movable robot 202.
  • the movable space 203 is specified by adding the spaces occupied by the movable robot 202 itself during direct teaching. Then, a movement path 204 between two points is searched in the specified movable space 203. That is, the movable space 203 is used as a search space.
  • the movable robot 202 can automatically work so as not to interfere with an obstacle by operating according to the movement path 204 searched in this way.
  • Non-Patent Document 1 the volume of the specified movable space is often smaller than the volume of the space where the movable robot can actually move. Therefore, there is a problem that the optimality of the travel route searched using the movable space as the search space is low.
  • An object of the present invention is to provide a search device and a moving route search method.
  • a moving path search device includes a movable part of a movable robot in each of a plurality of direct teachings in which an instructor directly moves a movable robot to teach an operation.
  • a first space specifying unit that specifies a three-dimensional space to be swept during direct teaching as a first space, and a first space specified by one direct teaching of the plurality of direct teachings,
  • a space difference calculation unit that calculates, as a first difference space, a space that does not overlap with the first space specified by the direct teaching performed before the one direct teaching; and information about the first difference space.
  • the first space specified by the direct teaching performed before the one direct teaching out of the first space specified by the one direct teaching among the plurality of direct teachings Information on the first difference space that does not overlap with the space can be notified to the teacher. Therefore, the teacher can perform the next direct teaching with reference to the notified information.
  • the movable space can be efficiently expanded in a plurality of direct teachings.
  • the space specified by one direct teaching among the plurality of direct teachings is more than the one direct teaching. Since the teacher can be notified of information about a space that does not overlap with the space specified by the direct teaching performed previously, the movable space can be efficiently expanded.
  • FIG. 1 is a block diagram showing a functional configuration of the moving route search apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram showing a usage scene of the movement route search apparatus according to Embodiment 1 of the present invention.
  • FIG. 3 is a diagram for explaining a voxel representing a movable space in the first embodiment of the present invention.
  • FIG. 4 is an external view of the movable robot in the first embodiment of the present invention.
  • FIG. 5 is a flowchart showing the movement route search process in the first embodiment of the present invention.
  • FIG. 6 is a diagram for explaining the internal determination processing by the moving space specifying unit in Embodiment 1 of the present invention.
  • FIG. 1 is a block diagram showing a functional configuration of the moving route search apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram showing a usage scene of the movement route search apparatus according to Embodiment 1 of the present invention.
  • FIG. 3 is a diagram
  • FIG. 7 is a diagram showing an example of the robot movement space specified by the first direct teaching in the first embodiment of the present invention.
  • FIG. 8 is a diagram showing a set of voxels constituting the robot movement space specified by the first direct teaching in the first embodiment of the present invention.
  • FIG. 9 is a diagram showing an example of the robot movement space specified by the second direct teaching in the first embodiment of the present invention.
  • FIG. 10 is a diagram showing a set of voxels constituting the robot movement space specified by direct teaching up to the second time in the first embodiment of the present invention.
  • FIG. 11 is a diagram showing an example of a feedback information notification method according to Embodiment 1 of the present invention.
  • FIG. 12 is a diagram showing another example of the feedback information notification method according to Embodiment 1 of the present invention.
  • FIG. 13 is a diagram showing an example of the robot movement space specified by the third direct teaching in the first embodiment of the present invention.
  • FIG. 14 is a diagram showing a set of voxels constituting the robot movement space specified by the direct teaching up to the third time in the first embodiment of the present invention.
  • FIG. 15 is a diagram for explaining an example of search conditions in the first embodiment of the present invention.
  • FIG. 16 is a diagram illustrating an example of a travel route searched for by the travel route search apparatus according to Embodiment 1 of the present invention.
  • FIG. 17 is a block diagram showing a functional configuration of the movement route search apparatus according to Embodiment 2 of the present invention.
  • FIG. 18 is a diagram showing a use scene of the movement route search apparatus in the second embodiment of the present invention.
  • FIG. 19 is a flowchart showing the movement route search process in the second embodiment of the present invention.
  • FIG. 20 is a diagram for explaining the internal determination processing by the moving space specifying unit in Embodiment 2 of the present invention.
  • FIG. 21 is a diagram showing an example of teacher shape data held in the teacher shape database according to Embodiment 2 of the present invention.
  • FIG. 22 is a diagram for explaining internal determination processing by the human occupation space specifying unit according to Embodiment 2 of the present invention.
  • FIG. 23 is a diagram illustrating an example of the robot movement space identified by the movement space identification unit according to the second embodiment of the present invention.
  • FIG. 24 is a diagram illustrating an example of the human occupation space specified by the human occupation space specifying unit according to Embodiment 2 of the present invention.
  • FIG. 20 is a diagram for explaining the internal determination processing by the moving space specifying unit in Embodiment 2 of the present invention.
  • FIG. 21 is a diagram showing an example of teacher shape data held in the teacher shape database
  • FIG. 25 is a diagram showing a set of voxels constituting the first movable space and the second movable space specified by the first to third direct teachings in the second embodiment of the present invention.
  • FIG. 26 is a diagram illustrating an example of a feedback information notification method according to Embodiment 2 of the present invention.
  • FIG. 27 is a block diagram showing a functional configuration of the movement route search apparatus according to Embodiment 4 of the present invention.
  • FIG. 28 is a diagram for explaining a teacher's posture in the fourth embodiment of the present invention.
  • FIG. 29 is a flowchart showing movement route search processing according to Embodiment 4 of the present invention.
  • FIG. 30 is a block diagram illustrating a functional configuration of the travel route search apparatus according to one aspect of the present invention.
  • FIG. 31 is a block diagram illustrating a functional configuration of a movable space output device according to an aspect of the present invention.
  • FIG. 32 is a diagram showing an outline of a conventional movable space acquisition
  • a moving path search apparatus is a three-dimensional space in which a movable part of a movable robot sweeps during direct teaching in each of a plurality of direct teachings in which an instructor directly moves a movable robot to teach an operation.
  • a movable part of a movable robot sweeps during direct teaching in each of a plurality of direct teachings in which an instructor directly moves a movable robot to teach an operation.
  • a space difference calculation unit that calculates a space that does not overlap with the first space specified by the direct teaching as a first difference space; a feedback unit that notifies the teacher of information related to the first difference space; After completion of the plurality of direct teachings, a search is made for a moving path of the movable part in a first movable space in which the plurality of first spaces specified by the plurality of direct teachings are combined. And a search unit.
  • the first space specified by the direct teaching performed before the one direct teaching out of the first space specified by the one direct teaching of the plurality of direct teachings Information on the first difference space that does not overlap with the space can be notified to the teacher. Therefore, the teacher can perform the next direct teaching with reference to the notified information.
  • the movable space can be efficiently expanded in a plurality of direct teachings.
  • the feedback unit relates a volume ratio between the first difference space and the first space specified by the direct teaching performed before the one direct teaching to the first difference space. It is preferable to notify as information.
  • the volume ratio between the first difference space calculated by one direct teaching and the first space specified by the direct teaching performed before the one direct teaching is given to the teacher. You can be notified. That is, it is possible to notify the teacher of the increase rate of the movable space by one direct teaching. Therefore, the teacher can understand how much one direct teaching contributed to the expansion of the movable space. As a result, the movable space can be efficiently expanded in a plurality of direct teachings.
  • the first space specifying unit may include a space constituted by a set of voxels included in the movable robot at each timing during direct teaching among the plurality of voxels obtained by dividing the three-dimensional space.
  • the feedback unit includes the number of voxels constituting the first difference space and the voxels constituting the first space identified by the direct teaching performed before one direct teaching. It is preferable to notify the ratio with the number as the volume ratio.
  • the volume ratio can be notified using the number of voxels used when specifying the first space, and the processing load for obtaining the volume ratio can be reduced. .
  • a second space specifying unit that specifies, as a second space, a three-dimensional space in which at least a part of the body of the teacher sweeps during direct teaching;
  • a first movable space in which a plurality of first spaces specified by direct teaching of the first time are combined, and a second movement in which a plurality of second spaces specified by the direct teaching of the plurality of times are combined.
  • a spatial synthesis unit that synthesizes the possible space, and the spatial difference calculation unit is further performed before the one direct teaching of the second space specified by the one direct teaching.
  • a space that does not overlap with the second space specified by direct teaching is calculated as a second difference space, and the feedback unit further notifies the teacher of information related to the second difference space, and the route search Part is said Instead of the first movable space, in a space which is synthesized by the spatial synthesis unit, it is preferable to search the travel route of the movable portion.
  • a movable space using the first space swept by the movable robot during direct teaching and the second space swept by at least a part of the teacher's body. That is, a space that the movable robot does not sweep during direct teaching can be added to the movable space. Therefore, since a movable space expanded as compared with the case where only the space swept by the movable robot is made a movable space can be obtained, a more optimal movement route can be searched.
  • information regarding the second difference space that does not overlap with the second space specified by the direct teaching performed before the one direct teaching among the second spaces specified by the one direct teaching. The teacher can be notified separately from the information on the first difference space.
  • the teacher understands, for example, which moving path of the movable part of the movable robot or the body of the teacher should be devised in order to efficiently expand the movable space in the next direct teaching. be able to.
  • the movable space can be efficiently expanded in a plurality of direct teachings.
  • the feedback unit relates a volume ratio between the second difference space and a second space specified by the direct teaching performed before the one direct teaching, with respect to the second difference space. It is preferable to notify as information.
  • a volume ratio between the second difference space calculated by one direct teaching and the second space specified by the direct teaching performed before the one direct teaching is given to the teacher. You can be notified. That is, it is possible to notify the teacher of the increase rate of the movable space by one direct teaching. Therefore, the teacher can understand how much one direct teaching contributed to the expansion of the movable space. As a result, the movable space can be efficiently expanded in a plurality of direct teachings.
  • the second space specifying unit includes a set of voxels included in at least a part of the teacher's body at each timing during direct teaching among a plurality of voxels obtained by dividing the three-dimensional space.
  • a space is specified as the second space
  • the feedback unit specifies the number of voxels constituting the second difference space and the first teaching specified by the direct teaching performed before the one direct teaching. It is preferable to notify the ratio with the number of voxels constituting the second space as the volume ratio.
  • the volume ratio can be notified by using the number of voxels used when specifying the second space, and the processing load for obtaining the volume ratio can be reduced. .
  • the feedback unit depends on a comparison result between the first difference space and the second difference space, and determines one of the information about the first difference space and the information about the second difference space. It is preferable to notify. Specifically, the feedback unit notifies information about the first difference space when the first difference space is smaller than the second difference space, and the second difference space is the first difference space. It is preferable that the information regarding the second difference space is notified when the difference space is smaller than.
  • the movable space can be efficiently expanded in a plurality of direct teachings.
  • a value indicating the posture of the teacher when the direct teaching performed immediately before the one direct teaching is started and the posture of the teacher when the one direct teaching is started.
  • a posture difference calculation unit that calculates a difference from the indicated value, and the feedback unit further provides information on the posture to the teacher based on the calculated difference when the one direct teaching is started. It is preferable to notify.
  • the movable robot has a gripping part gripped by the teacher for the plurality of direct teachings, and the posture of the teacher is the elbow of the teacher viewed from the gripping part. The direction is preferred.
  • the direct teaching when the direct teaching is started, the difference between the posture at the time of direct teaching performed immediately before one direct teaching and the posture at the time of one direct teaching to be performed in the future is determined.
  • the teacher can be notified. Therefore, in one direct teaching, the teacher can change the posture from the posture at the time of the direct teaching performed immediately before the one direct teaching.
  • the movable space can be efficiently expanded in a plurality of direct teachings.
  • the value indicating the posture is a first value indicating an angle in the direction of the elbow on a plane perpendicular to the axis of the gripper, and a second value indicating an angle formed by the direction of the elbow and the plane.
  • the posture difference calculation unit calculates a difference between the first value and a difference between the second value
  • the feedback unit calculates the difference between the first value and the second value. It is preferable to notify the information on the posture based on the comparison result with the difference between the two.
  • the feedback unit may be configured to start the one direct teaching when the second difference space is smaller than the first difference space in the direct teaching performed immediately before the one direct teaching. It is preferable to notify information about the posture.
  • one direct teaching among a plurality of direct teachings is referred to as the current direct teaching.
  • Direct teaching performed before one direct teaching is referred to as direct teaching up to the previous time.
  • the direct teaching performed immediately before one direct teaching is called the previous direct teaching.
  • FIG. 1 is a block diagram showing a basic functional configuration of moving route search apparatus 100 according to Embodiment 1 of the present invention.
  • the movement route search apparatus 100 includes a robot shape database 101, a movement space specifying unit 102, a robot movement space storage unit 103, a space difference calculation unit 104, a feedback unit 105, and a route search unit. 106.
  • the robot shape database 101 holds robot shape data indicating the shape of the movable robot 302 that performs automatic work.
  • the moving space specifying unit 102 corresponds to a first space specifying unit.
  • the movement space specifying unit 102 specifies, as the first space (hereinafter referred to as “robot movement space”), the three-dimensional space that the movable part sweeps during the direct teaching in each of the plurality of direct teachings.
  • the moving space specifying unit 102 occupies the movable robot 302 at each timing during direct teaching based on the posture information of the movable robot 302 and the robot shape data held in the robot shape database 101. Specify the three-dimensional space. Then, the moving space specifying unit 102 specifies the robot moving space by synthesizing the three-dimensional space occupied by the movable robot 302 at each timing during direct teaching.
  • the robot moving space storage unit 103 manages the robot moving space specified by the moving space specifying unit 102. Specifically, the robot movement space storage unit 103 stores space data indicating the specified robot movement space in, for example, a built-in memory or the like. Note that the robot movement space accumulation unit 103 may store, for example, space data indicating the robot movement space in an external storage device.
  • the space difference calculation unit 104 calculates a first difference space.
  • the first difference space is a space that does not overlap with the robot movement space specified by the previous direct teaching among the robot movement spaces specified by the current direct teaching. That is, the first difference space is a space newly added to the first movable space.
  • the feedback unit 105 notifies the teacher 301 of feedback information regarding the first difference space calculated by the space difference calculation unit 104.
  • the feedback unit 105 notifies the volume ratio between the first difference space and the first space specified by the previous direct teaching as feedback information regarding the first difference space.
  • the route search unit 106 searches for a moving route of the movable portion of the movable robot 302 in the first movable space after the direct teaching is performed a plurality of times.
  • the first movable space is a space in which a plurality of robot movement spaces specified by a plurality of direct teachings are combined. That is, the first movable space is a union of a plurality of robot movement spaces. In other words, the first movable space is a space in which a plurality of robot movement spaces are superimposed.
  • the route search unit 106 searches for an optimal travel route among possible travel routes in the first movable space based on the given search condition. That is, the route search unit 106 uses the first movable space as a search space to search for an optimal travel route that satisfies the search conditions.
  • the search conditions are, for example, the positions of the start point and the end point, the evaluation criteria for optimality (such as time priority or power saving priority), or constraint conditions.
  • the search method for the travel route only needs to use a conventional search method, and is not particularly limited as long as it is a method for searching for a travel route in the search space.
  • FIG. 2 is a diagram showing a usage scene of the movement route search apparatus 100 according to Embodiment 1 of the present invention.
  • the instructor 301 continuously teaches the posture to be taken by the movable robot 302 while manually applying a force to the portion of the movable robot 302 that senses an external force.
  • the teacher 301 teaches the movement of the movable robot 302 by directly moving the movable portion of the movable robot 302 from the start point 305 to the end point 307 so as not to contact the obstacle 306.
  • a closed region of the three-dimensional space is expressed by a voxel.
  • a voxel has a cube of a certain size as a basic unit.
  • a voxel whose three-dimensional coordinate position from the origin is (x, y, z) is expressed as V (x, y, z).
  • Each voxel V (x, y, z) has a logical value M (x, y, z) indicating whether or not the movable robot 302 can move.
  • the logical value M (x, y, z) is expressed by the following equation (1). expressed.
  • the logical value of a hatched voxel is false, and the logical value of a white voxel that is not hatched is true. That is, in order to avoid interference with an obstacle, the movable robot 302 must move in a non-hatched space while avoiding entering the hatched space.
  • the movable space is expressed as a set of voxels whose logical values are true.
  • the three-dimensional space that the movable robot 302 can reach regardless of whether it touches an obstacle is represented by voxels.
  • the logical values of all voxels are set to false. That is, before starting teaching, it is unclear whether or not the entire space that the movable robot 302 can reach is movable.
  • FIG. 4 is an external view of the movable robot 302 in the first embodiment of the present invention.
  • the movable robot 302 is, for example, a 6-axis vertical articulated robot.
  • the physical mechanism structure of the movable robot 302 is RPPPRPR (R is rotation, P is translation). .
  • the combination of the angles of the six rotating shafts 501 to 506 is expressed by (JT1, JT2, JT3, JT4, JT5, JT6).
  • the posture of the movable robot 302 is uniquely determined by the combination of the angles of the six rotation axes 501 to 506.
  • the robot shape database 101 holds robot shape data in which the shape of the robot shown in FIG. 4 is expressed as a closed region by a line segment or a curve segment. Therefore, if (JT1, JT2, JT3, JT4, JT5, JT6) is given, the moving space specifying unit 102 uses the robot shape data to determine the relative three-dimensional position of the movable unit 508 with respect to the fixed unit 507. It can be calculated uniquely.
  • the teacher 301 changes the posture of the movable robot 302 by gripping the grip 509 of the movable robot 302 and applying a force to the force sensor mounted inside the movable robot 302 during direct teaching. Can do.
  • the movable robot 302 is not necessarily a robot having the above-described mechanism structure. That is, the movable robot 302 may be a vertical articulated robot having a mechanism structure other than RPPPRPR. Alternatively, the movable robot 302 may be a horizontal articulated robot. The movable robot 302 may be a combination of single axis robots.
  • FIG. 5 is a flowchart showing the movement route search process in the first embodiment of the present invention.
  • the teacher 301 repeats direct teaching of an operation of moving the moving robot 302 from the start point 305 to the end point 307 while avoiding the obstacle 306.
  • the teacher 301 When the teacher 301 performs direct teaching while grasping the grip 509 of the movable robot 302, the values indicating the angles of the respective rotation axes (JT1, JT2, JT3, JT4, JT5, JT6) change and the movable robot 302 is deformed. To do.
  • the moving space specifying unit 102 specifies the space occupied by the movable unit 508 of the movable robot 302 (S601). Specifically, first, the moving space specifying unit 102 acquires a value indicating the angle of each rotational axis of the movable robot 302 from the movable robot 302 as posture information at a constant period T. Subsequently, the moving space specifying unit 102 acquires the robot shape data held in the robot shape database 101. Then, the moving space specifying unit 102 performs an internal determination process as to whether or not each voxel constituting the three-dimensional space is located inside the movable robot 302 based on the acquired posture information and robot shape data.
  • the internal determination processing is a known point in whether or not all points constituting a voxel are included in the closed region indicated by the robot shape data (hereinafter, “the voxel is included in the movable robot 302”).
  • the moving space specifying unit 102 determines that the voxel is a voxel to which the movable unit 508 can move.
  • the moving space specifying unit 102 sets the logical value of the voxel to true.
  • the moving space specifying unit 102 does not change the logical value set in the voxel.
  • the moving space specifying unit 102 specifies a set of voxels whose logical value is set to true by such an internal determination process as a space occupied by the moving unit 508 of the moving robot 302.
  • step S601 will be described in more detail with reference to FIG.
  • FIG. 6 is a diagram for explaining the internal determination processing by the moving space specifying unit 102 in Embodiment 1 of the present invention.
  • FIG. 6 shows the positional relationship between each voxel and a part of the movable robot 302 when projected onto a two-dimensional plane for the sake of simplicity.
  • the logical value of the voxel 702 included in the movable robot 302 is set to true. In other words, the logical value of the voxel 701 positioned outside the movable robot 302 is not changed even partially.
  • the set R of voxels determined that the moving space specifying unit 102 is included in the movable robot 302 is expressed by the following equation (4).
  • the set R of voxels corresponds to a space occupied by the movable robot 302 at one timing during direct teaching.
  • step S601 unless the instructor 301 instructs the end of the k-th (k is an integer of 1 or more) direct teaching, the process of step S601 is continued. That is, the moving space specifying unit 102 repeats the internal determination process at a constant period T until an instruction to end the k-th direct teaching is received from the teacher 301 (S602).
  • the set R of voxels becomes a set of voxels determined to be included in the movable robot 302 at each timing during the k-th direct teaching.
  • the set R of voxels thus obtained corresponds to a robot movement space that is swept by the movable portion 508 of the movable robot 302 during the k-th direct teaching.
  • the robot movement space accumulating unit 103 stores the space data indicating the robot movement space specified in the k-th direct teaching in a memory or the like (S603).
  • the space difference calculation unit 104 does not overlap with the robot movement space specified in the previous (k-1) direct teaching among the robot movement spaces specified in the current (k) direct teaching. Is calculated as the first difference space (S604). Specifically, the space difference calculation unit 104 calculates the first difference space using, for example, space data stored in a memory or the like.
  • the feedback unit 105 notifies the teacher 301 of information related to the first difference space (S605). Specifically, the feedback unit 105 notifies the volume ratio between the first difference space and the robot movement space specified by the previous direct teaching as information regarding the first difference space.
  • the process returns to Step S601, and (k + 1) th direct teaching is performed.
  • the route search unit 106 is obtained by synthesizing a plurality of robot movement spaces specified by the k-th direct teaching. In the first movable space, the movement path of the movable unit 508 of the movable robot 302 is searched (S607).
  • the movement path search device 100 searches for the movement path of the movable unit 508 of the movable robot 302 based on a plurality of direct teachings.
  • steps S603 to S605 in FIG. 5 will be described in more detail with reference to FIGS.
  • processing when the first direct teaching is completed will be described with reference to FIGS.
  • the voxel set R_all is initialized to ⁇ (empty set) before the first direct teaching.
  • FIG. 7 is a diagram showing an example of the robot movement space 801 specified by the first direct teaching in the first embodiment of the present invention.
  • FIG. 8 is a diagram showing a set R [1] of voxels constituting the robot movement space 801 specified by the first direct teaching in the first embodiment of the present invention.
  • the robot movement space storage unit 103 stores, in a memory or the like, space data indicating the set of voxels R [1] obtained by the first direct teaching.
  • the spatial difference calculation unit 104 calculates the difference DR between the voxel set R [1] and R_all (in this case, the empty set) obtained by the first direct teaching as shown in FIG. Calculate as in 5).
  • R_all is a set of voxels constituting a space in which the robot movement space specified by the previous direct teaching is synthesized. That is, R_all corresponds to the first movable space obtained by direct teaching up to the previous time.
  • the space difference calculation unit 104 calculates, as the first difference space, a space that does not overlap with the robot movement space specified by the previous direct teaching among the robot movement spaces specified by the current direct teaching. . Then, the space difference calculation unit 104 calculates the calculated number of voxels constituting the first difference space as the difference DR.
  • R_all is an empty set. Therefore, the space difference calculation unit 104 does not have to calculate the difference DR. When the difference DR is not calculated, the feedback unit 105 does not notify the teacher 301 of feedback information.
  • FIG. 9 is a diagram showing an example of the robot movement space 1001 specified by the second direct teaching in the first embodiment of the present invention.
  • FIG. 10 is a diagram showing a set of voxels constituting the robot movement space specified by the direct teaching up to the second time in the first embodiment of the present invention.
  • the robot moving space accumulation unit 103 updates the voxel set R_all as follows using the voxel set R [1] obtained by the first direct teaching. is doing.
  • the robot movement space storage unit 103 stores, in a memory or the like, spatial data indicating the voxel set R [2] obtained by the second direct teaching.
  • the spatial difference calculation unit 104 calculates a difference DR between the voxel set R [2] obtained by the second direct teaching and the voxel set R_all obtained by the previous direct teaching. That is, the space difference calculation unit 104 calculates, as the first difference space, a space that does not overlap with the robot movement space specified by the first direct teaching among the robot movement spaces specified by the second direct teaching. Then, the space difference calculation unit 104 calculates the calculated number of voxels constituting the first difference space as the difference DR.
  • the spatial difference calculation unit 104 outputs the difference DR and
  • the feedback unit 105 can notify the volume ratio using the number of voxels, and can reduce the processing load for obtaining the volume ratio.
  • the feedback unit 105 may display a numerical value indicating the calculated ratio on the display as shown in FIG. 11, for example.
  • the feedback unit 105 may read out a numerical value indicating the calculated ratio by using speech synthesis, for example, as shown in FIG.
  • FIG. 13 is a diagram showing an example of the robot movement space 1201 specified by the third direct teaching in the first embodiment of the present invention.
  • FIG. 14 is a diagram showing a set of voxels constituting the robot movement space specified by direct teaching up to the third time in the first embodiment of the present invention.
  • the robot movement space accumulation unit 103 updates the voxel set R_all as follows using the voxel set R [2] obtained by the second direct teaching. is doing.
  • the robot movement space accumulation unit 103 stores, in a memory or the like, space data indicating the set of voxels R [3] obtained by the third direct teaching.
  • the spatial difference calculation unit 104 calculates a difference DR between the voxel set R [3] obtained by the third direct teaching and the voxel set R_all obtained by the previous direct teaching. That is, the space difference calculation unit 104 calculates, as the first difference space, a space that does not overlap with the robot movement space specified by the second direct teaching among the robot movement spaces specified by the third direct teaching. . Then, the space difference calculation unit 104 calculates the calculated number of voxels constituting the first difference space as the difference DR.
  • FIG. 12 showing voxels when voxels in a three-dimensional space are projected onto a two-dimensional plane, as in FIGS. 6 and 10.
  • have the following values.
  • the spatial difference calculation unit 104 outputs the difference DR and
  • the teacher 301 can recognize that the increase rate of the first movable space is smaller than that in the second direct teaching. That is, the teacher 301 can understand that in order to expand the movable space, it is necessary to teach a moving route that is slightly changed from the moving route up to this time in the next direct teaching. Therefore, if it is possible to change the movement route in the next direct teaching, the teacher 301 can efficiently expand the movable space by teaching the changed movement route. Alternatively, if it is difficult to change the movement route in the next direct teaching, the teacher 301 can instruct to end the direct teaching promptly.
  • step S607 in FIG. 5 will be described in more detail with reference to FIGS.
  • FIG. 15 is a diagram for explaining an example of search conditions in the first embodiment of the present invention.
  • FIG. 16 is a figure which shows an example of the movement path
  • FIG. 15 and FIG. 16 show diagrams when a three-dimensional space is projected onto a two-dimensional plane for the sake of simplicity.
  • the route search unit 106 searches for a moving route on the condition that the tip of the movable unit 508 of the movable robot 302 is moved from the start point 1501 to the end point 1502 in the shortest time.
  • a movable space specified by the teacher 301 performing direct teaching a plurality of times can be used as a search space. Therefore, as shown in FIG. 16, it is possible to search for an arcuate path through which the vertical articulated robot can move at the fastest speed as the movement path 1601.
  • the robot movement space specified by the current direct teaching among the robot movement spaces specified by the current direct teaching does not overlap with the robot movement space specified by the previous direct teaching.
  • the teacher 301 can be notified of information regarding one difference space. Therefore, the teacher can perform the next direct teaching with reference to the notified information.
  • the movable space can be efficiently expanded in a plurality of direct teachings. For example, it is possible to acquire a movable space of the same volume as in the past with fewer direct teachings than in the past.
  • the feedback unit 105 notifies the teacher 301 of the ratio of the number of voxels, but it is not always necessary to notify the ratio of the number of voxels.
  • the feedback unit 105 may notify the number of voxels themselves.
  • the feedback unit 105 may notify the teacher 301 directly and visually that the first movable space has been expanded.
  • the feedback unit 105 may display the contents shown in FIG. 8, FIG. 10, or FIG. 14 on the display when each direct teaching is completed. As a result, the teacher 301 can directly perceive which part of the three-dimensional space is allowed to pass through the movable robot 302 so that the movable space is expanded most.
  • the movement path search apparatus 1700 uses the space swept by the body of the teacher 301 during direct teaching as the movement path search space 100 according to the first embodiment. And mainly different.
  • FIG. 17 is a block diagram illustrating a basic functional configuration of the movement route search apparatus 1700 according to Embodiment 2 of the present invention.
  • the same components as those in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted.
  • the movement route search device 1700 is similar to the movement route search device 100 according to the first embodiment shown in FIG. 1, and includes a robot shape database 101, a movement space specifying unit 102, and a robot movement space storage unit. 103.
  • the travel route search apparatus 1700 includes a teacher position detection unit 1703, a teacher shape database 1704, a person occupied space specifying unit 1705, a person occupied space storage unit 1707, a space difference calculation unit 1708, and a feedback unit 1709. And a space synthesis unit 1710 and a route search unit 1711.
  • the teacher position detection unit 1703 detects a three-dimensional position of at least a part of the body of the teacher 301.
  • the teacher position detection unit 1703 detects the three-dimensional position of the elbow of the teacher 301 who teaches the movement to the movable robot 302.
  • the teacher position detection unit 1703 does not necessarily need to detect the three-dimensional position of the elbow, and may detect the three-dimensional position of a joint part such as a shoulder or a wrist, for example.
  • the teacher position detection unit 1703 may detect, for example, a three-dimensional position such as a shoulder or a wrist.
  • the teacher shape database 1704 holds teacher shape data indicating the shape of at least a part of the body of the teacher 301.
  • the teacher shape database 1704 holds teacher shape data indicating the shape of the lower arm of the teacher 301.
  • the teacher shape database 1704 may further hold teacher shape data indicating the shape of the upper arm of the teacher 301.
  • the teacher shape database 1704 may hold teacher shape data indicating the shape of the whole body of the teacher 301.
  • the human occupation space specifying unit 1705 corresponds to a second space specifying unit.
  • the human occupied space specifying unit 1705 performs a second space (hereinafter referred to as “human occupied space”) as a second space (hereinafter referred to as “human occupied space”) in each of a plurality of direct teachings, at least a part of the body of the teacher 301 sweeps during the direct teaching. ).
  • the human occupation space specifying unit 1705 specifies the three-dimensional space swept by the lower arm of the teacher 301 as the human occupation space during direct teaching.
  • the human occupied space storage unit 1707 manages the human occupied space specified by the human occupied space specifying unit 1705. Specifically, the human occupation space storage unit 1707 stores spatial data indicating the specified human occupation space in, for example, a built-in memory or the like. Note that the human occupation space accumulation unit 1707 may store, for example, spatial data indicating the human occupation space in an external storage device.
  • the space difference calculation unit 1708 calculates the second difference space in addition to calculating the first difference space as in the first embodiment.
  • the second difference space is a space that does not overlap with the person occupied space specified by the previous direct teaching among the person occupied spaces specified by the current direct teaching.
  • the feedback unit 1709 notifies the teacher 301 of feedback information about the second difference space in addition to feedback information about the first difference space.
  • the space synthesis unit 1710 synthesizes the first movable space and the second movable space. That is, the space synthesis unit 1710 calculates the union of the first movable space and the second movable space.
  • the first movable space is a space in which a plurality of robot movement spaces specified by a plurality of direct teachings are combined.
  • the second movable space is a space in which a plurality of human-occupied spaces specified by a plurality of direct teachings are combined.
  • the route search unit 1711 searches for the movement route of the movable unit 508 of the movable robot 302 not in the first movable space but in the space synthesized by the space synthesis unit 1710.
  • FIG. 18 is a diagram showing a use scene of the movement route search apparatus 1700 according to the second embodiment of the present invention.
  • the teacher 301 grips a gripping part that is a part of the movable robot 302 by hand.
  • the teacher 301 teaches the operation of the movable robot 302 by directly moving the movable portion of the movable robot 302 from the start point 305 to the end point 307 so as not to contact the obstacle 306.
  • a three-dimensional position measuring device 1803 is attached to the elbow of the teacher 301.
  • a position sensing device 1804 is installed in the work environment (for example, the ceiling or wall of the room where the movable robot 302 is installed).
  • the three-dimensional position measuring device 1803 and the position sensing device 1804 realize a known indoor GPS (Global Positioning System) using, for example, UWB (Ultra Wide Band). That is, the teacher position detection unit 1703 includes a three-dimensional position measurement device 1803 and a position sensing device 1804.
  • the position sensing device 1804 detects a three-dimensional position of a part of the body of the teacher 301 to which the three-dimensional position measuring device 1803 is attached.
  • FIG. 19 is a flowchart showing the movement route search process in the second embodiment of the present invention.
  • the teacher 301 repeats direct teaching of an operation of moving the moving robot 302 from the start point 305 to the end point 307 while avoiding the obstacle 306.
  • the moving space specifying unit 102 specifies the space occupied by the movable unit 508 of the movable robot 302 as in step S601 of the first embodiment (S1901). Specifically, as illustrated in FIG. 20, the moving space specifying unit 102 specifies a set R of voxels (voxels whose logical value is set to true) included in the movable robot 302.
  • the teacher position detection unit 1703 detects the three-dimensional position G_h of the elbow of the teacher 301 using the three-dimensional position measurement device 1803 and the position sensing device 1804 (S1902).
  • the human occupation space specifying unit 1705 specifies the space occupied by the lower arm of the teacher 301 (S1903).
  • the teacher shape data held in the teacher shape database will be described with reference to FIG.
  • FIG. 21 is a diagram showing an example of teacher shape data held in the teacher shape database 1704 according to Embodiment 2 of the present invention.
  • the teacher shape database 1704 holds data indicating the approximate shape of the lower arm of the teacher 301.
  • the lower arm of the teacher 301 is represented by a cylindrical three-dimensional model 2201 as shown in FIG. 21, for example.
  • the cylindrical three-dimensional model 2201 is defined by two numerical parameters (radius r and height h).
  • the radius r and the height h are, for example, values input in advance by the teacher 301 via an input unit (not shown).
  • the three-dimensional model 2201 is not necessarily defined by the radius r and the height h.
  • the three-dimensional model may be defined by a circumferential length and a height.
  • the radius r is preferably the radius of the shortest part of the lower arm of the teacher 301.
  • the three-dimensional model of the lower arm of the teacher 301 is not necessarily represented by a cylindrical shape, and may be represented by a shape closer to the actual shape of the lower arm.
  • the shape of the three-dimensional model becomes more complicated, the load of the internal determination process increases. Therefore, it is preferable that the shape of the three-dimensional model is relatively simple as in the present embodiment.
  • the person occupied space specifying unit 1705 specifies the space occupied by the lower arm of the teacher 301 using the teacher shape data held in the teacher shape database 1704 in this way. Specifically, the human occupation space specifying unit 1705 uses the three-dimensional position G_h of the elbow of the teacher 301 and the three-dimensional position G_r of the grasping unit 509 of the movable robot 302 to indicate the three-dimensional A model 2201 is virtually arranged in a three-dimensional space. Then, the human occupation space specifying unit 1705 performs an internal determination process on the three-dimensional model 2201 arranged in the three-dimensional space.
  • FIG. 22 is a diagram for explaining the internal determination processing by the human occupied space specifying unit 1705 according to Embodiment 2 of the present invention.
  • the human occupation space specifying unit 1705 sets the logical value of a voxel included in the three-dimensional model 2201 among the voxels constituting the three-dimensional space as true.
  • the set H of voxels determined by the human occupation space specifying unit 1705 to be included in the three-dimensional model 2201 of the teacher 301 is expressed by the following equation (6).
  • the set H of voxels corresponds to a space occupied by at least a part of the body of the teacher 301 at one timing during direct teaching.
  • the processing of steps S1901 to S1903 is continued. That is, the human occupation space specifying unit 1705 repeats the internal determination process at a constant period T until an instruction to end the k-th direct teaching is received from the teacher 301 (S1904).
  • the voxel sets R and H are determined to be included in the movable robot 302 or the teacher 301 even at each timing during the k-th direct teaching. It becomes a set of.
  • the set R of voxels thus obtained corresponds to the robot movement space swept by the movable portion 508 of the movable robot 302 during the kth direct teaching. Further, the set H of voxels obtained in this way corresponds to a person-occupied space in which at least a part of the body of the teacher 301 sweeps during the k-th direct teaching.
  • FIG. 23 is a diagram illustrating an example of the robot movement space 2101 identified by the movement space identification unit 102 according to the second embodiment of the present invention.
  • FIG. 24 is a diagram illustrating an example of the human occupied space 2401 specified by the human occupied space specifying unit 1705 according to the second embodiment of the present invention.
  • the robot movement space 2101 and the person occupation space 2401 are identified by the movement space identification unit 102 and the person occupation space identification unit 1705.
  • the robot movement space storage unit 103 and the human occupation space storage unit 1707 store the space data indicating the robot movement space 2101 specified in the k-th direct teaching or the space data showing the human occupation space 2401 in a memory or the like. (S1905).
  • the space difference calculation unit 1708 calculates a second difference space in addition to the first difference space (S1906).
  • the second difference space is a space that does not overlap with the human occupation space specified in the previous direct teaching among the human occupation spaces specified in the current direct teaching.
  • the space difference calculation unit 1708 calculates a first difference space and a second difference space using, for example, space data stored in a memory or the like.
  • the feedback unit 1709 notifies the teacher 301 of information related to the second difference space in addition to information related to the first difference space (S1907). Specifically, the feedback unit 1709 notifies the volume ratio between the second difference space and the person-occupied space specified by the previous direct teaching as information regarding the second difference space.
  • the process returns to step S1901, and (k + 1) th direct teaching is performed.
  • the space synthesis unit 1710 synthesizes the first movable space and the second movable space (S1909).
  • the second movable space is a space in which a plurality of human-occupied spaces specified by direct teaching up to k-th time are combined.
  • the route searching unit 1711 searches for the moving route of the movable unit 508 of the movable robot 302 in the synthesized movable space (S1910).
  • the movement path search device 1700 searches for the movement path of the movable unit 508 of the movable robot 302 based on a plurality of direct teachings.
  • FIG. 25 is a diagram showing a set of voxels constituting the first movable space and the second movable space specified by the first to third direct teachings in the second embodiment of the present invention.
  • (a) and (b) of FIG. 25 are diagrams showing a set of voxels constituting the first movable space and the second movable space specified by the first direct teaching.
  • FIGS. 25C and 25D are diagrams showing a set of voxels constituting the first movable space and the second movable space specified by direct teaching up to the second time.
  • FIGS. 25E and 25F are diagrams showing a set of voxels constituting the first movable space and the second movable space specified by direct teaching up to the third time.
  • the set of voxels R_all constituting the first movable space and the set of voxels H_all constituting the second movable space are initially set to ⁇ (empty set). It has become.
  • the robot movement space storage unit 103 stores, in a memory or the like, space data indicating the set of voxels R [1] obtained by the first direct teaching.
  • the human-occupied space storage unit 1707 stores space data indicating the set of voxels H [1] obtained by the first direct teaching in a memory or the like. Since this is the first direct teaching, calculation of the first difference space and the second difference space and notification of feedback information are not performed.
  • the robot movement space accumulation unit 103 stores, in a memory or the like, space data indicating the set of voxels R [2] obtained by the second direct teaching.
  • the human-occupied space storage unit 1707 stores space data indicating the set of voxels H [2] obtained by the second direct teaching in a memory or the like.
  • the spatial difference calculation unit 1708 calculates a difference DR between the voxel set R [2] obtained by the second direct teaching and the voxel set R_all obtained by the previous direct teaching.
  • have the following values.
  • the space difference calculation unit 1708 calculates a difference DH between the voxel set H [2] obtained by the second direct teaching and the voxel set H_all obtained by the previous direct teaching.
  • have the following values.
  • the space difference calculation unit 1708 outputs the difference DR,
  • the information regarding the second difference space is a ratio between the number of voxels constituting the second difference space and the number of voxels constituting the human occupation space specified by the first direct teaching.
  • the feedback unit 1709 may display a numerical value indicating the calculated ratio on the display as shown in FIG. 26, for example.
  • the feedback unit 1709 may read out a numerical value indicating the calculated ratio using speech synthesis.
  • the robot movement space accumulation unit 103 stores, in a memory or the like, space data indicating the set of voxels R [3] obtained by the third direct teaching.
  • the human-occupied space storage unit 1707 stores, in a memory or the like, spatial data indicating the set of voxels H [3] obtained by the third direct teaching.
  • the spatial difference calculation unit 1708 calculates a difference DR between the voxel set R [3] obtained by the third direct teaching and the voxel set R_all obtained by the previous direct teaching.
  • take the following values.
  • the space difference calculation unit 1708 calculates a difference DH between the voxel set H [3] obtained by the third direct teaching and the voxel set H_all obtained by the previous direct teaching.
  • have the following values.
  • the space difference calculation unit 1708 outputs the difference DR,
  • the information regarding the second difference space is a ratio between the number of voxels constituting the second difference space and the number of voxels constituting the person-occupied space specified by the second direct teaching.
  • the teacher 301 notices that the increase rate of the movable space due to the robot movement space is decreasing. Therefore, if it is possible to slightly change the movement path of the movable unit 508 in direct teaching, the teacher 301 can efficiently expand the movable space by changing the movement path in the next direct teaching. Can do.
  • the teacher 301 efficiently expands the movable space by changing the gripping method of the gripping unit 509 of the movable robot 302 in the next direct teaching. You can also
  • the teacher 301 can determine that neither the first movable space nor the second movable space can be expanded any more, and can promptly terminate the direct teaching.
  • the robot movement space swept by the movable robot 302 during direct teaching and the human occupation space swept by at least a part of the body of the teacher 301 are obtained.
  • a movable space can be obtained using. That is, a space that the movable robot 302 does not sweep during direct teaching can be added to the movable space. Therefore, since a movable space expanded as compared with the case where only the space swept by the movable robot 302 is made a movable space can be obtained, a more optimal movement route can be searched.
  • the teacher 301 can be notified. Therefore, in order to efficiently expand the movable space in the next direct teaching, for example, the teacher 301 may devise either the moving path of the movable portion 508 of the movable robot 302 or the body of the teacher 301. Can understand. As a result, the movable space can be efficiently expanded in a plurality of direct teachings.
  • Embodiment 3 of the present invention will be described with reference to the drawings. Note that, in the following, description of portions common to the second embodiment will be omitted as appropriate.
  • the route search apparatus changes the content notified to the teacher 301 according to the comparison result between the first difference space and the second difference space. Different from search device. Note that the functional configuration of the route search apparatus in the present embodiment is the same as that of the route search apparatus in the second embodiment, and thus illustration is omitted.
  • the feedback unit 1709 depends on the comparison result between the first difference space and the second difference space, and one of the information about the first difference space and the information about the second difference space. To be notified. Specifically, the feedback unit 1709 notifies information related to the first difference space when the first difference space is smaller than the second difference space. On the other hand, when the second difference space is smaller than the first difference space, the feedback unit 1709 notifies information related to the second difference space. More specifically, the feedback unit 1709 compares the increase in the number of voxels between the voxel set R_all and the voxel set H_all. Then, the feedback unit 1709 notifies the teacher 301 of information for causing the teacher 301 to devise a moving route during direct teaching depending on the comparison result.
  • the feedback unit 1709 feeds back to the instructor 301 so as to “devise the movement path of the robot during direct teaching”.
  • the feedback unit 1709 feeds back to the teacher 301 so as to “devise how to hold during direct teaching”.
  • the feedback unit 1709 “devises how to hold during direct teaching”. Is displayed on the display.
  • the feedback unit 1709 indicates that “the robot movement path during direct teaching” A message instructing to “devise” is displayed on the display.
  • the teacher 301 should slightly change the movement route of the movable unit 508 or hold the movable robot 302 in the next direct teaching. It is possible to quickly determine whether or not to change, and the movable space can be efficiently expanded.
  • the movement route search apparatus 2800 in the present embodiment is different from the third embodiment in that the information on the posture of the teacher 301 when direct teaching is started is notified.
  • FIG. 27 is a block diagram showing a basic functional configuration of the movement route search apparatus according to the fourth embodiment of the present invention.
  • the same components as those in FIG. 17 are denoted by the same reference numerals and description thereof is omitted.
  • the teacher position detection unit 2803 further detects the attitude of the teacher 301. Specifically, the teacher position detection unit 2803 detects the direction of the three-dimensional position measurement device 1803 viewed from the grip unit 509 at the start of teaching. In the present embodiment, the three-dimensional position measurement device 1803 is attached to the elbow of the teacher 301. Therefore, the teacher position detection unit 2803 detects the elbow direction of the teacher 301 as viewed from the grip unit 509 as the posture of the teacher 301.
  • the direction of the three-dimensional position measurement device 1803 is represented by two rotation angles ⁇ and ⁇ as shown in FIG.
  • the value of ⁇ corresponds to the first value
  • the value of ⁇ corresponds to the second value.
  • the center position 2703 of the gripper 509 and the normal vector 2701 of the virtual plane 2705 on which the gripper 509 is placed are known from the attitude of the movable robot 302.
  • the direction of the normal vector 2701 corresponds to the direction of the axis of the grip portion 509.
  • the teacher position detection unit 2803 can detect the three-dimensional position measurement device. From the position 1803, ⁇ (0 ⁇ ⁇ ⁇ 2 ⁇ ) and ⁇ ( ⁇ / 2 ⁇ ⁇ ⁇ ⁇ / 2) can be obtained.
  • is measured counterclockwise when viewed from the tip of the movable portion 508. Further, ⁇ is measured with the front end side of the movable portion 508 as a positive angle and the opposite side as a negative angle.
  • the directions of the three-dimensional position measurement device 1803 as viewed from the gripper 509 when starting the k-th teaching are ⁇ (k) and ⁇ (k), respectively.
  • the posture difference calculation unit 2812 calculates a difference between a value indicating the posture of the teacher 301 when the previous direct teaching is started and a value indicating the posture of the teacher 301 when the current direct teaching is started. To do.
  • the posture of the teacher 301 is the direction of the elbow of the teacher 301 as viewed from the grip portion 509. Specifically, the posture difference calculation unit 2812 calculates the difference of ⁇ and the difference of ⁇ .
  • the feedback unit 2809 notifies the teacher 301 of information related to the posture based on the calculated difference when direct teaching is started. Specifically, the feedback unit 2809 notifies information on the posture based on the comparison result between the difference in ⁇ and the difference in ⁇ .
  • the feedback unit 2809 preferably notifies the posture information when the current direct teaching is started.
  • FIG. 29 is a flowchart showing a movement route search process according to the fourth embodiment of the present invention. 29, the same steps as those in FIG. 19 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • the feedback unit 2809 displays, on the display, a message instructing “devise how to hold during direct teaching” when the voxel increment of H_all is smaller than the voxel increment of R_all (S1907).
  • the teacher position detection unit 2803 detects the posture of the teacher 301 (S2911). Specifically, the teacher position detection unit 2803 detects ⁇ and ⁇ when the teacher 301 presses a button for instructing to start the (k + 1) -th direct teaching, for example.
  • the feedback unit 2809 receives ⁇ (k + 1), ⁇ (k + 1), ⁇ (k), and ⁇ ( k).
  • the feedback unit 2809 displays information on the posture on the display (S2912).
  • the feedback unit 2809 instructs to “turn the wrist while keeping the position of the elbow”. Show the message on the display. Conversely, in the case of
  • the movement route search apparatus 2800 when the instructor 301 is instructed to devise how to hold the direct teaching robot, how the arm and hand are placed. It becomes possible to easily know whether the change should be made, and the movable space can be efficiently expanded.
  • the feedback unit 2809 displays a message for instructing “turn the wrist while keeping the position of the elbow”, but it is not always necessary to display such a message.
  • the feedback unit 2809 may display an image indicating a holding method held in advance as information related to the posture.
  • posture difference calculation unit 2812 calculates both the difference in angle ⁇ and the difference in angle ⁇ , but calculates only one of the difference in angle ⁇ and the difference in angle ⁇ . May be.
  • the posture difference calculation unit 2812 may calculate only the difference of the angle ⁇ .
  • the feedback unit 2809 instructs the teacher 301 to change the hand (eg, the right hand) holding the grip unit 509 to the opposite hand (eg, the left hand). The information may be notified.
  • the teacher 301 performs direct teaching using an arm.
  • the present invention is applied even when direct teaching is performed using a foot. be able to.
  • the human occupation space specifying unit 1705 may specify the space where the teacher 301 sweeps during direct teaching.
  • the posture difference calculation unit 2812 may calculate a difference between values indicating the posture of the foot.
  • the travel route search apparatus need not include all of the components included in the travel route search apparatus in Embodiments 1 to 4.
  • the movement route search apparatus may be configured as shown in FIG.
  • FIG. 30 is a block diagram illustrating a functional configuration of the movement route search apparatus 10 according to an aspect of the present invention.
  • 30 includes a moving space specifying unit 102, a space difference calculating unit 104, a feedback unit 105, and a route searching unit 106. That is, the movement route search apparatus 10 does not necessarily need to include the robot shape database 101 and the robot movement space accumulation unit 103. In such a case, the movement path search device 10 may acquire the robot shape data via a communication unit or an input unit (not shown). Moreover, the movement space specific
  • FIG. 31 is a block diagram illustrating a functional configuration of the movable space output device 20 according to an aspect of the present invention.
  • the movable space output device 20 includes a moving space specifying unit 102, a space difference calculation unit 104, and a feedback unit 105.
  • the movement space specifying unit 102 may display the specified robot movement space on a display, for example.
  • the movable space output device 20 can present the robot movement space to the teacher 301.
  • the movement space specifying unit 102 may output the specified robot movement space to the movement path search device. As a result, even in a movement path search device that cannot specify the space that the movable robot sweeps, it is possible to search for an optimal movement path using the robot movement space.
  • the present invention may be realized as a robot control device including a control unit that controls the movable robot 302 according to the searched movement path.
  • the constituent elements included in the movement route search apparatus in the first to fourth embodiments may be configured by one system LSI (Large Scale Integration).
  • the movement route search device may be configured by a system LSI having a movement space specifying unit 102, a space difference calculation unit 104, a feedback unit 105, and a route search unit 106.
  • the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip. Specifically, a microprocessor, a ROM (Read Only Memory), a RAM (Random Access Memory), etc. It is a computer system comprised including. A computer program is stored in the ROM. The system LSI achieves its functions by the microprocessor operating according to the computer program.
  • system LSI may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
  • method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible.
  • An FPGA Field Programmable Gate Array
  • reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • the present invention can be realized not only as a travel route search device including such a characteristic processing unit, but also as a travel route search method using the characteristic processing unit included in the travel route search device as a step. It can also be realized. It can also be realized as a computer program that causes a computer to execute the characteristic steps included in the moving route search method. Needless to say, such a computer program can be distributed via a computer-readable recording medium such as a CD-ROM (Compact Disc Only Memory) or a communication network such as the Internet.
  • a computer-readable recording medium such as a CD-ROM (Compact Disc Only Memory) or a communication network such as the Internet.
  • the movement route search device is useful as a robot application in which a movable robot autonomously searches for a movement route after teaching and operates.
  • Moving path search device 20 Moveable space output device 101 Robot shape database 102 Moving space specifying unit 103 Robot moving space accumulating unit 104, 1708 Spatial difference calculating unit 105, 1709, 2809 Feedback unit 106, 1711 Path Search unit 301 Teachers 302 Movable robot 305, 1501 Start point 306 Obstacle 307, 1502 End point 501 Rotating shaft 507 Fixed unit 508 Movable unit 509 Grip unit 701, 702 Voxel 801, 1001, 1201, 2101 Robot movement space 1601 Movement path 1703, 2803 Teacher position detection unit 1704 Teacher shape database 1705 Person occupied space identification part 1707 Person occupied space storage part 1710 Space composition part 1803 Three-dimensional position measurement Device 1804 Position sensing device 2201 Three-dimensional model 2401 Person-occupied space 2701 Normal vector 2702 Constant position 2703 Center position 2705 Plane 2812 Posture difference calculation unit

Abstract

 教示者(301)が可動ロボット(302)を直接動かして動作を教示する複数回の直接教示の各々において、可動部(508)が直接教示中に掃引する三次元空間を第1の空間として特定する移動空間特定部(102)と、複数回の直接教示のうちの一の直接教示によって特定された第1の空間のうち、一の直接教示よりも前に行われた直接教示によって特定された第1の空間と重複しない空間を第1の差分空間として算出する空間差分計算部(104)と、第1の差分空間に関する情報を教示者(301)に通知するフィードバック部(105)と、複数回の直接教示が終了した後に、複数回の直接教示によって特定された複数の第1の空間が合成された第1の移動可能空間内において、可動部(508)の移動経路を探索する経路探索部(106)とを備える。

Description

移動経路探索装置および移動経路探索方法
 本発明は、直接教示に基づいて可動ロボットの可動部の移動経路を探索する移動経路探索装置および移動経路探索方法に関する。
 教示者が可動ロボットを直接動かして動作を教示する直接教示(以下、「ダイレクトティーチング」という)が行われた際に、可動ロボットの可動部が移動可能な三次元空間(以下、適宜、単に「移動可能空間」という)を自動取得する技術が提案されている。そして、このように自動取得された移動可能空間を利用して、自動動作時の最適経路を自動探索するアプローチが試みられている。例えば非特許文献1に示された技術では、ダイレクトティーチング時にロボットが移動可能な空間が自動取得され、最適経路の探索空間として利用される。
 図32は、従来の移動可能空間取得処理と最適経路探索処理との概要を示す図である。非特許文献1の中で、教示者201は、可動ロボット202の先端に実装された力センサを利用して、ダイレクトティーチングにより動作を教示する。ダイレクトティーチング中に可動ロボット202自体が占有した空間を足し合わせることで移動可能空間203が特定される。そして、特定された移動可能空間203内において、2点間の移動経路204が探索される。つまり、移動可能空間203は、探索空間として利用される。可動ロボット202は、このように探索された移動経路204に従って動作することにより、障害物と干渉しないように自動で作業することが可能となる。
前田他「空間掃引を用いた産業用マニピュレータの教示」、日本機械学会論文集(C編)、74巻737号(2008-1)
 しかしながら、非特許文献1の方法では、特定された移動可能空間のボリュームが、実際に可動ロボットが移動可能な空間のボリュームよりも小さくなることが多い。したがって、その移動可能空間を探索空間として利用して探索された移動経路の最適性が低いという問題がある。
 十分なボリュームの移動可能空間を得るためには、教示者は、すでに特定された移動可能空間を拡張するような動作をさらに教示しなければならない。しかしながら、教示者は、どのような動作を教示すれば移動可能空間を効率的に拡張することができるかを理解することが難しい。したがって、教示者は、試行錯誤的な教示を繰り返すことになり、教示コストの増加につながるという問題がある。
 そこで、本発明は、上記課題を考慮してなされたものであって、複数回の直接教示に基づいて移動可能空間を取得する場合に、移動可能空間を効率的に拡張することができる移動経路探索装置および移動経路探索方法を提供することを目的とする。
 前記従来の課題を解決するために、本発明の一態様に係る移動経路探索装置は、教示者が可動ロボットを直接動かして動作を教示する複数回の直接教示の各々において、可動ロボットの可動部が直接教示中に掃引する三次元空間を第1の空間として特定する第1の空間特定部と、前記複数回の直接教示のうちの一の直接教示によって特定された第1の空間のうち、前記一の直接教示よりも前に行われた直接教示によって特定された第1の空間と重複しない空間を第1の差分空間として算出する空間差分計算部と、前記第1の差分空間に関する情報を前記教示者に通知するフィードバック部と、前記複数回の直接教示が終了した後に、前記複数回の直接教示によって特定された複数の第1の空間が合成された第1の移動可能空間内において、前記可動部の移動経路を探索する経路探索部とを備える。
 本構成によれば、複数回の直接教示のうちの一の直接教示によって特定された第1の空間のうち、当該一の直接教示よりも前に行われた直接教示によって特定された第1の空間と重複しない第1の差分空間に関する情報を教示者に通知することができる。したがって、教示者は、通知された情報を参考にして、次回の直接教示を行うことが可能となる。その結果、複数回の直接教示に基づいて移動可能空間を取得する場合に、複数回の直接教示において効率的に移動可能空間を拡張することが可能となる。
 本発明によれば、複数回の直接教示に基づいて移動可能空間を取得する場合に、複数回の直接教示のうちの一の直接教示によって特定された空間のうち、当該一の直接教示よりも前に行われた直接教示によって特定された空間と重複しない空間に関する情報を教示者に通知することができるので、効率的に移動可能空間を拡張することが可能となる。
図1は、本発明の実施の形態1における移動経路探索装置の機能構成を示すブロック図である。 図2は、本発明の実施の形態1における移動経路探索装置の利用シーンを示す図である。 図3は、本発明の実施の形態1における移動可能空間を表現するボクセルを説明する図である。 図4は、本発明の実施の形態1における可動ロボットの外観図である。 図5は、本発明の実施の形態1における移動経路探索処理を示すフローチャートである。 図6は、本発明の実施の形態1における移動空間特定部による内部判定処理を説明するための図である。 図7は、本発明の実施の形態1における1回目のダイレクトティーチングによって特定されるロボット移動空間の一例を示す図である。 図8は、本発明の実施の形態1における1回目のダイレクトティーチングによって特定されるロボット移動空間を構成するボクセルの集合を示す図である。 図9は、本発明の実施の形態1における2回目のダイレクトティーチングによって特定されるロボット移動空間の一例を示す図である。 図10は、本発明の実施の形態1における2回目までのダイレクトティーチングによって特定されたロボット移動空間を構成するボクセルの集合を示す図である。 図11は、本発明の実施の形態1におけるフィードバック情報の通知方法の一例を示す図である。 図12は、本発明の実施の形態1におけるフィードバック情報の通知方法の他の一例を示す図である。 図13は、本発明の実施の形態1における3回目のダイレクトティーチングによって特定されるロボット移動空間の一例を示す図である。 図14は、本発明の実施の形態1における3回目までのダイレクトティーチングによって特定されたロボット移動空間を構成するボクセルの集合を示す図である。 図15は、本発明の実施の形態1における探索条件の一例を説明するための図である。 図16は、本発明の実施の形態1における移動経路探索装置によって探索される移動経路の一例を示す図である。 図17は、本発明の実施の形態2における移動経路探索装置の機能構成を示すブロック図である。 図18は、本発明の実施の形態2における移動経路探索装置の利用シーンを示す図である。 図19は、本発明の実施の形態2における移動経路探索処理を示すフローチャートである。 図20は、本発明の実施の形態2における移動空間特定部による内部判定処理を説明するための図である。 図21は、本発明の実施の形態2における教示者形状データベースが保持している教示者形状データの一例を示す図である。 図22は、本発明の実施の形態2における人占有空間特定部による内部判定処理を説明するための図である。 図23は、本発明の実施の形態2における移動空間特定部によって特定されたロボット移動空間の一例を示す図である。 図24は、本発明の実施の形態2における人占有空間特定部によって特定された人占有空間の一例を示す図である。 図25は、本発明の実施の形態2における1~3回目のダイレクトティーチングによって特定される第1の移動可能空間と第2の移動可能空間とを構成するボクセルの集合を示す図である。 図26は、本発明の実施の形態2におけるフィードバック情報の通知方法の一例を示す図である。 図27は、本発明の実施の形態4における移動経路探索装置の機能構成を示すブロック図である。 図28は、本発明の実施の形態4における教示者の姿勢を説明するための図である。 図29は、本発明の実施の形態4における移動経路探索処理を示すフローチャートである。 図30は、本発明の一態様に係る移動経路探索装置の機能構成を示すブロック図である。 図31は、本発明の一態様に係る移動可能空間出力装置の機能構成を示すブロック図である。 図32は、従来の移動可能空間取得処理と最適経路探索処理との概要を示す図である。
 本発明の一態様に係る移動経路探索装置は、教示者が可動ロボットを直接動かして動作を教示する複数回の直接教示の各々において、可動ロボットの可動部が直接教示中に掃引する三次元空間を第1の空間として特定する第1の空間特定部と、前記複数回の直接教示のうちの一の直接教示によって特定された第1の空間のうち、前記一の直接教示よりも前に行われた直接教示によって特定された第1の空間と重複しない空間を第1の差分空間として算出する空間差分計算部と、前記第1の差分空間に関する情報を前記教示者に通知するフィードバック部と、前記複数回の直接教示が終了した後に、前記複数回の直接教示によって特定された複数の第1の空間が合成された第1の移動可能空間内において、前記可動部の移動経路を探索する経路探索部とを備える。
 この構成によれば、複数回の直接教示のうちの一の直接教示によって特定された第1の空間のうち、当該一の直接教示よりも前に行われた直接教示によって特定された第1の空間と重複しない第1の差分空間に関する情報を教示者に通知することができる。したがって、教示者は、通知された情報を参考にして、次回の直接教示を行うことが可能となる。その結果、複数回の直接教示に基づいて移動可能空間を取得する場合に、複数回の直接教示において効率的に移動可能空間を拡張することが可能となる。
 また、前記フィードバック部は、前記第1の差分空間と、前記一の直接教示よりも前に行われた直接教示によって特定された第1の空間との体積比を、前記第1の差分空間に関する情報として通知することが好ましい。
 この構成によれば、一の直接教示によって算出された第1の差分空間と当該一の直接教示よりも前に行われた直接教示によって特定された第1の空間との体積比を教示者に通知することができる。つまり、一の直接教示による移動可能空間の増加率を教示者に通知することができる。したがって、教示者は、一の直接教示が移動可能空間の拡張にどれだけ貢献したかを理解することが可能となる。その結果、複数回の直接教示において効率的に移動可能空間を拡張することが可能となる。
 また、前記第1の空間特定部は、三次元空間を分割した複数のボクセルのうち、直接教示中の各タイミングにおいて前記可動ロボットに内包されたボクセルの集合によって構成される空間を、前記第1の空間として特定し、前記フィードバック部は、前記第1の差分空間を構成するボクセルの数と、一の直接教示よりも前に行われた直接教示によって特定された第1の空間を構成するボクセルの数との比を、前記体積比として通知することが好ましい。
 この構成によれば、第1の空間を特定するときに利用されたボクセルの数を利用して体積比を通知することができ、体積比を得るための処理負荷を低減することが可能となる。
 また、さらに、前記複数回の直接教示の各々において、前記教示者の身体の少なくとも一部が直接教示中に掃引する三次元空間を第2の空間として特定する第2の空間特定部と、複数回の直接教示によって特定された複数の第1の空間が合成された第1の移動可能空間と、前記複数回の直接教示によって特定された複数の第2の空間が合成された第2の移動可能空間とを合成する空間合成部とを備え、前記空間差分計算部は、さらに、前記一の直接教示によって特定された第2の空間のうち、前記一の直接教示よりも前に行われた直接教示によって特定された第2の空間と重複しない空間を第2の差分空間として算出し、前記フィードバック部は、さらに、前記第2の差分空間に関する情報を前記教示者に通知し、前記経路探索部は、前記第1の移動可能空間内に代えて、前記空間合成部によって合成された空間内において、前記可動部の移動経路を探索することが好ましい。
 この構成によれば、直接教示中に可動ロボットが掃引する第1の空間と教示者の身体の少なくとも一部が掃引する第2の空間とを利用して移動可能空間を得ることができる。つまり、直接教示中に可動ロボットが掃引しない空間も移動可能空間に加えることが可能となる。したがって、可動ロボットが掃引する空間のみを移動可能空間とする場合よりも拡張された移動可能空間を得ることができるので、より最適な移動経路を探索することが可能となる。また、一の直接教示によって特定された第2の空間のうち、当該一の直接教示よりも前に行われた直接教示によって特定された第2の空間と重複しない第2の差分空間に関する情報を、第1の差分空間に関する情報とは別に教示者に通知することができる。したがって、教示者は、次回の直接教示において移動可能空間を効率的に拡張するためには、例えば、可動ロボットの可動部および教示者の身体のどちらの移動経路を工夫すればよいかを理解することができる。その結果、複数回の直接教示において効率的に移動可能空間を拡張することが可能となる。
 また、前記フィードバック部は、前記第2の差分空間と、前記一の直接教示よりも前に行われた直接教示によって特定された第2の空間との体積比を、前記第2の差分空間に関する情報として通知することが好ましい。
 この構成によれば、一の直接教示によって算出された第2の差分空間と当該一の直接教示よりも前に行われた直接教示によって特定された第2の空間との体積比を教示者に通知することができる。つまり、一の直接教示による移動可能空間の増加率を教示者に通知することができる。したがって、教示者は、一の直接教示が移動可能空間の拡張にどれだけ貢献したかを理解することが可能となる。その結果、複数回の直接教示において効率的に移動可能空間を拡張することが可能となる。
 また、前記第2の空間特定部は、三次元空間を分割した複数のボクセルのうち、直接教示中の各タイミングにおいて前記教示者の身体の少なくとも一部に内包されたボクセルの集合によって構成される空間を、前記第2の空間として特定し、前記フィードバック部は、前記第2の差分空間を構成するボクセルの数と、前記一の直接教示よりも前に行われた直接教示によって特定された第2の空間を構成するボクセルの数との比を、前記体積比として通知することが好ましい。
 この構成によれば、第2の空間を特定するときに利用されたボクセルの数を利用して体積比を通知することができ、体積比を得るための処理負荷を低減することが可能となる。
 また、前記フィードバック部は、前記第1の差分空間と前記第2の差分空間との比較結果に依存させて、前記第1の差分空間に関する情報と前記第2の差分空間に関する情報との一方を通知することが好ましい。具体的には、前記フィードバック部は、前記第1の差分空間が前記第2の差分空間より小さいときに、前記第1の差分空間に関する情報を通知し、前記第2の差分空間が前記第1の差分空間より小さいときに、前記第2の差分空間に関する情報を通知することが好ましい。
 この構成によれば、可動ロボットが掃引した空間と教示者が掃引した空間とのうち、移動可能空間の拡張に対する貢献が小さい方に関する情報を教示者に通知することができる。したがって、複数回の直接教示において効率的に移動可能空間を拡張することが可能となる。
 また、さらに、前記一の直接教示の直前に行われた直接教示が開始されたときの前記教示者の姿勢を示す値と、前記一の直接教示が開始されるときの前記教示者の姿勢を示す値との差分を計算する姿勢差分計算部を備え、前記フィードバック部は、さらに、前記一の直接教示が開始されるときに、計算された差分に基づいて前記姿勢に関する情報を前記教示者に通知することが好ましい。具体的には、前記可動ロボットは、前記複数回の直接教示のために前記教示者に把持される把持部を有し、前記教示者の姿勢は、前記把持部からみた前記教示者の肘の方向であることが好ましい。
 この構成によれば、一の直接教示の直前に行われた直接教示のときの姿勢と、これから行われる一の直接教示のときの姿勢との違いを、当該一の直接教示が開始されるときに教示者に通知することができる。したがって、教示者は、一の直接教示において、一の直接教示の直前に行われた直接教示のときの姿勢から姿勢を変更することが可能となる。その結果、複数回の直接教示において効率的に移動可能空間を拡張することが可能となる。
 また、前記姿勢を示す値は、前記把持部の軸に垂直な平面上における前記肘の方向の角度を示す第1の値と、前記肘の方向と前記平面とが成す角度を示す第2の値とを含み、前記姿勢差分計算部は、前記第1の値の差分と前記第2の値の差分とを計算し、前記フィードバック部は、前記第1の値の差分と前記第2の値の差分との比較結果に基づいて、前記姿勢に関する情報を通知することが好ましい。
 この構成によれば、把持部からみた教示者の肘の方向を示す2つの角度の前回からの差分に基づいて、より詳細な情報を教示者に通知することが可能となる。
 また、前記フィードバック部は、前記一の直接教示の直前に行われた直接教示において前記第2の差分空間が前記第1の差分空間より小さい場合に、前記一の直接教示が開始されるときに前記姿勢に関する情報を通知することが好ましい。
 この構成によれば、可動ロボットが掃引した第1の空間よりも教示者が掃引した第2の空間の方が移動可能空間の拡張に対する貢献が小さい場合に、姿勢に関する情報を通知することができる。つまり、姿勢を変更する必要性が高いときに姿勢に関する情報を通知することができるので、効率的に移動可能空間を拡張することが可能となる。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、本発明の一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素は、本発明の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 また、以下の実施の形態において、複数回のダイレクトティーチングのうちの一のダイレクトティーチングのことを、今回のダイレクトティーチングと呼ぶ。また、一のダイレクトティーチングよりも前に行われたダイレクトティーチングのことを、前回までのダイレクトティーチングと呼ぶ。また、一のダイレクトティーチングの直前に行われたダイレクトティーチングのことを、前回のダイレクトティーチングと呼ぶ。
 (実施の形態1)
 図1は、本発明の実施の形態1における移動経路探索装置100の基本的な機能構成を示すブロック図である。図1に示すように、移動経路探索装置100は、ロボット形状データベース101と、移動空間特定部102と、ロボット移動空間蓄積部103と、空間差分計算部104と、フィードバック部105と、経路探索部106とを備える。
 ロボット形状データベース101は、自動作業を行う可動ロボット302の形状を示すロボット形状データを保持している。
 移動空間特定部102は、第1の空間特定部に相当する。移動空間特定部102は、複数回のダイレクトティーチングの各々において、可動部がダイレクトティーチング中に掃引する三次元空間を第1の空間(以下、「ロボット移動空間」という)として特定する。
 具体的には、移動空間特定部102は、可動ロボット302の姿勢情報とロボット形状データベース101に保持されているロボット形状データとに基づいて、ダイレクトティーチング中の各タイミングにおいて可動ロボット302が占有している三次元空間を特定する。そして、移動空間特定部102は、ダイレクトティーチング中の各タイミングにおいて可動ロボット302が占有している三次元空間を合成することにより、ロボット移動空間を特定する。
 ロボット移動空間蓄積部103は、移動空間特定部102が特定するロボット移動空間を管理する。具体的には、ロボット移動空間蓄積部103は、例えば内蔵するメモリ等に、特定されたロボット移動空間を示す空間データを格納する。なお、ロボット移動空間蓄積部103は、例えば、外部の記憶装置にロボット移動空間を示す空間データを格納してもよい。
 空間差分計算部104は、第1の差分空間を算出する。ここで、第1の差分空間とは、今回のダイレクトティーチングによって特定されたロボット移動空間のうち、前回までのダイレクトティーチングによって特定されたロボット移動空間と重複しない空間である。つまり、第1の差分空間とは、第1の移動可能空間に新たに追加される空間である。
 フィードバック部105は、空間差分計算部104によって算出された第1の差分空間に関するフィードバック情報を教示者301に通知する。本実施の形態では、フィードバック部105は、第1の差分空間と、前回までのダイレクトティーチングによって特定された第1の空間との体積比を、第1の差分空間に関するフィードバック情報として通知する。
 経路探索部106は、複数回のダイレクトティーチングが行われた後に、第1の移動可能空間内において、可動ロボット302の可動部の移動経路を探索する。第1の移動可能空間とは、複数回のダイレクトティーチングによって特定された複数のロボット移動空間が合成された空間である。つまり、第1の移動可能空間とは、複数のロボット移動空間の和集合である。言い換えると、第1の移動可能空間とは、複数のロボット移動空間が重畳された空間である。
 具体的には、経路探索部106は、与えられた探索条件に基づいて、第1の移動可能空間内において取りうる移動経路のうち最適な移動経路を探索する。つまり、経路探索部106は、第1の移動可能空間を探索空間として利用して、探索条件を満たす最適な移動経路を探索する。ここで、探索条件とは、例えば、始点および終点の位置、最適性の評価基準(時間優先または省電力優先など)、または制約条件などである。なお、本実施の形態において、移動経路の探索方法は、従来の探索方法が利用されればよく、探索空間内の移動経路を探索する方法であれば特に限定される必要はない。
 次に、移動経路探索装置100の利用シーンについて説明する。
 図2は、本発明の実施の形態1における移動経路探索装置100の利用シーンを示す図である。教示者301は、可動ロボット302の部分であって外力をセンシングする部分に手で力を加えながら、可動ロボット302が取るべき姿勢を連続的に教示する。図2では、教示者301は、可動ロボット302の可動部を障害物306と接触しないように始点305から終点307まで直接動かすことにより、可動ロボット302に動作を教示している。
 次に、可動ロボット302の三次元モデルが仮想的に配置される三次元空間について説明する。三次元空間の閉領域は、ボクセル(Voxel)で表現される。ボクセルは、図3に示すように一定の大きさの立方体を基本単位とする。原点からの三次元座標位置が(x,y,z)であるボクセルをV(x,y,z)と表現する。各ボクセルV(x,y,z)は、可動ロボット302が移動可能かどうか示す論理値M(x,y,z)を持つ。V(x,y,z)の内部にロボットの移動を妨げる障害物があるか否がか不明な場合は、論理値M(x,y,z)は、以下の式(1)のように表される。
 M(x,y,z)=false(偽)   式(1)
 また、V(x,y,z)の内部に可動ロボット302の移動を妨げる障害物がなく、可動ロボット302がV(x,y,z)に進入可能な場合は、論理値M(x,y,z)は、以下の式(2)のように表される。
 M(x,y,z)=true(真)   式(2)
 図3の例ではハッチングされているボクセルの論理値はfalseであり、ハッチングされていない白のボクセルの論理値はtrueである。すなわち、障害物との干渉を避けるためには、可動ロボット302は、ハッチングされている空間への進入を避けながら、ハッチングされていない空間を移動しなければならない。以下の式(3)のように、移動可能空間は、論理値がtrueであるボクセルの集合として表現される。
 ∪{V(x,y,z)|M(x,y,z)=true}   式(3)
 このように、障害物に接触するか否かに関わらず可動ロボット302が到達可能な三次元空間は、ボクセルによって表現される。なお、教示開始前において、すべてのボクセルの論理値はfalseに設定される。すなわち、教示開始前には、可動ロボット302が到達可能な空間のすべては、移動可能かどうか不明である。
 次に、本実施の形態における可動ロボット302の詳細を説明する。
 図4は、本発明の実施の形態1における可動ロボット302の外観図である。可動ロボット302は、例えば6軸の垂直多関節ロボットである。図4の(a)に示すように、本実施の形態では可動ロボット302の物理的機構構造は、R-P-P-R-P-R(Rは回転、Pは並進)であるとする。
 ここで、6個の回転軸501~506の角度の組み合わせを(JT1,JT2,JT3,JT4,JT5,JT6)で表現する。この6個の回転軸501~506の角度の組み合わせによって、可動ロボット302の姿勢は一意に決定される。
 また、ロボット形状データベース101は、図4に示すロボットの形状を線分あるいは曲線分で閉領域表現したロボット形状データを保持している。したがって、(JT1,JT2,JT3,JT4,JT5,JT6)が与えられれば、移動空間特定部102は、ロボット形状データを利用して、固定部507に対する可動部508の相対的な三次元位置を一意に算出することができる。
 例えば、図4の(b)に示すように、JT1=JT2=JT3=JT4=JT5=JT6=0[deg]の場合に可動ロボット302が直立姿勢になるようにキャリブレーションされているとする。このとき、JT1=JT2=JT4=JT6=0[deg]かつJT3=JT5=-90[deg]の場合は、可動ロボット302は、図4の(c)に示すような姿勢となる。
 教示者301は、ダイレクトティーチングの際に、可動ロボット302の把持部509を握り、可動ロボット302の内部に実装された力センサに対して力を加えることにより、可動ロボット302の姿勢を変形させることができる。
 なお、可動ロボット302は、必ずしも上記のような機構構造を有するロボットである必要はない。つまり、可動ロボット302は、R-P-P-R-P-R以外の機構構造を有する垂直多関節ロボットであってもよい。あるいは、可動ロボット302は、水平多関節ロボットであってもよい。また、可動ロボット302は、単軸ロボットの組み合わせであってもよい。
 次に、以上のように構成された移動経路探索装置100における各種動作について説明する。
 図5は、本発明の実施の形態1における移動経路探索処理を示すフローチャートである。以下、教示者301が、可動ロボット302に対して、障害物306を避けながら始点305から終点307へ移動する動作のダイレクトティーチングを繰り返す例を用いて説明する。
 教示者301が可動ロボット302の把持部509を握りながらダイレクトティーチングを行うと、各回転軸の角度を示す値(JT1,JT2,JT3,JT4,JT5,JT6)が変化して可動ロボット302は変形する。
 このとき、移動空間特定部102は、可動ロボット302の可動部508が占有している空間を特定する(S601)。具体的には、まず、移動空間特定部102は、一定周期Tで可動ロボット302の各回転軸の角度を示す値を姿勢情報として可動ロボット302から取得する。続いて、移動空間特定部102は、ロボット形状データベース101に保持されているロボット形状データを取得する。そして、移動空間特定部102は、取得した姿勢情報とロボット形状データとに基づいて、三次元空間を構成する各ボクセルが可動ロボット302の内部に位置するか否かの内部判定処理を行う。
 内部判定処理とは、あるボクセルを構成するすべての点が、ロボット形状データが示す閉領域に含まれる(以下、「ボクセルが可動ロボット302に内包される」という)かどうかを、既知のpoint in polygon testなどの手法により判定する処理をいう。
 ここで、ボクセルが可動ロボット302に内包される場合は、移動空間特定部102は、そのボクセルは可動部508が移動可能なボクセルであると判断する。そして、移動空間特定部102は、そのボクセルの論理値をtrueに設定する。一方、ボクセルが可動ロボット302に内包されない場合は、移動空間特定部102は、そのボクセルに設定されている論理値を変更しない。移動空間特定部102は、このような内部判定処理によって論理値がtrueと設定されたボクセルの集合を、可動ロボット302の可動部508が占有している空間として特定する。
 ここで図6を用いて、ステップS601の処理についてさらに詳細に説明する。
 図6は、本発明の実施の形態1における移動空間特定部102による内部判定処理を説明するための図である。
 図6では、説明を簡単にするために、二次元平面に射影したときの、各ボクセルと可動ロボット302の一部との位置関係を示している。図6に示すように、可動ロボット302に内包されるボクセル702の論理値がtrueと設定される。つまり、一部でも可動ロボット302の外側に位置するボクセル701の論理値は変更されない。
 ここで、移動空間特定部102が可動ロボット302に内包されると判定したボクセルの集合Rは、以下の式(4)によって表される。
 R=∪{V(x,y,z)|M(x,y,z)=true}   式(4)
 ここでは、ボクセルの集合Rは、ダイレクトティーチング中の一タイミングにおいて可動ロボット302に占有されている空間に相当する。
 ここで、教示者301が、k回目(kは1以上の整数)のダイレクトティーチングの終了を指示しない限り、ステップS601の処理が継続される。つまり、移動空間特定部102は、k回目のダイレクトティーチングの終了指示を教示者301から受け付けるまで、一定周期Tで内部判定処理を繰り返す(S602)。
 k回目のダイレクトティーチングが終了したときには、ボクセルの集合Rは、k回目のダイレクトティーチング中の各タイミングにおいて一度でも可動ロボット302に内包されると判定されたボクセルの集合となる。このようにして得られたボクセルの集合Rが、k回目のダイレクトティーチング中に可動ロボット302の可動部508が掃引するロボット移動空間に相当する。
 次に、k回目のダイレクトティーチングが終了した後に、ロボット移動空間蓄積部103は、k回目のダイレクトティーチングにおいて特定されたロボット移動空間を示す空間データをメモリなどに格納する(S603)。
 続いて、空間差分計算部104は、今回(k回目)のダイレクトティーチングにおいて特定されたロボット移動空間のうち、前回(k-1回目)までのダイレクトティーチングにおいて特定されたロボット移動空間と重複しない空間を、第1の差分空間として算出する(S604)。具体的には、空間差分計算部104は、例えばメモリなどに格納された空間データを利用して第1の差分空間を算出する。
 次に、フィードバック部105は、第1の差分空間に関する情報を教示者301に通知する(S605)。具体的には、フィードバック部105は、第1の差分空間と、前回までのダイレクトティーチングによって特定されたロボット移動空間との体積比を、第1の差分空間に関する情報として通知する。
 ここで、教示者301からダイレクトティーチングの繰り返しの指示を受け付けた場合(S606のYes)、ステップS601の処理に戻り、(k+1)回目のダイレクトティーチングが行われる。一方、教示者301からダイレクトティーチングの繰り返しの指示を受け付けなかった場合(S606のNo)、経路探索部106は、k回目までのダイレクトティーチングによって特定された複数のロボット移動空間を合成して得られる第1の移動可能空間内において、可動ロボット302の可動部508の移動経路を探索する(S607)。
 このように、移動経路探索装置100は、複数回のダイレクトティーチングに基づいて、可動ロボット302の可動部508の移動経路を探索する。
 次に、図5のステップS603~S605の処理を、図7~図14を用いてさらに詳細に説明する。まず、1回目のダイレクトティーチングが終了したときの処理を図7および図8を用いて説明する。なお、1回目のダイレクトティーチングの前には、ボクセルの集合R_allは、φ(空集合)に初期化されている。
 図7は、本発明の実施の形態1における1回目のダイレクトティーチングによって特定されるロボット移動空間801の一例を示す図である。また、図8は、本発明の実施の形態1における1回目のダイレクトティーチングによって特定されるロボット移動空間801を構成するボクセルの集合R[1]を示す図である。
 まず、ロボット移動空間蓄積部103は、1回目のダイレクトティーチングによって得られたボクセルの集合R[1]を示す空間データをメモリなどに格納する。
 次に、空間差分計算部104は、図8に示すような1回目のダイレクトティーチングによって得られたボクセルの集合R[1]とR_all(ここでは空集合)との差分DRを、以下の式(5)のように計算する。
 DR=|R[1]-R_all|=106   式(5)
 ここで、A-BはA∩(Bの補集合)の略記であり、|A|はAの要素数である。また、R_allは、前回までのダイレクトティーチングによって特定されたロボット移動空間が合成された空間を構成するボクセルの集合である。つまり、R_allは、前回までのダイレクトティーチングによって得られる第1の移動可能空間に相当する。
 このように、空間差分計算部104は、今回のダイレクトティーチングによって特定されたロボット移動空間のうち、前回までのダイレクトティーチングによって特定されたロボット移動空間と重複しない空間を第1の差分空間として算出する。そして、空間差分計算部104は、算出した第1の差分空間を構成するボクセルの数を差分DRとして計算する。
 なお、ここでは1回目のダイレクトティーチングであるので、R_allは空集合である。したがって、空間差分計算部104は、差分DRを計算しなくてもよい。また、差分DRが計算されないときは、フィードバック部105は、教示者301に対してフィードバック情報を通知しない。
 次に、2回目のダイレクトティーチングが終了したときの処理を図9~図12を用いて説明する。
 図9は、本発明の実施の形態1における2回目のダイレクトティーチングによって特定されるロボット移動空間1001の一例を示す図である。また、図10は、本発明の実施の形態1における2回目までのダイレクトティーチングによって特定されたロボット移動空間を構成するボクセルの集合を示す図である。
 なお、以下の処理が行われる前に、ロボット移動空間蓄積部103は、ボクセルの集合R_allを、1回目のダイレクトティーチングによって得られたボクセルの集合R[1]を用いて、以下のように更新している。
 R_all←R_all∪R[1]
 まず、ロボット移動空間蓄積部103は、2回目のダイレクトティーチングによって得られたボクセルの集合R[2]を示す空間データをメモリなどに格納する。
 次に、空間差分計算部104は、2回目のダイレクトティーチングによって得られたボクセルの集合R[2]と、前回までのダイレクトティーチングによって得られたボクセルの集合R_allとの差分DRを計算する。つまり、空間差分計算部104は、2回目のダイレクトティーチングによって特定されたロボット移動空間のうち、1回目のダイレクトティーチングによって特定されたロボット移動空間と重複しない空間を第1の差分空間として算出する。そして、空間差分計算部104は、算出した第1の差分空間を構成するボクセルの数を差分DRとして計算する。
 説明を簡単にするために、図6と同様に、三次元空間におけるボクセルを二次元平面に射影したときのボクセルを示す図10を用いて以下の処理を説明する。図10では、差分DRと|R_all|とは、以下の値となる。
 DR=|R[2]-R_all|=31
 |R_all|=106
 空間差分計算部104は、このようにして得られた差分DRと|R_all|とを差分情報としてフィードバック部105に出力する。
 フィードバック部105は、R_allの増加率が31/106=29.2[%]であることを教示者301に通知する。つまり、フィードバック部105は、第1の差分空間を構成するボクセルの数と、1回目までのダイレクトティーチングによって特定されたロボット移動空間を構成するボクセルの数との比を、教示者301に通知する。これにより、教示者301は、今回のダイレクトティーチングが移動可能空間の拡張にどれだけ貢献したかを理解することが可能となる。
 なお、本実施の形態では、各ボクセルの体積は同一であるので、ボクセル数の比は体積比に相当する。つまり、フィードバック部105は、ボクセルの数を利用して体積比を通知することができ、体積比を得るための処理負荷を低減することができる。
 また、通知方法としては、フィードバック部105は、例えば図11に示すように、ディスプレイに、計算された比を示す数値を表示すればよい。あるいは、フィードバック部105は、例えば図12に示すように、音声合成を利用して、計算された比を示す数値を読み上げてもよい。
 次に、3回目のダイレクトティーチングが終了したときの処理を図13および図14を用いて説明する。
 図13は、本発明の実施の形態1における3回目のダイレクトティーチングによって特定されるロボット移動空間1201の一例を示す図である。また、図14は、本発明の実施の形態1における3回目までのダイレクトティーチングによって特定されたロボット移動空間を構成するボクセルの集合を示す図である。
 なお、以下の処理が行われる前に、ロボット移動空間蓄積部103は、ボクセルの集合R_allを、2回目のダイレクトティーチングによって得られたボクセルの集合R[2]を用いて、以下のように更新している。
 R_all←R_all∪R[2]
 まず、ロボット移動空間蓄積部103は、3回目のダイレクトティーチングによって得られたボクセルの集合R[3]を示す空間データをメモリなどに格納する。
 次に、空間差分計算部104は、3回目のダイレクトティーチングによって得られたボクセルの集合R[3]と、前回までのダイレクトティーチングによって得られたボクセルの集合R_allとの差分DRを計算する。つまり、空間差分計算部104は、3回目のダイレクトティーチングによって特定されたロボット移動空間のうち、2回目までのダイレクトティーチングによって特定されたロボット移動空間と重複しない空間を第1の差分空間として算出する。そして、空間差分計算部104は、算出した第1の差分空間を構成するボクセルの数を差分DRとして計算する。
 説明を簡単にするために、図6および図10と同様に、三次元空間におけるボクセルを二次元平面に射影したときのボクセルを示す図12を用いて、以下の処理を説明する。図12では、差分DRと|R_all|とは、以下の値となる。
 DR=|R[3]-R_all|=13
 |R_all|=137
 空間差分計算部104は、このように得られた差分DRと|R_all|とを差分情報としてフィードバック部105に出力する。
 フィードバック部105は、R_allの増加率が13/137=9.49[%]であることを教示者301に通知する。つまり、フィードバック部105は、第1の差分空間を構成するボクセルの数と、2回目までのダイレクトティーチングによって特定されたロボット移動空間を構成するボクセルの数との比を教示者301に通知する。
 これにより、教示者301は、第1の移動可能空間の増加率が2回目のダイレクトティーチングのときよりも減少していることを認識することができる。つまり、教示者301は、移動可能空間を拡張するためには、次回のダイレクトティーチングにおいて、今回までの移動経路から少し変更した移動経路を教示することが必要であることを理解することができる。そこで、次回のダイレクトティーチングにおいて移動経路を変更することが可能であれば、教示者301は、変更された移動経路を教示することにより、移動可能空間を効率的に拡張することができる。あるいは、次回のダイレクトティーチングにおいて移動経路を変更することが困難であれば、教示者301は、ダイレクトティーチングを速やかに終了することを指示できる。
 次に、図5のステップS607の処理を、図15および図16を用いてさらに詳細に説明する。
 図15は、本発明の実施の形態1における探索条件の一例を説明するための図である。また、図16は、本発明の実施の形態1における移動経路探索装置100によって探索される移動経路の一例を示す図である。なお、図15および図16は、説明を簡単にするため、三次元空間を二次元平面に射影したときの図を示す。
 図15に示すように、経路探索部106は、可動ロボット302の可動部508の先端を、始点1501から終点1502まで最短時間で移動させることを探索条件として、移動経路を探索する。本実施の形態における移動経路探索装置100による経路探索では、図16に示す通り、教示者301がダイレクトティーチングを複数回行うことにより特定された移動可能空間を探索空間として利用することができる。したがって、図16に示すような、垂直多関節ロボットが最速で移動することができる円弧状の経路を移動経路1601として探索することが可能になる。
 以上のように、本実施の形態に係る移動経路探索装置100によれば、今回のダイレクトティーチングによって特定されたロボット移動空間のうち、前回までのダイレクトティーチングによって特定されたロボット移動空間と重複しない第1の差分空間に関する情報を教示者301に通知することができる。したがって、教示者は、通知された情報を参考にして、次回のダイレクトティーチングを行うことが可能となる。その結果、複数回のダイレクトティーチングに基づいて移動可能空間を取得する場合に、複数回のダイレクトティーチングにおいて効率的に移動可能空間を拡張することが可能となる。例えば、従来よりも少ないダイレクトティーチングの回数で従来と同等のボリュームの移動可能空間を獲得することができる。
 なお、本実施の形態において、フィードバック部105は、ボクセルの数の比を教示者301に通知していたが、必ずしもボクセル数の比を通知する必要はない。例えば、フィードバック部105は、ボクセルの数そのものを通知してもよい。また例えば、フィードバック部105は、第1の移動可能空間が拡張された様子を、直接的かつ視覚的に教示者301に通知してもよい。例えば、フィードバック部105は、各回のダイレクトティーチングが終了したときに、図8、図10または図14に示す内容をディスプレイに表示させてもよい。これにより、教示者301は、可動ロボット302に三次元空間のどの部分を通過させれば移動可能空間が最も拡張されるかを直接的に知覚することが可能になる。
 (実施の形態2)
 次に、本発明の実施の形態2について図面を参照しながら説明する。なお、以下において、実施の形態1と共通する部分については、適宜説明を省略する。
 なお、本実施の形態における移動経路探索装置1700は、ダイレクトティーチング中に教示者301の身体が掃引した空間も、移動経路の探索空間として利用する点が、実施の形態1における移動経路探索装置100と主として異なる。
 図17は、本発明の実施の形態2における移動経路探索装置1700の基本的な機能構成を示すブロック図である。なお、図17において、図1と同様の構成要素については、同一の符号を付し、説明を省略する。
 図17に示すように、移動経路探索装置1700は、図1に示す実施の形態1における移動経路探索装置100と同様に、ロボット形状データベース101と、移動空間特定部102と、ロボット移動空間蓄積部103とを備える。また、移動経路探索装置1700は、教示者位置検出部1703と、教示者形状データベース1704と、人占有空間特定部1705と、人占有空間蓄積部1707と、空間差分計算部1708と、フィードバック部1709と、空間合成部1710と、経路探索部1711とを備える。
 教示者位置検出部1703は、教示者301の身体の少なくとも一部の三次元位置を検出する。本実施の形態では、教示者位置検出部1703は、可動ロボット302に動作を教示する教示者301の肘の三次元位置を検出する。なお、教示者位置検出部1703は、必ずしも肘の三次元位置を検出する必要はなく、例えば肩あるいは手首などの関節部位の三次元位置を検出してもよい。また、教示者位置検出部1703は、肘の三次元位置に加えて、例えば肩あるいは手首などの三次元位置を検出してもよい。
 教示者形状データベース1704は、教示者301の身体の少なくとも一部の形状を示す教示者形状データを保持している。本実施の形態では、教示者形状データベース1704は、教示者301の下腕の形状を示す教示者形状データを保持している。なお、教示者形状データベース1704は、さらに、教示者301の上腕の形状を示す教示者形状データを保持してもよい。またさらに、教示者形状データベース1704は、教示者301の全身の形状を示す教示者形状データを保持してもよい。
 人占有空間特定部1705は、第2の空間特定部に相当する。人占有空間特定部1705は、複数回のダイレクトティーチングの各々において、教示者301の身体の少なくとも一部がダイレクトティーチング中に掃引する三次元空間を第2の空間(以下、「人占有空間」という)として特定する。本実施の形態では、人占有空間特定部1705は、ダイレクトティーチング中に教示者301の下腕が掃引する三次元空間を人占有空間として特定する。
 人占有空間蓄積部1707は、人占有空間特定部1705が特定する人占有空間を管理する。具体的には、人占有空間蓄積部1707は、例えば内蔵するメモリ等に、特定された人占有空間を示す空間データを格納する。なお、人占有空間蓄積部1707は、例えば、外部の記憶装置に人占有空間を示す空間データを格納してもよい。
 空間差分計算部1708は、実施の形態1と同様に第1の差分空間を算出することに加えて、第2の差分空間を算出する。ここで、第2の差分空間とは、今回のダイレクトティーチングによって特定された人占有空間のうち、前回までのダイレクトティーチングによって特定された人占有空間と重複しない空間である。
 フィードバック部1709は、第1の差分空間に関するフィードバック情報に加えて、第2の差分空間に関するフィードバック情報を教示者301に通知する。
 空間合成部1710は、第1の移動可能空間と第2の移動可能空間とを合成する。つまり、空間合成部1710は、第1の移動可能空間と第2の移動可能空間との和集合を算出する。ここで、第1の移動可能空間とは、複数回のダイレクトティーチングによって特定された複数のロボット移動空間が合成された空間である。また、第2の移動可能空間とは、複数回のダイレクトティーチングによって特定された複数の人占有空間が合成された空間である。
 経路探索部1711は、第1の移動可能空間内ではなく、空間合成部1710によって合成された空間内において、可動ロボット302の可動部508の移動経路を探索する。
 次に、移動経路探索装置1700の利用シーンについて説明する。
 図18は、本発明の実施の形態2における移動経路探索装置1700の利用シーンを示す図である。図18では、教示者301は、可動ロボット302の一部である把持部を手で把持している。そして、教示者301は、可動ロボット302の可動部を障害物306と接触しないように始点305から終点307まで直接動かすことにより、可動ロボット302に動作を教示している。
 教示者301の肘には、三次元位置計測デバイス1803が取り付けられている。また、作業環境内(例えば可動ロボット302が設置された部屋の天井あるいは壁など)には、位置センシングデバイス1804が設置される。三次元位置計測デバイス1803と位置センシングデバイス1804とは、例えばUWB(Ultra Wide Band)を利用した公知の屋内GPS(Global Positioning System)などを実現する。つまり、教示者位置検出部1703は、三次元位置計測デバイス1803と位置センシングデバイス1804とを備える。そして、位置センシングデバイス1804は、三次元位置計測デバイス1803が取り付けられた、教示者301の身体の一部の三次元位置を検出する。
 次に、以上のように構成された移動経路探索装置1700における各種動作について説明する。
 図19は、本発明の実施の形態2における移動経路探索処理を示すフローチャートである。以下、教示者301が、可動ロボット302に対して、障害物306を避けながら始点305から終点307へ移動する動作のダイレクトティーチングを繰り返す例を用いて説明する。
 教示者301が可動ロボット302の把持部509を握りながらダイレクトティーチングを行うと、各回転軸の角度を示す値(JT1,JT2,JT3,JT4,JT5,JT6)が変化して可動ロボット302は変形する。 このとき、移動空間特定部102は、実施の形態1のステップS601と同様に、可動ロボット302の可動部508が占有している空間を特定する(S1901)。具体的には、移動空間特定部102は、図20に示すように、可動ロボット302に内包されるボクセル(論理値がtrueと設定されたボクセル)の集合Rを特定する。
 次に、教示者位置検出部1703は、三次元位置計測デバイス1803と位置センシングデバイス1804とを利用して、教示者301の肘の三次元位置G_hを検出する(S1902)。
 続いて、人占有空間特定部1705は、教示者301の下腕が占有している空間を特定する(S1903)。ここで、ステップS1903の処理の詳細を説明する前に、図21を用いて、教示者形状データベースに保持されている教示者形状データについて説明する。
 図21は、本発明の実施の形態2における教示者形状データベース1704が保持している教示者形状データの一例を示す図である。教示者形状データベース1704は、教示者301の下腕の近似形状を示すデータを保持している。教示者301の下腕は、例えば図21に示すように円柱形状の三次元モデル2201で表される。円柱形状の三次元モデル2201は、2つの数値パラメータ(半径rと高さh)によって規定される。
 本実施の形態では、半径rおよび高さhは、例えば、図示しない入力部を介して教示者301によってあらかじめ入力された値である。なお、三次元モデル2201は、必ずしも半径rおよび高さhによって規定される必要はない。例えば、三次元モデルは、円周長と高さとによって規定されてもよい。
 なお、半径rは、教示者301の下腕のうち最も外周が短い部分の半径であることが好ましい。これにより、教示者301の下腕を過大にモデル化することによって、障害物が位置する空間が移動可能空間と算出されることを抑制することができる。
 また、教示者301の下腕の三次元モデルは、必ずしも円柱形状で表される必要はなく、より実際の下腕の形状に近い形状で表されてもよい。ただし、三次元モデルの形状が複雑になるほど内部判定処理の負荷が増大する。したがって、三次元モデルの形状は、本実施の形態のように、比較的単純であることが好ましい。
 人占有空間特定部1705は、このように教示者形状データベース1704に保持されている教示者形状データを用いて、教示者301の下腕が占有している空間を特定する。具体的には、人占有空間特定部1705は、教示者301の肘の三次元位置G_hと可動ロボット302の把持部509の三次元位置G_rとを利用して、教示者形状データが示す三次元モデル2201を三次元空間に仮想的に配置する。そして、人占有空間特定部1705は、三次元空間に配置された三次元モデル2201に対して内部判定処理を行う。
 図22は、本発明の実施の形態2における人占有空間特定部1705による内部判定処理を説明するための図である。図22に示すように、人占有空間特定部1705は、三次元空間を構成するボクセルのうち三次元モデル2201に内包されるボクセルの論理値をtrueと設定する。このように、人占有空間特定部1705が教示者301の三次元モデル2201に内包されると判定したボクセルの集合Hは、以下の式(6)によって表される。
 H=∪{V(x,y,z)|M(x,y,z)=true}   式(6)
 このボクセルの集合Hは、ダイレクトティーチング中の一タイミングにおいて教示者301の身体の少なくとも一部に占有されている空間に相当する。
 ここで、教示者301が、k回目のダイレクトティーチングの終了を指示しない限り、ステップS1901~S1903の処理が継続される。つまり、人占有空間特定部1705は、k回目のダイレクトティーチングの終了指示を教示者301から受け付けるまで、一定周期Tで内部判定処理を繰り返す(S1904)。
 その結果、k回目のダイレクトティーチングが終了したときに、ボクセルの集合RおよびHは、k回目のダイレクトティーチング中の各タイミングにおいて一度でも可動ロボット302または教示者301に内包されると判定されたボクセルの集合となる。
 このように得られたボクセルの集合Rは、k回目のダイレクトティーチング中に可動ロボット302の可動部508が掃引するロボット移動空間に相当する。また、このように得られるボクセルの集合Hは、k回目のダイレクトティーチング中に教示者301の身体の少なくとも一部が掃引する人占有空間に相当する。
 図23は、本発明の実施の形態2における移動空間特定部102によって特定されたロボット移動空間2101の一例を示す図である。また、図24は、本発明の実施の形態2における人占有空間特定部1705によって特定された人占有空間2401の一例を示す図である。
 図23および図24に示すように、k回目のダイレクトティーチングが終了した後に、移動空間特定部102および人占有空間特定部1705によってロボット移動空間2101と人占有空間2401とが特定される。
 ロボット移動空間蓄積部103と人占有空間蓄積部1707とは、このようにk回目のダイレクトティーチングにおいて特定されたロボット移動空間2101を示す空間データまたは人占有空間2401を示す空間データをメモリなどに格納する(S1905)。
 続いて、空間差分計算部1708は、第1の差分空間に加えて、第2の差分空間を算出する(S1906)。ここで、第2の差分空間とは、今回のダイレクトティーチングにおいて特定された人占有空間のうち、前回までのダイレクトティーチングにおいて特定された人占有空間と重複しない空間である。具体的には、空間差分計算部1708は、例えばメモリなどに格納された空間データを利用して、第1の差分空間と第2の差分空間とを算出する。
 次に、フィードバック部1709は、第1の差分空間に関する情報に加えて、第2の差分空間に関する情報を教示者301に通知する(S1907)。具体的には、フィードバック部1709は、第2の差分空間と、前回までのダイレクトティーチングによって特定された人占有空間との体積比を、第2の差分空間に関する情報として通知する。
 ここで、教示者301からダイレクトティーチングの繰り返しの指示を受け付けた場合(S1908のYes)、ステップS1901の処理に戻り、(k+1)回目のダイレクトティーチングが行われる。一方、教示者301からダイレクトティーチングの繰り返しの指示を受け付けなかった場合(S1908のNo)、空間合成部1710は、第1の移動可能空間と第2の移動可能空間とを合成する(S1909)。第2の移動可能空間とは、k回目までのダイレクトティーチングによって特定された複数の人占有空間が合成された空間である。
 そして、経路探索部1711は、合成された移動可能空間内において、可動ロボット302の可動部508の移動経路を探索する(S1910)。
 このように、移動経路探索装置1700は、複数回のダイレクトティーチングに基づいて、可動ロボット302の可動部508の移動経路を探索する。
 次に、図19のステップS1905~S1907の処理を、図25を用いてさらに詳細に説明する。
 図25は、本発明の実施の形態2における1~3回目のダイレクトティーチングによって特定される第1の移動可能空間と第2の移動可能空間とを構成するボクセルの集合を示す図である。具体的には、図25の(a)および(b)は、1回目のダイレクトティーチングによって特定される第1の移動可能空間および第2の移動可能空間を構成するボクセルの集合を示す図である。また、図25の(c)および(d)は、2回目までのダイレクトティーチングによって特定される第1の移動可能空間および第2の移動可能空間を構成するボクセルの集合を示す図である。また、図25の(e)および(f)は、3回目までのダイレクトティーチングによって特定される第1の移動可能空間および第2の移動可能空間を構成するボクセルの集合を示す図である。
 なお、1回目のダイレクトティーチングの前には、第1の移動可能空間を構成するボクセルの集合R_allと、第2の移動可能空間を構成するボクセルの集合H_allとは、φ(空集合)に初期化されている。
 まず、ロボット移動空間蓄積部103は、1回目のダイレクトティーチングによって得られたボクセルの集合R[1]を示す空間データをメモリなどに格納する。また、人占有空間蓄積部1707は、1回目のダイレクトティーチングによって得られたボクセルの集合H[1]を示す空間データをメモリなどに格納する。なお、1回目のダイレクトティーチングであるので、第1の差分空間および第2の差分空間の算出とフィードバック情報の通知とは行われない。
 次に、2回目のダイレクトティーチングが終了したときの処理を図25の(c)および(d)を用いて説明する。なお、以下の処理が行われる前に、ロボット移動空間蓄積部103と人占有空間蓄積部1707とは、ボクセルの集合R_allまたはH_allを、1回目のダイレクトティーチングによって得られたボクセルの集合R[1]またはH[1]を用いて、以下のように更新している。
 R_all←R_all∪R[1]
 H_all←H_all∪R[1]
 そして、ロボット移動空間蓄積部103は、2回目のダイレクトティーチングによって得られたボクセルの集合R[2]を示す空間データをメモリなどに格納する。また、人占有空間蓄積部1707は、2回目のダイレクトティーチングによって得られたボクセルの集合H[2]を示す空間データをメモリなどに格納する。
 次に、空間差分計算部1708は、2回目のダイレクトティーチングによって得られたボクセルの集合R[2]と、前回までのダイレクトティーチングによって得られたボクセルの集合R_allとの差分DRを計算する。図25の(c)では、差分DRと|R_all|とは、以下の値となる。
 DR=|R[2]-R_all|=15
 |R_all|=182
 さらに、空間差分計算部1708は、2回目のダイレクトティーチングによって得られたボクセルの集合H[2]と、前回までのダイレクトティーチングによって得られたボクセルの集合H_allとの差分DHを計算する。図25の(d)では、差分DHと|H_all|とは、以下の値となる。
 DH=|H[2]-H_all|=11
 |H_all|=33
 空間差分計算部1708は、このようにして得られた差分DRと|R_all|と差分DHと|H_all|とを差分情報としてフィードバック部1709に出力する。
 フィードバック部1709は、R_allの増加率が15/182=8.24[%]であり、H_allの増加率が11/33=33.33[%]であることを教示者301に通知する。つまり、フィードバック部1709は、第1の差分空間に関する情報に加えて、第2の差分空間に関する情報を通知する。ここでは、第2の差分空間に関する情報は、第2の差分空間を構成するボクセルの数と、1回目のダイレクトティーチングによって特定された人占有空間を構成するボクセルの数との比である。
 なお、通知方法としては、フィードバック部1709は、例えば図26に示すように、ディスプレイに、計算された比を示す数値を表示すればよい。あるいは、フィードバック部1709は、音声合成を利用して、計算された比を示す数値を読み上げてもよい。
 次に、3回目のダイレクトティーチングが終了したときの処理を図25の(e)および(f)を用いて説明する。なお、以下の処理が行われる前に、ロボット移動空間蓄積部103と人占有空間蓄積部1707とは、ボクセルの集合R_allおよびH_allを、2回目のダイレクトティーチングによって得られたボクセルの集合R[2]およびH[2]を用いて、以下のように更新している。
 R_all←R_all∪R[2]
 H_all←H_all∪R[2]
 そして、ロボット移動空間蓄積部103は、3回目のダイレクトティーチングによって得られたボクセルの集合R[3]を示す空間データをメモリなどに格納する。また、人占有空間蓄積部1707は、3回目のダイレクトティーチングによって得られたボクセルの集合H[3]を示す空間データをメモリなどに格納する。
 次に、空間差分計算部1708は、3回目のダイレクトティーチングによって得られたボクセルの集合R[3]と、前回までのダイレクトティーチングによって得られたボクセルの集合R_allとの差分DRを計算する。図25の(e)では、差分DRと|R_all|とは、以下の値となる。
 DR=|R[3]-R_all|=9
 |R_all|=197
 さらに、空間差分計算部1708は、3回目のダイレクトティーチングによって得られたボクセルの集合H[3]と、前回までのダイレクトティーチングによって得られたボクセルの集合H_allとの差分DHを計算する。図25の(f)では、差分DHと|H_all|とは、以下の値となる。
 DH=|H[3]-H_all|=11
 |H_all|=44
 空間差分計算部1708は、このようにして得られた差分DRと|R_all|と差分DHと|H_all|とを差分情報としてフィードバック部1709に出力する。
 フィードバック部1709は、R_allの増加率が9/197=4.57[%]であり、H_allの増加率が11/44=25.00[%]であることを教示者301に通知する。つまり、フィードバック部1709は、第1の差分空間に関する情報に加えて、第2の差分空間に関する情報を通知する。ここでは、第2の差分空間に関する情報は、第2の差分空間を構成するボクセルの数と、2回目までのダイレクトティーチングによって特定された人占有空間を構成するボクセルの数との比である。
 その結果、教示者301は、ロボット移動空間による移動可能空間の増加率が減少していることに気付く。そこで、ダイレクトティーチングにおける可動部508の移動経路を少し変更することが可能であれば、教示者301は、次回のダイレクトティーチングにおいて、移動経路を変更することにより移動可能空間を効率的に拡張することができる。
 あるいは、可動部508の移動経路の変更が困難であれば、教示者301は、次回のダイレクトティーチングにおいて、可動ロボット302の把持部509の握り方を変えることにより、移動可能空間を効率的に拡張することもできる。
 また、教示者301は、第1の移動可能空間も第2の移動可能空間もこれ以上拡張できないと判断して、速やかにダイレクトティーチングの終了を指示することもできる。
 以上のように、本実施の形態に係る移動経路探索装置1700によれば、ダイレクトティーチング中に可動ロボット302が掃引するロボット移動空間と教示者301の身体の少なくとも一部が掃引する人占有空間とを利用して移動可能空間を得ることができる。つまり、ダイレクトティーチング中に可動ロボット302が掃引しない空間も移動可能空間に加えることが可能となる。したがって、可動ロボット302が掃引する空間のみを移動可能空間とする場合よりも拡張された移動可能空間を得ることができるので、より最適な移動経路を探索することが可能となる。
 また、今回のダイレクトティーチングによって特定された人占有空間のうち、前回までのダイレクトティーチングによって特定された人占有空間と重複しない第2の差分空間に関する情報を、第1の差分空間に関する情報に加えて、教示者301に通知することができる。したがって、教示者301は、次回のダイレクトティーチングにおいて移動可能空間を効率的に拡張するためには、例えば、可動ロボット302の可動部508および教示者301の身体のどちらの移動経路を工夫すればよいかを理解することができる。その結果、複数回のダイレクトティーチングにおいて効率的に移動可能空間を拡張することが可能となる。
 (実施の形態3)
 次に、本発明の実施の形態3について図面を参照しながら説明する。なお、以下において、実施の形態2と共通する部分については、適宜説明を省略する。
 なお、本実施の形態における経路探索装置は、第1の差分空間と第2の差分空間との比較結果に応じて、教示者301に通知する内容を変更する点が、実施の形態2における経路探索装置と異なる。なお、本実施の形態における経路探索装置の機能構成は、実施の形態2における経路探索装置と同一であるので、図示を省略する。
 本実施の形態では、フィードバック部1709は、第1の差分空間と第2の差分空間との比較結果に依存させて、第1の差分空間に関する情報と前記第2の差分空間に関する情報との一方を通知する。具体的には、フィードバック部1709は、第1の差分空間が第2の差分空間より小さいときに、第1の差分空間に関する情報を通知する。一方、第2の差分空間が第1の差分空間より小さいときに、フィードバック部1709は、第2の差分空間に関する情報を通知する。より具体的には、フィードバック部1709は、ボクセルの集合R_allとボクセルの集合H_allとのボクセル数の増分を比較する。そして、フィードバック部1709は、その比較結果に依存させて、ダイレクトティーチング中の移動経路を教示者301に工夫させるための情報を教示者301に通知する。
 すなわち、第1の移動可能空間の増分の方が少ない場合は、フィードバック部1709は、「ダイレクトティーチング時のロボットの移動経路を工夫する」ように教示者301にフィードバックする。一方、第2の移動可能空間の増分の方が少ない場合は、フィードバック部1709は、「ダイレクトティーチング時の持ち方を工夫する」ように教示者301にフィードバックする。
 例えば、図25の(c)および(d)に示すように、DR=15、DH=11である場合、DHがDRより小さいので、フィードバック部1709は、「ダイレクトティーチング時の持ち方を工夫する」ことを指示するメッセージをディスプレイに表示する。
 また例えば、図25の(e)および(f)に示すように、DR=9、DH=11である場合、DRがDHより小さいので、フィードバック部1709は、「ダイレクトティーチング時のロボットの移動経路を工夫する」ことを指示するメッセージをディスプレイに表示する。
 以上のように本実施の形態に係る移動経路探索装置1700によれば、教示者301は、次回のダイレクトティーチングにおいて、可動部508の移動経路を少し変更すべきか、あるいは、可動ロボット302の持ち方を変更すべきかを速やかに判断することが可能になり、移動可能空間を効率的に拡張することができる。
 (実施の形態4)
 次に、本発明の実施の形態4について図面を参照しながら説明する。なお、以下において、実施の形態2と同じ部分については、適宜説明を省略する。
 なお、本実施の形態における移動経路探索装置2800は、ダイレクトティーチングが開始されるときの教示者301の姿勢に関する情報を通知する点が、実施の形態3と異なる。
 図27は、本発明の実施の形態4における移動経路探索装置の基本的な機能構成を示すブロック図である。なお、図27において、図17と同様の構成要素については、同一の符号を付し、説明を省略する。
 教示者位置検出部2803は、さらに、教示者301の姿勢を検出する。具体的には、教示者位置検出部2803は、教示開始時に、把持部509からみた三次元位置計測デバイス1803の方向を検出する。本実施の形態では、三次元位置計測デバイス1803は、教示者301の肘に装着されている。したがって、教示者位置検出部2803は、把持部509からみた教示者301の肘の方向を教示者301の姿勢として検出する。
 三次元位置計測デバイス1803の方向は、図28に示すように、2つの回転角θとφとによって表される。このθの値が第1の値に相当し、φの値が第2の値に相当する。
 より具体的には、把持部509の中心位置2703と、把持部509が置かれる仮想的な平面2705の法線ベクトル2701とは、可動ロボット302の姿勢から既知である。なお、この法線ベクトル2701の方向は、把持部509の軸の方向に相当する。
 そこで、θの基準位置(θ=0)をあらかじめ平面2705の一定位置2702とし、φの基準位置(φ=0)を平面2705とすれば、教示者位置検出部2803は、三次元位置計測デバイス1803の位置から、θ(0≦θ<2π)とφ(-π/2≦φ≦π/2)とを求めることができる。
 なお、本実施の形態では、θは、可動部508の先端部からみて反時計回りに計測されている。また、φは、可動部508の先端側を正の角度、それとは反対側を負の角度として計測されている。
 ここで、k回目の教示を開始するときの把持部509からみた三次元位置計測デバイス1803の方向を、それぞれθ(k)、φ(k)とする。
 姿勢差分計算部2812は、前回のダイレクトティーチングが開始されたときの教示者301の姿勢を示す値と、今回のダイレクトティーチングが開始されるときの教示者301の姿勢を示す値との差分を計算する。なお、本実施の形態では、教示者301の姿勢は、把持部509からみた教示者301の肘の方向である。具体的には、姿勢差分計算部2812は、θの差分とφの差分とを計算する。
 フィードバック部2809は、ダイレクトティーチングが開始されるときに、計算された差分に基づいて姿勢に関する情報を教示者301に通知する。具体的には、フィードバック部2809は、θの差分とφの差分との比較結果に基づいて、姿勢に関する情報を通知する。
 なお、フィードバック部2809は、前回のダイレクトティーチングにおいて第2の差分空間が第1の差分空間より小さい場合に、今回のダイレクトティーチングが開始されるときに姿勢に関する情報を通知することが好ましい。
 次に、以上のように構成された移動経路探索装置2800における各種動作について説明する。
 図29は、本発明の実施の形態4における移動経路探索処理を示すフローチャートである。なお、図29において、図19と同一のステップについては、同一の符号を付し、適宜説明を省略する。
 フィードバック部2809は、R_allのボクセル増分に対して、H_allのボクセル増分が少ない場合に、「ダイレクトティーチング時の持ち方を工夫する」ことを指示するメッセージをディスプレイに表示する(S1907)。
 ここで、ダイレクトティーチングが繰り返されるとき(S1908のYes)、教示者位置検出部2803は、教示者301の姿勢を検出する(S2911)。具体的には、教示者位置検出部2803は、例えば、教示者301が(k+1)回目のダイレクトティーチングを開始することを指示するためのボタンを押下したときに、θとφとを検出する。
 さらに、教示者301が(k+1)回目のダイレクトティーチングを開始する直前に、フィードバック部2809は、教示者位置検出部2803から、θ(k+1)、φ(k+1)、θ(k)、およびφ(k)を取得する。
 そして、以下のように、フィードバック部2809は、姿勢に関する情報をディスプレイに表示する(S2912)。
 つまり、|θ(k+1)-θ(k)|<|φ(k+1)-φ(k)|の場合、フィードバック部2809は、「肘の位置はそのままで手首を回す」ことを指示するためのメッセージをディスプレイに表示する。逆に、|φ(k+1)-φ(k)|≦|θ(k+1)-θ(k)|の場合、フィードバック部2809は、「手首はそのままで肘の位置を変える」ことを指示するためのメッセージをディスプレイに表示する。
 以上のように、本実施の形態に係る移動経路探索装置2800によれば、教示者301は、ダイレクトティーチングロボットの持ち方を工夫するように指示された際に、腕と手とをどのように変更すればよいかを容易に知ることが可能になり、移動可能空間を効率的に拡張することができる。
 なお、本実施の形態において、フィードバック部2809は、「肘の位置はそのままで手首を回す」ことを指示するためのメッセージを表示していたが、必ずしもこのようなメッセージを表示する必要はない。例えば、フィードバック部2809は、あらかじめ保持されている把持方法を示す画像を、姿勢に関する情報として表示してもよい。
 また、本実施の形態では、姿勢差分計算部2812は、角度θの差分と角度φの差分との両方を計算していたが、角度θの差分と角度φの差分との一方のみを計算してもよい。例えば、姿勢差分計算部2812は、角度θの差分のみを計算してもよい。この場合、例えば、フィードバック部2809は、差分が閾値より小さい場合に、教示者301に、把持部509を把持する手(例えば右手)を反対の手(例えば左手)に変更することを指示するための情報を通知してもよい。
 以上、本発明の一態様に係る移動経路探索装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
 例えば、上記実施の形態1~4において、教示者301は腕を利用してダイレクトティーチングを行っていたが、例えば、足を利用してダイレクトティーチングを行う場合であっても、本発明を適用することができる。この場合、人占有空間特定部1705は、ダイレクトティーチング中に教示者301の足が掃引する空間を特定すればよい。また、姿勢差分計算部2812は、足の姿勢を示す値の差分を計算すればよい。
 また、本発明の一態様に係る移動経路探索装置は、上記実施の形態1~4における移動経路探索装置が備える構成要素のすべてを備える必要はない。例えば、移動経路探索装置は、図30に示すように構成されてもよい。
 図30は、本発明の一態様に係る移動経路探索装置10の機能構成を示すブロック図である。図30に示す移動経路探索装置10は、移動空間特定部102と、空間差分計算部104と、フィードバック部105と、経路探索部106とを備える。つまり、移動経路探索装置10は、必ずしも、ロボット形状データベース101と、ロボット移動空間蓄積部103とを備える必要はない。このような場合、移動経路探索装置10は、ロボット形状データを、図示していない通信部あるいは入力部などを介して取得すればよい。また、移動空間特定部102が、過去に特定されたロボット移動空間を示す空間データを保持すればよい。
 また、本発明は、移動可能空間出力装置20として実現されてもよい。図31は、本発明の一態様に係る移動可能空間出力装置20の機能構成を示すブロック図である。図31に示すように、移動可能空間出力装置20は、移動空間特定部102と、空間差分計算部104と、フィードバック部105とを備える。この場合、移動空間特定部102は、特定したロボット移動空間を、例えば、ディスプレイに表示すればよい。その結果、移動可能空間出力装置20は、教示者301にロボット移動空間を提示することができる。また、移動空間特定部102は、特定したロボット移動空間を移動経路探索装置に出力してもよい。その結果、可動ロボットが掃引する空間を特定することができない移動経路探索装置であっても、ロボット移動空間を利用して最適な移動経路を探索することが可能となる。
 また、本発明は、探索された移動経路に従って可動ロボット302を制御する制御部を備えるロボット制御装置として実現されてもよい。
 また、上記実施の形態1~4における移動経路探索装置が備える構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。例えば、移動経路探索装置は、移動空間特定部102と、空間差分計算部104と、フィードバック部105と、経路探索部106とを有するシステムLSIから構成されてもよい。
 システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。前記ROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
 なお、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、あるいはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 また、本発明は、このような特徴的な処理部を備える移動経路探索装置として実現することができるだけでなく、移動経路探索装置に含まれる特徴的な処理部をステップとする移動経路探索方法として実現することもできる。また、移動経路探索方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、CD-ROM(Compact Disc Read Only Memory)等のコンピュータ読取可能な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
 本発明の一態様に係る移動経路探索装置は、教示後に可動ロボットが自律的に移動経路を探索して動作するロボットアプリケーションとして有用である。
   10、100、1700、2800 移動経路探索装置
   20 移動可能空間出力装置
  101 ロボット形状データベース
  102 移動空間特定部
  103 ロボット移動空間蓄積部
  104、1708 空間差分計算部
  105、1709、2809 フィードバック部
  106、1711 経路探索部
  301 教示者
  302 可動ロボット
  305、1501 始点
  306 障害物
  307、1502 終点
  501 回転軸
  507 固定部
  508 可動部
  509 把持部
  701、702 ボクセル
  801、1001、1201、2101 ロボット移動空間
 1601 移動経路
 1703、2803 教示者位置検出部
 1704 教示者形状データベース
 1705 人占有空間特定部
 1707 人占有空間蓄積部
 1710 空間合成部
 1803 三次元位置計測デバイス
 1804 位置センシングデバイス
 2201 三次元モデル
 2401 人占有空間
 2701 法線ベクトル
 2702 一定位置
 2703 中心位置
 2705 平面
 2812 姿勢差分計算部

Claims (14)

  1.  教示者が可動ロボットを直接動かして動作を教示する複数回の直接教示の各々において、可動ロボットの可動部が直接教示中に掃引する三次元空間を第1の空間として特定する第1の空間特定部と、
     前記複数回の直接教示のうちの一の直接教示によって特定された第1の空間のうち、前記一の直接教示よりも前に行われた直接教示によって特定された第1の空間と重複しない空間を第1の差分空間として算出する空間差分計算部と、
     前記第1の差分空間に関する情報を前記教示者に通知するフィードバック部と、
     前記複数回の直接教示が終了した後に、前記複数回の直接教示によって特定された複数の第1の空間が合成された第1の移動可能空間内において、前記可動部の移動経路を探索する経路探索部とを備える
     移動経路探索装置。
  2.  前記フィードバック部は、前記第1の差分空間と、前記一の直接教示よりも前に行われた直接教示によって特定された第1の空間との体積比を、前記第1の差分空間に関する情報として通知する
     請求項1に記載の移動経路探索装置。
  3.  前記第1の空間特定部は、三次元空間を分割した複数のボクセルのうち、直接教示中の各タイミングにおいて前記可動ロボットに内包されたボクセルの集合によって構成される空間を、前記第1の空間として特定し、
     前記フィードバック部は、前記第1の差分空間を構成するボクセルの数と、前記一の直接教示よりも前に行われた直接教示によって特定された第1の空間を構成するボクセルの数との比を、前記体積比として通知する
     請求項2に記載の移動経路探索装置。
  4.  さらに、
     前記複数回の直接教示の各々において、前記教示者の身体の少なくとも一部が直接教示中に掃引する三次元空間を第2の空間として特定する第2の空間特定部と、
     複数回の直接教示によって特定された複数の第1の空間が合成された第1の移動可能空間と、前記複数回の直接教示によって特定された複数の第2の空間が合成された第2の移動可能空間とを合成する空間合成部とを備え、
     前記空間差分計算部は、さらに、前記一の直接教示によって特定された第2の空間のうち、前記一の直接教示よりも前に行われた直接教示によって特定された第2の空間と重複しない空間を第2の差分空間として算出し、
     前記フィードバック部は、さらに、前記第2の差分空間に関する情報を前記教示者に通知し、
     前記経路探索部は、前記第1の移動可能空間内に代えて、前記空間合成部によって合成された空間内において、前記可動部の移動経路を探索する
     請求項1~3のいずれか1項に記載の移動経路探索装置。
  5.  前記フィードバック部は、前記第2の差分空間と、前記一の直接教示よりも前に行われた直接教示によって特定された第2の空間との体積比を、前記第2の差分空間に関する情報として通知する
     請求項4に記載の移動経路探索装置。
  6.  前記第2の空間特定部は、三次元空間を分割した複数のボクセルのうち、直接教示中の各タイミングにおいて前記教示者の身体の少なくとも一部に内包されたボクセルの集合によって構成される空間を、前記第2の空間として特定し、
     前記フィードバック部は、前記第2の差分空間を構成するボクセルの数と、前記一の直接教示よりも前に行われた直接教示によって特定された第2の空間を構成するボクセルの数との比を、前記体積比として通知する
     請求項5に記載の移動経路探索装置。
  7.  前記フィードバック部は、前記第1の差分空間と前記第2の差分空間との比較結果に依存させて、前記第1の差分空間に関する情報と前記第2の差分空間に関する情報との一方を通知する
     請求項4~6のいずれか1項に記載の移動経路探索装置。
  8.  前記フィードバック部は、前記第1の差分空間が前記第2の差分空間より小さいときに、前記第1の差分空間に関する情報を通知し、前記第2の差分空間が前記第1の差分空間より小さいときに、前記第2の差分空間に関する情報を通知する
     請求項7に記載の移動経路探索装置。
  9.  さらに、
     前記一の直接教示の直前に行われた直接教示が開始されたときの前記教示者の姿勢を示す値と、前記一の直接教示が開始されるときの前記教示者の姿勢を示す値との差分を計算する姿勢差分計算部を備え、
     前記フィードバック部は、さらに、前記一の直接教示が開始されるときに、計算された差分に基づいて前記姿勢に関する情報を前記教示者に通知する
     請求項4~8のいずれか1項に記載の移動経路探索装置。
  10.  前記可動ロボットは、前記複数回の直接教示のために前記教示者に把持される把持部を有し、
     前記教示者の姿勢は、前記把持部からみた前記教示者の肘の方向である
     請求項9に記載の移動経路探索装置。
  11.  前記姿勢を示す値は、前記把持部の軸に垂直な平面上における前記肘の方向の角度を示す第1の値と、前記肘の方向と前記平面とが成す角度を示す第2の値とを含み、
     前記姿勢差分計算部は、前記第1の値の差分と前記第2の値の差分とを計算し、
     前記フィードバック部は、前記第1の値の差分と前記第2の値の差分との比較結果に基づいて、前記姿勢に関する情報を通知する
     請求項10に記載の移動経路探索装置。
  12.  前記フィードバック部は、前記一の直接教示の直前に行われた直接教示において前記第2の差分空間が前記第1の差分空間より小さい場合に、前記一の直接教示が開始されるときに前記姿勢に関する情報を通知する
     請求項9~11のいずれか1項に記載の移動経路探索装置。
  13.  教示者が可動ロボットを直接動かして動作を教示する複数回の直接教示の各々において、可動ロボットの可動部が直接教示中に掃引する三次元空間を第1の空間として特定する第1の空間特定ステップと、
     前記複数回の直接教示のうちの一の直接教示によって特定された第1の空間のうち、前記一の直接教示よりも前に行われた直接教示によって特定された第1の空間と重複しない空間を第1の差分空間として算出する空間差分計算ステップと、
     前記第1の差分空間に関する情報を前記教示者に通知するフィードバックステップと、
     前記複数回の直接教示が終了した後に、前記複数回の直接教示によって特定された複数の第1の空間が合成された第1の移動可能空間内において、前記可動部の移動経路を探索する経路探索ステップとを含む
     移動経路探索方法。
  14.  請求項13に記載の移動経路探索方法をコンピュータに実行させるためのプログラム。
PCT/JP2011/005437 2010-11-12 2011-09-27 移動経路探索装置および移動経路探索方法 WO2012063397A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201180014709.1A CN102802884B (zh) 2010-11-12 2011-09-27 移动路径搜索装置及移动路径搜索方法
JP2012506248A JP4991023B2 (ja) 2010-11-12 2011-09-27 移動経路探索装置および移動経路探索方法
US13/482,060 US8494677B2 (en) 2010-11-12 2012-05-29 Motion path search device and method of searching for motion path

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010254283 2010-11-12
JP2010-254283 2010-11-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/482,060 Continuation US8494677B2 (en) 2010-11-12 2012-05-29 Motion path search device and method of searching for motion path

Publications (1)

Publication Number Publication Date
WO2012063397A1 true WO2012063397A1 (ja) 2012-05-18

Family

ID=46050570

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/005437 WO2012063397A1 (ja) 2010-11-12 2011-09-27 移動経路探索装置および移動経路探索方法

Country Status (4)

Country Link
US (1) US8494677B2 (ja)
JP (1) JP4991023B2 (ja)
CN (1) CN102802884B (ja)
WO (1) WO2012063397A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014213399A (ja) * 2013-04-24 2014-11-17 国立大学法人横浜国立大学 ロボット教示方法及び教示システム
JP2015197847A (ja) * 2014-04-02 2015-11-09 富士電機株式会社 作業分析システム、作業分析方法、及び作業分析プログラム
JP2019166602A (ja) * 2018-03-23 2019-10-03 株式会社トヨタプロダクションエンジニアリング 判定装置、判定方法、及び判定プログラム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011080882A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 動作空間提示装置、動作空間提示方法およびプログラム
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US9770828B2 (en) * 2011-09-28 2017-09-26 The Johns Hopkins University Teleoperative-cooperative robotic system
DE102014202145A1 (de) * 2014-02-06 2015-08-06 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehörigerIndustrieroboter
US9630317B2 (en) * 2014-04-03 2017-04-25 Brain Corporation Learning apparatus and methods for control of robotic devices via spoofing
US9613308B2 (en) 2014-04-03 2017-04-04 Brain Corporation Spoofing remote control apparatus and methods
US10279470B2 (en) * 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
US9272418B1 (en) * 2014-09-02 2016-03-01 The Johns Hopkins University System and method for flexible human-machine collaboration
US9860077B2 (en) 2014-09-17 2018-01-02 Brain Corporation Home animation apparatus and methods
US9579790B2 (en) 2014-09-17 2017-02-28 Brain Corporation Apparatus and methods for removal of learned behaviors in robots
US9849588B2 (en) 2014-09-17 2017-12-26 Brain Corporation Apparatus and methods for remotely controlling robotic devices
US9821470B2 (en) 2014-09-17 2017-11-21 Brain Corporation Apparatus and methods for context determination using real time sensor data
KR101729195B1 (ko) * 2014-10-16 2017-04-21 한국전자통신연구원 질의동작기반 안무 검색 시스템 및 방법
JP2016107379A (ja) 2014-12-08 2016-06-20 ファナック株式会社 拡張現実対応ディスプレイを備えたロボットシステム
US9592608B1 (en) * 2014-12-15 2017-03-14 X Development Llc Methods and systems for providing feedback during teach mode
DE102014226933B3 (de) 2014-12-23 2016-03-24 Kuka Roboter Gmbh Vorrichtung und Verfahren zum Aufnehmen von Positionen
WO2016161444A1 (en) * 2015-04-03 2016-10-06 Think Surgical, Inc. Robotic system with intuitive motion control
DE102015012959B4 (de) * 2015-10-08 2019-01-17 Franka Emika Gmbh Robotersystem und Verfahren zur Steuerung eines Robotersystems
US9919422B1 (en) 2016-01-06 2018-03-20 X Development Llc Methods and systems to provide mechanical feedback during movement of a robotic system
US10295972B2 (en) 2016-04-29 2019-05-21 Brain Corporation Systems and methods to operate controllable devices with gestures and/or noises
CN107717982B (zh) * 2016-08-12 2020-09-25 财团法人工业技术研究院 机械手臂的控制装置及操作方法
US10207404B2 (en) * 2017-02-09 2019-02-19 X Development Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
EP3622439B1 (en) * 2017-09-15 2022-08-03 Google LLC Improvements related to generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
WO2020192882A1 (en) * 2019-03-25 2020-10-01 Abb Schweiz Ag Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system
JP7335096B2 (ja) * 2019-06-07 2023-08-29 ファナック株式会社 ロボットシステムの障害物探索装置
JP7393178B2 (ja) * 2019-10-09 2023-12-06 川崎重工業株式会社 制御方法、制御装置、ロボットシステム及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215390A (ja) * 2001-01-15 2002-08-02 Hitachi Software Eng Co Ltd ソフトウエア開発進捗管理方法及びプログラム
JP2010256252A (ja) * 2009-04-27 2010-11-11 Topcon Corp 三次元計測用画像撮影装置及びその方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2455729A1 (de) * 1973-12-03 1975-06-05 Roger Philippe Tronel Anzeige- und alarmvorrichtung fuer motorfahrzeuge
US4178632A (en) * 1978-03-06 1979-12-11 Cincinnati Milacron Inc. Method for controlling the operation of a computer operated robot arm
CA1233222A (en) * 1984-03-09 1988-02-23 Nobuhiko Onda Movable apparatus driving system
US4680519A (en) * 1985-09-23 1987-07-14 General Electric Co. Recursive methods for world-to-joint transformation for a robot manipulator
JP2691985B2 (ja) * 1987-08-04 1997-12-17 ファナック 株式会社 ロボットの軌跡制御方法
JP3418456B2 (ja) * 1994-06-23 2003-06-23 ファナック株式会社 ロボット位置教示具及びロボット位置教示方法
US5675229A (en) * 1994-09-21 1997-10-07 Abb Robotics Inc. Apparatus and method for adjusting robot positioning
KR100449429B1 (ko) * 1995-09-14 2004-12-13 가부시키가이샤 야스가와덴끼 로봇의교시장치
JP3269005B2 (ja) * 1997-05-12 2002-03-25 川崎重工業株式会社 ロボット制御装置
JPH11170991A (ja) * 1997-12-16 1999-06-29 Toyota Motor Corp 電気式ブレーキ異常判定方法
US6099573A (en) * 1998-04-17 2000-08-08 Sandia Corporation Method and apparatus for modeling interactions
AU2002258422A1 (en) * 2001-02-27 2002-09-12 Anthrotronix, Inc. Robotic apparatus and wireless communication system
JP2002301674A (ja) * 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
US7027031B2 (en) * 2002-02-07 2006-04-11 Gifu University Touch sense interface and method for controlling touch sense interface
US7206626B2 (en) * 2002-03-06 2007-04-17 Z-Kat, Inc. System and method for haptic sculpting of physical objects
US20040024515A1 (en) * 2002-08-02 2004-02-05 Troupe David Keith Method and apparatus for limiting speed of air suspended vehicles
SE0203908D0 (sv) * 2002-12-30 2002-12-30 Abb Research Ltd An augmented reality system and method
DE10305384A1 (de) * 2003-02-11 2004-08-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
US7119716B2 (en) * 2003-05-28 2006-10-10 Legalview Assets, Limited Response systems and methods for notification systems for modifying future notifications
JP3994950B2 (ja) * 2003-09-19 2007-10-24 ソニー株式会社 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
SE526119C2 (sv) * 2003-11-24 2005-07-05 Abb Research Ltd Metod och system för programmering av en industrirobot
JP4247626B2 (ja) * 2005-01-20 2009-04-02 ソニー株式会社 再生装置および再生方法
JP2006293442A (ja) * 2005-04-05 2006-10-26 Sony Corp 情報処理装置および方法、並びにプログラム
CN100449444C (zh) * 2006-09-29 2009-01-07 浙江大学 移动机器人在未知环境中同时定位与地图构建的方法
US20090132088A1 (en) * 2007-04-24 2009-05-21 Tairob Ltd. Transfer of knowledge from a human skilled worker to an expert machine - the learning process
CN101231714A (zh) * 2007-12-05 2008-07-30 中原工学院 机器人三维路径规划方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215390A (ja) * 2001-01-15 2002-08-02 Hitachi Software Eng Co Ltd ソフトウエア開発進捗管理方法及びプログラム
JP2010256252A (ja) * 2009-04-27 2010-11-11 Topcon Corp 三次元計測用画像撮影装置及びその方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TSUTOMU HASEGAWA: "Collision-Free Path Planning of a Telerobotic Manipulator based on Swept Volume of Teleoperated Manipulator", JOURNAL OF THE ROBOTICS SOCIETY OF JAPAN, vol. 22, no. 4, 15 May 2004 (2004-05-15) *
TSUTOMU HASEGAWA: "Rapid Acquisition of Free- space and Operator support in a telerobotic system", DAI 22 KAI ANNUAL CONFERENCE OF THE ROBOTICS SOCIETY OF JAPAN YOKOSHU CD-ROM 2004 NEN, THE ROBOTICS SOCIETY OF JAPAN, 15 September 2004 (2004-09-15) *
YUSUKE MAEDA ET AL.: "Teaching of Industrial Manipulators by Manual Volume Sweeping", TRANSACTIONS OF THE JAPAN SOCIETY OF MECHANICAL ENGINEERS, SERIES C, vol. 74, no. 737, 25 January 2008 (2008-01-25), pages 115 - 120 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014213399A (ja) * 2013-04-24 2014-11-17 国立大学法人横浜国立大学 ロボット教示方法及び教示システム
JP2015197847A (ja) * 2014-04-02 2015-11-09 富士電機株式会社 作業分析システム、作業分析方法、及び作業分析プログラム
JP2019166602A (ja) * 2018-03-23 2019-10-03 株式会社トヨタプロダクションエンジニアリング 判定装置、判定方法、及び判定プログラム
JP7126364B2 (ja) 2018-03-23 2022-08-26 株式会社トヨタプロダクションエンジニアリング 判定装置、判定方法、及び判定プログラム

Also Published As

Publication number Publication date
JP4991023B2 (ja) 2012-08-01
US20120239193A1 (en) 2012-09-20
JPWO2012063397A1 (ja) 2014-05-12
US8494677B2 (en) 2013-07-23
CN102802884A (zh) 2012-11-28
CN102802884B (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
JP4991023B2 (ja) 移動経路探索装置および移動経路探索方法
JP5789752B2 (ja) 移動経路探索装置および移動経路探索方法
JP7334239B2 (ja) 拡張現実及びデジタルツインのためのロボット較正
EP3650181B1 (en) Route output method, route output system and route output program
Jaillet et al. Path planning under kinematic constraints by rapidly exploring manifolds
CN107414842B (zh) 控制装置、机器人以及机器人系统
Choset et al. A follow-the-leader approach to serpentine robot motion planning
US10384347B2 (en) Robot control device, robot, and simulation device
CN110370256B (zh) 机器人及其路径规划方法、装置和控制器
CN107443375B (zh) 机器人原点标定方法、装置、存储介质和计算机设备
JP4967858B2 (ja) カメラとロボット間のキャリブレーション方法及びその装置
KR101498835B1 (ko) 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치
CN101970184A (zh) 动作教导系统以及动作教导方法
US20180297202A1 (en) Simulation Apparatus And Robot Control Apparatus
JP2015085475A (ja) 情報処理装置、情報処理方法
Zacharias et al. The capability map: A tool to analyze robot arm workspaces
JP5108032B2 (ja) 多関節構造体教示装置
US20220244741A1 (en) Semantic Models for Robot Autonomy on Dynamic Sites
JP2015066668A (ja) ロボットの教示点調整方法、ロボットの設置位置算出方法、ロボットシステム、プログラム及び記録媒体
Kim et al. A geometric approach for forward kinematics analysis of a 3-SPS/S redundant motion manipulator with an extra sensor using conformal geometric algebra
JP2018017654A (ja) 検出装置、ロボットおよびロボット制御装置
Raheem et al. Applying A* path planning algorithm based on modified c-space analysis
CN112444777B (zh) 大范围、高精度位姿确定方法及其系统
US20230033821A1 (en) Tool position determination in a robotic appendage
Karadimos Perception control and path planning of robotic laparoscopic surgical system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180014709.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2012506248

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11840366

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11840366

Country of ref document: EP

Kind code of ref document: A1