WO2004018159A1 - 環境同定装置及び環境同定方法、並びにロボット装置 - Google Patents

環境同定装置及び環境同定方法、並びにロボット装置 Download PDF

Info

Publication number
WO2004018159A1
WO2004018159A1 PCT/JP2003/010651 JP0310651W WO2004018159A1 WO 2004018159 A1 WO2004018159 A1 WO 2004018159A1 JP 0310651 W JP0310651 W JP 0310651W WO 2004018159 A1 WO2004018159 A1 WO 2004018159A1
Authority
WO
WIPO (PCT)
Prior art keywords
environment
map
landmarks
registered
environment map
Prior art date
Application number
PCT/JP2003/010651
Other languages
English (en)
French (fr)
Inventor
Steffen Gutmann
Masaki Fukuchi
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to US10/525,431 priority Critical patent/US20060064202A1/en
Priority to EP03792808A priority patent/EP1541295A1/en
Publication of WO2004018159A1 publication Critical patent/WO2004018159A1/ja

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device

Definitions

  • the present invention relates to an environment identification device, an environment identification method, a program, a recording medium, and an environment identification device for identifying an environment in which a moving object is currently moving. Relates to the installed robot device.
  • a navigation system of a mobile robot device that holds such an environmental map has been disclosed in US Pat. No. 5,363,305 (Navigation system for amobi le robot) (hereinafter, referred to as a navigation system). It is called a conventional example.)
  • the robot device stores a map of the environment where the landmark is located, and compares the stored environment map with the current environment observation result when the environment changes, etc. The reliability is evaluated by the number of matching marks. When a landmark that does not exist in the stored environment map is observed, the information is updated and the environment map is updated.
  • the technology described in the conventional example assumes a certain environment and performs navigation or self-location identification within a certain environment with respect to how to construct one environment map. That is, although it is useful for robots that are assumed to move in a limited environment, such as a transfer robot in a factory or a guide robot in an art museum, the robot robot for entertainment has the following problems. is there. That is, since the entertainment robot device is located in a home environment or the like, the situation where it is difficult to identify its own position such as being turned off on the way and being taken to a different room on a daily basis is routine. Often occurs.
  • the robot device is normally in the room A during the daytime, but is transported to the room B at night, and in summer vacation, it is transported to the room C in Osaka and operates there. Since it is impossible for the robot device itself to actively move between these rooms A to C, for example, the Transported in a state. In such a situation, it is impossible for the robotic device to acquire the physical relationship between these rooms A to C.
  • the present invention has been proposed in view of such a conventional situation, and takes into account limited computational resources and memory resources in a mobile device such as a robot device, and quickly considers the current environment. It is an object of the present invention to provide an environment identification device, an environment identification method, a program and a recording medium, and a robot device equipped with the environment identification device, which are capable of identifying the position of each environment and performing self-position identification in each environment. .
  • an environment identification device is an environment identification device that identifies a moving environment by moving a moving object in an environment where one or more landmarks are arranged,
  • Environmental map construction means for constructing an environmental map of an environment that can be uniquely identified by the arrangement or number of one or more landmarks based on the observation result of one or more landmarks and the moving state quantity of the moving object, and the above environmental map Compare the environment map storage means stored as a plurality of registered environment maps, the registered environment map stored in the environment map storage means, and the current environment map constructed by the environment map construction means.
  • an environment identification means for determining whether or not the current environment is the environment indicated by the registered environment map.
  • the environment identification method is an environment identification method for identifying an environment by moving a moving object in an environment where one or more landmarks are arranged, wherein the observation of the one or more landmarks is performed.
  • One or more runs based on the An environment map construction step of constructing an environment map of an environment that can be uniquely identified by the arrangement or number of demarks, the above environment map stored as a plurality of registered environment maps in the storage means, and the above environment map construction step An environment identification step of comparing the registered current environment map with the registered current environment map to determine whether the current environment is the environment indicated by the registered environment map.
  • a program according to the present invention causes a computer to execute the above-mentioned environment identification processing, and a recording medium according to the present invention has such a program recorded thereon and is readable by a computer.
  • an environment map for each environment that can be uniquely specified by the arrangement or the number of one or more landmarks is constructed, and the constructed environment map is Because of the identification means to identify by comparing with the registered environment map, the robot device can quickly identify multiple physically separated environments (for example, rooms A and B at physically separated places). Compared to a method that can identify and store all environments in a large environment map, the computational load is less and there is no need to know the relative positional relationship between different environments. Also, the current environment can be identified from some information without recognizing all landmarks. In this way, by constructing one environmental map for each environment and dynamically comparing it with a group of environmental maps registered in the storage means, the current environment can be quickly identified and each environment map can be identified. Self-position identification can be performed.
  • a robot device is a robot device that moves in an environment where one or more landmarks are arranged, and is based on the observation result of the one or more landmarks and the moving state amount of the mouth robot device.
  • Environment map construction means for constructing an environment map of an environment that can be uniquely identified by the arrangement or number of one or more landmarks; environment map storage means in which a plurality of the environment maps are stored as registered environment maps; The registered environment map stored in the environmental map storage means is compared with the current environment map constructed by the environmental map construction means, and the current environment is indicated by the registered environment map.
  • Environment identifying means for determining whether or not
  • a range uniquely identifiable by a landmark is defined as one environment, and an environment map showing this environment is stored and identified by comparing with the current environment.
  • the amount of each data may be small, and the environment in which the robot is currently moving can be identified quickly and efficiently while considering the limited calculation resources and memory resources of the robot device.
  • FIG. 1 is a view showing an external configuration of a robot apparatus according to an embodiment of the present invention, and is a perspective view showing a humanoid type biped walking robot apparatus.
  • FIG. 2 is a diagram showing an external configuration of the robot device according to the embodiment of the present invention, and is a perspective view showing a four-legged animal robot device.
  • FIG. 3 is a block diagram schematically showing the robot device according to the embodiment of the present invention.
  • FIG. 4 is a schematic diagram showing a configuration of software for operating the robot device according to the embodiment of the present invention.
  • c 6 is a proc diagram illustrating an environment identification system according to an embodiment of the present invention is a schematic diagram showing an example of an environment map that is managed by the environment identification system according to an embodiment of the present invention is there.
  • FIG. 7A is a schematic diagram showing a state in which the robot device is searching the environment
  • FIG. 7B is a schematic diagram showing landmarks in the present embodiment.
  • FIG. 8 is a schematic diagram illustrating an example of a landmark.
  • FIG. 9 is a flowchart illustrating an environment identification method of the environment identification device according to the embodiment of the present invention.
  • FIG. 12 is a schematic diagram showing an environment map constructed by the robot device in consideration of its own movement.
  • FIG. 13 is a schematic diagram of an extended Kalman filter model.
  • FIGS. 14A and 14B are flowcharts showing a method of constructing an environmental map when the robot device observes its own operation and when it observes a landmark, respectively.
  • FIG. 16 is a diagram showing an example of an environment map similarly constructed by the robot device walking around the environment and observing the position of a landmark.
  • FIG. 18 is a diagram illustrating an environment ID stored in the environment storage device according to the embodiment of the present invention.
  • FIG. 20 is a flowchart showing the operation of the software of the robot device according to the embodiment of the present invention.
  • FIG. 21 is a schematic diagram showing a flow of data input to the software.
  • FIG. 22 is a diagram schematically illustrating a freedom configuration model of the robot device according to the embodiment of the present invention.
  • FIG. 23 is a block diagram showing a circuit configuration of the robot device.
  • FIG. 24 is a block diagram showing a software configuration of the robot apparatus.
  • FIG. 25 is a block diagram showing a configuration of a middleware layer in a software configuration of the robot apparatus.
  • FIG. 26 is a block diagram showing a configuration of an application layer in a software configuration of the robot device.
  • FIG. 27 is a block diagram showing the configuration of the behavior model library of the application layer.
  • FIG. 28 is a diagram illustrating a finite probability automaton serving as information for determining the action of the robot device.
  • Figure 29 is a diagram showing the state transition table prepared for each node of the finite probability automaton.
  • the present invention is applied to an environment identification device in which a robot apparatus moving in an environment where a plurality of landmarks are arranged and uniquely identifiable identifies a current environment from a plurality of registered environments, and an onboard environment identification device. This is applied to the robot device.
  • the robot unit 11 has leg units 13 A, 13 B, 13 C 3 13 D connected to the front, rear, left and right of the body unit 12, and a body unit 12.
  • the head unit 14 and the tail unit 15 are connected to the front end and the rear end, respectively.
  • Each of these robot devices 1 and 11 has a small camera using a CCD (charge coupled device) / CMOS (complementary metal-oxiae semi conductor) in the head unit as a visual sensor.
  • the landmark can be detected by image processing and the position of the landmark relative to the robot can be obtained. In the present embodiment, this is used as a landmark sensor.
  • the present invention refers to a humanoid robot for bipedal walking. An example in which the present invention is applied to the remote control device 1 will be described.
  • a color image (YUV: luminance Y, color difference UV) 202 and a parallax image (YDR: luminance ⁇ , parallax D, reliability R) 203 are calculated alternately left and right for each frame.
  • YUV luminance Y, color difference UV
  • YDR luminance ⁇ , parallax D, reliability R
  • the parallax indicates a difference between a point in space that is mapped to a left eye and a right eye, and changes according to a distance from the camera.
  • the color image 202 and the parallax image 203 are input to a CPU (control unit) 220 built in the trunk unit 2 of the robot device 1.
  • a CPU control unit
  • Each joint of the robot device 1 is provided with an actuator 230, and a control signal 231 is supplied as a command from the CPU 220, and the motor is controlled according to the command value. Drive.
  • a potentiometer is attached to each joint (actuary), and the rotation angle of the motor at that time is sent to the CPU 220.
  • Each sensor 240 such as a potentiometer attached to the actuator 230, a sunset sensor attached to the sole of the foot, and a gyro sensor attached to the torso, is used to determine the current joint angle, installation information, and posture information.
  • the state of the robot device 1 is measured and supplied to the CPU 220 as sensor data 241.
  • the CPU 220 receives the color image 220 and the parallax image 203 from the stereo image processing unit 210, and the sensor data 241 of all joint angles and the like of the actuator 230, and inputs these.
  • the data is processed by software described later, and various operations can be performed autonomously.
  • FIG. 4 is a schematic diagram illustrating a configuration of software for operating the robot device 1 according to the present embodiment.
  • the software according to the present embodiment is configured in units of objects, recognizes the position, the movement amount, the surrounding obstacles, the environmental map, and the like of the robot device 1 and determines the action that the robot device 1 should ultimately take. Output action sequence It performs various recognition processes and the like.
  • the coordinates indicating the position of the robot apparatus 1 include, for example, a world coordinate system (hereinafter, also referred to as absolute coordinates) in which a predetermined position based on a specific object such as a landmark described later is the origin of the coordinates. Two coordinates are used: a robot center coordinate system (hereinafter, also referred to as a relative coordinate) centered on the robot device 1 itself (origin of coordinates).
  • the software 300 of the robot device 1 in the present embodiment includes a movement amount calculating means (Kinematics Odometry) for calculating the movement amount of the robot device 1.
  • a movement amount calculating means Kininematics Odometry
  • Plane extractor for extracting planes in the environment (Plane Extractor) PLEX320
  • Obstacle grid calculator for recognizing obstacles in the environment (Occupancy Grid) OG330
  • artificial In an environment including a unique landmark a landmark sensor unit that identifies the self-position (position and posture) of the robot device 1 based on its own sensor information and its own operation information supplied from the movement amount calculation means.
  • an environment identification device for identifying an environment in which the robot device 1 is currently moving will be described among the processes for the robot device 1 to operate autonomously.
  • a detailed description of the software for autonomously operating the robot device 1 and a detailed description of the configuration and operation of the robot device 1 will be described later.
  • the environment identification device constructs an environment map based on observations of landmarks in a robot device 1 (mobile body) equipped with a landmark sensor that recognizes landmarks installed in the environment. Map of multiple known environmental maps By comparing with the recorded environment map, the environment where the robot device 1 is currently located is identified.
  • the known environment map may be created by a user or the like, or may be learned by the robot device 1.
  • the environmental map has the position (x, y) of each landmark, and the comparison of the environmental maps is based on the position of the landmark on the environmental map with the position of the landmark on the environmental map currently observed. This is done by evaluating the similarity between the two.
  • the mouth bot device 1 observes the landmark while moving around in this environment, and determines the landmark based on its own movement amount. Estimate the position of the mark.
  • the relative positional relationship between landmarks in the environment is estimated from the observed landmark position information and the amount of movement of the robot device 1 itself.
  • the positional relationship between the landmarks is called an environmental map. Assuming that no two or more environments have landmarks with exactly the same layout, the environment can be uniquely specified by the positional relationship of these landmarks.
  • a uniquely identifiable environment specifically, create a uniquely identifiable environment by arranging a plurality of artificial landmarks that can be uniquely identified in the environment by shape and / or color, etc. be able to.
  • the robot apparatus 1 compares the acquired positional relationship of the landmarks, that is, the environment map, with the past environment map information group stored in the environment map storage unit of the environment identification apparatus, and thereby the mouth bot apparatus 1
  • the current environment can be identified.
  • the environment identification device of the present embodiment will be specifically described.
  • FIG. 5 is a block diagram showing an environment identification device according to the embodiment of the present invention.
  • the environment identification device 400 of the present embodiment is supplied with the observation result of the landmark in the current environment and the moving state amount of the robot device 1 itself.
  • Map construction unit (environmental map construction method) 402 which constructs an environment map having landmark information of the environment where the robot device 1 is currently located, based on the A set of environmental information uniquely assigned to the environment and the location information of the mark as a set, a multiple environment map (registered environment map) and a ring environment map storage unit (environment map) that has a database consisting of the environment IDs (Storage means) (Database of Environment) 4003 and Environmental Map Construction Department 402 By comparing the similarity between the environment map of the environment where the robot device 1 is currently placed and the known environment map stored in the environment map storage unit 403, the robot device 1 is located at the current location.
  • Storage means Database of Environment
  • each room 415 to 418 is assigned an environment ID as one environment and managed with four environmental maps.
  • a predetermined number of landmarks are arranged. It can be uniquely specified by the position or number.
  • the landmark L is, for example, a combination of square, circular, and rectangular geometric patterns 431-143 in a predetermined arrangement position, as shown in FIG. Anything that can be identified can be used.
  • a plurality of such artificial landmarks of a plurality of types are arranged, whereby the environment 420 can be uniquely specified.
  • the robot device 1 identifies the environment 420, the robot device 1
  • the position of the landmark L in the past (registered) environmental map stored in the environmental map storage unit 4003 is obtained by acquiring the positional relationship of the landmark of the environment in which the landmark L is located. By comparing the current environment with its location, it is determined whether the current environment is already registered.
  • the environment search unit 405 will use the mouth travel device 1
  • the position relationship of all landmarks in the current environment is acquired, and an environment 1D such as Env1, ⁇ 112 is identified for each newly searched environment, and the new The types of the landmarks L in the environment and their positional relationships are stored in the environment map storage unit 403 together with the environment ID corresponding to the new environment.
  • FIG. 8 is a schematic diagram showing an example of a landmark.
  • three colors of red, blue, yellow, and green are used for the geometric pattern of three shapes of triangle, square, and circle, and the shape is uniquely identified by combining these shapes and colors.
  • Fig. 8 shows a square pattern on the left, a circular pattern on the center, and a triangular pattern on the right.The positional relationship of each pattern is fixed, and the colors of each pattern are combined in four colors.
  • a total of 24 types of landmarks In this way, different landmarks can be formed depending on the positional relationship and coloration of a plurality of geometric patterns.
  • the landmark L1 and the landmark L2 have the same positional relationship of a square, a circle, and a triangle, but their positions are slightly different.
  • the robot device 1 can also recognize the difference between these positions, and in fact, can create innumerable different landmarks and make the robot device 1 recognize it.
  • the robot device 1 is set to recognize such three shape patterns as landmarks when observing them, or observe landmarks by registering landmarks to be used in advance. Can be identified.
  • the robot device 1 has a landmark as shown in FIG. In the case of, the direction of the landmark can be detected, and by detecting not only the position of the landmark but also its direction, the environment can be more accurately identified and specified with fewer landmarks.
  • FIG. 9 is a flowchart illustrating the environment identification method according to the present embodiment.
  • the internal model of the environmental map is updated by the environmental map constructing unit 402. (Step S 2).
  • the environmental map is shown as (1) below using the robot apparatus 1 and the landmark state vector 1. Details of this environmental map and status vector will be described later.
  • the environment identification unit 404 searches the environment database of the environment map storage unit 403, The most suitable environment map and its environment ID (Environment ID) are found (step S3).
  • step S4 determines whether or not the environment search is being performed. (Step S6). If the environment is being searched (step S6: YES), the environment ID output immediately before is output as the environment where the robot device 1 is currently placed (step S8).
  • step S6 environmental search behavior If it is not in the middle, that is, if the environment search has been completed (step S6: NO), the environment map is added to the environment database of the environment map storage unit 403 as a new environment map (step S7). .
  • the environment map construction unit 402 recognizes the environment using the landmark observation information and the operation observation information of the robot apparatus 1 itself when recognizing the environment.
  • the landmark L is a circle composed of an outer circle and an inner circle, in which the outer circle and the inner circle have different colors.
  • the following shows an example where such landmarks can be used to obtain multiple types of landmarks by combining colors, and by arranging them in combination, an environment that can be uniquely identified is formed. Can be.
  • the robot device 421 when the robot device 421 is placed at the center position of an environment having six landmarks L, the direction (posture direction) in which the robot device 421 faces is changed. If you change it, if you try to grasp the position of the landmark using only the observation result of the landmark L, the robot unit 4 21 will input the position information of the landmark observed by the camera in time series. Therefore, as shown in Fig. 11, the position of the same landmark is shifted with the movement of itself, and the position of the landmark cannot be specified. Therefore, together with the landmark observation result of the robot unit 421, the movement amount and the posture direction of the robot unit 421 By taking into account the amount of movement, the position of the same landmark converges and the environment can be recognized, as shown in Fig. 12.
  • the problem is the identification of the state vector 1 using the Extended Kalman Filter model, which takes the movement of the cutting device 1 as input and the landmark observation as the amount of observation.
  • the extended Kalman filter In the extended Kalman-Filbe model, the function (transition function) that gives the theoretical state transition when a certain input m is performed in a certain state 1 is F (1, m), and the known observation information in a certain state 1 is 0
  • Figure 13 is a schematic diagram of the Extended Kalman Filter model. An update rule for updating the state quantity 1 with the input information m and the observation information 0 in the model shown in FIG. 13 will be described.
  • state 1 at a certain point is estimated by the following (5) and (6).
  • the environment map is updated by recalculating the median of state vector 1 and the covariance matrix as follows according to the update rule given below.
  • the amount of observation of the position of the landmark is statistically treated. It can be expressed by a probability density function p (0) shown in the following equation (19).
  • V 0- ⁇
  • FIG. 15 and FIG. 16 are diagrams showing an environmental map constructed by the robot apparatus 1 walking around the environment and observing the positions of the landmarks.
  • Fig. 15 shows the case where landmarks of the same shape (consisting of an outer circle and an inner circle) are used.
  • Fig. 16 shows the case where landmarks obtained by combining geometric patterns of different shapes shown in Fig. 8 are used. Shows the case where
  • L 1 1 i ⁇ L 1 1 6 shows the arrangement position of the original landmarks.
  • Such landmarks L 1 1 ⁇ ! As a result of observing each landmark in the environment 450 in which the ⁇ 1 16 is placed and the robot apparatus 1 estimating the landmark position by the above-described method, the obtained landmark position is represented by L 12 to 12. See Figure 6 . This estimation error was about 10 cm.
  • the landmark position in the environment can be estimated almost exactly as in the case of FIG. Also, as shown in Fig. 16, when a landmark that combines geometric patterns of different shapes as shown in Fig. 8 is used, it is possible to detect the direction that the landmark faces, unlike the case of a circular shape.
  • the robot apparatus 1 can construct an environmental map with higher accuracy.
  • FIG. 17 is a flowchart illustrating an environment identification method of the environment identification unit 404.
  • Step S21 when an environmental map is input, it is determined whether the number of landmarks in the environmental map is larger than the minimum number of landmarks (min) in the environment, for example, two.
  • step S21: YES If the number of landmarks in the input environmental map is larger than the minimum setting (min) (step S21: YES), it is determined whether the number of landmarks has changed from the previous time (step S21). 22) If the number of landmarks has changed from the previous time (Step S22: YE S), the environmental map is compared with the environmental map group registered in the environmental map database, and the input environmental map is entered. Search for an environmental map similar to (step S23). If there is only one similar environment map (step S24: YES), the environment ID of the environment map adapted in step S24 is substituted as the environment ID (step S25).
  • step S21 if the number of landmarks in the input environment map is smaller than the minimum number of landmarks (min) (step S21: NO), the process proceeds to step S29. Substitute unknown as the environment ID.
  • Step S21 determines whether the input environment map has changed, that is, whether the position of the landmark has changed (Step S26). If it has changed (step S26: YES), the process goes to step S23 to match the environment map. On the other hand, if the environmental map has not changed (step S26: NO), the process proceeds to step S30. In step S30, it is determined whether or not the search operation is being performed and whether or not the previous environment ID is unknown.
  • step S30 If the search operation has been completed and the previous environment ID is unknown (step S30: YES), the environment map database is added to the environment map database together with the new environment ID for the input environment map. It is registered (step S31), and the newly registered environment ID is substituted for the environment ID (step S32). On the other hand, in step S31, when the search operation is being performed or the previous environment ID is not unknown, the previous environment ID is substituted as the environment ID (step S33). .
  • step S25 the environment ID substituted in step S25, step S28, step S29, step S32, or step S33 is output.
  • the conditional branch in step S21 and step S22 is for eliminating the trouble of performing the matching processing of the environmental map in step S24 when the input environmental map has not changed from the previous time.
  • step S30 the environment search unit 405, which will be described later, manages the state of the search behavior of the robot device 1, and the environment search unit 405 terminates the search for the landmark. It is determined whether or not the search is completed based on the set search end flag.
  • the Mahalanobis distance W is used to quantify the similarity between environmental maps.
  • the Mahalanobis distance is the distance between two normal distributions X: Y defined by the following equation (2 3).
  • the similarity can be determined by using the minimum Mahalanobis distance W as a matching error and determining whether the minimum Mahalanobis distance W is equal to or less than a predetermined threshold.
  • r indicates the Mahalanobis distance.
  • ⁇ . ⁇ ,. + ⁇ ( ⁇ ) ⁇ . ⁇ ( ⁇ /
  • the environment search unit 405 In order to observe enough landmarks to construct an environmental map, the environment search unit 405 controls the behavior of the robot device 1 to search for landmarks, and notifies the search behavior state as described above. You.
  • the environment identification method it may be difficult to accurately identify the environment until all landmarks in the environment have been observed. Therefore, we need to know that we have observed all landmarks in the environment in some way.
  • the number of landmarks arranged in the environment is set in advance, and the robot apparatus 1 observes the set number of landmarks.
  • a method to terminate the search at the time of the search a method to randomly move in the environment within a predetermined time to observe all the landmarks, and a method to terminate the search.
  • the landmark is rotated by 360 ° at the predetermined position.
  • Robotic device "Two more.”
  • Robot device Go for landmarks.
  • Robot device "Is six landmarks enough?"
  • the robot apparatus 1 determines that the robot is in the search action state until four landmarks are found. Continue.
  • the robot device 1 moves at random in the environment and finds as many landmarks as can be found within a predetermined time.
  • the search operation state is exited and the search end flag is set.
  • the robot device 1 performs a search action only for a predetermined time (for example, several minutes).
  • the predetermined time is preferably set in consideration of the size of the environment, the number of landmarks, and the like.
  • the robot device 1 rotates 360 ° at a predetermined position (for example, near the center of the environment), and Observe the mark and end the search.
  • a predetermined position for example, near the center of the environment
  • the robot apparatus 1 rotates 360 ° at a predetermined position, and ends the search action when the observable landmarks L20 to L22 are found. I do.
  • the robot device 1 cannot find the landmark L23.
  • First start at a point in the environment and walk around randomly, where you look around 360 degrees.
  • the landmarks discovered and found there are used as visit queues.
  • select one from the visit queue walk to that landmark, delete the landmark from the visit queue when you reach the landmark, look around all around the landmark, and get a new landmark To discover.
  • Newly discovered landmarks are added to the visit queue. Repeat this and walk through landmarks until the visit queue is empty. If no landmarks are observable from any other landmark, such a strategy can find all landmarks in the environment. For example, in the environment shown in Fig.
  • the robot device 1 compares the current environmental map N constructed based on the observation of the landmark with the known environmental map group stored in the environmental map storage unit 403, and thereby the robot device 1 One can identify the environment in which it is currently located.
  • the known environment map may be created by the user and supplied to the environment map storage unit 403, It may be learned by the robot device 1 itself.
  • the immediate environmental map has the position (X, y) of each landmark, and the comparison of the environmental maps compares the landmark position on the current environmental map that is currently being observed with the known environmental map. This can be done by comparing the positions of landmarks in the project and evaluating their similarity.
  • the robot device 1 searches the environment by the environment search unit 405, constructs an environment map by a robot control method for notifying that the search has been completed, and stores the environment map and the storage map in the storage device.
  • the environment is identified by outputting the degree of similarity to the existing environment map and the environment ID of the environment map whose similarity exceeds a certain threshold, and the search is completed and there is no similar environment map in the database.
  • a new environment map and environment ID can be added to the environment map storage unit 403.
  • the robot apparatus 1 can be located at a plurality of physically separated environments (for example, at locations physically separated from each other).
  • Room A and room; B) can be quickly identified, the computational load is smaller than the method of maintaining the entire environment with a large environment map, and the environmental map when observing the movement of the landmark or robotic device The calculation g when updating is small.
  • the location A and the location B which are physically separated from each other are stored as different environment maps M a A and M ap B, it is not necessary to be aware of the relative positional relationship between those locations.
  • the current environment can be identified from a certain amount of information without recognizing all landmarks. In this way, by constructing one environmental map for each environment and dynamically comparing it with the group of environmental maps registered in the storage means, the current environment can be identified quickly, and each environment map can be identified.
  • the self-position can be identified by using.
  • FIG. 20 is a flowchart showing the operation of the software 300 shown in FIG.
  • step S102-1 a temporal correspondence between the image data 301 and the sensor data 302 is obtained (step S102-1). That is, the joint angle of the sensor data 302 at the time when the image of the image 301 was captured is calculated.
  • the robot center coordinate system in which the robot apparatus 1 is fixed at the center is transformed into the coordinate system of the camera provided on the head unit (Step S 1 ⁇ 2-2—2). ).
  • an object that derives a simultaneous transformation matrix and the like of the camera coordinate system from the robot center coordinate system and performs image recognition on the simultaneous transformation matrix 311 and the corresponding image data Send to That is, the simultaneous conversion matrix 3 1 1 and the corresponding disparity image 3 1 2 are output to the plane extraction unit PLEX 3 0 2, and the simultaneous conversion matrix 3 1 1 and the empty image 3 1 3 are output to the landmark sensor unit CLS 3 Output to 40.
  • the amount of movement of the robot device 1 is calculated from the walking parameter obtained from the sensor data 302 and the number of steps counted using the sole sensor, and the movement amount of the robot device 1 in the robot center coordinate system is calculated. Calculate the movement amount.
  • the movement amount of the robot center coordinate system is also referred to as “adometry”.
  • This odometry 314 is output to the obstacle grid calculator 0 G330 and the absolute coordinate calculator LZ350.
  • the plane extraction unit PLEX 320 receives the simultaneous conversion matrix 311 calculated by the kinematic odometry KINE 31 1 ⁇ and the corresponding parallax image 3 12 obtained from the stereo camera. Then, the data stored in the memory is updated (step S103), and the three-dimensional position data is obtained from the parallax image 312 using the calibration parameters of the stereo camera. Calculate (Range de night) (Step S104-1). Next, a plane excluding a plane such as a wall or a table is extracted as a plane from the range data using Hough transform or the like. Also, the sole of the robot device 1 is in contact with the ground from the coordinate transformation matrix 311.
  • step S1041-2 Taking correspondence with the plane, selecting the floor, calculating the distance from the floor using points that are not on the floor, for example, those located at a position higher than a predetermined threshold as obstacles, obstacle) 321 is output to the obstacle grid calculator 330 (step S1041-2).
  • the obstacle grid calculator ⁇ G 330 calculates the odometry 314 calculated by the kinematics kinematics KI NE 310 and the obstacle grid calculated by the plane extractor P LEX 320 as described above.
  • observation information (obstacle information) 32 1 is input, the data stored in the memory is updated (step S105). Then, the obstacle grid that holds the probability of whether or not there is an obstacle on the floor is updated by a probabilistic method (step S106).
  • the obstacle grid calculation unit OG 330 stores, for example, obstacle information (environment map) of, for example, 4 m around the robot device 1 and posture information indicating the direction to which the mouth pot device 1 faces. Therefore, the environment map is updated by the stochastic method, and the updated recognition result (obstacle information 331) is output, so that the upper layer, that is, in the present embodiment, the route plan determination unit SB L 360 can create a plan to avoid obstacles.
  • obstacle information environment map
  • the environment map is updated by the stochastic method, and the updated recognition result (obstacle information 331) is output, so that the upper layer, that is, in the present embodiment, the route plan determination unit SB L 360 can create a plan to avoid obstacles.
  • the landmark sensor section CLS340 receives these data stored in the memory in advance. Update overnight (step S107). Then, image processing of the color image 3 13 is performed to detect a color landmark that has been recognized in advance. The position and size of the color landmark on the color image 313 are converted into a position in the camera coordinate system. Furthermore, using the simultaneous conversion matrix 311, the position of the color landmark in the camera coordinate system is converted into the position in the robot central coordinate system, and information on the color landmark position in the robot central coordinate system (color landmark) Relative position information) 34 1 is output to the absolute coordinate calculator LZ 350 (step S 108).
  • the absolute coordinate calculation unit LZ 350 receives the kinematic quadrature KI NE 310 from the quadrature 314 and the landmark sensor unit CLS 340 from the color landmark relative position information 341. Is stored in the memory beforehand. These data are updated (step S109). Then, the absolute coordinate calculation unit LZ350 uses the absolute coordinates (the position in the world coordinate system) of the color landmark recognized in advance, the color landmark relative position information 341, and the odometry 314. Then, the absolute coordinates (position in the world coordinate system) of the robot device 1 are calculated by a stochastic method. Then, the absolute coordinate position 351 is output to the route plan determination unit SBL360.
  • the route planning decision unit SBL 360 receives the obstacle grid information 3 31 from the obstacle grid calculation unit OG 330 and the absolute coordinate position 3 51 from the absolute coordinate calculation unit LZ 35 ⁇ . Then, these data previously stored in the memory are updated (step S111). Then, the route plan determination unit SBL 360 obtains a recognition result regarding an obstacle existing around the robot device 1 based on the obstacle information 331 from the obstacle grid calculation unit 0G330. By acquiring the current absolute coordinates of the robot device 1 from the absolute coordinate calculation unit LZ350, the target point given in the absolute coordinate system or the robot center coordinate system in the center of the robot device can be recognized as an obstacle. It generates a path that can walk without collision, and issues an operation command to execute the path according to the path. That is, an action to be taken by the robot device 1 is determined according to the situation from the input data, and the action sequence is output (step S112).
  • FIG. 21 is a diagram schematically showing the flow of data input to the above-mentioned software.
  • the same components as those shown in FIGS. 3 and 4 are denoted by the same reference numerals, and detailed description thereof will be omitted.
  • the face detector FDT (Face Dector) 371 is an object that detects a face area from an image frame, receives a color image 202 from an image input device such as a camera, and divides it into, for example, 9 steps. Scale down to scale image. A rectangular area corresponding to the face is searched from all the images. Information on the position, size, feature amount, etc. related to the area that was finally determined to be a face by reducing overlapping candidate areas It outputs 372 and sends it to the face identification unit FI (Facadentify) 377.
  • FI Face Identification unit
  • the motion detection unit MDT (MotionDeteccotor) 375 is an object for detecting a moving part in an image, and outputs information 376 of the detected motion area to the elevation information addition unit DIL 379.
  • the distance information adding unit DIL 379 is an object that adds distance information to the input two-dimensional information and outputs three-dimensional information.
  • the ID information 378 from the face detection unit FI 377 and the color recognition unit MC T 373 are provided.
  • the distance information is added to the information 374 such as the position, size and characteristic amount of each divided region from the motion detection unit MDT 375 from the motion detection unit MDT 375, and the three-dimensional information 380 is stored in the short-term storage unit STM ( Sho rt Ter ⁇ ⁇ mory) 38 Output to 1
  • the short-term storage unit STM 381 is an object that holds information on the external environment of the robot device 1 for a relatively short period of time, and outputs a speech recognition result (word, sound source direction, certainty) from an Arthur Decoder (not shown). ), The position and size of the skin color region and the position and size of the face region from the color recognition unit MCT373, and the ID information of the person and the like from the face identification unit FI377. Also, the head direction (joint angle) of the robot apparatus is received from each sensor on the body of the robot apparatus 1. Then, by using these recognition results and sensor outputs in an integrated manner, It stores information about which person the spoken word belongs to and what kind of conversation he has had with him. The physical information about these objects, that is, the target, and the events (history) viewed in the time direction are output and passed to higher-level modules such as the route plan determination unit (SBL) 36 3.
  • SBL route plan determination unit
  • the head unit 3 is connected to a predetermined position of the trunk unit 2 and the left and right two arm units 4 R / L and the right and left The two leg units 5 R / L are connected.
  • FIG. 22 schematically shows the configuration of the degrees of freedom of the joints included in the robot device 1.
  • the neck joint that supports the head unit 3 has three degrees of freedom: a neck joint axis 1101, a neck joint pitch axis 102, and a neck joint roll axis 103.
  • each arm unit 4 R / L constituting the upper limb is composed of a shoulder joint pitch axis 107, a shoulder joint roll axis 108, an upper arm joint axis 109, and an elbow joint pitch axis 111.
  • forearm axis 1 1 1, wrist joint pitch axis 1 1 2, wrist joint roll 1 1 3, and hand 1 1 4.
  • the hand portion 114 is actually a multi-joint / multi-degree-of-freedom structure including a plurality of fingers. However, since the motion of the hand portions 114 has little contribution or influence on the posture control and the walking control of the robot device 1, it is assumed that the degree of freedom is zero in this specification. Therefore, each arm has seven degrees of freedom.
  • trunk unit 2 has a trunk pitch axis 104, a trunk roll axis 105, It has three degrees of freedom: trunk axis 106.
  • FIG. 23 schematically illustrates a control system configuration of the robot device 1.
  • the robot unit 1 has a trunk unit 2, a head unit 3, an arm unit 4R / L, and a leg unit 5R representing human limbs. / L and a control unit 10 that performs adaptive control for realizing a cooperative operation between the units.
  • the operation of the entire robot apparatus 1 is controlled by the control unit 10 as a whole.
  • the control unit 10 includes a main control unit 11 composed of main circuit components (not shown) such as a CPU (Central Processing Unit), a DRAM, a flash ROM, and other components of the power supply circuit and the robot device 1.
  • a peripheral circuit 12 including an interface (not shown) for transmitting and receiving data command.
  • the degrees of freedom of the respective joints in the robot device 1 shown in FIG. 22 are realized by the corresponding actuaries. That is, the head unit 3 has the neck joint axis 10
  • the head unit 3 is equipped with a CCD (Charge Coupled Device) camera for capturing external conditions, and a distance sensor for measuring the distance to an object located in front.
  • a microphone for collecting external sounds, a speaker for outputting sound, and a touch sensor for detecting the pressure received by the user from physical actions such as “stroke” and “hit” are provided. Have been.
  • wrist joint pitch axis 1 1 2 and wrist joint roll axis 1 1 3 respectively represent shoulder joints Pit axis actuary A 8 , shoulder joint roll axis actuary A 9 , upper arm joint axis Ai Yui Ai . , Elbow joint pitch axis Akuchiyue Isseki A u, elbow joint roll axis Akuchiyue one, wrist joint pitch axis Akuchiyue Isseki A 13, a wrist joint roll axis Akuchiyue one evening A 14 is deployed.
  • the ground confirmation sensor 30 RZL is configured by, for example, a proximity sensor or a microphone / switch installed on the sole of the foot. Further, the attitude sensor 31 is configured by, for example, a combination of an acceleration sensor and a gyro sensor.
  • the output of the ground contact confirmation sensor 30 RZL makes it possible to determine whether each of the left and right legs is in a standing leg or a free leg during an operation such as walking or running.
  • the output of the posture sensor 31 can detect the inclination and posture of the trunk.
  • the main controller 11 can dynamically correct the control target in response to the output of each of the sensors 30 R / L and 31. More specifically, adaptive control is performed on each of the sub-control units 20, 21, 22 R / L, and 23 R / L, and the upper limb, trunk, and lower limb of the robot device 1 cooperate. To achieve a whole-body exercise pattern that is driven.
  • the whole-body motion of the robot device 1 on the fuselage sets foot motion, ZMP (Zero Moment Point) trajectory, trunk motion, upper limb motion, waist height, etc., and follows these settings.
  • the command to instruct the operation is transferred to each of the sub-control units 20, 21, 22, R / L and 23 R / L.
  • the “ZMP” here is the floor reaction force during walking Is a point on the floor at which the moment due to is zero
  • the “ZMP trajectory” means, for example, a trajectory of the ZMP moving during the walking operation of the robot device 1.
  • each of the sub-control units 20, 21,... ′ Interprets the received command from the main control unit 11, and executes each of the actuaries A 2 , A 3- ⁇ A drive control signal is output to 'to control the' drive of each unit.
  • the robot device 1 stably transitions to the target posture, and can walk in a stable posture.
  • various sensors such as an acceleration sensor, a sunset sensor, and a ground check sensor, image information from a CCD camera, and a microphone And collectively processes audio information.
  • control unit 10 Although not shown, various sensors such as an acceleration sensor, a gyro sensor, an evening sensor, a distance sensor, a microphone, a speaker, etc., each actuator, a CCD camera, and a battery are mainly controlled through corresponding hubs.
  • Unit 11 Connected to 1.
  • the main controller 11 sequentially takes in the sensor data, the image data, and the audio data supplied from each of the above-described sensors, and sequentially stores them at predetermined positions in the DRAM via the respective internal interfaces. Further, the main control unit 11 sequentially takes in battery remaining amount data indicating the remaining battery amount supplied from the battery, and stores this at a predetermined position in the DRAM.
  • the sensor data, image data, audio data, and remaining battery data stored in the DRAM are used when the main control unit 11 controls the operation of the robot device 1.
  • the main control unit 11 reads a control program at the initial stage when the power of the robot device 1 is turned on, and stores the control program in the DRAM. In addition, the main control unit 11 determines its own and surrounding conditions based on the sensor data, image data, audio data, and remaining battery level data sequentially stored in the DRAM from the main control unit 11 as described above. And whether or not there is an instruction from the user and whether or not there is any action.
  • the main control unit 11 determines the determination result and the control program stored in the DRAM. In addition to deciding the action according to the situation based on the user's own situation and driving the necessary actuary based on the result of the decision, the robot apparatus 1 can perform actions such as so-called “gesture” and “hand gesture”. Let me take.
  • the robot device 1 can determine its own and surrounding conditions based on the control program, and can act autonomously in response to an instruction and action from the user. • By the way, the robot device 1 can act autonomously according to the internal state.
  • the software shown in FIG. 4, FIG. 20 and FIG. 21 is mainly for the robot device 1 to autonomously generate a route.
  • FIGS. 24 to 29 an example of a software configuration of the entire control program in the robot device 1 will be described with reference to FIGS. 24 to 29. Note that this control program is stored in advance in a flash RTM provided in the robot device 1 and is read out at the initial power-on of the robot device 1.
  • the device “Dryno” layer 40 is located at the lowest layer of the control program, and is composed of a device “Dryno” set 41 including a plurality of devices and drivers.
  • each device 'dryno is an object that is allowed to directly access the hardware used in ordinary computers, such as a CCD camera and timer, and is processed in response to an interrupt from the corresponding hardware. I do.
  • the robotic 'server' object 42 is located at the lowest layer of the device / dryno 'layer 40, and includes, for example, the above-mentioned various sensor work units 28i ⁇ .
  • such virtual robot 4 3 composed piece of software that provide the I interface for accessing Haiti Douea of a power manager 4 4 made in software Touea group for managing the power supply switching ,
  • Various other devices '' A device consisting of software group that manages the driver '' Drino, Manager 45, and a design ⁇ robot 46, which is a software group that manages the mechanism of the robot unit 1 '' Have been.
  • the manager object 47 is composed of an object manager 48 and a service manager 49.
  • the object manager 48 is a mouth object.
  • the service manager 49 manages each object described in the connection file stored in the memory card. A group of software that manages the connection of each object based on the connection information between the objects.
  • the middle-pair layer 50 is used for noise detection, temperature detection, brightness detection, scale recognition, distance detection, posture detection, evening sensor, and motion detection.
  • Each of the signal processing modules 60 to 68 of the recognition system ⁇ 0 is composed of the sensor data, image data, and audio data read from the DRAM by the virtual robot 43 of the robotic server object 42.
  • the data corresponding to the data is fetched, a predetermined process is performed based on the data, and the processing result is given to the input semantics converter module 69.
  • the virtual robot 43 is configured as a part that exchanges or converts signals according to a predetermined communication protocol.
  • the input semantics converter module 69 detects “noisy”, “hot”, “bright”, “ball detected”, and “fall” based on the processing results given from these signal processing modules 60 to 68. "Detected”, “Stroked”, Recognize self and surrounding conditions such as “hit”, “domiso scale”, “moving object detected” or “obstacle detected”, and commands and actions from the user. The recognition result is output to the application layer 41.
  • the application layer 51 is composed of five modules: a behavior model library 80, a behavior switching module 81, a learning module 82, an emotion model 83, and an instinct model 84. .
  • each behavior model uses one node (state) NODE as shown in Fig. 28 as a method for determining the next behavior.
  • NODE n to any other node N 0 DE.
  • N N 0 DE Each node N 0 DE determines whether to transition to n .
  • An algorithm called a finite probability automaton which determines stochastically based on, is used.
  • each behavior model is a node NO DE that forms its own behavior model.
  • ⁇ N ⁇ DE n corresponding to these nodes NODE.
  • NONODE n has a state transition table 90 as shown in FIG.
  • the node NODE Input events (recognition results) as transition conditions in ⁇ NODE n are listed in order of priority in the column of "input event name”, and further conditions for the transition conditions are handled in the columns of "data name” and "data range”. Is described in the line to be executed. Therefore, the node NODE represented by the state transition table 90 in FIG. .
  • the recognition result of “Ball detection (BA LL)” is given
  • the “SIZE” of the ball given together with the recognition result is in the range of “0 to 1000”.
  • the recognition result "OBSTACLE” is given
  • the "DISTANCE" to the obstacle given along with the recognition result is in the range of "0 to 100". Is a condition for transitioning to another node.
  • the node N 0 DE is shown in the row of “transition 'destination node” in the column of “transition probability to another node”.
  • Others can transition with the node name that can transition from ⁇ N 0 DE n are listed, "input event name”, when all of the conditions described in a column of "data name” and “data range” are aligned
  • Transition probabilities to ⁇ NOD E n is the corresponding point Niso is it written in the column of "probability of transition to another node", the node N 0 DE.
  • the action to be output when transitioning to NODE n is described in the row of “output action” in the column of “probability of transition to another node”. Note that the sum of the probabilities of each row in the column “Transition probabilities to other nodes” is 100%.
  • the behavior switching module 81 shown in FIG. 27 selects the behavior output from the behavior model output from the behavior models in the behavior model library 80, and selects the behavior output from the behavior model with a predetermined high priority.
  • a command to execute the action (hereinafter referred to as an action command) is sent to the middle 'ware' layer 50 output semantics converter module 78.
  • the behavior model described in the lower part of FIG. 27 has a higher priority.
  • the behavior switching module 81 based on the behavior completion information given from the output semantics compa- ter module 78 after completion of the behavior, determines that the behavior has been completed by the learning module 82, the emotion model 83, and Notify Instinct Model 84.
  • the learning module 82 recognizes, from the recognition results given by the input semantics converter module 69, the recognition results of the teachings received from the user, such as "hit” and "stroke”. input.
  • the learning module 82 reduces the probability of occurrence of the action when “beaten (scolded)” and “strokes (praise)”. J) Sometimes, the corresponding transition probability of the corresponding behavior model in the behavior model library 70 is changed so as to increase the occurrence probability of that behavior.
  • the emotion model 83 is determined based on the recognition result given from the input semantics compiling module 69, the behavior of the robot device 1 at that time, the elapsed time since the last update, and the like.
  • the variation of emotion ⁇ [t], E [t ] of the current parameter Isseki value of the emotion, the coefficient representing the sensitivity of the emotion as k e, in the next cycle by the following equation (3 1)
  • the parameter value E [t + 1] of the emotion is calculated, and the parameter value of the emotion is updated by replacing this with the current parameter value E [t] of the emotion.
  • the emotion model 83 updates parameter values of all emotions in the same manner.
  • the notification from the output semantics compa- ny module 78 is so-called feedback information (action completion information) of the action, information on the appearance result of the action, and the emotion model 83 has such information. Also change emotions. This means, for example, that the action of “shouting” lowers the level of anger.
  • the notification from the output semantics compiler 'Ichiya module 78 is also input to the learning module 82 described above, and the learning module 82 changes the corresponding transition probability of the behavior model based on the notification. I do.
  • the feedback of the action result may be made by the output of the action switching module 81 (the action to which the emotion is added).
  • the degree to which the recognition result and the notification from the output semantics converter module 78 affect the amount of variation ⁇ [k] of the parameter value of each desire is determined in advance.
  • the output semantics converter module The notification from ⁇ 8 has a large effect on the variation ⁇ ⁇ ⁇ [k] of the parameter value of “fatigue”.
  • the parameter value of each emotion and each desire (instinct) is restricted to vary within a range from it then 0 to 1 00, also the coefficient k e, the values of ki each It is set individually for each emotion and each desire.
  • Such a control program is provided via a recording medium recorded in a format readable by the robot device 1.
  • Recording media for recording the control program include magnetic recording media (eg, magnetic tape, flexible disk, magnetic card), and optical reading media (eg, CD-ROM, MO, CD-R, DVD) and the like.
  • the recording medium includes a storage medium such as a semiconductor memory (a so-called memory card (regardless of a rectangular shape, a square shape and the like, and an IC card) and an IC card).
  • the control program is provided through the so-called Internet or the like. These control programs may be reproduced through a dedicated read driver device, a personal computer, or the like, transmitted to the robot device 1 via a wired or wireless connection, and read.
  • the robot device 1 includes a drive device for a miniaturized storage medium such as a semiconductor memory or an IC card, the control program can be directly read from the storage medium.

