WO2005088244A9 - 平面検出装置、平面検出方法、及び平面検出装置を搭載したロボット装置 - Google Patents
平面検出装置、平面検出方法、及び平面検出装置を搭載したロボット装置Info
- Publication number
- WO2005088244A9 WO2005088244A9 PCT/JP2005/004839 JP2005004839W WO2005088244A9 WO 2005088244 A9 WO2005088244 A9 WO 2005088244A9 JP 2005004839 W JP2005004839 W JP 2005004839W WO 2005088244 A9 WO2005088244 A9 WO 2005088244A9
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- plane
- line segment
- distance data
- data point
- distance
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/024—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members specially adapted for moving on inclined or vertical surfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Definitions
- Plane detection device Plane detection device, plane detection method, and robot apparatus equipped with plane detection device
- the present invention relates to a plane detection device that detects a plane from three-dimensional distance data, a plane detection method, and a robot apparatus equipped with the plane detection device, and in particular, detects a plane by line segment expansion (scan line grouping).
- the present invention relates to a plane detection device, a plane detection method, and a robot apparatus.
- the detected plane can be used, for example, for obstacle avoidance of a mobile robot apparatus or for a step-up / down operation.
- a method for detecting a plane from distance information includes the following procedure.
- an image having stairs placed on the floor surface shown in FIG. 1A is divided into four planar regions A, B, C, and D as shown in FIG. 1B.
- area A shows the floor
- areas B, C, and D show the staircase.
- Bunke "method for dividing harm 1 J to Naohaya the plane territory 3 ⁇ 4 ⁇ a distance image by the line segment extension method (Fast segmentation of range images into planar regions by scan line grouping) " Macmne In Vision and Applications, 7 (2), PI 15 122, 1994, point clouds arranged in a row in a distance image are straight in space if they are on the same plane in 3D space. And proposes a method based on scan line grouping (scan line grouping)
- Under-segmentation means that even though there are actually multiple planes, they are recognized as one plane that is averaged due to the influence of noise, etc. Although it is actually one and the same plane, it is recognized as multiple different planes due to the influence of noise.
- the distance image acquired by the camera 401R / L includes a plurality of treads, side surfaces, floor surfaces, and the like.
- the distance image includes a plurality of planes.
- the X-z plane includes a plurality of planes such as the tread surface 402 and the side surface 403.
- the plurality of planes cannot be distinguished, and one plane 403 Will be detected as.
- a flat detector detects a flat surface from measurement data that has a greater influence of noise than the required detection accuracy of the flat surface. Therefore, when designing the flat detector, the threshold for separating it into multiple flat surfaces must be reduced. And therefore like this
- FIG. 3A is a diagram showing steps
- FIG. 3B is three-dimensional distance data obtained from the steps shown in FIG. 3A
- FIG. 3B is a diagram in which the distance data in FIG. 3B is subjected to a no transform, and a peak is obtained.
- FIG. As shown in FIGS. 3A to 3D, when the visual field includes a step 410, the three-dimensional data is as shown in FIG. 3B.
- the result of under-segmentation is the most statistically dominant value. That is, as shown in FIG. 3D, the detected plane 411 is actually obtained as a plane obtained by leveling all the planes 412, 413, and 414. In this way, the Hough transform can estimate and detect dominant planes included in the field of view, but cannot accurately detect them when there are multiple planes.
- Jiang et al. Disclose a plane extraction method using scan line grouping.
- plane detection using the line segment expansion method first, 3D distance data is acquired from the captured image, and in this 3D distance data, for each data row (image row) in the row direction or column direction, Perform the process.
- the row direction In a data row a line segment is generated from a group of data points belonging to the same plane by using the fact that the same straight spring is obtained if they belong to the same plane in a three-dimensional space.
- three adjacent line segments that constitute the same plane are extracted from the generated line segment group to obtain a reference plane, and a line segment adjacent to the reference plane is obtained.
- This is a method of detecting a plane by enlarging the area of the reference plane by the adjacent line segment and updating the reference plane when belonging to the same plane.
- FIG. 4 is a flowchart showing plane detection processing by the line segment expansion method.
- a distance image is input (step S41), and a data point group force line segment estimated to be on the same plane in each data column in the row direction or column direction constituting the distance image.
- Is generated step S42.
- a region that is a plane seed (hereinafter referred to as a seed region) is searched from the generated line segment group, and the corresponding region type is selected (steps S43 and S44). In this selection, the condition is that one line above and below is in the same plane.
- the plane to which the region type consisting of the selected three line segments belongs is averaged from the three line segments.
- step S3 it is searched whether there is a line segment that is in the same plane as the region type. Whether or not they are on the same plane is judged by comparing the spatial distance. If there is a line segment that is determined to be on the same plane, the line segment is added to the region of this region type (region expansion processing), and the original plane is updated with the added line segment included. (Plane update process) By repeating these processes, the area is expanded and the plane is updated (step S45). Further, the processes of steps S43 to S45 are repeatedly executed until there is no seed region. Finally, from the obtained plurality of region groups, those constituting the same plane are connected (step S46), and the process ends.
- FIG. 5 is a diagram illustrating a process of extracting a line segment
- FIGS. 5A to 5C are diagrams illustrating the process steps in order.
- a line segment (string) connecting both ends 430a and 430b of a plurality of given data point groups 430 is generated.
- the data point having the longest distance from the obtained line segment 431 is searched. Searched day When the distance d between the data point 430c and the line segment 431 exceeds a certain threshold value, the line segment 431 is divided. Specifically, as shown in FIG.
- the line segment 431 is divided into a line segment 431a connecting the data point 430a on the left end and the data point 430c to be the division point, and a data segment 430c and the data point 43b on the right end. Divide into connecting line segment 431b.
- the data that will eventually become the two split points ⁇ , 430c, 430d are selected, and the fountain 431 (the fountain 431a, 431c, 431d three fountains are selected. Divided into
- FIG. 25 is a diagram for explaining the region expansion processing shown in step S45.
- the regions can be divided by sequentially integrating the line segments obtained by the above-described line segment extraction processing from the seed region.
- a stair 31 composed of a plurality of planes exists in the image 30, for example, three line segments 32a to 32c indicated by bold lines are selected as the region types.
- the region consisting of these three line segments 32a to 32c is the region type.
- one plane (reference plane) P is obtained from these three line segments 32a to 32c.
- a line segment that is the same plane as the plane P is selected.
- FIG. 6 is a diagram showing the difference in the result of line segment extraction processing when two threshold values are set.
- Fig. 6A shows the measurement data point group 450 with low noise in Fig. 6B.
- Fig. 6B shows the case of the measurement data point group 460 with a lot of noise.
- the large threshold Large threshold
- the small value Small threshold
- plane detection by randomized Hough transform is suitable for detecting dominant planes, but to detect multiple planes from data including multiple planes such as stairs, under-segmentation
- V also Oite the method of displacement, there is s problem force that it is difficult to accurately detect the plane from the distance measurement data.
- the present invention has been proposed in view of such a conventional situation, and is a plane detection device and plane capable of accurately detecting a plurality of planes simultaneously and robustly against noise from distance data including measurement noise. It is an object of the present invention to provide a detection method and a robot apparatus equipped with a plane detection device.
- the plane detection apparatus according to the present invention is a plane detection apparatus that detects a plane from three-dimensional distance data!
- a line segment extracting means for extracting a line segment for each estimated distance data point group, and a plurality of line segments estimated to belong to the same plane are extracted from the line segment group extracted by the line segment extracting means.
- the line segment extracting means is a force for extracting a line segment by utilizing the fact that the three-dimensional distance data is on the same plane when they are on the same plane. Since there is a difference in the distribution of points, adaptive line fitting is adaptively extracted according to the distribution of this distance data (Adaptive Line Fitting), enabling accurate line segment extraction robust to noise. Since a plane is obtained from a large number of extracted line segments by the line segment expansion method, due to the influence of noise, etc., there are multiple planes originally, but there are multiple planes when there is only one plane. It is possible to extract the plane accurately without doing.
- the line segment extracting means extracts a distance data point group estimated to be on the same plane based on the distance between the distance data points, and based on the distribution of the distance data points in the distance data point group, Whether the distance data point group is on the same plane can be estimated again.
- the distance data point group is once extracted based on the distance of the distance data point in the three-dimensional space, and then based on the distribution of the data points. By estimating again whether or not they are on the same plane, it is possible to make a precise spring.
- the line segment extracting means extracts a line segment from the distance data point group estimated to be on the same plane, and the distance data point having the largest distance from the line segment in the distance data point group. If the distance is equal to or less than a predetermined threshold, it is determined whether or not the distribution of the distance data points in the distance data point group is biased. If the distance data point group can be divided and the distribution of the distance data points is biased, it is determined that the extracted distance data point group is not on the same plane, and the point of interest I'll do it with IJ power.
- the line segment extracting means is distance data estimated to be on the same plane.
- the distance data point having the longest distance from the first line segment in the distance data point group is set as the point of interest, and the distance is equal to or less than a predetermined threshold
- the distance data point group force second line segment is extracted, and it is determined whether there are more than a predetermined number of distance data points on one side of the second line segment. If the distance data point group exists continuously, the distance data point group can be divided at the point of interest. For example, the line segment connecting the end points of the extracted data point group is the first line segment, and the distance is large.
- a second line segment is generated by the least square method, and when there are a plurality of data points continuously on one side in the second line segment, a data point group Can be assumed to have, for example, a zigzag shape with respect to the line segment, and thus the extracted data points are not biased. It is determined that that it is possible to divide the data points in such the target point.
- the plane area expanding means selects one or more line segments estimated to belong to the same plane, calculates a reference plane, and determines a line segment estimated to belong to the same plane as the reference plane. It is possible to search the segment group as an extension line segment, update the reference plane with the extension line segment, and repeat the process of expanding the area of the reference plane, and output the updated plane as an updated plane.
- the plane area expansion process and the plane update process can be performed using line segments that belong to the same plane.
- the distance data point group belonging to the updated plane if there is a distance data point whose distance from the updated plane exceeds a predetermined threshold, this is removed! Since the updated plane is obtained as an average plane of all the line segments belonging to it, the distance data points greatly deviated from this are excluded, and the data point group is obtained again. By obtaining the plane, it is possible to obtain a detection result in which the influence of noise and the like is further reduced.
- the plane area expanding means can estimate whether or not the line segment belongs to the same plane as the reference plane based on an error between the plane determined by the line segment and the reference plane. It is possible to detect the plane more accurately by discriminating the force that is the influence of noise based on the mean square error and the different planes.
- the plane detection method is a plane detection method for detecting a plane from three-dimensional distance data! /, Line for each distance data point group estimated to be on the same plane in a three-dimensional space.
- a line segment extracting step for extracting a segment, and a plurality of line segments estimated to belong to the same plane from the line segment group extracted in the line segment extracting step, and calculating the plurality of line segment force planes.
- An area expansion step, and in the line segment extraction step, a line segment is appropriately extracted according to the distribution of distance data points.
- the robot apparatus includes a distance measuring unit that acquires three-dimensional distance data, a plane detection apparatus that detects a plane from the three-dimensional distance data, and the plane detection apparatus. And a behavior control means for controlling behavior based on the plane detection result obtained by the plane detection device, wherein the plane detection device extracts a line segment for each distance data point group estimated to be on the same plane in a three-dimensional space. Extraction means, and plane area expansion means for extracting a plurality of line segments estimated to belong to the same plane from the group of line segments extracted by the line segment extraction means and calculating a plane from the plurality of line segments.
- the line segment extracting means adaptively extracts line segments according to the distribution of distance data points.
- a pattern providing means such as an irradiating means for irradiating the object with a pattern
- the distance measuring means acquires a distance image using a parallax with a stereo camera or the like
- a pattern is added by this pattern applying means to obtain an accurate distance image. Can be acquired.
- the plane detection apparatus and method of the present invention when plane detection is performed by the line segment expansion method, line segments are adaptively extracted according to the distribution of distance data points, so that distance data including noise can be obtained. Even if it exists, it is possible to accurately extract a line segment. By using this line segment and detecting the plane by the line segment expansion method, it is possible to detect the plane with extremely high accuracy.
- the robot apparatus can accurately detect a plane even if distance data including noise is acquired by the distance measuring unit included in the mouth bot apparatus by mounting the above-described plane detection apparatus. It is possible to move up and down by detecting staircases in the environment surrounding the robotic device, or by recognizing steps on the floor, etc. Will increase.
- FIG. 1A is a schematic diagram showing an image obtained by photographing a staircase
- FIG. 1B is a diagram showing a result of detecting four planar areas A B C D from three-dimensional distance data acquired from FIG. 1A.
- FIG. 2 is a schematic diagram for explaining under-segmentation.
- FIGS. 3A to 3D are diagrams for explaining a method of extracting a plane by Hough transform
- FIG. 3A is a diagram showing a staircase
- FIG. 3B is a three-dimensional figure obtained from the staircase shown in FIG. 3A
- Fig. 3C is a diagram showing distance data
- Fig. 3C is a diagram showing a histogram obtained by Hough transforming the distance data of Fig. 3B
- Fig. 3D is a diagram showing a comparison result between the plane indicated by the peak shown in Fig. 3C and the actual plane. Is
- FIG. 4 is a flowchart showing a plane detection process by a line segment expansion method.
- FIG. 5 is a diagram for explaining a conventional process of extracting line segments, and FIG. 5A to FIG.
- FIGS. 6A and 6B show the results of the line segment extraction process when two threshold values are set for a low noise level, a large number of measurement data points and a large amount of noise! It is a figure which shows a difference.
- FIG. 7 is a perspective view showing an overview of the robot apparatus according to the embodiment of the present invention.
- FIG. 8 is a diagram schematically showing a joint degree-of-freedom configuration included in the robot apparatus.
- FIG. 9 is a schematic diagram showing a control system configuration of the robot apparatus.
- FIG. 10 is a functional block diagram showing the flat surface detection apparatus in the present embodiment.
- FIG. 11 is a schematic diagram showing a state in which the robot apparatus photographs the outside world!
- FIG. 12 is a schematic view showing a staircase
- FIG. 12A is a view of the staircase as viewed from the front.
- FIG. 12B is a view of the stairs as viewed from the side
- FIG. 12C is a view of the stairs as viewed from an angle.
- FIG. 13 is a schematic view showing another example of stairs
- FIG. 13A is a view of the stairs viewed from the front
- FIG. 13B is a view of the stairs viewed from the side
- FIG. 14A is a schematic diagram showing images when the staircase shown in FIG. 13 is photographed from the front by a stereo vision system, and FIGS. 14B to 14D are obtained from the images shown in FIG. 14A. It is a figure which shows the three-dimensional distance data which were performed.
- FIG. 15A is a schematic diagram showing images when the stairs shown in FIG. 13 are taken from the side by a stereo vision system
- FIGS. 15B to 15D are three-dimensional distances obtained from the images shown in FIG. 15A. It is a figure which shows data.
- FIG. 16A is a schematic diagram showing an image of the staircase shown in FIG. 13 taken obliquely from the front with a stereo vision system
- FIGS. 16B to 16D are three-dimensional distances obtained from the image shown in FIG. 16A. It is a figure which shows data.
- FIG. 17 is a diagram for explaining a robot apparatus having means for applying a texture.
- FIG. 18 is a diagram for explaining a plane detection method by the line segment expansion method in the present embodiment.
- FIG. 19 is a flowchart showing plane detection processing by a line segment expansion method.
- FIG. 20 is a flowchart showing details of processing in the line segment extraction unit in the present embodiment.
- FIG. 21 is a diagram showing the distribution of distance data points.
- FIG. 21A shows a case where the data distribution is zigzag with respect to the line segment
- FIG. FIG. 5 is a schematic diagram showing a case where the distribution is uniformly distributed in the vicinity of a line segment.
- FIG. 22 is a flowchart showing the Zig-Zag-Shape discrimination method in the present embodiment.
- FIG. 23 is a diagram showing the Zig-Zag-Shape discrimination process.
- FIG. 24 is a block diagram illustrating a processing unit that performs a Zig-Zag-Shape discrimination process.
- FIG. 25 is a schematic diagram for explaining the area expansion process in the present embodiment.
- FIG. 26 shows a process for searching for the area type in the area expansion unit and the area expansion process in the present embodiment. It is a flowchart which shows the procedure of.
- FIG. 27 shows an example in which the mean square error rms of the plane equation is different even if the distance between the end point and the straight line is the same.
- Fig. 27A shows that the line segment deviates from the plane due to the influence of noise, etc.
- FIG. 27B is a schematic diagram showing a case where there is another plane to which the line segment belongs.
- FIG. 28 is a diagram showing a region type selection process.
- FIG. 29 is a diagram showing an area expansion process.
- FIG. 3 OA is a schematic diagram showing the floor surface when the robot device is standing and looking down on the floor surface.
- Fig. 30B shows the vertical axis x, the horizontal axis y, each data
- Fig. 3 shows three-dimensional distance data expressing the z-axis with the shading of points and the detection of a straight line from a group of data points assumed to exist in the same plane by line segment extraction processing from pixel columns in the row direction.
- 0 C is a diagram showing a planar area obtained by the area expansion process from the straight line group shown in FIG. 30B.
- FIG. 31 is a diagram for explaining the difference in results between the plane detection method in the present embodiment and the conventional plane detection method when a step is placed on the floor surface.
- 3 1 A is a schematic diagram showing the observed image
- FIG. 3 1 B is a diagram showing the experimental conditions
- FIG. 3 1 C shows the result of plane detection by the plane detection method in this embodiment.
- FIG. 3D is a diagram showing a result of plane detection by a conventional plane detection method.
- FIG. 3 2 is a schematic diagram showing an image of the floor, and Fig. 3 2 B and Fig. 3 2 C are three-dimensional distances obtained by imaging the floor shown in Fig. 3 2 A.
- FIG. 4 is a diagram showing a line segment detected by line segment detection according to the present embodiment and a line segment detected by conventional line segment detection from a data distance point and a data evening point sequence, respectively.
- Fig. 3 3 A is a schematic diagram showing images of stairs, and Fig. 3 3 B to 3 3 D are 3D distance data obtained from Fig. 3 3 A. It is a figure which shows the example which detected the plane from the front and the side.
- Figure 3 4 A is a schematic diagram showing an image of another staircase, and Figures 3 4 B to 3 4 D are 3D distance data obtained from Figure 3 4 A. It is a figure which shows the example which detected the plane from the upper surface, the front, and the side, respectively.
- the present invention is applied to a robot apparatus equipped with a plane detection apparatus capable of accurately detecting a plurality of planes simultaneously.
- the flat surface detection device uses distance information obtained by stereo vision or the like.
- Replacement paper (Rule 26) For example, if it is mounted on a robotic device, the robotic device can accurately recognize its surrounding environment. For example, objects including multiple planes, such as stairs, and surrounding conditions The ability S to move and act autonomously according to the recognition result is recognized.
- a biped walking type robot apparatus will be described as an example of such a robot apparatus.
- This robotic device is a practical robot that supports human activities in various situations in daily living such as the living environment, and can act according to internal conditions (anger, sadness, joy, fun, etc.) It is an entertainment robot that can display the basic actions to be performed.
- the force described here taking a bipedal robot device as an example is not limited to a bipedal robot device, but can be applied to a robotic device that can be moved by four feet or wheels. Les.
- FIG. 7 is a perspective view showing an overview of the robot apparatus according to the present embodiment.
- the robot apparatus 201 includes a head unit 203 coupled to a predetermined position of the trunk unit 202, two left and right arm units 204R / L, and two left and right leg units 205R.
- / L is concatenated (provided that R and L are suffixes indicating right and left, respectively, and the same applies hereinafter).
- FIG. 8 schematically shows the joint degree-of-freedom configuration of the robot apparatus 201.
- the neck joint that supports the head unit 203 has three degrees of freedom: a neck joint axis 101, a neck joint pitch axis 102, and a neck joint pole axis 103.
- each arm unit 204R / L constituting the upper limb includes a shoulder joint pitch axis 107, a shoulder joint roll axis 108, an upper arm axis 109, an elbow pitch axis 110, a forearm axis 111, and a wrist.
- a joint pitch axis 112, a wrist joint roll wheel 113, and a hand portion 114 are configured.
- the hand 114 is actually an articulated multi-degree-of-freedom structure including a plurality of fingers. However, since the movement of the hand 114 has little contribution or influence on the posture control or walking control of the robot apparatus 201, it is assumed in this specification that the degree of freedom is zero for simplicity. Therefore, each arm has 7 degrees of freedom.
- the trunk unit 202 has three degrees of freedom: the trunk pitch axis 104, the trunk roll axis 105, and the trunk axis 106.
- Each leg unit 205R / L constituting the lower limb includes a hip joint axis 115, a hip joint pitch axis 116, a hip joint roll axis 117, a knee joint pitch axis 118, and an ankle joint pitch axis 119.
- the ankle joint roll shaft 120 and the sole 121 are configured.
- the intersection of the hip joint pitch axis 116 and the hip joint roll axis 117 defines the hip joint position of the robot apparatus 201.
- the sole 121 of the human body is actually a structure including a multi-joint / multi-degree-of-freedom sole, but in this specification, for the sake of simplicity, the sole of the robot apparatus 201 has zero degrees of freedom. . Therefore, each leg is composed of 6 degrees of freedom.
- the robot device 201 for entertainment is not necessarily limited to 32 degrees of freedom.
- the degree of freedom that is, the number of joints, can be increased or decreased as appropriate according to design constraints and production requirements.
- Each degree of freedom of the robot apparatus 201 as described above is actually implemented using an actuator. Due to demands for eliminating extra bulges in appearance and approximating the human body shape, biped walking and leg, and posture control for unstable structures, etc., the actuator is small and lightweight. It is preferable that
- Such a robot apparatus includes a control system that controls the operation of the entire robot apparatus, for example, the trunk unit 202.
- FIG. 9 is a schematic diagram showing a control system configuration of the robot apparatus 201. As shown in Fig. 9, the control system controls the whole body coordinated movement of the robot device 201, such as the drive of the thought control module 200 that controls emotional judgment and emotional expression in response to user input, etc., and the actuator 350.
- the motion control module 300 controls the whole body coordinated movement of the robot device 201, such as the drive of the thought control module 200 that controls emotional judgment and emotional expression in response to user input, etc., and the actuator 350.
- the thought control module 200 includes a central processing unit (CPU) 211, a random access memory (RAM) 212, a read only memory (ROM) 213, and an external storage device (node, ('Disk' drive etc.) This is an independent information processing device that consists of 214 etc. and can perform self-contained processing within the module.
- CPU central processing unit
- RAM random access memory
- ROM read only memory
- an external storage device node, ('Disk' drive etc.)
- This thought control module 200 is used for image data input from the image input device 251
- the present emotion and intention of the robot apparatus 201 are determined according to stimuli from the outside such as voice data input from the voice input apparatus 252. That is, as described above, by recognizing the user's facial expression from the input image data and reflecting the information on the emotion and intention of the robot apparatus 201, it is possible to express an action according to the user's facial expression.
- the image input device 251 includes a plurality of CCD (Charge Coupled Device) cameras, for example, and can obtain a distance image from images captured by these cameras.
- the audio input device 252 includes a plurality of microphones, for example.
- the thought control module 200 issues a command to the motion control module 300 to execute an action or action sequence based on decision making, that is, movement of the limbs.
- Independently-driven information processing that can perform self-contained processing in the module, consisting of CPU311 that controls the whole body coordinated movement of 201, RAM312, ROM313, external storage device (hard 'disk' drive, etc.) 314, etc. Device.
- the external storage device 314 can store, for example, walking patterns calculated offline, target ZMP trajectories, and other action plans.
- the motion control module 300 includes an actuator 350 that realizes the degree of freedom of joints distributed throughout the body of the robot apparatus 201 shown in FIG. 8, and a distance measurement sensor (not shown) that measures the distance to the object.
- Posture sensor 351 for measuring the posture and inclination of the trunk unit 202
- ground contact confirmation sensor 352, 353 for detecting the floor or landing of the left and right soles
- load sensor provided on the sole 121 of the sole 121
- battery Various powers such as a power supply control device 354 that manages the power supply of the power supply S, etc. are connected via a bus interface (I / F) 310.
- the posture sensor 351 is configured by, for example, a combination of an acceleration sensor and a gyro sensor
- the grounding confirmation sensors 352 and 353 are configured by a proximity sensor, a micro switch, or the like.
- the thinking control module 200 and the motion control module 300 are built on a common platform, and are interconnected via bus' interfaces 210 and 310.
- the action instructed by the thought control module 200 is performed.
- the whole body coordinated movement by each actuator 350 to be displayed is controlled. That is, the CPU 311 extracts an operation pattern corresponding to the action instructed from the thought control module 200 from the external storage device 314, or internally generates an operation pattern.
- the CPU 311 sets the foot movement, ZMP trajectory, trunk movement, upper limb movement, waist horizontal position, height, etc. according to the specified movement pattern, and instructs the movement according to these settings.
- the command value to be transferred is transferred to each actuator 350.
- the CPU 311 detects the posture and inclination of the trunk unit 202 of the robot device 201 based on the output signal of the posture sensor 351, and each leg unit 205R / L detects the posture of the trunk unit 202 based on the output signals of the grounding confirmation sensors 352 and 353.
- the CPU 311 controls the attitude and operation of the robot apparatus 201 so that the ZMP position is always directed toward the center of the ZMP stable region.
- the motion control module 300 returns to the thinking control module 200 the power, that is, the state of processing, of how much the intended behavior determined in the thinking control module 200 is expressed.
- the robot apparatus 201 can determine the self and surrounding conditions based on the control program and can act autonomously.
- a stereo vision system is mounted on the head unit 203, and three-dimensional distance information of the outside world can be acquired.
- a plane detection apparatus that is suitably mounted on such a robot apparatus and that uses three-dimensional distance information by stereo vision will be described.
- distance information from a laser range finder (laser distance meter) or the like may be used as the distance information.
- the plane detection apparatus can reliably detect a plurality of planes by the line segment expansion method even when there are a plurality of planes, such as stairs, in addition to the dominant plane in the field of view.
- a plane detection result that is robust to the measurement noise can be obtained by adaptively fitting the line segment according to the distribution of the points in the distance data. Is.
- FIG. 10 is a functional block diagram showing the flat surface detection apparatus in the present embodiment.
- the plane detector 1 is a stereo vision system (Stereo Vision System) 2 as a distance data measuring means for acquiring 3D distance data, and a plane existing in a range image composed of 3D distance data.
- a plane detection unit 3 for detecting the line by the line segment expansion method.
- the plane detection unit 3 selects a distance data point group estimated to be in the same plane from the distance data points constituting the image, and extracts a line segment for each distance data point group, And an area expanding section 5 for detecting one or a plurality of plane areas existing in the image from a line segment group consisting of all line segments extracted by the line segment extracting section 4 included therein.
- the area expansion unit 5 selects any three line segments estimated to exist on the same plane from the line segment group, and obtains a reference plane from these. Then, it is determined whether or not the line segments adjacent to the selected three line segments belong to the same plane as this reference plane. If it is determined that they belong to the same plane, the line segment as the area expansion line segment is determined. To update the reference plane and expand the reference plane area.
- the stereo vision system 2 generates, for example, a distance image from an image acquired by the image input device 251 of the robot apparatus 201. As a result of observing the external world, the three-dimensional distance data D1 estimated by the binocular parallax is obtained. Output to line segment extraction unit 4.
- the line segment extraction unit 4 extracts a distance data point group that is estimated to be on the same plane in the three-dimensional space in each data column for each column or row in the distance image, and this distance data point group. Generate one or more line segments according to the distribution of distance data points. In other words, if it is determined that the distribution is biased, it is determined that the data point group is not on the same plane, the data point group is divided, and whether the distribution is biased again for each of the divided data point groups. The determination process is repeated, and if there is no bias in the distribution, a line segment is generated from the data point group. The above processing is performed for all data strings, and the generated line segment group D2 is output to the area expansion unit 5.
- the area expanding unit 5 selects three line segments estimated to belong to the same plane in the line segment group D2, and obtains a plane serving as a reference plane from them.
- a range image is expanded to a plurality of planes by expanding the area of the plane region (seed region: seed region), which is expanded by sequentially integrating line segments belonging to the same plane as the region seed.
- plane group D3 is output.
- the robot device 201 acquires plane information important for walking such as stairs, floors, and walls when plane information such as obstacle avoidance and stair climbing is necessary or by performing these processes periodically. .
- Stereo Vision System 2 compares the image inputs from the left and right cameras corresponding to human eyes for each pixel neighborhood, estimates the distance from the parallax to the target, and outputs 3D distance information as an image (Distance image).
- FIG. 11 is a schematic diagram showing a state where the robot apparatus 201 is photographing the outside world.
- the visual field range of the robot apparatus 201 having the image input unit (stereo camera) in the head unit 203 is as follows. 2 This is the predetermined range in front of 01.
- the robot apparatus 201 implements a software configuration by inputting the color image and the parallax image from the image input apparatus 251 and sensor data such as all joint angles of each of the actuators 350 in the CPU 211 described above.
- the software in the robot apparatus 201 of the present embodiment is configured in units of objects, recognizes the position, movement amount, surrounding obstacles, environment map, etc. of the robot apparatus, and the action that the robot apparatus should finally take.
- a coordinates indicating the position of the robot apparatus for example, a world-standard camera coordinate system (hereinafter also referred to as absolute coordinates) having a predetermined position based on a specific object such as a landmark as the origin of the coordinates, Two coordinates are used: a robot center coordinate system (hereinafter also referred to as relative coordinates) centered on the robot device itself (coordinate origin).
- a robot center coordinate system in which the robot device 201 is fixed at the center using the joint angle determined from the sensor data. Is converted to the coordinate system of the image input device 251 provided in the head unit 203.
- a homogeneous transformation matrix or the like of the camera coordinate system is derived from the robot center coordinate system, and a distance image made up of the homogeneous transformation matrix and the corresponding three-dimensional distance data is displayed as a plane.
- the plane detection apparatus is a case where not only the dominant plane included in the acquired image is detected, but also a plurality of planes such as stairs are included as in the Hough transform described above.
- the plane is detected by the line segment expansion method. At this time, by generating a line segment according to the distribution of the distance data points, a detection result that is robust against measurement noise can be obtained.
- the robot apparatus equipped with the flat surface detection apparatus in the present embodiment detects the staircase ST included in the field of view.
- Examples of stairs include those shown in FIGS. 12A and 13A are views of the stairs viewed from the front, FIG. 12B), FIG. 13B is a diagram of the stairs viewed from the side, and FIGS. 12C and 13C are diagrams of the stairs viewed obliquely.
- a surface surface on which a foot or a movable leg is placed
- a tread surface on which a foot or a movable leg is placed
- the previous height the height of one staircase
- the stairs are counted as the first and second steps from the side closest to the ground.
- the staircase ST1 shown in Fig. 12 is a staircase with three steps, the kicking height is 4 cm, the size of the treads on the first and second steps is 30 cm wide, the depth is 10 cm, and only the third step tread is the top step. It is 30cm wide and 21cm deep.
- the staircase ST2 shown in Fig. 13 is also a three-step staircase, with the kicking height of 3 cm, the size of the tread on the 1st and 2nd steps is 33 cm wide, 12 cm deep, only the third step tread is the top step, It is 33cm wide and 32cm deep.
- FIGS. 14 to 16 show the staircase ST2 shown in FIG. 13, and FIGS. 14A, 15A, and 16A show the case where the staircase shown in FIG. 13 is photographed from the front, side, and diagonally forward by the stereo vision system, respectively.
- Schematic diagrams showing images FIGS. 14B to 16D are diagrams showing three-dimensional distance data acquired from the images shown in FIGS. 14A, 15A, and 16A.
- the three-dimensional distance data is as shown in FIGS. 14B to 14D.
- the horizontal axis is the y direction
- the vertical axis is the x direction
- the size in the z axis direction (height direction) is 0 for the ground contact surface of the robot device 201, and approaches white as the height increases. It is shown by such shade values.
- the data points with the same shade (shading value) indicate that they are at the same height.
- the data points in the area corresponding to the tread on the 3rd step from the 2nd step are lighter.
- a substantially trapezoidal region in which distance data is shown indicates a range (viewing range) in which the robot apparatus can shoot.
- the distance data points are divided into roughly four levels of shade. The darkest portion corresponding to the region with the smallest force z direction indicates the floor.
- the horizontal axis indicates the y direction
- the vertical axis indicates the z direction
- the X direction indicates color shading. In this figure, the lighter shades are expressed as the distance in the X direction increases.
- the horizontal axis is the X direction
- the vertical axis is the z direction
- the y direction is expressed in shades according to the distance.
- the robot apparatus 201 images the side surface of the staircase ST2, as shown in FIGS. 15A to 15D, the data point strength existing in the upper area where the X axis is large shows the same shade as 0. It shows that it is the result of measuring the floor behind the staircase ST2. Also, in the oblique imaging shown in Figs. 16A to 16D, the four areas showing the floor and the 1st to 3rd steps are shown in different shades depending on the height and are clearly distinguished. Do it! / Show me! /
- a pattern (texture) is required on the surface of the stage ST2.
- the parallax since the power obtained by the parallax from the two cameras can be obtained, the parallax cannot be calculated if there is no pattern, and the distance cannot be measured accurately. In other words, the measurement accuracy of distance data in a stereo vision system depends on the texture to be measured.
- the parallax refers to the difference between a point in space that is mapped to the left eye and the right eye, and changes according to the distance from the camera.
- the head unit of the robot apparatus is provided with a stereo camera 11R / L that constitutes a stereo vision system, and for example, infrared light or the like as projection means is also applied to the head unit or the like.
- a light source 12 for output is provided.
- This light source 12 projects (irradiates) an object, a wall, and other objects with a random pattern PT by applying a pattern, staircase ST3, and other textures! It works as a pattern giving means.
- the means for applying the random pattern PT is not limited to a light source that projects infrared light.
- the robot device may write a pattern on the object itself, but if it is infrared light, it will not be visible to the human eye, but a pattern that can be observed by the CCD camera etc. Can be granted.
- FIG. 18 is a diagram for explaining a plane detection method based on the line segment expansion method.
- processing is performed on a data column in the row direction or the column direction in the image 11 taken from the focal point F. For example, in a row of pixels in an image (image row), if a distance data point belongs to the same plane, the distance data point is assumed to be a straight line. Is generated. Then, in the obtained line segment group consisting of a plurality of line segments, a plane is estimated and detected based on the line segment group that constitutes the same plane.
- FIG. 19 is a flowchart showing plane detection processing by the line segment expansion method.
- a distance image is input (step S1), and a line segment is obtained from data points estimated to belong to the same plane in each pixel column in the row direction (or column direction) of the distance image.
- Ask (Step S2).
- a line segment estimated to belong to the same plane is extracted from these line segment groups, and a plane composed of these line segments is obtained (step S3).
- a region that becomes a seed of a plane hereinafter referred to as a seed region
- the corresponding region type is selected.
- three line segments including one line in the upper and lower adjacent row directions are on the same plane.
- the plane to which the selected region type consisting of the three line segments belongs is set as a reference plane, and a plane obtained by averaging from the three line segments is obtained.
- An area composed of three line segments is defined as a reference plane area.
- a plane recalculation process for obtaining a plane again is further provided as step S4 by removing a line segment that deviates from the plane by a predetermined threshold or more from the group of line segments belonging to the obtained plane.
- the force to make a flat surface will be described later.
- the process of detecting a line segment from the three-dimensional distance data and combining the areas into the same plane as one plane is a plane detection process by the conventional line segment expansion method.
- the threshold is not changed according to the accuracy of the distance data, over-segmentation Also feunder—segmentation and other topics; Therefore, in this embodiment, a method of adaptively changing the threshold value according to the accuracy of distance data and noise by analyzing the distribution of distance data in this line segment extraction shall be introduced.
- the line extractor (Line Extraction) 4 receives the 3D distance image from the stereo vision system 2 and inputs each column or row of the distance image on the same plane in the 3D space. Detect the estimated line segment.
- the problem of over-segmentation and under-segmentation that is, it is recognized as one plane even though it is originally multiple planes.
- an algorithm Adaptive Line Fitting that adaptively fits line segments according to the distribution of data points is introduced.
- the line segment extraction unit 4 first extracts a line segment as a first line segment using a relatively large threshold, and then extracts the data points belonging to the extracted first line segment.
- the distribution of the data point group with respect to the line segment as the second line segment obtained from the group by the least square method described later is analyzed. In other words, it roughly estimates whether or not they exist on the same plane, extracts a data point group, analyzes whether or not there is a bias in the distribution of data points in the extracted data point group, and exists on the same plane. Reestimate whether or not To do.
- this data point distribution is analyzed, and if the data point group is applied to a zig-zag-shape, which will be described later, the data point group is divided as the distribution is biased.
- an algorithm that adaptively extracts line segments for noise contained in the data point group shall be used.
- FIG. 20 is a flowchart showing details of the process in the line segment extraction unit 4, that is, the process of step S2 in FIG.
- distance data is input to the line segment extraction unit 4.
- a data point group estimated to exist on the same plane in the three-dimensional space is extracted.
- Data points that are estimated to exist on the same plane in 3D space are those whose distance between data points in 3D space is less than a predetermined threshold, for example, the distance between adjacent data points is 6 cm or less.
- This is extracted as a data point group (P [0 ⁇ ⁇ -1]) (step Sll).
- step S 12 it is checked whether or not the number of samples ⁇ included in this data point group ⁇ [0 ⁇ ⁇ -1] is greater than the minimum number of samples required for processing (minimum required value) min_n (step S 12 ), When the number of data n is smaller than the necessary minimum value min_n (S 2: YES), an empty set is output as the detection result and the process is terminated.
- the data point group data point group ⁇ [0 ⁇ ⁇ _1] is The data points are divided into ⁇ [0 ⁇ brk] and P [brk '. ⁇ ⁇ -1] (step S 18).
- the optimal line segment is determined from the data point group ⁇ [0 ⁇ ⁇ _1] by the least square method described later.
- the equation line is obtained (step S15), and the line segment L2 indicated by the equation line is generated as the second line segment. Then, it is checked whether the data point group ⁇ [0 ⁇ ⁇ 1] is a Zig-Zag-Shape described later for this line segment L2 (step S16).
- step S16 the line segment obtained in step S15 is determined to be Zig-Zag-Shape.
- step S14 the process proceeds to step S18, and the data point group is converted into two data point groups ⁇ [0 ⁇ ⁇ Divide into 'brk] and P [brk' ⁇ ⁇ ⁇ -1].
- step S11 the processing from step S11 is performed again recursively. This process is repeated until all the data points are not divided, that is, until all the data point groups have passed through step S17, whereby all the line segments are registered. Get a list of extraction results. Through such processing, the data point cloud ⁇
- the force S is used to accurately detect a line segment group consisting of multiple line segments by eliminating the influence of noise from [0 ⁇ ⁇ -1].
- step S13 the line segment L1 connecting the end points of the data point group ⁇ [0 ⁇ ⁇ _1] has been described.
- the distribution and properties of the data point group ⁇ [0 ⁇ ⁇ _1] If necessary, the line segment L1 may be obtained from the data point group ⁇ [0 ⁇ ⁇ -1] by least squares.
- the point of interest brk is one point having the maximum distance from the line segment L1 connecting the end points.
- the point of interest brk is a line segment obtained by the least square as described above.
- the data point group ⁇ ⁇ [0 ⁇ ⁇ -1] at all those points or one or more selected points May be divided.
- the least squares line generation method Least-Squares Line Fitting
- the model of the linear equation is expressed by the following equation (1).
- Equation (2) ⁇ cos ⁇ + y £ sin ⁇ + ⁇ ) 2 --- (2)
- ⁇ and d that minimize Equation (2) can be obtained as shown in (3) below using the mean and variance covariance matrix of data point group P.
- step SI 6 the zigzag shape (Zig-Zag-Shape) discrimination method in step SI 6 will be described.
- FIG. 22 is a flowchart showing a Zig-Zag-Shape discrimination method.
- a data point group ⁇ [0 ⁇ ⁇ _1] and a straight line Line, d, ⁇ ) are input (step S20).
- ⁇ indicates the standard deviation of the point sequence.
- This count value is called a count value count.
- sign (x) is a function that returns the sign (+ or 1) of the value of X
- sdist (i) is calculated as P [i] .xcos a + P [i] .ycos a + d It shows the positive and negative distance from the i-th data point in the straight line. In other words, Val has data point P [0] on which side of the straight line Line
- a count value i of a counter for counting data points (hereinafter referred to as a data point counter, which is referred to as a count value i) is set to 1 (step S23). If the count value i of the data point counter is smaller than the number of data n (step S 24: YES), the data point P [i], which is the data point of the next data (hereinafter referred to as i-th), is Which side of the straight line is determined by sing (sdist (P [i])), and the result is substituted into val (step S25). Then, val obtained in step S22 is compared with val obtained in step S25.
- step S26 If val is different (step S26: NO), substitute val for val and count the continuous point counter.
- step S28 the count value count
- step S26 the count value i of the data point counter
- step S27 It is determined that the points P [i-1] and P [i] are on the same side of the straight line Line, and the count value count of the continuous point counter is incremented by 1 (step S27). Further, it is determined whether the count value count of the continuous point counter is larger than the minimum number of data points min_c for determining Zig-Zag-Shape (step S29). YES),
- step S29 NO
- step S30 increment the count value i of the data point counter
- step S24 The processing from step S24 is continued until the count value i of the data point counter reaches the data point n, and when the count value n is reached, FALSE is output and processing is performed. finish.
- step S18 the processing from step S21 to step S30 can also be expressed as shown in FIG.
- FIG. 24 is a block diagram illustrating a processing unit that performs Zig-Zag-Shape discrimination processing. As shown in Fig. 24, the Zig-Zag-Shape discrimination processing unit 20 receives n data point groups P [0 • ⁇ ⁇ ⁇ _1] and sequentially places each data point P [i] on either side of the straight line.
- the direction discriminating unit 21 outputs the discrimination result Val, the delay unit 22 for comparing the next data with the result of the direction discriminating unit 21, and the data point P [i ] To the comparison unit 23 for comparing the direction determination result Val in the data point P [i-1] with the direction determination result Val in the comparison unit 23.
- the comparison unit 25 compares the count value count of the point counter 24 with the minimum data point number min_c read from the minimum data point number storage unit 26.
- the operation in this Zig-Zag-Shape discrimination processing unit is as follows. That is, the direction discriminating unit 21 obtains a straight line from the data point group ⁇ [0 ⁇ ⁇ _1] by the least square method, obtains a positive / negative distance between each data point P [i] and the straight line, and Outputs positive and negative signs.
- the delay unit 2 2 receives data until the timing at which the positive / negative sign of the next data point P [i] is input when the positive / negative sign for the distance to the line Line of the data point P [i-1] is input. Is stored.
- the comparison unit 23 compares the positive and negative signs of the data point P [i] and the data point P [i ⁇ 1], and if they are the same sign, a signal for incrementing the count value count of the connection point counter 24. If the sign is different, a signal that substitutes 1 for the count value count is output.
- the comparison unit 25 compares the count value count with the minimum number of data points min_c to obtain the minimum number of data points min_c. When the count value count is large, a signal indicating that the data point group ⁇ [0 ⁇ ⁇ -1] is zigzag is output.
- the area extension unit 5 receives the line segment group obtained by the line segment extraction unit 4 as input, determines which plane each of these line segments belongs to by plane fitting to a sequence of point sequences, An area composed of given line segments is divided into a plurality of planes (plane areas). In order to divide into multiple planes, the following method is used.
- the plane (reference plane) obtained from these three line segments is the seed of the plane, and the region containing these three line segments is called a seed region.
- the line segments adjacent to this region type are sequentially judged by whether or not the line segments are in the same plane as the reference plane by applying the plane fitting to the plane of the point sequence (Plane Fitting). If it is determined that it is included, this line segment is added to the area type as a line segment for area expansion, and the area is expanded, and the reference plane equation including the line segment for area expansion is added again. Recalculate. By such processing, all line segments are distributed to any area (plane).
- FIG. 25 is a schematic diagram for explaining the region expansion processing.
- a stair 31 composed of a plurality of planes exists in the image 30, for example, three line segments 32a to 32c indicated by bold lines are selected as region types.
- the region consisting of these three line segments 32a to 32c is the region type.
- one plane (reference plane) P is obtained from these three line segments 32a to 32c.
- a line segment that is the same plane as the plane P is selected.
- it is assumed that the line segment 33a is selected.
- a plane P ′ composed of these four line segments is obtained, and the reference plane P is updated.
- a plane P ′ ′ composed of five line segments is obtained, and the plane P ′ is updated.
- the second tread of the stairs 31 is obtained as a plane 45 surrounded by a broken line.
- the region enlargement process is performed until there is no line segment to be added using the selected region type as a seed. If there are no more line segments to add, search again for three line segments that are region types from within image 30 to expand the region. The process of executing the process is repeated, and the process of step S3 in FIG. 19 is repeated until there are no more three line segments as region types.
- n determinants are obtained from the obtained plane equation.
- the root mean square (RMS) residual (hereinafter referred to as rms) of the plane equation indicating the degree of deviation of the data point group from the plane equation can be calculated by the following equation (8).
- the following equation (8) is obtained by using the above two moments of n data points.
- FIG. 26 is a flowchart showing the procedure of region type search processing and region expansion processing. As shown in FIG. 26, in selecting the region type, first, three line segments (1, 1, 1) adjacent to the data column in the row direction or the column direction used for the line segment extraction, The pixel position in each line segment (1, 1), (1, 1) is the above data.
- a search is made for duplicates in a direction orthogonal to the data row (step S31).
- Each data point has an index indicating the pixel position in the image. For example, when the data point is a line segment in the data column in the row direction, the index is compared to overlap in the column direction. Compare whether or not. If this search is successful (step S32: YES), the above equation (7) is Use the above 1 ⁇ 2 1) to calculate.
- the plane parameters n and d can be determined and used to calculate the mean square error (1, 1, 1) of the plane equation shown in equation (8) above (steps
- the three line segments are selected as region types (srms).
- Step S34 If it is larger than the predetermined threshold th 1, the process returns to step S31 again, and the above rms
- the region is expanded from the selected region type by the line segment expansion method. That is, first, a line segment that is a candidate to be added to the region of the region type is searched (step S35). This area includes an updated area type, which will be described later, when the area type has already been updated.
- the candidate line segment is the line segment (1) adjacent to the line segment (for example, 1) included in the region type region.
- step S36 YES
- the mean square error rms (1) of the plane equation is
- step S38 the plane parameter is updated (step S38), and the processing from step S35 is repeated again.
- step S35 the process is repeated until there are no candidate line segments.
- step S36: NO the process returns to step S31, and the region type is searched again. Then, when there are no region types included in the line segment group (step S32: NO), the plane parameters obtained up to now are output and the processing is terminated.
- the region type is searched, it is determined whether the three line segments belong to the same plane, and the reference plane or the updated plane obtained by updating the reference plane when performing the area expansion process.
- the above equation (8) is used to determine whether or not the image belongs to That is, if the root mean square error rms of the plane equation is less than a predetermined threshold (th 1), the line segment (group) is made the same rms
- the plane is estimated to belong to the plane, and the plane is calculated again as a plane including the line segment.
- the noise is more robust and accurate even when it contains fine steps.
- a plane can be extracted. The reason will be described below.
- Figure 27 shows the effect of the plane equation even if the distance between the end point and the straight line is the same. It is a schematic diagram showing an example in which the root mean square error rms is different.
- the target when region expansion processing is performed, if the value of the distance D between the end point of the target straight line (line segment) and the plane P is smaller than a predetermined threshold, the target When region expansion processing is performed on the assumption that the line segment is the same plane as plane P, straight line La (Fig.27A) intersecting plane P and straight line Lb (Fig.27B) parallel to plane P and shifted by a predetermined distance Are used to update the plane P as well.
- the square of the plane equation obtained from the straight line Lb in FIG. 27B is compared with the mean square error rms (La) of the flat equation obtained from the straight line La in FIG. 27A.
- the average error rms (Lb) is larger. That is, as shown in Fig. 27A, when the straight line La intersects with the plane P, the mean square error rms of the plane equation is relatively small and often has the effect of noise, as shown in Fig. 27B. In this case, the mean square error rm s of the plane equation is large, and there is a high probability that the straight line Lb is not the same plane as the plane P but a different plane P ′.
- the mean square error rms of the plane equation is calculated as in this embodiment, and this value is If it is less than the predetermined threshold (th 2), it is preferable to determine that the same plane is used.rms Depending on the environment and the nature of the distance data, the distance between the end point of the line segment and the plane is the predetermined threshold. In the following cases, the line segment may be included in the plane, or these may be combined.
- the threshold (th 2) used in the line segment addition test in the above region expansion can be a constant obtained by experiment rms etc.
- the threshold value (th 2) is represented by the following formula (9) as the noise rms included in the line segment.
- th 3 is a constant that defines the lower limit of the threshold (th 2)
- d is the Mahalanobis distance
- sigmaO represents the variance of the line segment. For data containing a lot of noise, the variance sigmaO of the line segment is large, the threshold (th 2) is large, and the allowable range for area expansion is large.
- the linear equation expressed by the above equation (2) and the total error E of data points are used as sigmaO, and the lower threshold th 3 is the allowable error threshold th fit rms of the line segment used in the region type test
- the mean square error rms of the plane equation is updated from the two moment values obtained during line segment extraction for the data point group. It can be easily calculated by the above equation (8).
- region type selection method can also be expressed as shown in FIG. overlapd, 1) indicates that the position between the end points in the line vectors 1 and 1 included in each image row is a straight line j k j k
- the line vector 1, 1, 1 is transformed into the plane by A, calculated by the above equation (8).
- rms (l, 1, 1) is expressed as 2 in the plane equation on all three lines using equation (6) above.
- lines [i + 2] are divided by lines 1, 1, 1, respectively, which are selected to constitute the region type.
- a and b are the matrix and vector shown in the above equation (6-1), respectively, and add (A, b, 1) is a straight line between A and b by the above equation (8). It is a function that adds the moment of.
- select (open) is a function that selects one element arbitrarily, such as the first one, such as the first one.
- Index (l) is a function that returns an index of 1 in a pixel column or row.
- neighbor (index) is a function that returns an index adjacent to the given index, for example, ⁇ index-1, index + 1 ⁇ .
- the plane equation is re-executed in step S4. Performs post processing.
- the deviation from the plane of the distance data point or line segment that is assumed to belong to the plane indicated by the plane equation that is updated and finally obtained as described above is calculated, and a predetermined value is obtained.
- step S4 will be described in detail.
- the data point Process to include in the adjacent plane.
- the data point is included in that plane.
- These processes can be executed by searching for data points near the boundary of each planar area.
- Fig. 30A is a schematic diagram showing the floor surface when the robot device is standing and looking down on the floor surface.
- FIG. 30B is a graph in which the vertical axis is x, the horizontal axis is y, and the z-axis is expressed by the density of each data point.
- 3D is a diagram showing three-dimensional distance data, and further shows a straight line detected from a data point group that exists in the same plane by line segment extraction processing from pixel columns in the row direction.
- FIG. 30C shows a planar region obtained by the region expansion process for the straight line group force shown in FIG. 30B.
- FIG. 31 shows the results when one step is placed on the floor.
- FIG. 31A on the floor surface F, one step ST3 is placed.
- FIG. 31B is a diagram showing experimental conditions. If the distance force between the point of interest and the straight line (line segment) exceeds 3 ⁇ 4ax_d, the data point group is divided.
- the extraction success (horizontal) indicates the number of successful plane detections using line segment expansion that performs a total of 10 line segment extractions for each data column in the row direction.
- the extraction success / failure indicates the success or failure of extraction for each data column in the column direction.
- No. l to No. 5 are the conditions for plane detection processing by the conventional line segment expansion method that does not incorporate the Zig-Zag-Shape discrimination processing described above, and No. 6 is
- FIG. 31C and FIG. 31D are diagrams showing the results of plane detection by the line segment expansion method, and the results of plane detection by the method in the present embodiment are the results of plane detection by the conventional line segment expansion method, respectively.
- the result comparativative example
- FIGS. 32B and 32C show the case where the three-dimensional distance data is acquired from the image of the floor surface shown in FIG. 32A.
- the left figure shows an example in which a line segment is extracted from a pixel column (distance data string) in the row direction
- the right figure shows an example in which a line segment is extracted from a pixel column (distance data string) in the column direction.
- FIG. 33 and FIG. 34 are diagrams showing an example in which plane detection is performed by obtaining three-dimensional distance data from images obtained by photographing different stairs. As shown in Fig. 33 and Fig. 34, all treads can be detected as flat surfaces in both cases. Fig. 34B shows that a part of the floor surface is another plane. Indicates that the detection is successful.
- a large threshold value is set to divide the line segment, and then a data point exceeding the threshold value is detected by the Zig-Zag-Shape discrimination process. Even if it is a straight line that does not have a zigzag shape, the line segment is divided so that it is a straight line consisting of multiple planes that are not noise, so multiple planes can be detected accurately from distance information including noise It becomes possible.
- the uneven floor composed of a plurality of planes is a plane that can be walked, and the movement of the robot apparatus and the like are further simplified.
- one or more of the processes such as the line segment extraction process, the zigzag verification process, and the area enlargement process described above may be configured by hardware, but a computer program may be installed in the arithmetic unit (CPU). It may be realized by executing. In the case of a computer program, it can be provided by being recorded on a recording medium, or can be provided by being transmitted via the Internet or another transmission medium.
- a computer program it can be provided by being recorded on a recording medium, or can be provided by being transmitted via the Internet or another transmission medium.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006511066A JP4636016B2 (ja) | 2004-03-17 | 2005-03-17 | 平面検出装置、平面検出方法、及び平面検出装置を搭載したロボット装置 |
| US10/593,150 US8289321B2 (en) | 2004-03-17 | 2005-03-17 | Method and apparatus for detecting plane, and robot apparatus having apparatus for detecting plane |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004-077215 | 2004-03-17 | ||
| JP2004077215 | 2004-03-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2005088244A1 WO2005088244A1 (ja) | 2005-09-22 |
| WO2005088244A9 true WO2005088244A9 (ja) | 2008-03-13 |
Family
ID=34975694
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2005/004839 Ceased WO2005088244A1 (ja) | 2004-03-17 | 2005-03-17 | 平面検出装置、平面検出方法、及び平面検出装置を搭載したロボット装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8289321B2 (ja) |
| JP (1) | JP4636016B2 (ja) |
| WO (1) | WO2005088244A1 (ja) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102006008275A1 (de) * | 2006-02-22 | 2007-08-23 | Siemens Ag | Verfahren zur Detektion von Objekten mit einer schwenkbaren Sensoreinrichtung |
| US7916935B2 (en) * | 2006-09-19 | 2011-03-29 | Wisconsin Alumni Research Foundation | Systems and methods for automatically determining 3-dimensional object information and for controlling a process based on automatically-determined 3-dimensional object information |
| FR2929873B1 (fr) * | 2008-04-09 | 2010-09-03 | Aldebaran Robotics | Architecture de controle-commande d'un robot mobile utilisant des membres articules |
| KR101495333B1 (ko) * | 2008-07-02 | 2015-02-25 | 삼성전자 주식회사 | 장애물 검출 장치 및 방법 |
| JP5499261B2 (ja) * | 2009-07-16 | 2014-05-21 | 日本信号株式会社 | 画像処理装置 |
| JP5417645B2 (ja) * | 2010-03-08 | 2014-02-19 | オプテックス株式会社 | 距離画像における平面推定方法および距離画像カメラ |
| JP5161936B2 (ja) * | 2010-08-11 | 2013-03-13 | 株式会社パスコ | データ解析装置、データ解析方法、及びプログラム |
| JP5588332B2 (ja) * | 2010-12-10 | 2014-09-10 | 東芝アルパイン・オートモティブテクノロジー株式会社 | 車両用画像処理装置および車両用画像処理方法 |
| JP2013047662A (ja) * | 2011-07-27 | 2013-03-07 | Ihi Corp | 対象物体の検出方法、検出装置及びプログラム |
| KR101820299B1 (ko) * | 2011-11-23 | 2018-03-02 | 삼성전자주식회사 | 3차원 데이터 영상의 계단 인식 방법 |
| US9269155B2 (en) * | 2012-04-05 | 2016-02-23 | Mediatek Singapore Pte. Ltd. | Region growing method for depth map/color image |
| US9582932B2 (en) * | 2012-06-05 | 2017-02-28 | Apple Inc. | Identifying and parameterizing roof types in map data |
| JP6121216B2 (ja) * | 2013-03-29 | 2017-04-26 | 株式会社パスコ | 多平面構造物の凹凸抽出装置、多平面構造物の凹凸抽出方法、及びプログラム |
| JP6032678B2 (ja) * | 2013-06-20 | 2016-11-30 | 株式会社パスコ | データ解析装置、データ解析方法、及びプログラム |
| US9996974B2 (en) * | 2013-08-30 | 2018-06-12 | Qualcomm Incorporated | Method and apparatus for representing a physical scene |
| JP6259262B2 (ja) * | 2013-11-08 | 2018-01-10 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
| US9412040B2 (en) * | 2013-12-04 | 2016-08-09 | Mitsubishi Electric Research Laboratories, Inc. | Method for extracting planes from 3D point cloud sensor data |
| EP3226212B1 (en) * | 2014-11-28 | 2020-07-08 | Panasonic Intellectual Property Management Co., Ltd. | Modeling device, three-dimensional model generating device, modeling method, and program |
| JP6597352B2 (ja) * | 2016-02-04 | 2019-10-30 | 株式会社デンソー | 物体認識装置 |
| JP2017181291A (ja) * | 2016-03-30 | 2017-10-05 | 富士通株式会社 | 距離測定装置、距離測定方法及びプログラム |
| WO2018108832A1 (en) * | 2016-12-14 | 2018-06-21 | Starship Technologies Oü | Robot, system and method detecting and/or responding to transitions in height |
| US10077047B2 (en) | 2017-02-10 | 2018-09-18 | Waymo Llc | Using wheel orientation to determine future heading |
| CN108510540B (zh) * | 2017-02-23 | 2020-02-07 | 杭州海康威视数字技术股份有限公司 | 立体视觉摄像机及其高度获取方法 |
| JP7148229B2 (ja) * | 2017-07-31 | 2022-10-05 | 株式会社トプコン | 三次元点群データの縦断面図作成方法,そのための測量データ処理装置,および測量システム |
| US10989795B2 (en) * | 2017-11-21 | 2021-04-27 | Faro Technologies, Inc. | System for surface analysis and method thereof |
| CN112004645B (zh) * | 2017-12-19 | 2024-10-15 | 卡内基梅隆大学 | 智能清洁机器人 |
| US10902625B1 (en) * | 2018-01-23 | 2021-01-26 | Apple Inc. | Planar surface detection |
| WO2019191605A1 (en) | 2018-03-30 | 2019-10-03 | Jabil Inc. | Apparatus, system, and method of providing hazard detection and control for a mobile robot |
| EP3802016B1 (en) * | 2018-06-11 | 2024-05-01 | Jabil Inc. | Apparatus, system, and method of docking for autonomous robot navigation |
| US11548151B2 (en) | 2019-04-12 | 2023-01-10 | Boston Dynamics, Inc. | Robotically negotiating stairs |
| US11599128B2 (en) * | 2020-04-22 | 2023-03-07 | Boston Dynamics, Inc. | Perception and fitting for a stair tracker |
| CN110216661B (zh) * | 2019-04-29 | 2020-12-22 | 北京云迹科技有限公司 | 跌落区域识别的方法及装置 |
| JP7395856B2 (ja) * | 2019-07-01 | 2023-12-12 | セイコーエプソン株式会社 | 印刷制御装置、印刷制御プログラム、及び、印刷物生産方法 |
| US12094195B2 (en) | 2020-04-20 | 2024-09-17 | Boston Dynamics, Inc. | Identifying stairs from footfalls |
| US12077229B2 (en) | 2020-04-22 | 2024-09-03 | Boston Dynamics, Inc. | Stair tracking for modeled and perceived terrain |
| US11796637B1 (en) * | 2020-09-10 | 2023-10-24 | Amazon Technologies, Inc. | Fall detection on uneven surfaces using radar |
| CN113175987A (zh) * | 2021-04-09 | 2021-07-27 | 东南大学 | 一种考虑环境温度变异的桥梁动力特性异常预警方法 |
| CN113390431B (zh) * | 2021-06-17 | 2022-09-30 | 广东工业大学 | 动态生成参考线的方法、装置、计算机设备和存储介质 |
| JP7773423B2 (ja) * | 2022-03-31 | 2025-11-19 | 株式会社パスコ | 構造物解析装置、構造物解析方法及びプログラム |
| US12511863B2 (en) * | 2022-06-07 | 2025-12-30 | Htc Corporation | Method for determining floor plane and host |
| US20240189989A1 (en) * | 2022-12-13 | 2024-06-13 | Boston Dynamics, Inc. | Object climbing by legged robots using training objects |
| GB2621906B (en) * | 2023-03-30 | 2024-07-17 | Gpc Systems Ltd | A system and method for processing image data |
| WO2025005127A1 (ja) * | 2023-06-30 | 2025-01-02 | 京セラ株式会社 | 処理装置、ロボット制御装置、ロボットシステム及びプログラム |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03176701A (ja) | 1989-12-05 | 1991-07-31 | Toshiba Corp | N対1バックアップコントローラ |
| JPH03278467A (ja) | 1990-03-27 | 1991-12-10 | Canon Inc | 薄膜半導体装置 |
| JP3192736B2 (ja) | 1992-02-10 | 2001-07-30 | 本田技研工業株式会社 | 移動体の階段などの認識方法 |
| JP3176701B2 (ja) | 1992-04-15 | 2001-06-18 | 本田技研工業株式会社 | 移動体の現在位置認識処理装置 |
| JP3278467B2 (ja) | 1992-08-18 | 2002-04-30 | 本田技研工業株式会社 | 移動ロボットの制御装置 |
| JP2942454B2 (ja) | 1993-05-26 | 1999-08-30 | 松下電工株式会社 | 形状認識方法 |
| JP3330710B2 (ja) * | 1993-12-30 | 2002-09-30 | 本田技研工業株式会社 | 移動ロボットの位置検知および制御装置 |
| JPH08161493A (ja) * | 1994-12-08 | 1996-06-21 | Mazda Motor Corp | 線形状検出方法およびその装置 |
| US5978504A (en) * | 1997-02-19 | 1999-11-02 | Carnegie Mellon University | Fast planar segmentation of range data for mobile robots |
| JP3675680B2 (ja) * | 1999-08-30 | 2005-07-27 | 株式会社神戸製鋼所 | 溶接線位置検出装置 |
| JP3945279B2 (ja) * | 2002-03-15 | 2007-07-18 | ソニー株式会社 | 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置 |
| US20040138780A1 (en) * | 2002-11-15 | 2004-07-15 | Lewis Murray Anthony | Certain principles of biomorphic robots |
| JP3994950B2 (ja) * | 2003-09-19 | 2007-10-24 | ソニー株式会社 | 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置 |
| US7653216B2 (en) * | 2003-12-23 | 2010-01-26 | Carnegie Mellon University | Polyhedron recognition system |
| WO2005087452A1 (ja) | 2004-03-17 | 2005-09-22 | Sony Corporation | ロボット装置、及びその動作制御方法、並びに移動装置 |
-
2005
- 2005-03-17 US US10/593,150 patent/US8289321B2/en not_active Expired - Fee Related
- 2005-03-17 JP JP2006511066A patent/JP4636016B2/ja not_active Expired - Fee Related
- 2005-03-17 WO PCT/JP2005/004839 patent/WO2005088244A1/ja not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| JP4636016B2 (ja) | 2011-02-23 |
| US20070257910A1 (en) | 2007-11-08 |
| WO2005088244A1 (ja) | 2005-09-22 |
| JPWO2005088244A1 (ja) | 2008-01-31 |
| US8289321B2 (en) | 2012-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4636016B2 (ja) | 平面検出装置、平面検出方法、及び平面検出装置を搭載したロボット装置 | |
| JP4479372B2 (ja) | 環境地図作成方法、環境地図作成装置、及び移動型ロボット装置 | |
| JP4618247B2 (ja) | ロボット装置及びその動作制御方法 | |
| JP3994950B2 (ja) | 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置 | |
| Pradeep et al. | Robot vision for the visually impaired | |
| US7769491B2 (en) | Obstacle avoiding apparatus, obstacle avoiding method, obstacle avoiding program, and mobile robot apparatus | |
| RU2662913C2 (ru) | Способ локализации робота в плоскости локализации | |
| KR101907077B1 (ko) | 자세 인식 방법 및 장치 | |
| WO2016210227A1 (en) | Aligning 3d point clouds using loop closures | |
| KR20110139694A (ko) | 제스쳐 인식 방법 및 시스템 | |
| JP2003271975A (ja) | 平面抽出方法、その装置、そのプログラム、その記録媒体及び平面抽出装置搭載型ロボット装置 | |
| Pradeep et al. | Piecewise planar modeling for step detection using stereo vision | |
| CN116830165A (zh) | 人体姿态判断方法及使用该方法的移动机器 | |
| Krzeszowski et al. | DTW-based gait recognition from recovered 3-D joint angles and inter-ankle distance | |
| CN109164802A (zh) | 一种机器人迷宫行走方法、装置及机器人 | |
| JP7145770B2 (ja) | 車間距離測定装置、誤差モデル生成装置および学習モデル生成装置とこれらの方法およびプログラム | |
| JP6410231B2 (ja) | 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム | |
| CN111583331B (zh) | 用于同时定位和地图构建的方法及装置 | |
| JP2007041657A (ja) | 移動体制御方法および移動体 | |
| JP4407244B2 (ja) | ロボット装置及びその物体学習方法 | |
| CN113643362A (zh) | 2d人体姿态估计系统中基于人体测量的肢体校正器 | |
| CN113643344A (zh) | 机器人获取天花板轮廓的方法 | |
| Ding et al. | Fast human pose tracking with a single depth sensor using sum of Gaussians models | |
| US20250326126A1 (en) | Apparatus and method for vision control of wearable robot | |
| CN120160605A (zh) | 足式机器人的路径规划方法、足式机器人及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| 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: 2006511066 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 10593150 Country of ref document: US |
|
| 122 | Ep: pct application non-entry in european phase | ||
| WWP | Wipo information: published in national office |
Ref document number: 10593150 Country of ref document: US |