Abstract

 環境同定装置(400)は、ランドマークが複数配置され、一意に特定可能な環境内を移動するロボット装置が複数の登録済の環境から現在の環境を同定するものであり、現在の環境内のランドマークを認識し、ロボット装置自身の移動状態量を算出し、このランドマーク及び移動状態量に基づいて現在の環境におけるランドマークの位置情報を有する現在の環境地図を構築する環境地図構築部(402)と、ランドマークの位置情報及び環境IDからなる登録済環境地図のデータベースを有する環境地図記憶部(403)と、登録済環境地図と現在の環境地図との類似度から現在の環境を同定する環境同定装置(404)と、新しい環境を探索する環境探索部(405)とから構成される。

Description

明細書 環境同定装置及び環境同定方法、 並びにロボッ ト装置 技術分野 本発明は、 移動体が現在移動している環境を同定する環境同定装置、 環境同定 方法、 プログラム及び記録媒体、 並びに環境同定装置を搭載したロボッ ト装置に 関する。
本出願は、 日本国において 2 0 0 2年 8月 2 6日に出願された日本特許出願番 号 2 0 0 2— 2 4 5 6 1 4を基礎として優先権を主張するものであり、 この出願 は参照することにより、 本出願に援用される。 罔景技術 電気的又は磁気的な作用を用いて人間 (生物) の動作に似た運動を行う機械装 置を 「ロボヅト」 という。 我が国においてロボッ トが普及し始めたのは、 1 9 6 0年代末からであるが、 その多くは、 工場における生産作業の自動化 ·無人化等 を目的としたマニピュレータ及び搬送ロボヅト等の産業用ロボヅト (Industrial Robot) であった。
最近では、 人間のパートナーとして生活を支援する、 即ち住環境その他の日常 生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められ ている。 このような実用ロボッ トは、 産業用ロボッ トとは異なり、 人間の生活環 境の様々な局面において、 個々に個性の相違した人間、 又は様々な環境への適応 方法を自ら学習する能力を備えている。 例えば、 犬又は猫のように 4足歩行の動 物の身体メカニズム及びその動作を模した 「ペッ ト型」 ロボット、 或いは、 2足 直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインさ れた 「人間型」 又は 「人間形」 ロボヅ ト (Humanoid Robot) 等のロボヅ ト装置は、 既に実用化されつつある。 これらのロボット装置は、 産業用ロボッ トと比較して、 例えばエンターティン メント性を重視した様々な動作等を行うことができるため、 ェン夕一ティンメン トロボットと呼称される場合もある。 また、 そのようなロボッ ト装置には、 外部 からの情報及び内部の状態に応じて自律的に動作するものがある。
ところで、 自律型ロボット装置において、 自身の周りの環境を認識して経路計 画を立て、 それに応じて移動する能力は言うまでもなく重要である。 従来、 移動 ロボッ ト装置においては、 自身が移動する環境を認識するため、 その環境全体の 地図を保持したり、 また、 ロボッ ト装置の微少移動又は姿勢の変更に際して環境 地図が更新されている。
従来、 このような環境地図を保持する移動ロボッ ト装置のナビゲ一シヨンシス テムが米国特許第 5 3 6 3 3 0 5号明細書 (Navigation system for a mobi le r obot) に開示されている (以下、 従来例という。 ) 。 この技術によれば、 ロボヅ ト装置は、 ランドマークが配置された環境の地図を記憶し、 環境が変わったとき 等に、 記憶した環境地図と、 現在の環境の観測結果とを比較し、 ランドマークが 一致した数によりその信頼性を評価する。 記憶された環境地図に存在しないラン ドマークを観測した場合は、 その情報を追加して環境地図を更新する。
しかしながら、 従来例に記載の技術は、 ある 1つの環境を想定し、 その一つの 環境地図を如何に構築するかに関し、 ある 1つの環境内のナビゲーシヨン、 又は 自己位置同定を行うものである。 即ち、 例えば工場の搬送ロボットや、 美術館内 の案内ロボットといった限られた環境内での移動を前提としているロボットに有 用であるものの、 エンターテインメント用のロボッ ト装置としては以下に示す問 題点がある。 即ち、 エンターテインメント用のロボット装置は、 その活動の場が 家庭環境等であるため、 途中で電源が切られる、 及び持ち上げられて違う部屋に 持っていかれる等、 自己位置同定にとって困難な状況が日常的に多々発生する。 例えば、 東京のあるユーザの家の 1階にある部屋 A、 その 2階にある部屋 B、 及び大阪にある親戚の家の部屋 Cがあるとする。 ロボッ ト装置は、 普段の日中は 部屋 Aで活動しているが、 夜間は部屋 Bに運ばれ、 更に、 夏休みは大阪の部屋 C に運ばれ、 その部屋で活動するものとする。 ロボッ ト装置自身が能動的にこれら の部屋 A〜 Cの間を移動することは不可能であるため、 例えば電源を切られた状 態で搬送される。 このような状況で、 ロボット装置がこれらの部屋 A〜 Cの間の 物理的関係を獲得することは不可能である。
即ち、 従来例の方法では、 別の部屋に搬送される等して物理的に離れた環境に 移動させられた場合、 そのままでは自己位置同定を行うことができず、 従って、 何らかの方法で明示的に環境が変化したことを指定する必要がある。
また、 もし仮に全ての部屋の間の物理的関係を獲得することが可能で、 全てを —つの環境地図で表現できたとすると、 常に極めて多くの情報を一度に扱わなく てはいけなくなり、 リソースの限られたロボッ ト装置等には不向きであり、 計算 量の観点から問題が発生してしまう。 発明の鬨示 本発明は、 このような従来の実情に鑑みて提案されたものであり、 ロボッ ト装 置等の移動体における限られた計算リソース及びメモリリソースを考慮し、 素早 く現在の環境を同定することができ、 各々の環境での自己位置同定を行うことが できる環境同定装置、 環境同定方法、 プログラム及び記録媒体、 並びに環境同定 装置を搭載したロボット装置を提供することを目的とする。
上述した目的を達成するために、 本発明に係る環境同定装置は、 1以上のラン ドマークが配置された環境内を移動体が移動して該環境を同定するする環境同定 装置であって、 上記 1以上のランドマークの観測結果及び上記移動体の移動状態 量に基づき、 1以上のランドマークの配置又は数により一意に特定可能な環境の 環境地図を構築する環境地図構築手段と、 上記環境地図が登録済環境地図として 複数記憶された環境地図記憶手段と、 上記環境地図記憶手段に記憶されている上 記登録済環境地図と、 上記環境地図構築手段により構築された現在の環境地図と を比較して、 上記現在の環境が上記登録済環境地図が示す環境であるか否かを判 定する環境同定手段とを有することを特徴とする。
また、 本発明に係る環境同定方法は、 1以上のランドマークが配置された環境 内を移動体が移動して該環境を同定するする環境同定方法であって、 上記 1以上 のランドマークの観測結果及び上記移動体の移動状態量に基づき、 1以上のラン ドマークの配置又は数により一意に特定可能な環境の環境地図を構築する環境地 図構築工程と、 記憶手段に登録済環境地図として複数記憶された上記環境地図と、 上記環境地図構築工程にて構築された現在の環境地図とを比較して、 上記現在の 環境が上記登録済環境地図が示す環境であるか否かを判定する環境同定工程とを 有することを特徴とする。
また、 本発明に係るプログラムは、 上述した環境同定処理をコンピュータに実 行させるものであり、 本発明に係る記録媒体は、 そのようなプログラムが記録さ れたコンピュータ読み取り可能なものである。
本発明においては、 現在の環境における環境地図を構築する場合、 1以上のラ ンドマ一クの配置又は数により一意に特定可能な環境毎の環境地図を構築し、 こ の構築した環境地図を、 登録済環境地図と比較して同定する同定手段を有するた め、 ロボッ ト装置が物理的に離れた複数の環境 (例えば、 物理的に距離が離れた 場所にある部屋 Aと部屋 B ) を素早く識別することができ、 環境全てを大きな環 境地図によって保持する手法に比べて、 計算負荷が少なく、 更に異なる環境間の 相対的な位置関係を関知する必要がない。 また、 全てのランドマークを認識しな くても、 ある程度の情報から現在の環境を同定することができる。 このように、 各環境毎に一つの環境地図を構築し、 記憶手段に登録された環境地図群との比較 をダイナミックに行うことにより、 素早く現在の環境を同定することができ、 各 々の環境での自己位置同定を行うことができる。
本発明に係るロボッ ト装置は、 1以上のランドマークが配置された環境内を移 動するロボット装置であって、 上記 1以上のランドマークの観測結果及び上記口 ボット装置の移動状態量に基づき、 1以上のランドマークの配置又は数により一 意に特定可能な環境の環境地図を構築する環境地図構築手段と、 上記環境地図が 登録済環境地図として複数記憶された環境地図記憶手段と、 上記環境地図記憶手 段に記憶されている上記登録済環境地図と、 上記環境地図構築手段により構築さ れた現在の環境地図とを比較して、 上記現在の環境が上記登録済環境地図が示す 環境であるか否かを判定する環境同定手段とを有することを特徴とする。
本発明においては、 ランドマークにより一意に特定可能である範囲を 1つの環 境とし、 この環境を示す環境地図を記憶し、 現在の環境と比較して同定すること により、 一つ一つのデータ量が小さくてよく、 ロボット装置における限られた計 算リソース及びメモリ リソースを考慮しつつ、 現在移動している環境を迅速且つ 効率よく同定することができる。
本発明の更に他の目的、 本発明によって得られる具体的な利点は、 以下に説明 される実施例の説明から一層明らかにされるであろう。 図面の簡単な説明 図 1は、 本発明の実施の形態におけるロボット装置の外観構成を示す図であつ て、 ヒユーマノィ ド型の 2足歩行のロボヅ ト装置を示す斜視図である。
図 2は、 本発明の実施の形態におけるロボッ ト装置の外観構成を示す図であつ て、 4足歩行の動物型ロボット装置を示す斜視図である。
図 3は、 本発明の実施の形態に係るロボット装置の概略を示すプロック図であ る。
図 4は、 本発明の実施の形態に係るロボヅト装置を動作するソフトウヱァの構 成を示す模式図である。
図 5は、 本発明の実施の形態に係る環境同定システムを示すプロック図である c 図 6は、 本発明の実施の形態に係る環境同定システムで管理される環境地図の 一例を示す模式図である。
図 7 Aは、 ロボット装置が環境内を探索している様子を示す模式図であり、 図 7 Bは、 本実施の形態におけるランドマークを示す模式図である。
図 8は、 ランドマークの一例を示す模式図である。
図 9は、 本発明の実施の形態に係る環境同定装置の環境同定方法を示すフロー チヤ一トである。
図 1 0は、 ランドマークが配置された環境を示す模式図である。
図 1 1は、 ロボット装置が自身の動きを考慮せずに構築した環境地図を示す模 式図である。
図 1 2は、 ロボッ ト装置が自身の動きを考慮して構築した環境地図を示す模式 図である。 図 1 3は、 拡張カルマンフィルタモデルの模式図である。
図 1 4 A及び図 1 4 Bは、 夫々ロボッ ト装置が自身の動作を観測した場合及び ランドマークを観測した場合の環境地図を構築する方法を示すフローチヤ一卜で ある。
図 1 5は、 ロボット装置が環境内を歩き回ってランドマークの位置を観測して 構築した環境地図の一例を示す図である。
図 1 6は、 同じく、 ロボッ ト装置が環境内を歩き回ってランドマークの位置を 観測して構築した環境地図の一例を示す図である。
図 1 7は、 本発明の実施の形態における環境同定部の環境同定方法を示すフロ 一チヤ一トである。
図 1 8は、 本発明の実施の形態における環境記憶装置に記憶される環境 I Dを 説明する図である。
図 1 9は、 環境内のランドマークの探索を終了する方法を説明するための模式 図である。
図 2 0は、 本発明の実施の形態におけるロボッ ト装置のソフ トウエアの動作を 示すフローチャートである。
図 2 1は、 同ソフトウェアに入力されるデータの流れを示す模式図である。 図 2 2は、 本発明の実施の形態におけるロボッ ト装置の自由度構成モデルを模 式的に示す図である。
図 2 3は、 同ロボッ ト装置の回路構成を示すプロック図である。
図 2 4は、 同ロボヅト装置のソフ トウエア構成を示すプロヅク図である。 図 2 5は、 同ロボヅト装置のソフ トウエア構成におけるミ ドル . ウェア · レイ ャの構成を示すプロヅク図である。
図 2 6は、 同ロボヅ ト装置のソフトウエア構成におけるアプリケーション · レ ィャの構成を示すプロヅク図である。
図 2 7は、 アプリケーション · レイヤの行動モデルライブラリの構成を示すブ ロヅク図である。
図 2 8は、 同ロボット装置の行動決定のための情報となる有限確率オートマト ンを説明する図である。 図 2 9は、 有限確率ォートマトンの各ノードに用意された状態遷移表を示す図 である。 発明を実施するための最良の形態
1 . ロボヅト装置の概要
' 以下、 本発明を適用した具体的な実施の形態につ^て、 図面を参照しながら詳 細に説明する。 この実施の形態は、 本発明を、 ランドマークが複数配置され一意 に特定可能な環境内を移動するロボット装置が複数の登録済の環境から現在の環 境を同定する環境同定装置及びこれを搭載したロボッ ト装置に適用したものであ る。
このような環境同定装置を搭載するロボット装置としては、 エンターティンメ ント用等の例えばヒューマノイ ド型の 2足歩行のロボッ ト装置、 及び、 4足歩行 の動物型ロボッ ト装置等を使用することができる。 例えば、 2足歩行のロボッ ト 装置としては、 図 1に示すように、 ロボヅト装置 1の体幹部ユニッ ト 2の所定の 位置に頭部ュニット 3が連結されると共に、 左右 2つの腕部ュニッ ト 4 R / Lと、 左右 2つの脚部ュニット 5 R / Lが連結されて構成されるものがある (但し、 R 及び Lの各々は、 右及び左の各々を示す接尾辞である。 以下において同じ。 ) 。 · また、 4足歩行の動物型ロボット装置としては、 「犬」 を模した形状のいわゆる ぺッ トロボットとされる図 2に示すようなものがある。 このロボッ ト装置 1 1は、 胴体部ユニット 1 2の前後左右にそれそれ脚部ユニッ ト 1 3 A , 1 3 B , 1 3 C 3 1 3 Dが連結されると共に、 胴体部ュニット 1 2の前端部及び後端部にそれそれ 頭部ュニツ ト 1 4及び尻尾部ュニッ ト 1 5が連結されて構成されている。
これらのロボット装置 1 , 1 1は、 何れも頭部ユニッ トに C C D ( charge cou pled device) / C M O S ( complementary metal-oxiae semi conductor) ί最像素 子を用いた小型カメラを視覚センサとして有しており、 画像処理によりランドマ —クを検出し、 ロボット装置に対する相対的なランドマークの位置を獲得するこ とができる。 本実施の形態では、 これをランドマークセンサとして使用する。 以 下、 本実施の形態においては、 本発明を、 ヒューマノイ ド型の 2足歩行のロボッ ト装置 1に適用した例について説明する。
図 3は、 本発明の実施の形態に係るロボット装置の概略を示すプロック図であ る。 図 3に示すように、 ロボッ ト装置 1の頭部ュニヅト 3には、 右目及び左目に それそれ相当する 2台の C CDカメラ 20 0 R , 200 Lが設けられ、 この C C Dカメラ 2 00 R, 2 0 0 Lの後段には、 ステレオ画像処理部 2 1 0が設けられ ている。 2台の C CDカメラ 2 0 0 R, 2 00 Lにより撮像された右目画像 2 0 1 R、 左目画像 20 1 Lは、 ステレオ画像処理部 2 1 0に入力される。 ステレオ 画像処理部 2 1 0は、 各画像 2 0 1 R , 2 0 1 Lの視差情報 (disparity data)
(距離情報) を計算し、 カラー画像 (YUV :輝度 Y、 色差 UV) 2 02及び視 差画像 (YDR :輝度 Υ、 視差 D、 信頼度 R) 2 03をフレーム毎に左右交互に 算出する。 ここで、 視差とは、 空間中のある点が左目及び右目に写像される点の 違いを示し、 そのカメラからの距離に応じて変化するものである。
このカラ一画像 2 02及び視差画像 20 3はロボット装置 1の体幹部ュニヅト 2に内蔵された CPU (制御部) 22 0に入力される。 また、 ロボッ ト装置 1の 各関節にはァクチユエ一夕 2 3 0が設けられており、 C P U 2 20からの指令と なる制御信号 2 3 1が供給されて、 その指令値に応じてモー夕を駆動する。 各関 節 (ァクチユエ一夕) には、 ポテンショメ一夕が取り付けられ、 その時のモータ の回転角が CPU 2 20に送られる。 このァクチユエータ 230に取り付けられ たポテンショメータ、 足底に取り付けられた夕ツチセンサ及び体幹部に取り付け られたジャイロ ·センサ等の各センサ 240は、 現在の関節角度、 設置情報、 及 び姿勢情報等の現在のロボヅト装置 1の状態を計測し、 センサデータ 241 とし て CPU 2 20へ供給される。 CPU 2 2 0は、 ステレオ画像処理部 2 1 0から のカラ一画像 2 02及び視差画像 2 03と、 ァクチユエ一夕 2 30の全ての関節 角度等のセンサデータ 24 1とが入力され、 これらのデータが後述するソフトゥ エアにより処理され、 様々な動作を自律的に行うことが可能となる。
図 4は、 本実施の形態におけるロボヅ ト装置 1を動作させるソフトウエアの構 成を示す模式図である。 本実施の形態におけるソフトウェアは、 オブジェクト単 位で構成され、 ロボッ ト装置 1の位置、 移動量、 周囲の障害物、 及び環境地図等 を認識し、 ロボット装置 1が最終的に取るべき行動についての行動列を出力する 各種認識処理等を行うものである。 なお、 ロボット装置 1の位置を示す座標とし て、 例えば、 後述するランドマーク等の特定の物体等に基づく所定位置を座標の 原点としたワールド座標系 (以下、 絶対座標ともいう。 ) .と、 ロボヅ ト装置 1自 身を中心 (座標の原点) としたロボット中心座標系 (以下、 相対座標ともい う。 ) との 2つの座標を使用する。
オブジェクト同士は、 非同期に通信し合うことで、 システム全体が動作する。 各オブジェクトはメッセージ通信と共有メモリを使用したォブジヱクト間通信方 法によりデータの受け渡し及びプログラムの起動 ( I n v o k e ) を行っている。 図 4に示すように、 本実施の形態におけるロボヅ ト装置 1のソフトウェア 3 0 0 は、 ロボット装置 1の移動量を算出する移動量算出手段 (キネマテイツクオドメ トリ (Kinematics Odometry) ) K I N E 3 1 0、 環境内の平面を抽出する平面抽 出部 (Pl ane Extractor) P L E X 3 2 0、 環境内の障害物を認識する障害物グリ ヅ ド算出部 (Occupancy Gr id) O G 3 3 0、 人工的なランドマークを含む環境に おいて、 自身のセンサ情報及び移動量算出手段から供給される自身の動作情報に よって、 ロボッ ト装置 1の自己位置 (位置及び姿勢) を同定するランドマークセ ンサ部 (Landmark Sensor) C L S 3 4 0、 ロボット中心座標を絶対座標に変換す る絶対座標算出部 (Local i zation) L Z 3 5 0及びロボッ ト装置の取るべき行動 を決定する行動決定部 (Si tuated behavior Layer) S B L 3 6 0から構成され、 各オブジェクト単位にて処理がなされる。
ここで、 ロボッ ト装置 1が自律的に動作するためには、 ロボット装置 1が現在 おかれている環境を認識する必要がある。 本実施の形態においては、 先ず、 ロボ ッ ト装置 1が自律的に動作するための各処理のうち、 ロボット装置 1が現在移動 している環境を同定するための環境同定装置について説明する。 ロボット装置 1 を自律的に動作させる上記ソフトウェアについての詳細な説明、 並びにロボヅト 装置 1の構成及び動作に関する詳細な説明は後述する。
2 . 環境同定装置
本実施の形態の環境同定装置は、 環境内に設置されたランドマークを認識する ランドマークセンサを装備したロボット装置 1 (移動体) において、 ランドマー クの観測に基づき環境地図を構築し、 この環境地図を既知の複数の環境地図 (登 録済環境地図) と比較することによって、 ロボッ ト装置 1が現在置かれている環 境を同定するものである。 既知の環境地図は、 ユーザ等により作成されたもので あっても、 ロボット装置 1によって学習されたものであってもよい。 環境地図は 個々のランドマークの位置 (x, y ) を有しており、 環境地図の比較は、 現在観 測している環境地図のランドマ一クの位置を既知の環境地図におけるランドマー クの位置と比較し、 両者の類似性を評価することにより行われる。
環境内には、 形状 ·色等が異なる複数種の人工的なランドマークを配置し、 口 ボッ ト装置 1はこの環境の中を動き回りながらランドマ一クを観測し、 自分自身 の移動量からランドマークの位置を推定する。 観測したランドマークの位置情報 と、 ロボッ ト装置 1自身の移動量から、 環境内のランドマークの相対的な位置関 係を推定していく。 本実施の形態においては、 このランドマークの位置関係を環 境地図という。 仮に、 全く同じ配置のランドマークを有する環境が 2つ以上存在 しないと仮定すると、 このランドマークの位置関係によって、 その環境を一意に 特定することができる。 一意に特定可能な環境として、 具体的には、 形状及び/ 又は色等により環境内では一意に特定可能な人工的なランドマークを複数配置す ることにより、 一意に特定可能な環境を作成することができる。 ロボット装置 1 は、 獲得したランドマークの位置関係、 即ち環境地図と、 環境同定装置の環境地 図記憶部に記憶されている過去の環境地図情報群とを比較することによって、 口 ボット装置 1が現在置かれている環境を同定することができる。 以下、 本実施の 形態の環境同定装置について具体的に説明する。
図 5は、 本発明の実施の形態に係る環境同定装置を示すブロック図である。 図 5に示すように、 本実施の形態の環境同定装置 4 0 0は、 現在の環境内のランド マークの観測結果及びロボット装置 1自身の移動状態量が供給され、 このランド マーク及び移動状態量に基づいて、 ロボット装置 1が現在おかれている環境のラ ンドマーク情報を有する環境地図を構築する環境地図構築部 (環境地図構築手 段) (Map Bui lding) 4 0 2と、 環境内のランドマークの位置情報とその環境に一 意に割り振られる環境 I Dを一つの組として、 複数の環境地図 (登録済環境地 図) 及びその環境 I Dからなるデータベースを有する環環境地図記憶部 (環境地 図記憶手段) (Database of Environment) 4 0 3と、 環境地図構築部 4 0 2によ つて構築される現在ロボット装置 1が置かれている環境の環境地図と、 環境地図 記憶部 40 3に記憶された既知の環境地図との類似度を比較することによって、 ロボッ ト装置 1が現在置かれている環境を特定する環境同定部 (環境同定手段) (Environment Identification) 404と、 新しい環境を認識するためにロボヅ ト装置 1を歩き回らせる環境探索部 (環境探索手段) (Exploration/Robot Cont rol) 40 5とから構成される。
上述したように、 図 3に示す C CDカメラ 2 ◦ 0 L, 20 O Rによって取り込 まれた映像は、 ステレオ画像処理部 2 1 0に入力され、 左右画像 2 0 1 R, 2 0 1 Lの視差情報 (距離情報) からカラー画像 (YUV) 202及び視差画像 (Y DR) 2 03が算出されて CPU 2 20に入力される。 また、 ロボヅ ト装置 1に 複数個設けられた各センサからのセンサデータ 24 1が入力される。 これらの視 差情報及び視差画像からなる画像データ 3 0 1と、 センサデータ 3 0 2とが移動 量算出手段 K I NEに入力される。
移動量算出手段 K I NEは、 画像データ 30 1及びセンサデ一夕 30 2からな る入力デ一夕に基づいてロボヅ ト中心座標系の移動量 (ォドメ トリ) を算出する また、 ロボット装置 1は、 自身の姿勢方向を検出し、 移動量と共に姿勢方向を示 す情報が環境地図構築部 402に供給される。 また、 環境内に配置された C CD カメラ 2 0 0 L, 2 0 0 Rによって観測されたランドマークのカラー画像 (YU V) 2 02及び視差画像 (YD R) 2 03が入力されランドマークを認識するラ ンドマーク認識手段 (図示せず) から、 ランドマークの観測結果 (以下、 ランド マーク情報という。 ) 4 1 1が供給される。 環境地図構築部 402は、 このラン ドマ一ク情報 4 1 1及びロボヅ ト装置 1の移動量及び姿勢方向を示す情報 (以下、 移動状態量という。 ) 4 1 2からなる入力情報からロボット装置 1が現在置かれ ている環境地図 4 1 3を構築し、 環境同定部 404に供給する。
環境同定部 404は、 ロボッ ト装置 1が現在置かれている環境、 即ち、 環境地 図構築部 402から供給された環境地図 4 1 3と、 環境地図記憶部 40 3に記憶 されている複数の既知の環境地図 (登録済環境地図) とを比較することによって、 ロボット装置 1が現在置かれている環境を特定する。 この既知の環境地図は、 上 述したように、 ユーザ等により作成されたものであっても、 環境地図構築部 40 2により構築されたものであってもよい。 ロボッ ト装置 1が置かれている現在の 環境が、 環境地図記憶部 4 0 3に記憶されている登録済の環境地図に一致した場 合は、 この登録済の環境地図に対応して記憶されている環境 I D (環境識別情 報) 4 1 4を出力する。 環境地図記憶部 4 0 3に記憶されている複数の登録済環 境地図と一致した場合は、 現在の環境が同定できなかったものとして、 不明確
(曖昧) であることを示す (ambiguous) 信号を出力する。 また、 環境地図記憶部 4 0 3に記憶されている登録済の環境地図と一致するものがなかった場合にも現 在の環境が同定できなかったものとして、 現在の環境が不明であることを示す
(unknown) 信号を出力する。
環境地図記憶部 4 0 3は、 環境内のランドマークの位置情報、 及び環境に一意 に割り振られる環境 I Dが記憶された環境地図データベース (図示せず) を有す る。 また、 環境探索部 4 0 5は、 新しい環境を認識するために、 例えば外部から のリモートコントロール等によりロボッ ト装置 1に環境内を歩き回らせ、 環境内 のランドマークを認識させるものである。
環境地図記憶部 4 0 3の環境地図データベースには、 環境内のランドマークを 識別するランドマ一ク識別情報及び位置情報、 並びにこの環境に対応して割り当 てられた環境 I Dが予め入力されていてもよく、 又は環境探索部 4 0 5により、 ロボッ ト装置 1自身が環境地図データベースを作成するようにしてもよい。
環境内には、 上述したように、 形状及び色の違いにより複数種のランドマーク を配置し、 ロボッ ト装置 1は、 自身に備えられた C C Dカメラ 2 0 0 R , 2 0 0 L等のランドマークセンサにより、 ランドマークの色及び形を検出 ·認識するこ とによって、 環境地図の構築、 及び環境同定を行うことができる。 例えば、 決め られた個数のランドマークが配置された環境を 1つの環境として環境 I Dを割り 付けて管理することで、 環境データベースの管理が容易になる。
例えば図 6に示すように、 1つの家にリビング 4 1 5、 寝室 4 1 6、 台所 4 1 7及び遊び部屋 4 1 8の 4部屋があった場合、 ロボッ ト装置 1は、 家全体を 1つ の環境地図で管理するのではなく、 各部屋 4 1 5〜4 1 8を 1つの環境として環 境 I Dを割り付け、 4つの環境地図で管理する。 なお、 各部屋 4 1 5〜4 1 8に は予め決められた個数のランドマークが配置されており、 そのランドマークの配 置又は数により、 一意に特定可能であるものとする。
このように、 周囲の環境を 1つの環境地図で管理するのではなく、 一意に特定 可能な範囲で分割された複数の環境地図として記憶することにより、 1つ 1つの データが小さくなり、 データの更新、 追加等における計算量を低減することがで きる。 本実施の形態における一意に特定可能な環境は、 複数のランドマークを配 置し、 その配置の仕方等によって一意に特定することができるものである。 この とき、 ランドマークが 1つの環境内にて一意に特定可能であると、 環境の同定が 容易となる。
図 7 Aは、 ロボヅト装置 1が 1つの環境内 (例えば図 6のリビング 4 1 5内) を探索している様子を示す模式図、 図 7 Bは、 本実施の形態におけるランドマ一 クを示す模式図である。 図 7 Aに示すように、 例えば、 環境 4 2 0内の机、 柱、 又は壁等のランドマーク貼り付け (配置) 可能な対象物 4 2 2 a~4 2 2 eに、 人工的な複数種のランドマーク Lが複数配置され、 ロボット装置 1は、 この環境 4 2 0の中を歩き回り、 C CDカメラ 2 0 0 R, 2 0 0 L等により獲得したラン ドマーク Lの観測と、 ロボット装置 1自身の位置 (X , y, Θ ) とから、 ロボヅ ト装置 1自身が現在置かれている環境のランドマ一ク: Lの位置関係を獲得してい く。 ここで、 ロボッ ト装置位置 (x, y , Θ ) は、 所定の位置を基準 (原点) と した座標系におけるロボット装置 1の位置 (x, y) と、 所定の方角 Dを基準 ( 0 ° ) としてロボ、ソ ト装置 1の姿勢方向の角度 (0) とで表現することができ る。 ロボヅ ト装置 1は、 自身の C CDカメラ 2 0 0 R, 2 0 0 及ぴセンサ2 4 ◦等から上述した移動量算出手段により、 自身の移動量 (dx, d y) 及び移動 角 (CI S) を算出することにより、 自身の位置 (x, y , Θ) を把握することが できる。
ランドマーク Lは、 図 7 Βに示すように、 例えば、 四角形、 円形及び Ξ角形の 幾何学パターン 4 3 1 - 43 3が所定の配置位置となるよう組み合わされたもの で、 その配色により、 互いに識別可能なものを使用することができる。 環境 4 2 0内には、 このような複数種の人工的なランドマークが複数配置され、 これによ り、 環境 4 2 0がー意に特定可能なものとなっている。 ロボッ ト装置 1が環境 4 2 0を同定する際は、 自身の移動状態量からロボッ ト装置 1自身が現在置かれて いる環境のランドマークの位置関係を獲得し、 このランドマーク Lの種類及びそ の位置関係を、 環境地図記憶部 4 0 3に記憶されている過去 (登録済) の環境地 図におけるランドマーク Lの種類及びその位置と比較することにより、 現在の環 境が既に登録済の環境であるか否かを判断する。
また、 現在の環境が登録されていない新しい環境である場合、 又は環境地図デ 一夕ベースを作成する場合等は、 環境探索部 4 0 5により、 自身の移動量から口 ボッ ト装置 1自身が現在置かれている環境の全てのランドマークの位置関係を獲 得し、 新たに探索した環境毎に識別可能な例えば E n v 1、 ∑ 11 2等の環境1 Dを付して、 探索した新しい環境内の全てのランドマ一ク Lの種類及びその位置 関係を、 この新しい環境に対応する環境 I Dと共に環境地図記憶部 4 0 3に記憶 する。
2 - 1 . ランドマーク
次に、 環境内に配置されるランドマークについて説明する。 図 8は、 ランドマ ークの一例を示す模式図である。 本実施の形態においては、 三角、 四角、 丸の 3 つの形状の幾何学パターンに赤、 青、 黄、 及び緑の 4つの色を使用し、 これらの 形状及び色を組み合わせることにより、 一意に特定可能 (uni que) な複数種のラ ンドマークを得ることができる。 図 8は、 左に四角形、 中央に円形、 右に三角形 の幾何学パターンを配置し、 各パターンの位置関係を固定して配置して、 各パタ 一ンの色を 4色、 組み合わせることによって、 合計 2 4種類のランドマークを作 成した例を示す。 このように、 複数の幾何学パターンの位置関係及び配色により、 異なるランドマークを形成することができる。
また、 図 8においては、 例えば、 ランドマーク L 1とランドマーク L 2とでは、 四角形、 円形、 三角形の位置関係は同じであるものの、 その配置される位置がわ ずかに異なる。 ロボヅト装置 1は、 これらの位置の違いも認識することが可能で あり、 実際には、 無数の異なるランドマークを作成し、 ロボッ ト装置 1に認識さ せることが可能である。 ロボット装置 1は、 このような 3つの形状パターンを観 測した場合にランドマークとして認識するよう設定されているか、 又は、 使用さ れるランドマークを予め登録しておくこと等により、 ランドマークを観測して識 別することができる。 また、 ロボッ ト装置 1は、 図 8に示すようなランドマーク の場合は、 ランドマークの方向も検出可能であり、 ランドマークの位置だけでは なくその方向も検出することにより、 より少ないランドマークで更に正確に環境 を識別して特定することができる。
次に、 本実施の形態の環境同定装置 4◦ 0の処理の流れを説明する。 図 9は、 本実施の形態の環境同定方法を示すフローチャートである。 図 9に示すように、 環境地図構築部 4 0 2にて、 先ず、 ランドマークを観測、 又は、 ロボッ ト装置 1 自身の動作を検出した場合 (ステヅプ S 1 ) 、 環境地図の内部モデルを更新する (ステヅプ S 2 ) 。 ここで、 環境地図は、 ロボヅ ト装置 1及びラン ドマークの状 態べク トル 1を使用して下記 ( 1 ) のように示すものとする。 この環境地図及び 状態べク トルについての詳細は後述する。
∑ 環境地図 · · ■ (1)
ここで、
ί :状態べクトル中央値
状態べク トルの共分散行列
この環境地図が環境地図構築部 4 0 2から環境同定部 4 0 4に供給されると、 環境同定部 4 0 4は、 環境地図記憶部 4 0 3の環境データベースを検索し、 この 環境地図と最も適合する環境地図とその環境 I D (Environment I D )を探し出す (ステップ S 3 ) 。
適合する環境地図及び環境 I Dが環境データベースに登録されていた場合 (ス テヅプ S 4 : N O ) 、 この環境 I Dを現在ロボッ ト装置 1が置かれている環境と して出力する (ステップ S 5 ) 。 一方、 適合する環境地図及び環境 I Dがデータ ベ一ス 4 0 6に登録されていない場合 (ステヅプ S 4 : Y E S ) 、 環境探索部 4 0 5にて環境探索行動中か否かが判断される (ステップ S 6 ) 。 環境探索行動中 の場合 (ステツプ S 6 : Y E S ) 、 直前に出力した環境 I Dを現在、 ロボヅ ト装 置 1が置かれている環境として出力する (ステップ S 8 ) 。 一方、 環境探索行動 中でない場合、 即ち、 環境探索を終了している場合 (ステップ S 6 : N O ) 、 そ の環境地図を、 新しい環境地図として環境地図記憶部 4 0 3の環境データベース に追加する (ステップ S 7 ) 。
ステツプ S 6における探索行動状態は、 環境探索部 4 0 5によって制御され、 ロボット装置 1が環境内の全てのランドマークを訪問したかどうかを検出し (ス テヅプ S 9 ) 、 未だ、 その環境内のすべてのランドマークを観測していない場合 には、 環境探索行動中となる。
2 - 2 . 環境地図構築部
次に、 図 3に示す各処理部について更に詳細に説明する。 先ず、 環境地図構築 部 4 0 2における環境地図構築方法について説明する。 環境地図構築部 4 0 2は、 ランドマークの観測情報とロボッ ト装置 1 自身の動作の観測情報 (移動状態量) を利用して、 Dボヅ ト装置 1が現在置かれている環境の環境地図 (Envi ronment Map) Nを構築する。
ここで、 環境地図構築部 4 0 2が環境を認識する際に、 ラン ドマークの観測情 報及びロボッ ト装置 1の自身の動作観測情報を利用して環境認識する理由につい て説明する。 なお、 図 1 0乃至図 1 2においては、 ランドマーク Lとして図 8に 示すものとは異なり、 外円及び内円からなる円形で、 外円と内円とが異なる色を 有するパターンをランドマークとして使用した例を示すが、 このようなランドマ ークも色の組み合わせにより、 複数種のランドマークを得ることができ、 これら を複数組み合わせて配置することによって一意に特定可能な環境を形成すること ができる。
例えば、 図 1 0に示すように、 6つのランドマーク Lを有する環境の中心位置 にロボッ ト装置 4 2 1が置かれていた場合に、 ロボッ ト装置 4 2 1が向く方向 (姿勢方向) を変更すると、 ランドマーク Lの観測結果のみを使用してランドマ ークの位置を把握しょうとすると、 ロボヅ ト装置 4 2 1には、 そのカメラで観測 されたランドマークの位置情報が時系列で入力されるため、 図 1 1に示すように、 自身の移動に伴い、 同一のランドマークにおいてもその位置がずれて観測されて しまい、 ランドマークの位置を特定することができない。 そこで、 ロボヅト装置 4 2 1のランドマ一ク観測結果と共にロボット装置 4 2 1の移動量及び姿勢方向 の移動状態量を考慮することで、 図 1 2に示すように、 ある程度観測を続けると、 同一のラン ドマークの位置が収束して、 環境を認識することができるようになる。 ここで、 ラン ドマークの観測情報は、 ロボヅ ト装置 1 に備えられたカメラによ る観測結果として得ることができ、 ロボッ ト装置 1の移動量及び姿勢方向である 移動状態量は、 ロボヅ ト装置 1 自身が検出することができるが、 これらの情報に は、 このカメラの観測結果誤差、 並びの移動量及び姿勢方向の検出誤差等が含ま れる。
そこで、 本実施の形態は、 この環境地図を、 ロボッ ト装置 1の状態 (状態量) 1 rと n個のラン ドマークの状態 (状態量) 1 L= ( 1 12, · · · , 1 n) τの 推定値によって構成される状態べク トル 1 = ( 1 r, 1 12, · · · , 1 n) Tに よって表現する。 また、 ロボヅ ト装置 1の状態 1 rはロボッ ト装置 1の位置 ' 姿勢 を用いて l r= (X , y , θ) 各ラン ドマークの状態 1 iはラン ドマークのヮー ルド座標系における位置を用いて 1 i二 (xi, y ι) と表す。
そして、 これらの状態量を統計的に扱うため、 ガウス分布を有する確率密度関 数 p ( 1 ) によって表現し、 環境地図を下記 ( 2 ) に示す記号によって表すこと とする。
Figure imgf000020_0001
1:状態べクトルの中央値
1 :状態べクトルの共分散行列
(ί,Σ,):環境地図
1; = :ランドマ一クの状態べク トル
lr = (x,y,0)T:ロボヅ ト装置の状態べク トル
ここで、 環境地図を求めることは、 この状態ベクトル 1 = ( 1 r , 11 , 12 , · • · , I n) Tを同定することであるため、 本実施の形態では、 この問題を、 ロボ ッ ト装置 1の動きを入力とし、 ランドマークの観測を観測量とする、 拡張カルマ ンフィル夕 (Extended Kalman Filter) モデルを用いた状態ベクトル 1の同定問 題に帰着した。
2— 2— 1. 拡張カルマンフィル夕
以下、 拡張カルマンフィルタについて説明する。 拡張カルマンフィル夕モデル では、 ある状態 1において、 ある入力 mを行った場合の理論的な状態遷移を与え る関数 (遷移関数) を F (1, m) 、 ある状態 1においてある既知の観測情報 0
(ランドマークの位置等) の理論値を与える関数 (観測関数) を H (1) 、 状態 1及び観測情報 0へのノイズ成分 (中央値 0のガウス分布を持つノィズ成分を仮 定) を w, Vとしたときに、 状態 1及び観測情報 0のモデルを下記式 (3) ,
(4) で表す。 I - F(l,m) + w · . · (3) o H(l)+v · - · (4)
図 1 3は、 拡張カルマンフィル夕(Extended Kalman Filter)モデルの模式図で ある。 図 1 3に示すモデルにおいて、 入力情報 m、 観測情報 0によって状態量 1 を更新する更新則について説明する。
ある時点での状態 1が、 下記 (5 ) , ( 6) で推定されているものとする。
ί:中央値 · · ·(5)
:共分散行列 · · ·(6)
先ず、 状態 1において、 ある入力 mを観測した場合、 状態 1の中央値、 共分散 行列は下記式 (7 ) , (8 ) により更新する。
入力情報による更新 F7 (7)
∑,― VFt VF,T +VFaa VFa 7 (8)
: dF/dlによって与えられるヤコビ行列
V : dF/da よつて与えられるヤコビ行列
一方、 状態 1において、 ある観測情報 0を観測した場合、 状態 1の中央値、 共 分散行列は下記式 (9 ) , ( 1 0 ) により更新する。 出力情報による更新: ' ' ' (9)
Figure imgf000022_0001
ここで、
w: w = 2, ν/· Σ;:1で与えられるカルマンフィル夕ゲイン
νν = ο-Η (/)?与えられる観測誤差の中央値
∑,, :∑,, =∑ + 7 ∑ 「で与えられる観測誤差の共分散
2 - 2 - 2. 環境地図更新方法
次に、 環境地図を計算する処理の流れを説明する。 図 14A及び図 14Bは、 環境地図を更新しながら環境地図を構築する方法を示すフローチャートである。 環境地図には、 初期値が入力されているものとする。 ロボッ ト装置 1自身の動き が観測された場合 (ステップ S 1 1 ) 、 環境地図のロボッ ト装置 1の状態 l rを更 新する (ステヅプ S 12) 。 また、 ラン ドマークを観測した場合 (ステップ S 1 3) 、 観測したランドマークが、 現在の環境地図のラン ドマークの状態 1 Lに存在 しない新しいランドマークであるかどうかを判断する (ステップ S 14 ) 。 そし て、 観測されたランドマークが新しいランドマークである場合 (ステップ S 14
: YE S) 、 ランドマーク状態 1Lに新しいラン ドマーク状態 ltmを追加する (ス テヅプ S 1 5 ) 。 一方、 観測されたラン ドマークが、 新しいランドマークでない 場合 (ステップ S 14 : NO) 、 再観測されたラン ドマークの状態 1 iを更新する
(ステップ S 1 6) 。 この処理を繰り返すことによって、 環境地図.を構築するこ とができる。
上記のステップ S 1 2, 1 5 , 1 6において、 即ち、 ステヅブ S 1 2において、 ロボッ ト装置 1が自身の動作を観測したとき、 ステヅプ S 15において、 新規ラ ン ドマークを観測したとき、 及びステヅブ S 1 6において、 ランドマークを再観 測したときに環境地図の再計算が行われる。 次に、 この環境地図の更新方法につ いて詳細に説明する。
A . ロボッ _ト装置が自身の動作を観—測した場合 CRobot Motion Observation) ロボヅ ト装置 1が動作した場合は、 拡張カルマンフィル夕の入力情報による更 新則により、 状態ベクトルの中央値、 共分散行列を次のように更新する。 観測さ れたロボヅ ト装置 1の移動量を m= (xm, ym, 0m) とすると、 上述のように、 ロボッ ト装置 1の移動量の観測量も統計的に扱うため、 ガウス分布を持つ確率密 度関数 p (m) によって下記式 ( 1 1 ) のように表現することができる。
p( )〜N( = (im,5)m,em)i,∑) . . . (11)
ここで、
^状態量の中央値
∑„,:状態量の共分散行列
ロボット装置 1の状態 1 rにおいて、 移動量 mの動作を行った後の、 ロボッ ト装 置 1の状態 1 は、 幾何学的に下記式 ( 1 2 ) で求めることができる。
Figure imgf000023_0001
上記式 ( 1 2) の右辺を関数 f ( 1, m) とする。 ロボヅ ト装置 1の動きによ つて、 ランドマークの状態 l L= ( l l 3 12, · · · , 1 n) τは影響を受けないの で、 環境地図の状態べク トル 1 = ( 1 r, 1 12, · · · , 1 n) ま、 変更され ない。 従って、 状態ベク トル 1の中央値は、 下記式 ( 13) となり、 共分散行列 は、 下記式 ( 14) となる。 これらの計算にかかる計算コストは 0 (n) である。
Figure imgf000024_0001
fv/;.∑„.v/,r + v/mmv/m r v/,.∑ v,.∑
11
2, ∑ (14)
In
ここで、
V/,. :iによって得られるヤコ ビアン
dr
V :^ "によって得られるヤコ ビアン
dm
B . 新規ランドマ一クを観測した場合 (New Landmark Observation) 新しいランドマークを観測した場合、 拡張カルマンフィル夕の入力情報による 更新則により、 状態ベクトル 1の中央値、 共分散行列を次のように再計算するこ とで、 環境地図を更新する。
新しく観測されたランドマークのロボッ ト装置 1からの相対的な位置を 0 =
(x, y) とすると、 前述のように、 ランドマークの位置の観測量も統計的に扱 うため、 ガウス分布を持つ下記式 ( 1 5 ) に示す確率密度関数 p ( 0 ) によって 表現する。
p (ひ)〜 N^ = ( ,タ。ァ,∑。) (15) ここで、
^状態量の中央値
∑„:状態量の共分散行列 ロボヅ ト装置 1の状態 1 r二 (X , y , θ ) τにおいて、 新しいランドマーク 0 = (X , y) を観測した場合、 ランドマークのワールド座標系での位置 1 iは、 幾 何学的に下記式 ( 1 6) で求めることができる。
(16)
上式の右辺を関数 g (1, 0 ) とする。 新しいランドマークの観測によって、 ロボッ ト装置 1の状態 1 <■と既知のランドマークの状態 1L = (11 , 12j · · · ,
I n) Tは影響を受けない。 ランドマークの状態に新たに I nUを追加する。 従って. 状態ベクトル 1の中央値は、 下記式 ( 1 7) となり、 共分散行列は下記式 ( 1 8) となる。 これらの計算にかかかる計算コストは 0 (n) である。
Figure imgf000025_0002
Figure imgf000025_0001
Vg,: によって得られるヤコ ビアン
dr
。: · ^によって得られるヤコ ビアン
do
C . ランドマークの再観測(Landmark Re-Observation)
既知のランドマークを再観測した場合、 拡張カルマンフィルタの出力情報によ る更新則により、 状態ベクトル 1の中央値、 共分散行列を次のように再計算する ことで、 環境地図を更新する。
まず、 再観測されたランドマークのロボット装置 1からの相対的な位置を 0 = ( i , y i ) とすると、 前述のように、 ランドマークの位置の観測量も統計的に 扱うため、 ガウス分布を有する下記式 ( 1 9) に示す確率密度関数 p ( 0 ) によ つて表現することができる。
p(o)〜N(5,∑。) . . - (19)
ここで、
0:状態量の中央値
ΣΛ :状態量の共分散行列
次に、 拡張カルマンフィルタの出力情報による更新則により、 以下のように過 程すると、 状態量及び共分散行列は夫々下記式 (20) , (2 1) で更新される (
V = 0 - ο
Figure imgf000026_0001
W = Σ,ν/^Σ:1 w: w =
Figure imgf000026_0002
カルマンフィル夕ゲイン
' /J(} 与えられる観測誤差の中央値
∑,:∑„ =∑, + VH,∑,VHfで与えられる観測誤差の共分散行列
1 ^-1+ Wv · · · (20)
∑,-w∑w2 (21)
こで、 ある状態におけるランドマークの状態 1 iの観測値の理論値は、 幾何学 的に下記式 (2 2 ) により求めることができる。 この計算コストは〇 (n 2 ) であ る。
o = h\l )= Rl- Θ,. I — ) • · · (22) :ある状態 /におけるランドマーク /;の観測値の理論値
2 - 2 - 3 .環境地図構築例
図 1 5及び図 1 6は、 ロボット装置 1が環境内を歩き回ってランドマークの位 置を観測して構築した環境地図を示す図である。 図 1 5は、 同一形状 (外円及び 内円からなる) ランドマークを使用した場合であり、 図 1 6は、 図 8に示す異な る形状の幾何学パターンを組み合わせて得られるランドマークを使用した場合を 示す。
図 1 5に示す環境 4 4 0において、 L 1 1 i〜 L 1 1 6は、 本来のランドマーク の配置位置を示している。 このようなランドマーク L 1 1 〜!^ 1 1 6が配置され た環境 4 4 0内の各ランドマークを観測し、 ロボット装置 1が上述の方法により ランドマーク位置を推定した結果、 得られたランドマーク位置を L 1 2 〜 1 2 6に示す。 この推定誤差は 1 0 c m程度であった。
また、 図 1 6に示す環境 4 5 0においても、 図 1 5の場合と同様に、 ほぼ正確 に環境内のランドマーク位置を推定することができる。 また、 図 1 6に示すよう に、 図 8に示すような異なる形状の幾何学パターンを組み合わせたランドマーク を使用すると、 円形の場合と異なり、 そのランドマークが向く方向も検出するこ とができ、 ロボット装置 1は、 より精度が高い環境地図を構築することができる。
2 — 3 . 環境同定部(Environment Identif i cation)
次に、 環境同定部 4 0 4の環境同定方法について説明する。 環境同定部 4 0 4 では、 環境地図構築部 4 0 2から得られる環境地図 (map) を、 環境地図記憶部 4 0 3の環境地図データベースの環境地図 (登録済環境地図) と比較することによ つて、 ロボット装置 1が現在置かれている場所を同定する。 図 1 7は、 環境同定 部 404の環境同定方法を示すフローチャートである。
まず、 環境地図が入力されると、 その環境地図内のランドマークの数が、 例え ば 2つ等、 環境内のランドマークの最小設定数 (mi n) より大きいか否かが判 断される (ステヅプ S 2 1 ) 。 入力された環境地図内のランドマーク数が最小設 定数 (mi n) より大きい場合 (ステヅプ S 2 1 : YE S) 、 ランドマークの個 数が前回と変化したか否かが判定され (ステヅプ S 22 ) 、 前回とランドマ一ク の個数が変化している場合 (ステヅブ S 22 : YE S) は、 その環境地図を環境 地図データベースに登録されている環境地図群と比較し、 入力された環境地図に 類似した環境地図を探す (ステップ S 23) 。 そして、 類似した環境地図が一つ である場合 (ステヅプ S 24 : YE S) 、 環境 I Dとしてステップ S 24で適合 した環境地図の環境 I Dを代入する (ステヅプ S 25) 。
一方、 ステップ S 24にて、 類似した環境地図が 1つでない場合、 類似した環 境地図が複数あるか否かが判定され (ステップ S 27) 、 ステップ S 27にて複 数ある場合は、 環境 I Dとして曖昧 mbiguous) を代入する (ステップ S 2 8 ) t 一方、 ステップ S 27にて、 一致した環境地図が複数存在しない場合、 即ち、 類 似した環境地図が一つもなかった場合には、 環境 I Dとして不明 (unknown) を代 入する (ステップ S 29 ) 。
また、 ステヅプ S 2 1において、 入力された環境地図内のランドマーク数がラ ンドマークの最小設定数 (mi n ) よりも少ない場合 (ステップ S 2 1 : NO) にも、 ステヅプ S 29に進み、 環境 I Dとして不明 (unknown) を代入する。
また、 ステップ S 2 1において、 入力された環境地図内のランドマーク数が最 小設定数よりも大きい場合でも、 ステヅプ S 22において、 ランドマークの数が 前回と変化していないと判定された場合 (ステップ S 2 1 : Y E S , ステヅブ S 22 : NO) は、 入力された環境地図が変化しているか否か、 即ち、 ランドマー クの位置が変化しているか否かを判定し (ステップ S 2 6) 、 変化している場合 (ステップ S 26 : YE S) には、 ステツプ S 23に進み環境地図のマッチング を行う。 一方、 環境地図が変化してない場合 (ステップ S 26 : NO) には、 ス テヅプ S 30へ進む。 ステップ S 3 0では、 探索行動中か否かと前回の環境 I Dが不明 (unknown) で あつたか否かを判断する。 探索行動中が終了しており、 且つ、 前回の環境 I Dが 不明 (皿 known) であった場合 (ステップ S 3 0 : Y E S ) 、 入力された環境地図 に対する新しい環境 I Dと併せて環境地図データベースに登録し (ステップ S 3 1 ) 、 環境 I Dには新しく登録した環境 I Dを代入する (ステヅプ S 3 2 ) 。 一 方、 ステップ S 3 1において、 探索行動中であったり、 前回の環境 I Dが不明 (unknown) でなかったりした場合は、 環境 I Dとして、 前回の環境 I Dを代入す る (ステップ S 3 3 ) 。
そして、 最後に、 ステヅプ S 2 5、 ステップ S 2 8、 ステヅプ S 2 9、 ステヅ プ S 3 2、 又はステップ S 3 3にて代入された環境 I Dを出力する。 ステヅブ S 2 1及びステップ S 2 2の条件分岐は、 入力された環境地図が前回と変化してい ない場合に、 ステップ S 2 4の環境地図のマッチング処理をする手間を省くため である。
また、 ステップ S 3 0では、 後述する環境探索部 4 0 5がロボット装置 1の探 索行動状態の状態を管理し、 環境探索部 4 0 5により、 ランドマ一クの探索行動 が終了した場合に立てられる探索終了フラグにより探索終了か否かを判定する。
2 - 3 - 1 . 類似性の評価方法
次に、 ステヅプ S 2 4の処理において、 データベースの環境地図と入力された 環境地図の類似性を評価する方法について述べる。
本実施の形態においては、 環境地図間の類似性を数値化するために、 マハラノ ビス (Mahalanob i s ) 距離 Wを用いた。 マハラノビス距離とは、 2つの正規分布 X: Y間の距離を下記式 (2 3 ) で定義したものである。 最小マハラノビス距離 Wを マヅチング誤差として使用し、 この最小マハラノビス距離 Wが所定の閾値以下で あるか否かにより、 類似性を判定することができる。 下記 (2 3 ) において、 r がマハラノビス距離を示す。
r2 = (X - Yj∑-'(∑ - Y) (23) ここで、 二つの環境地図 (MAP 1 , MAP 2 ) を下記 ( 2 4 ) , ( 2 5 ) の ように表すときの 2つの環境地図間の距離 (マッチング誤差) Wを上記式 ( 2 3 ) により求める。
/,∑):MAP1 - · · (24) ',∑): MAP 2 . ■ · (25)
環境地図のワールド基準系の座標は、 地図毎に異なるため、 これらの二つの分 布の間には、 互いに回転、 併進移動の自由度が存在する。 従って、 MAP Iの座 標系と、 MAP 2の座標系との回転移動 (回転角) を ω、 併進移動を Τとすると、 MAP 1における MAP 2は、 下記式 ( 2 6 ) , ( 2 7 ) と表すことができる。
Figure imgf000030_0001
∑. =∑,. +Λ(ω)∑.Λ(ω/ · · · (27)
これを、 上記式 (2 3 ) に代入すると、 MAP I , MAP 2間の距離 (マヅチ ング誤差) Wは、 下記式 (2 8 ) となる。
Figure imgf000030_0002
- (R(o)'+r)) (28)
マツチング誤差 Wを求めるためには、 最終的にはマツチング誤差 Wを最小にす る回転角 ω、 併進移動 Τを求める必要がある。 これは、 非常に困難な問題である が、 仮に、 共分散値が一定である、 即ち下記式 (2 9 ) を仮定すると、 上記式 (2 8) は下記式 ( 30) で近似でき、 容易に解くことができる。 これにより、 最小となるマハラノビス距離 Wを求め、 上述のステップ S 2 3のマッチングにお けるマッチング誤差として使用し、 マツチング誤差 Wが所定の閾値以下である場 合に、 致であると判定する。
• · - (29)
-1 S
ω = tan "
Figure imgf000031_0001
丄,
n
/— '=丄
n
( -'
- . · .(30)
'
2 - 4. 環境地図記憶部(Database of Environment)
次に、 環境地図記憶部 403について説明する。 環境地図記憶部 40 3では、 環境地図構築部 40 2が出力する環境地図に環境 I Dを割り当てて、 これらをセ ヅ トにして記憶する。 環境 I Dには、 図 1 8に示すように、 各環境 (例えば、 E nv l〜Env 3) に対して、 重複しない正の整数 (例えば 1〜3) を設定する, また、 数字で表される環境 I Dに対して、 「夕ロウの部屋」 、 「花子の部屋」 、 「トイレ」 (W. C. ) 、 「台所」 といった環境名を付与することもできる。 環 境名は、 ロボッ ト装置とユーザとの対話等によって獲得する。 以下にロボット装 置とユーザとの対話例を示す。
対話例:
ロボッ ト装置: 「ここの名前を教えて」
ュ一ザ: 「ここは、 タロウの部屋、 だよ」 ロボット装置: 「わかった。 夕ロウの部屋、 だね」
環境地図及び環境 I Dは、 電源を切っても記憶しておく必要があるため、 ロボ ット装置 1本体のフラッシュメモリにファイルとして保存しておき、 再起動時に は、 このファイルを読み出すことによって、 環境地図データを復元する。 また、 これらの環境地図は、 すべてロボッ ト装置 1が動的に獲得したものである必要は なく、 ユーザが他の手段で編集、 又は登録してもよい。
2 — 5 . 環境探索部(Explorat ion/Robot Contro l )
次に、 環境探索部 4 0 5について説明する。 環境探索部 4 0 5では、 環境地図 を構築するために充分なランドマークを観測するために、 ロボット装置 1の行動 を制御しランドマークを探すとともに、 上述したように、 探索行動状態を通知す る。
本実施の形態における環境同定方法においては、 環境内の全てのランドマ一ク を観測し終わるまでは、 正確な環境同定をすることが難しい場合がある。 従って、 何らかの方法で、 環境内の全てのランドマークを観測し終わったことを知る必要 がある。 環境内の全てのランドマークを観測し終わったことを知る方法としては、 環境内に予め配置されるランドマークの個数を設定しておき、 ロボヅ ト装置 1が 設定された個数のランドマークを観測した時点で探索を終了する方法、 所定の時 間内環境内をランダムに移動させて全てのランドマークを観測させ、 探索を終了 する方法、 所定の位置で 3 6 0 ° 回転することによりランドマークを観測して探 索を終了する方法、 現在観測しているランドマーク位置まで移動し、 その位置で 3 6 0 ° 回転し、 更に、 その位置から観測されるランドマーク位置まで移動し、 その位置で再び 3 6 0 ° 回転するというような動作を繰り返し、 全てのランドマ ークを回るまで観測を続け探索を終了する方法、 若しくはオペレータによりロボ ヅ ト装置 1をリモートコントロールして、 全てのランドマ一クを観測させ探索を 終了する方法、 又はこれらの方法を組み合わせる等の方法がある。
ここでは、 ロボット装置 1とユーザとの対話により探索終了を知る方法、 環境 内のランドマークの個数を予め設定しておく方法、 所定の時間内環境内をランダ ムに移動する方法、 所定の位置で 3 6 0 ° 回転する方法、 及び発見したランドマ ーク全てを訪問する方法の 5つの特徴的な例で実験を行った結果について説明す る。
2— 5— 1 . ユーザによる指示対話
ロボヅ ト装置 1がユーザのリモートコントロールによる指示、 又はロボヅ ト装 置 1の意思によって環境内を動き回つている状況において、 ユーザとの対話によ つて、 環境内のランドマークをすベて観測し終わったことを認識する。
ロボッ ト装置 1 とユーザとの対話によるシーケンス例を以下に示す。
対話例:
ロボヅ ト装置: 「ランドマ一クは 4つでいいの?」
ユーザ: 「違うよ。 ランドマークの数は、 6個だよ。 」
ロボヅ ト装置: 「じゃあと 2つだね。 」
ユーザ: 「そうだよ。 」
ロボッ ト装置: ランドマークを探しに行く。
ロボヅ ト装置: 「ランドマ一クは 6つでいいの?」
ユーザ: 「そうだよ。 」
2 - 5 - 2 . 環境内のランドマークの数を固定した場合
ある一つの環境内に存在するランドマ一クの数 Nを固定し、 ロボ'ッ ト装置 1は N個のランドマークを発見するまでは、 探索行動状態であるとする。 ロボッ ト装 置 1の環境地図に含まれるランドマークの数が N個以上になった場合、 探索行動 状態から抜け、 探索終了フラグを立てる。 例えば図 1 9に示すような環境の場合、 ランドマークの数が 4個に設定されているため、 ロボヅ ト装置 1は、 4個のラン ドマークを発見するまでは探索行動状態であるとし、 探索を続ける。
2 - 5 - 3 . 所定の時間内環境内をランダムに移動する場合
ロボッ ト装置 1は環境内をランダムに移動し、 所定の時間内で発見できるだけ のランドマークを発見する。 所定の時間が経過した場合、 探索行動状態から抜け、 探索終了フラグを立てる。 例えば、 図 1 9のような環境の場合、 ロボット装置 1 は、 所定の時間 (例えば数分間) だけ探索行動を行う。 なお、 この所定の時間と しては、 環境の広さやランドマークの数等を考慮して設定することが好ましい。
2 - 5 - 4 . 所定の位置で 3 6 0 ° 回転する場合
ロボット装置 1は所定の位置 (例えば環境の中央付近) で 3 6 0 ° 回転し、 ラ ン ドマ一クを観測して探索を終了する。 例えば図 1 9に示すような環境の場合/ ロボヅ ト装置 1は、 所定の位置で 3 6 0 ° 回転し、 観測可能なランドマーク L 2 0〜L 2 2を発見した時点で探索行動を終了する。 なお、 図 1 9の場合、 ロボッ ト装置 1は、 ランドマーク L 2 3を発見することができない。
2— 5— 5 . ラン ドマーク探索行動
環境内のラン ドマークを可能な限り発見するために、 発見した全てのランドマ —クを訪問して歩いていく。 先ず、 環境内のある地点からスタートし、 ランダム に歩き回り、 そこで周りを 3 6 0度見渡す。 そこで発見,したランドマークを訪問 待ち行列とする。 次に、 訪問待ち行列から一つを選んで、 そのラン ドマークまで 歩いていき、 ラン ドマークに到達したら訪問待ち行列からそのラン ドマークを削 除し、 ラン ドマーク付近で周りを全て見渡し、 新しいランドマークを発見する。 新しく発見されたラン ドマークは、 訪問待ち行列に追加する。 これを繰り返して、 訪問待ち行列が空になるまでランドマークを訪問して歩く。 他のどのランドマー クからも観測不可能なランドマークがない場合は、 このような戦略で環境内の全 てのランドマークを発見することができる。 例えば図 1 9に示すような環境の場 合、 先ず、 周りを 3 6 0 ° 見渡して発見できるラン ドマーク L 2 0〜L 2 2が訪 問待ち行列となり、 訪問待ち行列から一つを選んで、 そのラン ドマークまで歩い ていく。 そして、 ラン ドマーク L 2 2の付近で周りを見渡すことで新たなランド マーク L 2 3を発見し、 訪問待ち行列に追加する。
本実施の形態においては、 ロボッ ト装置 1は、 形状及び/又は色等により異な る複数の人工的なラン ドマークが存在する一意に特定可能な環境内のランドマー クを認識するラン ドマークセンサ (ラン ドマーク認識手段) 、 及びこのランドマ ークセンサによって獲得したランドマーク情報を記憶する記憶手段、 ロボッ ト装 置 1 自身の行動を記憶する行動記憶手段を有しており、 ランドマークセンサと行 動記憶装置とから幾何的な環境地図を構築することができる。
また、 ロボッ ト装置 1は、 ランドマークの観測に基づき構築した現在の環境地 図 Nと、 環境地図記憶部 4 0 3に記憶された既知の環境地図群とを比較すること によって、 ロボヅ ト装置 1が現在置かれている環境を同定することができる。 既 知の環境地図は、 ユーザが作成して環境地図記憶部 4 0 3に供給してもよいし、 ロボッ ト装置 1自身によって学習されたものであってもよい。 即知の環境地図は 個々のランドマークの位置 (X , y ) を有しており、 環境地図の比較は、 現在観 測している現在の環境地図におけるランドマークの位置と、 既知の環境地図にお けるランドマークの位置とを比較し、 それらの類似性を評価することにより行う ことができる。
更に、 ロボット装置 1は、 環境探索部 4 0 5により、 環境を探索し、 探索が終 了したことを告げるロボッ ト制御手法により環境地図を構築し、 この環境地図と、 記憶装置に保存されている環境地図との類似度を出力して、 類似度がある閾値を 超えた環境地図の環境 I Dを出力することにより環境を同定すると共に、 探索が 終了し、 データベースに類似する環境地図がない場合には、 新しい環境地図と環 境 I Dを環境地図記憶部 4 0 3に追加することができる。
更にまた、 このように、 一意に特定可能な複数に分割した環境地図を有するこ とによって、 ロボット装置 1が物理的に離れた複数の環境 (例えば、 物理的に距 離が離れた場所にある部屋 Aと部屋; B ) を素早く識別することができ、 環境全て を大きな環境地図によって保持する手法に比べて、 計算負荷が少なく、 ランドマ ーク又はロボット装置の動きを観測した際の、 環境地図の更新時の計算 gも少な くてよい。 更に、 物理的に離れた場所にある場所 Aと場所 Bを違う環境地図 M a A , M a p Bとして記憶するため、 それらの場所の相対的な位置関係には関知 しなくてよい。 また、 全てのランドマークを認識しなくても、 ある程度の情報か ら現在の環境を同定することができる。 このように、 各環境毎に一つの環境地図 を構築し、 記憶手段に登録された環境地図群との比較をダイナミックに行うこと により、 素早く、 現在の環境を同定することができ、 各々の環境での自己位置同 定を行うことができる。
3 . ロボット装置の詳細
3 — 1 . ソフトウェア
.次に、 上述した図 4に示したロボッ ト装置 1が行動を決定するためのソフトゥ ヱァの構成及び動作について詳細に説明する。 図 2 0は、 図 4に示すソフ トゥェ ァ 3 0 0の動作を示すフローチヤ一トである。
図 4に示すソフトウエア 3 0 0のキネマティヅクオドメ トリ K I N E 3 1 0に は、 上述したように、 画像データ 3 0 1及びセンサデータ 3 0 2が入力される。 この画像データ 3 0 1は、 カラ一画像及びステレオカメラによる視差画像である ( また、 センサデ一夕は、 ロボッ ト装置 1の関節角等のデータである。 キネマティ ヅクオドメ ト リ K I N E 3 1 0は、 これらの入力データ 3 0 1 , 3 0 2を受け取 り、 メモリに格納されていたそれまでの画像及びセンサデ一夕を更新する (ステ ヅプ S 1 0 1 ) 。
次に、 これら画像データ 3 0 1 とセンサデータ 3 0 2 との時間的な対応を取る (ステップ S 1 0 2— 1 ) 。 即ち、 画像デ一夕 3 0 1の画像が撮像された時間に おけるセンサデータ 3 0 2の関節角を割り出す。 次いで、 この関節角のデータを 使用してロボツ ト装置 1が中心に固定されたロボッ ト中心座標系を頭部ュニッ ト に設けられたカメラの座標系へ変換する (ステツプ S 1 ◦ 2— 2 ) 。 この場合、 本実施の形態においては、 ロボッ ト中心座標系からカメラ座標系の同時変換行列 等を導出し、 この同時変換行列 3 1 1 とこれに対応する画像データとを画像認識 を行うオブジェク トへ送信する。 即ち、 同時変換行列 3 1 1及びこれに対応する 視差画像 3 1 2を平面抽出部 P L E X 3 2 0へ出力し、 同時変換行列 3 1 1及び カラ一画像 3 1 3をランドマークセンサ部 C L S 3 4 0へ出力する。
また、 センサデータ 3 0 2から得られる歩行パラメ一夕と、 足底センサを使用 した歩数のカウント数とからロボッ ト装置 1の移動量を算出し、 ロボッ ト装置 1 のロボッ ト中心座標系における移動量を算出する。 以下、 ロボッ ト中心座標系の 移動量をォドメ ト リともいう。 このォドメ トリ 3 1 4を障害物グリ ッ ド算出部 0 G 3 3 0及び絶対座標算出部 L Z 3 5 0へ出力する。
平面抽出部 P L E X 3 2 0は、 キネマティ ックオドメ ト リ K I N E 3 1 ◦にて 算出された同時変換行列 3 1 1 と、 これに対応するステレオカメラから得られる 視差画像 3 1 2 とが入力されると、 それまでメモリに格納されていたこれらのデ 一夕を更新する (ステップ S 1 0 3 ) そして、 ステレオカメラのキヤリブレー ションパラメ一夕等を使用して視差画像 3 1 2から 3次元の位置データ (レンジ デ一夕) を算出する (ステヅプ S 1 0 4 - 1 ) 。 次いで、 このレンジデータから ハフ変換等を使用して、 例えば壁及びテーブル等の平面を除く平面を平面として 抽出する。 また、 座標変換行列 3 1 1からロボヅ ト装置 1の足底が接地している 平面との対応を取り、 床面を選択し、 床面上にない点、 例えば所定の閾値よりも 高い位置にあるもの等を障害物として床面からの距離を算出し、 この障害物情報 (obstacle) 32 1を障害物グリッ ド算出部 330に出力する (ステヅプ S 1 0 4一 2 ) 。
障害物グリッド算出部〇 G 330では、 上述したように、 キネマティックォド メ トリ K I NE 3 1 0にて算出されたォドメトリ 3 14と、 平面抽出部 P LEX 320にて算出された障害物の観測情報 (障害物情報) 32 1とが入力されると、 メモリに格納されていたそれまでのデ一夕を更新する (ステップ S 1 05) 。 そ して、 床面上に障害物があるか否かの確率を保持する障害物グリツドを確率的手 法により更新する (ステップ S 10 6 ) 。
この障害物グリッ ド算出部 OG 330は、 ロボッ ト装置 1を中心とした例えば 周囲 4mの障害物情報 (環境地図) と、 口ポッ ト装置 1の向く方角を示す姿勢情 報とを保持しており、 確率的手法により環境地図を更新し、 この更新した認識結 果 (障害物情報 33 1 ) を出力することにより、 上位レイヤ、 即ち、 本実施の形 態においては、 経路計画決定部 SB L 360にて障害物を回避する計画を作成す ることができる。
ランドマークセンサ部 CL S 340は、 キネマティヅクオドメ トリ K I NE 3 1 0から同時変換行列 3 1 1及びカラー画像 3 1 3が入力されると、 予めメモリ 内に格納されていたこれらのデ一夕を更新する (ステップ S 1 07) 。 そして、 カラー画像 3 1 3の画像処理を行って、 予め認識しているカラーランドマ一クを 検出する。 このカラ一ランドマ一クのカラー画像 3 1 3上での位置及び大きさを カメラ座標系での位置に変換する。 更に、 同時変換行列 3 1 1を使用し、 カラー ランドマークのカメラ座標系での位置をロボッ ト中心座標系における位置に変換 し、 ロボット中心座標系におけるカラ一ランドマーク位置の情報 (カラーランド マーク相対位置情報) 34 1を絶対座標算出部 L Z 350に出力する (ステップ S 1 08 ) 。
絶対座標算出部 L Z 350は、 キネマティヅクオドメ トリ K I NE 3 1 0から のォドメ トリ 3 14と、 ランドマークセンサ部 C L S 340からのカラ一ランド マーク相対位置情報 34 1とが入力されると、 予めメモリ内に格納されていたこ れらのデータが更新される (ステップ S 1 0 9 ) 。 そして、 絶対座標算出部 L Z 3 5 0が予め認識しているカラーランドマークの絶対座標 (ワールド座標系での 位置) 、 カラーランドマーク相対位置情報 3 4 1、 及びォドメ トリ 3 1 4を使用 し、 確率的手法によりロボッ ト装置 1の絶対座標 (ワールド座標系での位置) を 算出する。 そして、 この絶対座標位置 3 5 1を経路計画決定部 S B L 3 6 0に出 力する。
経路計画決定部 S B L 3 6 0は、 障害物グリッド算出部 O G 3 3 0から障害物 グリッ ド情報 3 3 1が入力され、 絶対座標算出部 L Z 3 5 ◦から絶対座標位置 3 5 1が入力されると、 予めメモリに格納されていたこれらのデータが更新される (ステップ S 1 1 1 ) 。 そして、 経路計画決定部 S B L 3 6 0は、 障害物グリヅ ド算出部 0 G 3 3 0からの障害物情報 3 3 1により、 ロボヅト装置 1の周囲に存 在する障害物に関する認識結果を取得し、 絶対座標算出部 L Z 3 5 0から現在の ロボッ ト装置 1の絶対座標を取得することにより、 絶対座標系又はロボット装置 中心のロボッ ト中心座標系で与えられた目標地点に対して障害物に衝突せずに歩 行可能な経路を生成し、 経路に応じて経路を遂行する動作コマンドを発行'する。 即ち、 入力データから状況に応じてロボヅト装置 1が取るべき行動を決定し、 そ の行動列を出力する (ステップ S 1 1 2 ) 。
また、 人間によるナビゲーシヨンの場合には、 障害物グリッド算出部 O G 3 3 0からロボッ ト装置の周囲に存在する障害物に関する認識結果及び絶対座標算出 部 L Z 3 5 0からの現在のロボッ ト装置 1の位置の絶対座標をユーザに提供し、 このユーザからの入力に応じて動作コマンドを発行させる。
図 2 1は、 上述のソフトウエアに入力されるデータの流れを模式的に示す図で ある。 なお、 図 2 1において、 図 3及び図 4に示す構成と同一構成要素には同一 符号を伏してその詳細な説明は省略する。
顔検出部 F D T ( F a c e D e t e c t o r ) 3 7 1は、 画像フレーム中から 顔領域を検出するォブジェクトであり、 カメラ等の画像入力装置からカラ一画像 2 0 2を受け取り、 それを例えば 9段階のスケール画像に縮小変換する。 この全 ての画像の中から顔に相当する矩形領域を探索する。 重なりあった候補領域を削 減して最終的に顔と判断された領域に関する位置、 大きさ、 及び特徴量等の情報 372を出力して、 顔識別部 F I (F a c e l d e nt i f y) 377へ送る。 顔識別部 F I 377は、 検出された顔画像を識別するォブジヱクトであり、 顔 の領域を示す矩形領域画像からなる情報 372を顔検出部 FDT 37 1から受け 取り、 この顔画像がメモリに格納されている手持ちの人物辞書のうちでどの人物 に相当するかを比較して人物の識別を行う。 そして、 顔検出部 EDT 37 1から 受け取った顔画像の顔画像領域の位置、 大きさ情報と共に人物の I D情報 378 を D I L 379に出力する。
色認識部 M CT (Mu l t i C o l o r Tr a cke r) 373は、 色認識を 行うオブジェクトであり、 カメラ等の画像入力装置からカラー画像 2 02を受け 取り、 予め保有している複数のカラ一 ·モデル情報に基づいて色領域を抽出し、 連続した領域に分割する。 色認識部 MCT 373は、 分割した各領域の位置、 大 きさ及び特徴量等の情報 374を距離情報付加部 D I L (D i s t anc e l n f o rmat i onL i nke r) 379に出力する。
動き検出部 MD T (Mo t i onD e t e c t o r) 375は、 画像の中で動 いている部分を検出するォブジェク トであり、 検出した動き領域の情報 376を 挙値情報付加部 D I L 379に出力する。
距離情報付加部 D I L 379は、 入力された 2次元の情報に距離情報を付加し て 3次元の情報を出力するオブジェクトであり、 顔検出部 F I 377からの I D 情報 378、 色認識部 MC T 373からの分割した各領域の位置、 大きさ及び特 徴量等の情報 374並びに動き検出部 MD T 375からの動き領域の情報 376 に距離情報を付加して 3次元情報 380を短期記憶部 STM (Sho r t T e r ιηΜ Θ m o r y) 38 1に出力する。
短期記憶部 S TM 38 1は、 ロボッ ト装置 1の外部環境に関する情報を比較的 短い時間だけ保持するオブジェクトであり、 Ar t hurD e c o d e r (図示 せず) から音声認識結果 (単語、 音源方向、 確信度) を受け取り、 色認識部 MC T 373から肌色の領域の位置、 大きさと顔領域の位置、 大きさを受け取り、 顔 識別部 F I 377から人物の I D情報等を受け取る。 また、 ロボヅ ト装置 1の機 体上の各センサからロボット装置の首の方向 (関節角) を受け取る。 そして、 こ れらの認識結果及びセンサ出力を統合的に使って、 現在どこにどの人物がいて、 しゃべった言葉がどの人物のものであり、 その人物とはこれまでにどんな対話を 行ったのかという情報を保存する。 こうした物体、 即ちターゲッ トに関する物理 情報と時間方向でみたイベント (履歴) を出力として、 経路計画決定部 (状況依 存行動階層) (S B L ) 3 6◦等の上位モジュールに渡す。
経路計画決定部 S B Lは、 上述の短期記憶部 S T M 3 8 1からの情報を基に口 ボッ ト装置 1の行動 (状況に依存した行動) を決定するオブジェクトである。 複 数の行動を同時に評価したり、 実行したりすることができる。 また、 行動を切り 替えて機体をスリーブ状態にしておき、 別の行動を起動することができる。
3 - 2 . ロボッ ト装置の構成
以下、 本発明の実施の形態における上述した環境同定装置を搭載した図 1に示 すような 2足歩行タイプのロボット装置について詳細に説明する。 この人間型の ロボット装置は、 住環境その他の日常生活上の様々な場面における人的活動を支 援する実用ロボッ トであり、 内部状態 (怒り、 悲しみ、 喜び、 楽しみ等) に応じ て行動できるほか、 人間が行う基本的な動作を表出できるエンターティンメント ロボヅトである。
上述したように、 図 1に示すロボッ ト装置 1は、 体幹部ュニット 2の所定の位 置に頭部ュニヅ ト 3が連結されると共に、 左右 2つの腕部ュニッ ト 4 R / Lと、 左右 2つの脚部ュニット 5 R / Lが連結されて構成されている。
このロボット装置 1が具備する関節自由度構成を図 2 2に模式的に示す。 頭部 ユニット 3を支持する首関節は、 首関節ョ一軸 1 0 1と、 首関節ピッチ軸 1 0 2 と、 首関節ロール軸 1 0 3という 3自由度を有している。
また、 上肢を構成する各々の腕部ュニヅ ト 4 R / Lは、 肩関節ピッチ軸 1 0 7 と、 肩関節ロール軸 1 0 8と、 上腕ョー軸 1 0 9と、 肘関節ピヅチ軸 1 1 0と、 前腕ョー軸 1 1 1と、 手首関節ピヅチ軸 1 1 2と、 手首関節ロール輪 1 1 3と、 手部 1 1 4とで構成される。 手部 1 1 4は、 実際には、 複数本の指を含む多関節 •多自由度構造体である。 ただし、 手部 1 1 4の動作は、 ロボット装置 1の姿勢 制御や歩行制御に対する寄与や影響が少ないので、 本明細書ではゼロ自由度と仮 定する。 したがって、 各腕部は 7自由度を有するとする。
また、 体幹部ュニット 2は、 体幹ピッチ軸 1 0 4と、 体幹ロール軸 1 0 5と、 体幹ョー軸 1 0 6という 3自由度を有する。
また、 下肢を構成する各々の脚部ュニヅ ト 5 R / Lは、 股関節ョー軸 1 1 5と、 股関節ピヅチ軸 1 1 6と、 股関節口一ル軸 1 1 7と、 膝関節ピヅチ軸 1 1 8と、 足首関節ピヅチ軸 1 1 9と、 足首関節ロール軸 1 2 0と、 足部 1 2 1とで構成さ れる。 本明細書中では、 股関節ピヅチ軸 1 1 6と股関節ロール軸 1 1 7の交点は、 ロボット装置 1の股関節位置を定義する。 人体の足部 1 2 1は、 実際には多関節 ,多自由度の足底を含んだ構造体であるが、 ロボット装置 1の足底は、 ゼロ自由 度とする。 したがって、 各脚部は、 6自由度で構成される。
以上を総括すれば、 ロボ、 ト装置 1全体としては、 合計で 3 + 7 x 2 + 3 + 6 X 2 = 3 2自由度を有することになる。 ただし、 エンターテインメント向けの口 ボッ ト装置 1が必ずしも 3 2自由度に限定されるわけではない。 設計 ·制作上の 制約条件や要求仕様等に応じて、 自由度、 即ち関節数を適宜増減することができ ることはいうまでもない。
上述したようなロボッ ト装置 1がもつ各自由度は、 実際にはァクチユエ一タを 用いて実装される。 外観上で余分な膨らみを排してヒ卜の自然体形状に近似させ ること、 2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請か ら、 ァクチユエ一夕は小型且つ軽量であることが好ましい。
図 2 3には、 ロボッ ト装置 1の制御システム構成を模式的に示している。 同図 に示すように、 ロボット装置 1は、 ヒ トの四肢を表現した体幹部ユニッ ト 2, 頭 部ュニヅ ト 3, 腕部ュニ ヅ ト 4 R / L, 脚部ュニ ヅ ト 5 R / Lと、 各ュニヅ ト間 の協調動作を実現するための適応制御を行う制御ュニッ ト 1 0とで構成される。 ロボヅト装置 1全体の動作は、 制御ュニヅ ト 1 0によって統括的に制御される。 制御ュニヅ ト 1 0は、 C P U (Central Processing Unit) や、 D R A M、 フラヅ シュ R O M等の主要回路コンポーネント (図示しない) で構成される主制御部 1 1と、 電源回路やロボット装置 1の各構成要素とのデータゃコマンドの授受を行 うイン夕一フェイス (何れも図示しない) などを含んだ周辺回路 1 2とで構成さ れる。
本発明を実現するうえで、 この制御ユニット 1 0の設置場所は、 特に限定され ない。 図 2 3では体幹部ユニッ ト 2に搭載されているが、 頭部ユニッ ト 3に搭載 してもよい。 あるいは、 ロボヅ ト装置 1外に制御ユニット 1 0を配備して、 ロボ ヅ ト装置 1の機体とは有線又は無線で 信するようにしてもよい。
図 2 2に示したロボット装置 1内の各関節自由度は、 それそれに対応するァク チユエ一夕によって実現される。 即ち、 頭部ュニヅト 3には、 首関節ョー軸 1 0
I、 首関節ピッチ軸 1 02、 首関節ロール軸 1 0 3の各々を表現する首関節ョー 軸ァクチユエ一夕 A2、 首関節ピッチ軸ァクチユエ一夕 A3、 首関節ロール軸ァクチ ユエ一夕 A 4が配設されている。
また、 頭部ュニヅ ト 3には、 外部の状況を撮像するための C CD (Charge Cou pled Device) カメラが設けられているほか、 前方に位置する物体までの距離を測 定するための距離センサ、 外部音を集音するためのマイク、 音声を出力するため のスピーカ、 ユーザからの 「撫でる」 や 「叩く」 といった物理的な働きかけによ り受けた圧力を検出するためのタツチセンサ等が配設されている。
また、 体幹部ュニヅ ト 2には、 体幹ピヅチ軸 1 04、 体幹ロール軸 1 0 5、 体 幹ョ一軸 1 06の各々を表現する体幹ピヅチ軸ァクチユエ一夕 A5、 体幹ロール軸 ァクチユエ一夕 A6、 体幹ョー軸ァクチユエ一夕 A7が配設されている。 また、 体幹 部ュニヅ ト 2には、 このロボヅ ト装置 1の起動電源となるバヅテリを備えている。 このバヅテリは、 充放電可能な電池によって構成されている。
また、 腕部ュニヅ ト 4 R/Lは、 上腕ュニヅト 4 !R/Lと、 肘関節ュニット 4 2R/Lと、 前腕ュニヅト 43R/Lに細分化されるが、 肩関節ピッチ軸 1 07、 肩 関節口ール軸 1 0 8、 上腕ョー軸 1 09、 肘関節ピツチ軸 1 1 0、 前腕ョー軸 1
I I、 手首関節ピッチ軸 1 1 2、 手首関節ロール軸 1 1 3の各々表現する肩関節 ピヅチ軸ァクチユエ一夕 A8、 肩関節ロール軸ァクチユエ一夕 A9、 上腕ョー軸ァク チユエ一夕 Ai。、 肘関節ピッチ軸ァクチユエ一夕 A u、 肘関節ロール軸ァクチユエ 一 、 手首関節ピッチ軸ァクチユエ一夕 A13、 手首関節ロール軸ァクチユエ一 夕 A 14が配備されている。
また、 脚部ュニヅ ト 5 R/Lは、 大腿部ュニヅ ト 5 iR/Lと、 膝ュニヅ ト 52R /Lと、 脛部ユニッ ト 53R/Lに細分化されるが、 股関節ョー軸 1 1 5、 股関節 ピヅチ軸 1 1 6、 股関節ロール軸 1 1 7、 膝関節ピヅチ軸 1 1 8、 足首関節ピッ チ軸 1 1 9、 足首関節ロール軸 1 2 0の各々を表現する股関節ョ一軸ァクチユエ 一夕 A16、 股関節ピッチ軸ァクチユエ一夕 A 17、 股関節口一ル軸ァクチユエ一夕 A 18、 膝関節ピッチ軸ァクチユエ一夕 A13、 足首関節ピッチ軸ァクチユエ一夕 A20、 足首関節口ール軸ァクチユエ一夕 A 21が配備されている。 各関節に用いられるァク チユエ一夕 Α2, Α3···は、 より好ましくは、 ギア直結型で且つサーボ制御系をヮ ンチヅプ化してモー夕 ·ュニヅ ト内に搭載したタイプの小型 ACサーボ ·ァクチ ユエ一夕で構成することができる。 · 体幹部ユニット 2、 頭部ユニッ ト 3、 各腕部ユニッ ト 4R/L、 各脚部ュニヅ ト 5 R/Lなどの各機構ュニット毎に、 ァクチユエ一夕駆動制御部の副制御部 2 0 , 2 1 , 22 R/L , 23 R/Lが配備されている。 さらに、 各脚部ユニッ ト 5 R/Lの足底が着床したか否かを検出する接地確認センサ 30 R/Lを装着す るとともに、 体幹部ュニヅ ト 2内には、 姿勢を計測する姿勢センサ 3 1を装備し ている。
接地確認センサ 30 RZLは、 例えば足底に設置された近接センサ又はマイク 口 ·スイッチなどで構成される。 また、 姿勢センサ 3 1は、 例えば、 加速度セン ザとジャイロ ·センサの組み合わせによって構成される。
接地確認センサ 30 RZLの出力によって、 歩行 ·走行などの動作期間中にお いて、 左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することがで きる。 また、 姿勢センサ 3 1の出力により、 体幹部分の傾きや姿勢を検出するこ とができる。
主制御部 1 1は、 各センサ 30 R/L, 3 1の出力に応答して制御目標をダィ ナミヅ クに補正することができる。 より具体的には、 副制御部 20, 2 1 , 22 R/L , 23 R/Lの各々に対して適応的な制御を行い、 ロボヅ ト装置 1の上肢、 体幹、 及び下肢が協調して駆動する全身運動パターンを実現できる。
ロボヅ ト装置 1の機体上での全身運動は、 足部運動、 ZMP (Zero Moment Po int) 軌道、 体幹運動、 上肢運動、 腰部高さなどを設定するとともに、 これらの設 定内容にしたがった動作を指示するコマンドを各副制御部 20, 2 1, 22 R/ L, 23 R/Lに転送する。 そして、 各々の副制御部 20, 2 1 , · · '等では、 主制御部 1 1からの受信コマンドを解釈して、 各ァクチユエ一夕 A2, A3 · · '等 に対して駆動制御信号を出力する。 ここでいう 「ZMP」 とは、 歩行中の床反力 によるモーメントがゼロとなる床面上の点のことであり、 また、 「ZMP軌道」 とは、 例えばロボッ ト装置 1の歩行動作期間中に ZMPが動く軌跡を意味する。 なお、 ZMPの概念並びに ZMPを歩行ロボヅ トの安定度判別規範に適用する点 については、 Miomir Vukobratovic著 "LEGGED LOCOMOTION ROBOTS" (加藤一郎外 著 『歩行ロボットと人工の足』 (日刊工業新聞社) ) に記載されている。
以上のように、 ロボット装置 1は、 各々の副制御部 20 , 2 1 , · · '等が、 主制御部 1 1からの受信コマンドを解釈して、 各ァクチユエ一夕 A 2, A3 - · ' に 対して駆動制御信号を出力し、 各ユニッ トの'駆動を制御している。 これにより、 ロボッ ト装置 1は、 目標の姿勢に安定して遷移し、 安定した姿勢で歩行できる。 また、 ロボヅ ト装置 1における制御ュニヅト 1 0では、 上述したような姿勢制 御のほかに、 加速度センサ、 夕ツチセンサ、 接地確認センサ等の各種センサ、 及 び C CDカメラからの画像情報、 マイクからの音声情報等を統括して処理してい る。 制御ユニット 1 0では、 図示しないが加速度センサ、 ジャイロ 'センサ、 夕 ツチセンサ、 距離センサ、 マイク、 スピーカなどの各種センサ、 各ァクチユエ一 夕、 C CDカメラ及びバヅテリが各々対応するハブを介して主制御部 1 1と接続 されている。
主制御部 1 1は、 上述の各センサから供給されるセンサデ一夕や画像デ一夕及 び音声データを順次取り込み、 これらをそれぞれ内部ィンターフヱイスを介して D RAM内の所定位置に順次格納する。 また、 主制御部 1 1は、 バッテリから供 給されるバッテリ残量を表すバッテリ残量データを順次取り込み、 これを D R A M内の所定位置に格納する。 D RAMに格納された各センサデータ、 画像デ一夕、 音声データ及びバッテリ残量データは、 主制御部 1 1がこのロボット装置 1の動 作制御を行う際に利用される。
主制御部 1 1は、 ロボッ ト装置 1の電源が投入された初期時、 制御プログラム を読み出し、 これを DRAMに格納する。 また、 主制御部 1 1は、 上述のように 主制御部 1 1より D RAMに順次格納される各センサデータ、 画像データ、 音声 データ及びバッテリ残量デ一夕に基づいて自己及び周囲の状況や、 ユーザからの 指示及び働きかけの有無などを判断する。
さらに、 主制御部 1 1は、 この判断結果及び DRAMに格納した制御プログラ ムに基づいて自己の状況に応じて行動を決定するとともに、 当該決定結果に基づ いて必要なァクチユエ一夕を駆動させることによりロボッ ト装置 1に、 いわゆる 「身振り」 、 「手振り」 といった行動をとらせる。
このようにしてロボッ ト装置 1は、 制御プログラムに基づいて自己及び周囲の 状況を判断し、 ユーザからの指示及び働きかけに応じて自律的に行動できる。 • ところで、 このロボッ ト装置 1は、 内部状態に応じて自律的に行動することが できる。 上述の図 4、 図 2 0及び図 2 1に示したソフ トウェアは、 主にロボヅ ト 装置 1 が自律的に経路を生成するためのものである。 以下では、 ロボッ ト装置 1 における制御プログラム全体のソフ トウエア構成例について、 図 2 4乃至図 2 9 を用いて説明する。 なお、 この制御プログラムは、 予め、 ロボヅ ト装置 1内に設 けられたフラッシュ R◦ Mに格納されており、 ロボッ ト装置 1の電源投入初期時 において読み出される。
図 2 4において、 デバイス ' ドライノ ' ' レイヤ 4 0は、 制御プログラムの最下 位層に位置し、 複数のデバイス ' ドライバからなるデバイス ' ドライノ ' · セ ヅ ト 4 1から構成されている。 この場合、 各デバイス ' ドライノ は、 C C Dカメラや タィマ等の通常のコンピュ一夕で用いられるハードウェアに直接アクセスするこ とを許されたオブジェク トであり、 対応するハードウエアからの割り込みを受け て処理を行う。
また、 ロボティ ヅク ' サーバ ' オブジェク ト 4 2は、 デバイス · ドライノ ' レ ィャ 4 0の最下位層に位置し、 例えば上述の各種センサゃァクチユエ一夕 2 8 i〜
2 8 n等のハ一ドウエアにアクセスするためのィンターフェイスを提供するソフ ト ウェア群でなるバーチャル · ロボッ ト 4 3 と、 電源の切換えなどを管理するソフ トウエア群でなるパワーマネージャ 4 4と、 他の種々のデバイス ' ドライバを管 理するソフ トウェア群でなるデバイス ' ドライノ、 · マネージャ 4 5 と、 ロボッ ト 装置 1の機構を管理するソフ トウヱァ群でなるデザィンド ' ロボッ ト 4 6とから 構成されている。
マネージャ . オブジェク ト 4 7は、 ォブジェク ト · マネージャ 4 8及びサ一ビ ス · マネージャ 4 9から構成されている。 オブジェク ト · マネージャ 4 8は、 口 ボティ ヅク . サーバ · オブジェク ト 4 2、 ミ ドル ' ウェア ' レイヤ 5 0、 及びァ プリケ一シヨン . レイヤ 5 1に含まれる各ソフトウエア群の起動や終了を管理す るソフトウェア群であり、 サービス . マネージャ 4 9は、 メモリカードに格納さ れたコネクションフアイルに記述されている各ォブジェク ト間の接続情報に基づ いて各ォブジェク トの接続を管理するソフトウエア群である。
ミ ドル . ウェア · レイヤ 5 0は、 ロボティヅク · サーバ 'オブジェクト 4 2の 上位層に位置し、 画像処理や音声処理などのこのロボッ ト装置 1の基本的な機能 を提供するソフトウェア群から構成されている。 また、 アプリケーション ' レイ ャ 5 1は、 ミ ドル . ウェア · レイヤ 5 0の上位層に位置し、 当該ミ ドル · ウェア • レイヤ 5 0を構成する各ソフトウエア群によって処理された処理結果に基づい てロボッ ト装置 1の行動を決定するためのソフ トウエア群から構成されている。 なお、 ミ ドル · ウェア · レイヤ 5 0及びアプリケ一シヨン ' レイヤ 5 1の具体 的なソフ トウェア構成をそれそれ図 2 5に示す。
ミ ドル - ゥヱァ · レイヤ 5 0は、 図 2 5に示すように、 騒音検出用、 温度検出 用、 明るさ検出用、 音階認識用、 距離検出用、 姿勢検出用、 夕ツチセンサ用、 動 き検出用及び色認識用の各信号処理モジュール 6 0〜 6 8並びに入力セマンティ クスコンバータモジュール 6 9などを有する認識系 Ί 0と、 出力セマンティクス コンバータモジュール 7 8並びに姿勢管理用、 トラヅキング用、 モーション再生 用、 歩行用、 転倒復帰用、 L E D点灯用及び音再生用の各信号処理モジュール 7 1〜 7 7などを有する出力系 7 9とから構成されている。
認識系 Ί 0の各信号処理モジュール 6 0〜 6 8は、 ロボティ'ック 'サーバ ·ォ ブジェクト 4 2のバーチャル · ロボヅ ト 4 3により D R A Mから読み出される各 センサデータや画像データ及び音声データのうちの対応するデータを取り込み、 当該データに基づいて所定の処理を施して、 処理結果を入力セマンティクスコン バ一夕モジュール 6 9に与える。 ここで、 例えば、 バーチャル · ロボッ ト 4 3は、 所定の通信規約によって、 信号の授受或いは変換をする部分として構成されてい る。
入力セマンティクスコンバータモジュール 6 9は、 これら各信号処理モジユー ル 6 0 ~ 6 8から与えられる処理結果に基づいて、 「うるさい」 、 「暑い」 、 「明るい」 、 「ボールを検出した」 、 「転倒を検出した」 、 「撫でられた」 、 「叩かれた」 、 「ドミソの音階が閬こえた」 、 「動く物体を検出した」 又は 「障 害物を検出した」 などの自己及び周囲の状況や、 ユーザからの指令及び働きかけ を認識し、 認識結果をアプリケーション · レイヤ 41に出力する。
アプリケーシヨン · レイヤ 5 1は、 図 2 6に示すように、 行動モデルライブラ リ 80、 行動切換モジュール 8 1、 学習モジュール 82、 感情モデル 8 3及び本 能モデル 84の 5つのモジュールから構成されている。
行動モデルライブラリ 8 0には、 図 2 7に示すように、 「バヅテリ残量が少な くなつた場合」 、 「転倒復帰する」 、 「障害物を回避する場合」 、 「感情を表現 する場合」 、 「ボールを検出した場合」 などの予め選択されたいくつかの条件項 目にそれそれ対応させて、 それぞれ独立した行動モデルが設けられている。
そして、 これら行動モデルは、 それぞれ入力セマンティクスコンバータモジュ ール 6 9から認識結果が与えられたときや、 最後の認識結果が与えられてから一 定時間が経過したときなどに、 必要に応じて後述のように感情モデル 8 3に保持 されている対応する情動のパラメ一夕値や、 本能モデル 84に保持されている対 応する欲求のパラメ一夕値を参照しながら続く行動をそれそれ決定し、 決定結果 を行動切換モジュール 8 1に出力する。
なお、 この実施の形態の場合、 各行動モデルは、 次の行動を決定する手法とし て、 図 2 8に示すような 1つのノード (状態) NODE。〜NODEnから他のどの ノード N 0 D E。〜 N 0 D E nに遷移するかを各ノード N 0 D E。〜 N 0 D E nに間を 接続するアーク AR C i〜AR Cnlに対してそれそれ設定された遷移確率 P 〜卩。に 基づいて確率的に決定する有限確率オートマトンと呼ばれるァルゴリズムを用い る。
具体的に、 各行動モデルは、 それそれ自己の行動モデルを形成するノード NO D E。〜N〇 D E nにそれそれ対応させて、 これらノード NOD E。〜 NODE n毎に 図 2 9に示すような状態遷移表 9 0を有している。
この状態遷移表 9 0では、 そのノード NODE。~NODEnにおいて遷移条件と する入力イベント (認識結果) が 「入力イベント名」 の列に優先順に列記され、 その遷移条件についてのさらなる条件が 「データ名」 及び 「データ範囲」 の列に おける対応する行に記述されている。 したがって、 図 29の状態遷移表 9 0で表されるノード NODE 。。では、 「ボ ールを検出 (BA L L) 」 という認識結果が与えられた場合に、 当該認識結果と ともに与えられるそのボールの 「大きさ (SIZE) 」 が 「0から 1000」 の範囲である ことや、 「障害物を検出 (OBSTACLE) 」 という認識結果が与えられた場合に、 当 該認識結果とともに与えられるその障害物までの 「距離 (DISTANCE) 」 が 「0から 100」 の範囲であることが他のノードに遷移するための条件となっている。
また、 このノード NOD E!。。では、 認識結果の入力がない場合においても、 行 動モデルが周期的に参照する感情モデル 83及び本能モデル 84にそれぞれ保持 された各情動及び各欲求のパラメータ値のうち、 感情モデル 8 3に保持された 「喜び (Joy) 」 、 「驚き (Surprise) 」 又は 「悲しみ (Sadness) 」 の何れかの パラメータ値が 「50から 100」 の範囲であるときには他のノードに遷移することが できるようになつている。
また、 状態遷移表 9 0では、 「他のノードへの遷移確率」 の欄における 「遷移 ' 先ノード」 の行にそのノード N 0 D E。〜 N 0 D E nから遷移できるノード名が列記 されているとともに、 「入力イベント名」 、 「データ名」 及び 「データの範囲」 の列に記述された全ての条件が揃ったときに遷移できる他の各ノード NOD E。〜 NOD Enへの遷移確率が 「他のノードへの遷移確率」 の欄内の対応する箇所にそ れそれ記述され、 そのノード N 0 D E。〜NO D E nに遷移する際に出力すべき行動 が 「他のノードへの遷移確率」 の欄における 「出力行動」 の行に記述されている。 なお、 「他のノードへの遷移確率」 の欄における各行の確率の和は 1 0 0 [%] となっている。
したがって、 図 29の状態遷移表 9 0で表されるノード NODE i。。では、 例え ば 「ボールを検出 (BAL L) 」 し、 そのボールの 「S I Z E (大きさ) 」 が 「0から 1000」 の範囲であるという認識結果が与えられた場合には、 「30 [%] 」 の確率で 「ノード NO D E 12。 (node 120) 」 に遷移でき、 そのとき 「 ACT I O N l」 の行動が出力されることとなる。
各行動モデルは、 それそれこのような状態遷移表 90として記述されたノ一ド NODE。〜 NO DEnが幾つも繋がるようにして構成されており、 入力セマンテ ィクスコンバ一夕モジュール 6 9から認識結果が与えられたときなどに、 対応す るノード N O D E。〜N O D E nの状態遷移表を利用して確率的に次の行動を決定し. 決定結果を行動切換モジュール 8 1に出力するようになされている。
図 2 7に示す行動切換モジュール 8 1は、 行動モデルライブラリ 8 0の各行動 モデルからそれぞれ出力される行動のうち、 予め定められた優先順位の高い行動 モデルから出力された行動を選択し、 当該行動を実行すべき旨のコマンド (以下、 行動コマンドという。 ) をミ ドル ' ウェア ' レイヤ 5 0の出力セマンティクスコ ンバ一夕モジュール 7 8に送出する。 なお、 この実施の形態においては、 図 2 7 において下側に表記された行動モデルほど優先順位が高く設定されている。
また、 行動切換モジュール 8 1は、 行動完了後に出力セマンティクスコンパ'一 夕モジュ一ル 7 8から与えられる行動完了情報に基づいて、 その行動が完了した ことを学習モジュール 8 2、 感情モデル 8 3及び本能モデル 8 4に通知する。
一方、 学習モジュール 8 2は、 入力セマンティクスコンバータモジュ一ル 6 9 から与えられる認識結果のうち、 「叩かれた」 や 「撫でられた」 など、 ユーザか らの働きかけとして受けた教示の認識結果を入力する。
そして、 学習モジュール 8 2は、 この認識結果及び行動切換えモジュール 7 1 からの通知に基づいて、 「叩かれた (叱られた) 」 ときにはその行動の発現確率 を低下させ、 「撫でられた (誉められた) j ときにはその行動の発現確率を上昇 させるように、 行動モデルライブラリ 7 0における対応する行動モデルの対応す る遷移確率を変更する。
他方、 感情モデル 8 3は、 「喜び (Joy) 」 、 「悲しみ (Sadness) 」 、 「怒り (Anger) 」 、 「驚き (Surpri se) 」 、 「嫌悪 (Di sgust) 」 及び 「恐れ (Fea r) 」 の合計 6つの情動について、 各情動毎にその情動の強さを表すパラメータを 保持している。 そして、 感情モデル 8 3は、 これら各情動のパラメータ値を、 そ れそれ入力セマンティクスコンバ一夕モジュール 6 9から与えられる 「叩かれ た」 及び 「撫でられた」 などの特定の認識結果や、 経過時間及び行動切換モジュ ール 8 1からの通知などに基づいて周期的に更新する。
具体的には、 感情モデル 8 3は、 入力セマンティクスコンパ一夕モジュール 6 9から与えられる認識結果と、 そのときのロボット装置 1の行動と、 前回更新し てからの経過時間となどに基づいて所定の演算式により算出されるそのときのそ の情動の変動量を Δ Ε [ t ] 、 現在のその情動のパラメ一夕値を E [ t ] 、 その 情動の感度を表す係数を k eとして、 下記式 (3 1 ) によって次の周期におけるそ の情動のパラメ一夕値 E [ t + 1 ] を算出し、 これを現在のその情動のパラメ一 夕値 E [ t ] と置き換えるようにしてその情動のパラメータ値を更新する。 また、 感情モデル 8 3は、 これと同様にして全ての情動のパラメ一夕値を更新する。
E = [t + l] = E = [t]+ ke x ΑΕ [ΐ] . . . (3 1)
なお、 各認識結果や出力セマンティクスコンバ一タモジュール 7 8からの通知 が各情動のパラメ一夕値の変動量 Δ Ε [七 ] にどの程度の影響を与えるかは予め 決められており、 例えば 「叩かれた」 といった認識結果は 「怒り」 の情動のパラ メータ値の変動量厶 Ε [ t ] に大きな影響を与え、 「撫でられた」 といった認識 結果は 「喜び」 の情動のパラメータ値の変動量 Δ Ε [ t ] に大きな影響を与える ようになつている。
ここで、 出力セマンティクスコンパ一夕モジュール 7 8からの通知とは、 いわ ゆる行動のフィードバック情報 (行動完了情報) であり、 行動の出現結果の情報 であり、 感情モデル 8 3は、 このような情報によっても感情を変化させる。 これ は、 例えば、 「叫ぶ」 といった行動により怒りの感情レベルが下がるといったよ うなことである。 なお、 出力セマンティクスコンパ'一夕モジュール 7 8からの通 知は、 上述した学習モジュール 8 2にも入力されており、 学習モジュール 8 2は、 その通知に基づいて行動モデルの対応する遷移確率を変更する。
なお、 行動結果のフィードバヅクは、 行動切換モジュール 8 1の出力 (感情が 付加された行動) によりなされるものであってもよい。
一方、 本能モデル 8 4は、 「運動欲 (exerc ise) 」 、 「愛情欲 (affecti on) 」、 「食欲 (appet ite) 」 及び 「好奇心 (curi osi ty) 」 の互いに独立した 4つの欲求 について、 これら欲求毎にその欲求の強さを表すパラメータを保持している。 そ して、 本能モデル 8 4は、 これらの欲求のパラメータ値を、 それぞれ入力セマン ティクスコンバータモジュール 6 9から与えられる認識結果や、 経過時間及び行 動切換モジュール 8 1からの通知などに基づいて周期的に更新する。
具体的には、 本能モデル 84は、 「運動欲」 、 「愛情欲」 及び 「好奇心」 につ いては、 認識結果、 経過時間及び出力セマンティクスコンバータモジュール 7 8 からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の 変動量を Δ Ι [k] 、 現在のその欲求のパラメ一夕値を I [k] 、 その欲求の感 度を表す係数 kiとして、 所定周期で下記式 (32) を用いて次の周期におけるそ の欲求のパラメ一夕値 I [k+ 1 ] を算出し、 この演算結果を現在のその欲求の パラメータ値 I [k] と置き換えるようにしてその欲求のパラメ一夕値を更新す る。 また、 本能モデル 84は、 これと同様にして 「食欲」 を除く各欲求のパラメ 一夕値を更新する。
l[k+l]= l[k]+kixM[k\ . . . (32)
なお、 認識結果及び出力セマンティクスコンバータモジュール 7 8からの通知 などが各欲求のパラメータ値の変動量 ΔΙ [k] にどの程度の影響を与えるかは 予め決められており、 例えば出力セマンティクスコンパ一夕モジュール Ί 8から の通知は、 「疲れ」 のパラメータ値の変動量 ΔΙ [k] に大きな影響を与えるよ うになつている。
なお、 本実施の形態においては、 各情動及び各欲求 (本能) のパラメータ値が それそれ 0から 1 00までの範囲で変動するように規制されており、 また係数 k e、 kiの値も各情動及び各欲求毎に個別に設定されている。
一方、 ミ ドル ' ウェア · レイヤ 5 0の出力セマンティクスコンバー夕モジユー ル 78は、 図 2 6に示すように、 上述のようにしてアプリケーション ' レイヤ 5 1の行動切換モジュール 8 1から与えられる 「前進」 、 「喜ぶ」 、 「鳴く」 又は 「トラッキング (ボールを追いかける) 」 といった抽象的な行動コマンドを出力 系 79の対応する信号処理モジュール 7 1〜7 7に与える。 そしてこれら信号処理モジュール 7 1〜 7 7は、 行動コマンドが与えられると 当該行動コマンドに基づいて、 その行動をするために対応するァクチユエ一夕に 与えるべきサーボ指令値や、 スピー力から出力する音の音声データ及び又は L E Dに与える駆動データを生成し、 これらのデ一夕をロボティヅク ·サーバ ·ォブ ジェクト 4 2のバーチャル · ロボット 4 3及び信号処理回路を順次介して対応す るァクチユエ一夕又はスピーカ又は L E Dに順次送出する。
このようにしてロボヅ ト装置 1は、 上述した制御プログラムに基づいて、 自己 (内部) 及び周囲 (外部) の状況や、 ユーザからの指示及び働きかけに応じた自 律的な行動ができる。
このような制御プログラムは、 ロボッ ト装置 1が読取可能な形式で記録された 記録媒体を介して提供される。 制御プログラムを記録する記録媒体としては、 磁 気読取方式の記録媒体 (例えば、 磁気テープ、 フレキシブルディスク、 磁気カー ド) 、 光学読取方式の記録媒体 (例えば、 C D— R O M、 M O、 C D - R , D V D ) 等が考えられる。 記録媒体には、 半導体メモリ (いわゆるメモリカード (矩 形型、 正方形型など形状は問わない。 ) 、 I Cカード) 等の記憶媒体も含まれる また、 制御プログラムは、 いわゆるインターネッ ト等を介して提供されてもよい これらの制御プログラムは、 専用の読込ドライバ装置、 又はパーソナルコンビ ユー夕等を介して再生され、 有線又は無線接続によってロボッ ト装置 1に伝送さ れて読み込まれる。 また、 ロボット装置 1は、 半導体メモリ、 又は I Cカード等 の小型化された記憶媒体のドライブ装置を備える場合、 これら記憶媒体から制御 プログラムを直接読み込むこともできる。
なお、 本発明は、 図面を参照して説明した上述の実施例に限定されるものでは なく、 添付の請求の範囲及びその主旨を逸脱することなく、 様々な変更、 置換又 はその同等のものを行うことができることは当業者にとって明らかである。 産業上の利用可能性 上述した本発明によれば、 環境内の全てのランドマークを認識しなくても、 あ る程度の情報から現在の環境を同定することができ、 更に、 全ての環境を一つの 環境地図モデルで表現する手法に比べて、 環境を一意に特定可能である範囲とし、 これらの環境地図を記憶することにより、 一つ一つの環境地図のデータ量が小さ くてよいと共に、 物理的に離れた場所にある場所 Aと場所 Bとを異なる環境地図 として記憶することにより、 場所の相対的な位置関係を関知する必要がない。

Claims

請求の範囲
1 . 1以上のランドマークが配置された環境内を移動するロボット装置であって、 上記 1以上のランドマークの観測結果及び上記ロボッ ト装置の移動状態量に基 づき、 1以上のランドマークの配置又は数により一意に特定可能な環境の環境地 図を構築する環境地図構築手段と、
上記環境地図が登録済環境地図として複数記憶された環境地図記憶手段と、 上記環境地図記憶手段に記憶されている上記登録済環境地図と、 上記環境地図 構築手段により構築された現在の環境地図とを比較して、 上記現在の環境が上記 登録済環境地図が示す環境であるか否かを判定する環境同定手段と
を有することを特徴とするロボッ ト装置。
2 . 1以上のランドマークが配置された環境内を移動体が移動して該環境を同定 する環境同定装置であって、
上記 1以上のランドマークの観測結果及び上記移動体の移動状態量に基づき、 1以上のランドマークの配置又は数により一意に特定可能な環境の環境地図を構 築する環境地図構築手段と、
上記環境地図が登録済環境地図として複数記憶された環境地図記憶手段と、 上記環境地図記憶手段に記憶されている上記登録済環境地図と、 上記環境地図 構築手段により構築された現在の環境地図とを比較して、 上記現在の環境が上記 登録済環境地図が示す環境であるか否かを判定する環境同定手段と
を有することを特徴とする環境同定装置。
3 . 請求の範囲第 2項記載の環境同定装置であって、
上記登録済環境地図は、 上記環境地図構築手段により構築された環境地図であ る
ことを特徴とする環境同定装置。
4 . 請求の範囲第 2項記載の環境同定装置であって、
上記環境地図は、 上記ランドマークの位置情報を有し、 上記環境地図記憶手段 は、 上記環境地図と共に該環境を識別する環境識別情報を記憶する
ことを特徴とする環境同定装置。
5 . 請求の範囲第 4項記載の環境同定装置であって、
上記環境同定手段は、 上記現在の環境地図と上記登録済環境地図との類似度を 算出し、 該類似度に基づき現在の環境を同定する
ことを特微とする環境同定装置。
6 . 請求の範囲第 5項記載の環境同定装置であって、
上記環境同定手段は、 上記現在の環境地図と上記登録済環境地図との類似度が 所定の閾値以上であるとき、 上記現在の環境を当該登録済環境地図が示す環境で あると同定して該登録済環境地図の上記環境識別情報を出力する
ことを特徴とする環境同定装置。
7 . 請求の範囲第 5項記載の環境同定装置であって、
上記環境同定手段は、 上記現在の環境地図と上記登録済環境地図との類似度が 所定の閾値未満であるとき、 該現在の環境地図を上記環境地図記憶手段に追加す る追加手段を有する
ことを特徴とする環境同定装置。
8 . 請求の範囲第 2項記載の環境同定装置であって、
上記一意に特定可能な環境内を探索する探索手段を有する
ことを特徴とする請求項 2記載の環境同定装置。
9 . 請求の範囲第 8項記載の環境同定装置であって、
上記探索手段の上記環境内の探索を終了するよう制御する探索終了制御手段を 有する
ことを特徴とする環境同定装置。
1 0 . 請求の範囲第 9項記載の環境同定装置であって、
上記探索終了制御手段は、 上記一意に特定可能な環境内にて所定数のランドマ —クが観測されたとき、 探索開始から所定期間経過したとき、 又は上記移動体を コントロールする使用者により上記環境内の探索を終了するよう指示されたとき に上記探索手段の探索を終了する
ことを特徴とする環境同定装置。
1 1 . 請求の範囲第 2項記載の環境同定装置であって、
上記一意に特定可能な環境は、 所定数のランドマ一クを有する ことを特徴とする環境同定装置。
1 2 . 請求の範囲第 2項記載の環境同定装置であって、
上記ランドマークは、 上記一意に特定可能な環境内にて一意に特定可能なもの である
ことを特徴とする環境同定装置。
1 3 . 請求の範囲第 2項記載の環境同定装置であって、
上記ランドマークは、 異なる形状及び/又は異なる色の複数の幾何学パターン が組み合わされたものである
ことを特徴とする環境同定装置。
1 4 . 請求の範囲第 1 3項記載の環境同定装置であって、
上記環境地図は、 上記ランドマークの位置情報と共に上記ランドマ一クの方向 を示す情報を有する
ことを特徴とする環境同定装置。
1 5 . 請求の範囲第 2項記載の環境同定装置であって、
上記移動体の移動状態量は、 該移動体の姿勢方向及び位置を示すものである ことを特徴とする環境同定装置。
1 6 . 請求の範囲第 2項記載の環境同定装置であって、
上記移動体は、 供給された入力情報に基づいて動作を行う自律型のロボッ ト装 置である
ことを特徴とする環境同定装置。
1 7 . 1以上のランドマークが配置された環境内を移動体が移動して該環境を同 定する環境同定方法であって、
上記 1以上のランドマ一クの観測結果及び上記移動体の移動状態量に基づき、 1以上のランドマークの配置又は数により一意に特定可能な環境の環境地図を構 築する環境地図構築工程と、
記憶手段に登録済環境地図として複数記憶された上記環境地図と、 上記環境地 図構築工程にて構築された現在の環境地図とを比較して、 上記現在の環境が上記 登録済環境地図が示す環境であるか否かを判定する環境同定工程と
を有することを特徴とする環境同定方法。
1 8 . 請求の範囲第 1 7項記載の環境同定方法であって、
上記環境地図記構築工程にて構築された環境地図を上記登録済環境地図として 上記記憶手段に記憶する記憶工程を有する
ことを特徴とする環境同定方法。
1 9 . 請求の範囲第 1 7項記載の環境同定方法であって、
上記環境地図は、 上記ランドマークの位置情報を有し、 上記記憶手段には、 上 記環境地図と共に該環境を識別する環境識別情報が記憶されている
ことを特徴とする環境同定方法。
2 0 . 請求の範囲第 1 9項記載の環境同定方法であって、
上記環境同定工程では、 上記現在の環境地図と上記登録済環境地図との類似度 が算出され、 該類似度に基づき現在の環境が同定される
ことを特徴とする環境同定方法。
2 1 . 請求の範囲第 2 0項記載の環境同定方法であって、
上記環境同定工程では、 上記現在の環境地図と上記登録済環境地図との類似度 が所定の閾値以上であるとき、 上記現在の環境を当該登録済環境地図が示す環境 であると同定して該登録済環境地図の上記環境識別情報が出力される
ことを特徴とする環境同定方法。
2 2 . 請求の範囲第 2 0項記載の環境同定方法であって、
上記環境同定工程では、 上記現在の環境地図と上記登録済環境地図との類似度 が所定の閾値未満であるとき、 該現在の環境地図が上記記憶手段に追加される ことを特徴とする環境同定方法。
2 3 . 請求の範囲第 1 7項記載の環境同定方法であって、
上記一意に特定可能な環境内を探索する探索工程を有する
ことを特徴とする環境同定方法。
2 4 . 請求の範囲第 2 3項記載の環境同定方法であって、
上記探索工程では、 上記一意に特定可能な環境内にて所定数のランドマークが 観測されたとき、 探索開始から所定期間経過したとき、 又は上記移動体をコント ロールする使用者により上記環境内の探索を終了するよう指示されたときに探索 が終了される ことを特徴とする環境同定方法。
2 5 . 1以上のランドマ一クが配置された環境内を移動体が移動して該環境を同 定する動作をコンピュー夕に実行させるためのプログラムであって、
上記 1以上のランドマークの観測結果及び上記移動体の移動状態量に基づき、 1以上のランドマークの配置又は数により一意に特定可能な環境の環境地図を構 築する環境地図構築工程と、
記憶手段に登録済環境地図として複数記憶された上記環境地図と、 上記環境地 図構築工程にて構築された現在の環境地図とを比較して、 上記現在の環境が上記 登録済環境地図が示す環境であるか否かを判定する環境同定工程と
を有することを特徴とするプログラム。
2 6 . 1以上のランドマークが配置された環境内を移動体が移動して該環境を同 定する動作をコンピュータに実行させるためのプログラムを記録したコンビユー 夕読み取り可能な記録媒体であって、
上記 1以上のランドマークの観測結果及び上記移動体の移動状態量に基づき、 1以上のランドマークの配置又は数により一意に特定可能な環境の環境地図を構 築する環境地図構築工程と、
記憶手段に登録済環境地図として複数記憶された上記環境地図と、 上記環境地 図構築工程にて構築された現在の環境地図とを比較して、 上記現在の環境が上記 登録済環境地図が示す環境であるか否かを判定する環境同定工程と
を有することを特徴とするプログラムを記録した記録媒体。
PCT/JP2003/010651 2002-08-26 2003-08-22 環境同定装置及び環境同定方法、並びにロボット装置 WO2004018159A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/525,431 US20060064202A1 (en) 2002-08-26 2003-08-22 Environment identification device, environment identification method, and robot device
EP03792808A EP1541295A1 (en) 2002-08-26 2003-08-22 Environment identification device, environment identification method, and robot device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002245614 2002-08-26
JP2002-245614 2002-08-26

Publications (1)

Publication Number Publication Date
WO2004018159A1 true WO2004018159A1 (ja) 2004-03-04

Family

ID=31944194

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/010651 WO2004018159A1 (ja) 2002-08-26 2003-08-22 環境同定装置及び環境同定方法、並びにロボット装置

Country Status (3)

Country Link
US (1) US20060064202A1 (ja)
EP (1) EP1541295A1 (ja)
WO (1) WO2004018159A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912583B2 (en) 2004-06-25 2011-03-22 Sony Corporation Environment map building method, environment map building apparatus and mobile robot apparatus
WO2011044298A2 (en) * 2009-10-06 2011-04-14 Escrig M Teresa Systems and methods for establishing an environmental representation
KR101058571B1 (ko) 2011-03-10 2011-08-23 주식회사 에스엠이씨 로봇의 위치인식을 위한 랜드마크
CN105818155A (zh) * 2015-01-26 2016-08-03 精工爱普生株式会社 机器人、机器人系统以及服务器
CN109885069A (zh) * 2019-03-31 2019-06-14 联想(北京)有限公司 一种数据处理方法及电子设备

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1894740B (zh) * 2003-12-12 2012-07-04 日本电气株式会社 信息处理系统、信息处理方法以及信息处理用程序
KR100561863B1 (ko) * 2004-02-19 2006-03-16 삼성전자주식회사 가상 센서를 이용한 로봇의 네비게이션 방법 및 장치
US7840308B2 (en) * 2004-09-10 2010-11-23 Honda Motor Co., Ltd. Robot device control based on environment and position of a movable robot
JP4348276B2 (ja) * 2004-11-02 2009-10-21 本田技研工業株式会社 ロボット制御装置
EP1834230A1 (en) * 2004-12-30 2007-09-19 Samsung Electronics Co., Ltd. A terminal data format and a communication control system and method using the terminal data format
US9534899B2 (en) 2005-03-25 2017-01-03 Irobot Corporation Re-localization of a robot for slam
JP4455417B2 (ja) * 2005-06-13 2010-04-21 株式会社東芝 移動ロボット、プログラム及びロボット制御方法
US8935006B2 (en) * 2005-09-30 2015-01-13 Irobot Corporation Companion robot for personal interaction
EP1804149B1 (en) * 2005-12-28 2011-05-18 ABB Research Ltd. Mobile robot
JP4751222B2 (ja) * 2006-03-23 2011-08-17 株式会社東芝 生活行動改善支援装置、生活行動改善支援方法及びプログラム
JP4675811B2 (ja) * 2006-03-29 2011-04-27 株式会社東芝 位置検出装置、自律移動装置、位置検出方法および位置検出プログラム
WO2008001275A2 (en) * 2006-06-30 2008-01-03 Philips Intellectual Property & Standards Gmbh Method of controlling the position of at least part of an autonomously moveable device
KR100791386B1 (ko) * 2006-08-18 2008-01-07 삼성전자주식회사 이동 로봇의 영역 분리 방법 및 장치
KR100823739B1 (ko) * 2006-12-08 2008-04-21 한국전자통신연구원 주변 환경 변화에 신속하게 적응하여 환경 지도를 작성할수 있는 이동체의 환경 지도 작성 장치 및 그 방법
JP4645601B2 (ja) * 2007-02-13 2011-03-09 トヨタ自動車株式会社 環境地図の生成方法及び移動ロボット
US8989468B2 (en) * 2007-05-25 2015-03-24 Definiens Ag Generating an anatomical model using a rule-based segmentation and classification process
JP5380789B2 (ja) 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2009093308A (ja) * 2007-10-05 2009-04-30 Hitachi Industrial Equipment Systems Co Ltd ロボットシステム
KR101457148B1 (ko) * 2008-05-21 2014-10-31 삼성전자 주식회사 로봇의 위치 추정 장치 및 그 방법
KR20100081881A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 데이터 매칭 장치, 데이터 매칭 방법, 및 이를 이용한 이동로봇
US20110169923A1 (en) * 2009-10-08 2011-07-14 Georgia Tech Research Corporatiotion Flow Separation for Stereo Visual Odometry
JP2011209019A (ja) * 2010-03-29 2011-10-20 Sony Corp ロボット装置及びロボット装置の制御方法
KR101366860B1 (ko) * 2011-09-20 2014-02-21 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
US8982217B1 (en) * 2012-01-31 2015-03-17 Google Inc. Determining states and modifying environments according to states
DE102012201870A1 (de) 2012-02-08 2013-08-08 RobArt GmbH Verfahren zum automatischen Auslösen einer Selbstlokalisierung
US9214021B2 (en) * 2012-10-09 2015-12-15 The Boeing Company Distributed position identification
CN103901884B (zh) * 2012-12-25 2017-09-29 联想(北京)有限公司 信息处理方法和信息处理设备
JP6127925B2 (ja) * 2013-11-11 2017-05-17 株式会社安川電機 ロボットシミュレーション装置、ロボットシミュレーション方法、およびロボットシミュレーションプログラム
US9846811B2 (en) * 2014-04-24 2017-12-19 Conduent Business Services, Llc System and method for video-based determination of queue configuration parameters
US9569693B2 (en) * 2014-12-31 2017-02-14 Here Global B.V. Method and apparatus for object identification and location correlation based on received images
EP3249419A4 (en) * 2015-01-22 2018-02-28 Guangzhou Airob Robot Technology Co., Ltd. Color block tag-based localization and mapping method and device thereof
US9574883B2 (en) * 2015-03-24 2017-02-21 X Development Llc Associating semantic location data with automated environment mapping
KR101697857B1 (ko) * 2015-04-08 2017-01-18 엘지전자 주식회사 이동 로봇 및 그의 위치인식방법
WO2016189896A1 (ja) * 2015-05-22 2016-12-01 富士フイルム株式会社 ロボット装置及びロボット装置の移動制御方法
US9754490B2 (en) 2015-11-04 2017-09-05 Zoox, Inc. Software application to request and control an autonomous vehicle service
US9507346B1 (en) 2015-11-04 2016-11-29 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
US10000124B2 (en) 2015-11-04 2018-06-19 Zoox, Inc. Independent steering, power, torque control and transfer in vehicles
US9630619B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Robotic vehicle active safety systems and methods
US10401852B2 (en) 2015-11-04 2019-09-03 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
US9734455B2 (en) 2015-11-04 2017-08-15 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
US10248119B2 (en) 2015-11-04 2019-04-02 Zoox, Inc. Interactive autonomous vehicle command controller
US9632502B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
US9494940B1 (en) 2015-11-04 2016-11-15 Zoox, Inc. Quadrant configuration of robotic vehicles
US9958864B2 (en) 2015-11-04 2018-05-01 Zoox, Inc. Coordination of dispatching and maintaining fleet of autonomous vehicles
US9910441B2 (en) 2015-11-04 2018-03-06 Zoox, Inc. Adaptive autonomous vehicle planner logic
US10334050B2 (en) 2015-11-04 2019-06-25 Zoox, Inc. Software application and logic to modify configuration of an autonomous vehicle
US9720415B2 (en) 2015-11-04 2017-08-01 Zoox, Inc. Sensor-based object-detection optimization for autonomous vehicles
US10496766B2 (en) 2015-11-05 2019-12-03 Zoox, Inc. Simulation system and methods for autonomous vehicles
US9804599B2 (en) 2015-11-04 2017-10-31 Zoox, Inc. Active lighting control for communicating a state of an autonomous vehicle to entities in a surrounding environment
US9916703B2 (en) 2015-11-04 2018-03-13 Zoox, Inc. Calibration for autonomous vehicle operation
US11283877B2 (en) 2015-11-04 2022-03-22 Zoox, Inc. Software application and logic to modify configuration of an autonomous vehicle
US10745003B2 (en) 2015-11-04 2020-08-18 Zoox, Inc. Resilient safety system for a robotic vehicle
US9606539B1 (en) 2015-11-04 2017-03-28 Zoox, Inc. Autonomous vehicle fleet service and system
US9878664B2 (en) 2015-11-04 2018-01-30 Zoox, Inc. Method for robotic vehicle communication with an external environment via acoustic beam forming
US9802661B1 (en) 2015-11-04 2017-10-31 Zoox, Inc. Quadrant configuration of robotic vehicles
WO2017079341A2 (en) 2015-11-04 2017-05-11 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
DE102016207089A1 (de) * 2016-04-26 2017-10-26 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Vergleichen zweier Karten mit darin hinterlegten Landmarken
EP3505310B1 (en) * 2016-08-25 2024-01-03 LG Electronics Inc. Mobile robot and control method therefor
US10338594B2 (en) * 2017-03-13 2019-07-02 Nio Usa, Inc. Navigation of autonomous vehicles to enhance safety under one or more fault conditions
US10423162B2 (en) 2017-05-08 2019-09-24 Nio Usa, Inc. Autonomous vehicle logic to identify permissioned parking relative to multiple classes of restricted parking
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10698413B2 (en) * 2017-12-28 2020-06-30 Savioke Inc. Apparatus, system, and method for mobile robot relocalization
US11022971B2 (en) 2018-01-16 2021-06-01 Nio Usa, Inc. Event data recordation to identify and resolve anomalies associated with control of driverless vehicles
US11035933B2 (en) 2018-05-04 2021-06-15 Honda Motor Co., Ltd. Transition map between lidar and high-definition map
DE102018004229A1 (de) * 2018-05-25 2019-11-28 Daimler Ag Verfahren zum Steuern eines zur Durchführung eines automatisierten Fahrbetriebs eingerichteten Fahrzeugsystems eines Fahrzeugs und Vorrichtung zur Durchführung des Verfahrens
CN110605713B (zh) * 2018-06-15 2023-06-27 科沃斯机器人股份有限公司 机器人定位方法、机器人及存储介质
US11076300B2 (en) * 2018-07-09 2021-07-27 Here Global B.V. Determining a plurality of potential installation positions
US11376743B2 (en) * 2019-04-04 2022-07-05 Joyhaptics Oy Systems and methods for providing remote touch
CN110032196B (zh) * 2019-05-06 2022-03-29 北京云迹科技股份有限公司 一种机器人回充方法及装置
US11348332B2 (en) 2019-09-25 2022-05-31 Toyota Research Institute, Inc. Object location analysis
US11388564B2 (en) * 2019-12-11 2022-07-12 Nec Corporation Infrastructure-free RF tracking in dynamic indoor environments
CN111618875A (zh) * 2020-06-09 2020-09-04 安徽励展文化科技有限公司 一种展厅机器人的定位导航系统
CN112270076B (zh) * 2020-10-15 2022-10-28 同济大学 一种基于智能体主动感知的环境模型构建方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363305A (en) * 1990-07-02 1994-11-08 Nec Research Institute, Inc. Navigation system for a mobile robot
JPH11175151A (ja) * 1997-12-09 1999-07-02 Fuji Electric Co Ltd 移動ロボットの制御方法、移動ロボットの制御装置、及び記録媒体
JP2000099145A (ja) * 1998-09-28 2000-04-07 Meidensha Corp 無人搬送車位置検出方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891762A (en) * 1988-02-09 1990-01-02 Chotiros Nicholas P Method and apparatus for tracking, mapping and recognition of spatial patterns
US5525883A (en) * 1994-07-08 1996-06-11 Sara Avitzour Mobile robot location determination employing error-correcting distributed landmarks
US6108597A (en) * 1996-03-06 2000-08-22 Gmd-Forschungszentrum Informationstechnik Gmbh Autonomous mobile robot system for sensor-based and map-based navigation in pipe networks
US5999866A (en) * 1996-11-05 1999-12-07 Carnegie Mellon University Infrastructure independent position determining system
RU2220643C2 (ru) * 2001-04-18 2004-01-10 Самсунг Гванджу Электроникс Ко., Лтд. Автоматическое чистящее устройство, автоматическая чистящая система и способ управления этой системой (варианты)
US6667592B2 (en) * 2001-08-13 2003-12-23 Intellibot, L.L.C. Mapped robot system
EP1441632B1 (en) * 2001-09-26 2013-05-01 F. Robotics Acquisitions Ltd. Robotic vacuum cleaner
GB0126497D0 (en) * 2001-11-03 2002-01-02 Dyson Ltd An autonomous machine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363305A (en) * 1990-07-02 1994-11-08 Nec Research Institute, Inc. Navigation system for a mobile robot
JPH11175151A (ja) * 1997-12-09 1999-07-02 Fuji Electric Co Ltd 移動ロボットの制御方法、移動ロボットの制御装置、及び記録媒体
JP2000099145A (ja) * 1998-09-28 2000-04-07 Meidensha Corp 無人搬送車位置検出方式

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912583B2 (en) 2004-06-25 2011-03-22 Sony Corporation Environment map building method, environment map building apparatus and mobile robot apparatus
WO2011044298A2 (en) * 2009-10-06 2011-04-14 Escrig M Teresa Systems and methods for establishing an environmental representation
WO2011044298A3 (en) * 2009-10-06 2011-08-18 Escrig M Teresa Systems and methods for establishing an environmental representation
KR101058571B1 (ko) 2011-03-10 2011-08-23 주식회사 에스엠이씨 로봇의 위치인식을 위한 랜드마크
CN105818155A (zh) * 2015-01-26 2016-08-03 精工爱普生株式会社 机器人、机器人系统以及服务器
CN105818155B (zh) * 2015-01-26 2021-03-23 精工爱普生株式会社 机器人、机器人系统以及服务器
CN109885069A (zh) * 2019-03-31 2019-06-14 联想(北京)有限公司 一种数据处理方法及电子设备

Also Published As

Publication number Publication date
US20060064202A1 (en) 2006-03-23
EP1541295A1 (en) 2005-06-15

Similar Documents

Publication Publication Date Title
WO2004018159A1 (ja) 環境同定装置及び環境同定方法、並びにロボット装置
JP3945279B2 (ja) 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置
JP2004110802A (ja) 環境同定装置、環境同定方法、プログラム及び記録媒体、並びにロボット装置
Niloy et al. Critical design and control issues of indoor autonomous mobile robots: A review
JP2004298977A (ja) 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置
JP3994950B2 (ja) 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
JP2003266345A (ja) 経路計画装置、経路計画方法及び経路計画プログラム並びに移動型ロボット装置
KR100898435B1 (ko) 로봇 장치 및 그 제어 방법
JP3968501B2 (ja) ロボットの自己位置同定システム及び自己位置同定方法
US7103447B2 (en) Robot apparatus, and behavior controlling method for robot apparatus
US6493606B2 (en) Articulated robot and method of controlling the motion of the same
JP6927938B2 (ja) クラウドサービスシステムを組み込んだロボットシステム
Cunha et al. Using a depth camera for indoor robot localization and navigation
JP3714268B2 (ja) ロボット装置
JP2003266349A (ja) 位置認識方法、その装置、そのプログラム、その記録媒体及び位置認識装置搭載型ロボット装置
JP4016180B2 (ja) 平面抽出方法、その装置、そのプログラム、その記録媒体及び撮像装置
JP2006205348A (ja) 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置
JP4535096B2 (ja) 平面抽出方法、その装置、そのプログラム、その記録媒体及び撮像装置
Kim et al. Providing services using network-based humanoids in a home environment
JP4449372B2 (ja) ロボット装置及びその行動制御方法
JP2003271958A (ja) 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置
JP2007219645A (ja) データ処理方法、データ処理装置およびプログラム
JP2003266348A (ja) ロボット装置及びその制御方法
JP2005271137A (ja) ロボット装置及びその制御方法
JP2003266352A (ja) ロボット装置及びロボット装置の制御方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003792808

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006064202

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10525431

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003792808

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2003792808

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10525431

Country of ref document: US