ArticlePDF Available

Abstract and Figures

In this paper we present a suite of algorithms for determining the possible trajectories of an autonomous robot while navigating through obstacles. For this, we first identify the obstacle orientation and then determine the distance between each two obstacles and compare it with the robot width. The results of these algorithms are intended to be used by the robot path planning, for selecting the best trajectory. The algorithms are relatively simple and accurate and can work successfully even on robots with medium computational resources.
Content may be subject to copyright.
CEAI, Vol.13, No.2, pp. 32-37 , 2011 Printed in Romania
Real-time image processing algorithms for object and distances identification
in mobile robot trajectory planning
C. Ilas, Phd.*, D. Novischi*, S. Paturca, Phd.*, M. Ilas, Phd.**
*Dept. of Electrical Engineering, Politehnica University of Bucharest,
Bucharest, Romania (dan.novischi@ gmail.com, constantin.ilas@upb.ro, sanda.paturca@upb.ro).
**Dept. of Electronics and Telecommunications, Politehnica University of Bucharest,
Bucharest, Romania (m.ilas@hlx.ro)
Abstract: In this paper we present a suite of algorithms for determining the possible trajectories of an
autonomous robot while navigating through obstacles. For this, we first identify the obstacle orientation
and then determine the distance between each two obstacles and compare it with the robot width. The
results of these algorithms are intended to be used by the robot path planning, for selecting the best
trajectory. The algorithms are relatively simple and accurate and can work successfully even on robots
with medium computational resources.
Keywords:. autonomous robot, robot vision, image processing algorithms, Canny edge detection, K-
Means clustering.
1. INTRODUCTION
Image processing applications have become extremely
important in robotics over the last 15 years. Image processing
algorithms have been introduced for a multitude of tasks,
such as navigation, orientation, object and surrounding
identification (see Forsyth, Florczyk, Browning).
In many such algorithms it is important to extract the
essential image information, such as the presence of objects,
their properties, including their size and position. There are
several approaches for this (see Florczyk). In camera
calibration, the goal is to determine the parameters of a
camera model, in order to explain the projection of the 3D
image to the 2D plane and to allow object reconstruction,
including determining info on their size and position (see
Forsyth, Florczyk, Vincent, Ji, Kolesnik, Ma). Calibration
itself can be split in two main categories: test-area
calibration, based on using a known, test environment and
self-calibration, which uses images obtained from different
positions in order to determine the camera model and to
allow the object reconstruction (see Florczyk). Of these,
especially the latter has attracted the interest (see Vincent,
Horaud, Ji, Kolesnik, Ma, Mirzaei). Many of these deal also
with full determination and correction of image distortion
(see Vincent).
However, when dealing with robot navigation, very often the
problem can be solved with less information on the image
and less accurate measurements. For instance, the focus is not
on computing the object size and position, but rather on
determining the distances between two obstacles, and
possibly the length of alternative path segments, in order to
choose the optimal path. In both cases we argue that a very
precise determination of these distances is not the primary
goal, while making a good decision on the path in the early
movement stages is. This decision will be based first of all on
determining the available trajectory options among the
obstacles (by eliminating the corridors that are too narrow for
the robot) and then by selecting the one that is most suitable.
Since in many cases the robot camera is not able to see the
entire movement area, up to the target, this decision will be
made on incomplete information.
In this paper we present a practical approach for extracting
from the camera image the essential information that is
needed for making good decisions during the navigation. In
order to simplify the algorithm, there is no self-calibration
during the robot navigation. For best results, the camera has
to be pre-calibrated, using a test image. The path decisions
and planning will then be done in the image 2D plane,
without any transformation to the 3D real space.
2. OBJECT ORIENTATION IDENTIFICATION
It is often the case that the objects orientation in the (x,y)
coordinate plane is needed in order to build a more accurate
environment representation. In order to extract this feature
from a 2D image we developed an algorithm based on Canny
edge detection and K-Means Clustering, formulated in terms
of Expectation Maximization algorithm. The main idea of
algorithm is to adequately represent the lines formed by
objects edge pixels in the Hough space. In this space a
straight line is represented by the pair (r,θ), where r is the
distance between the line and the origin and θ is the angle of
the vector to the origin for the closest point as depicted in
Fig. 1.
In the first step of our algorithm we apply the Canny edge
detector on the image obtained from the camera and extract
the individual lines. Because edge lines are formed by
individual pixels, in the first step of our algorithm we
compute the (r,θ) coordinates between each individual pixel
and all other pixels, using the equations below.
CONTROL ENGINEERING AND APPLIED INFORMATICS 33
Fig. 1. The (r,θ) coordinates line parameterization used for
object edge representation.
In these equations d represents the Euclidian distance
between two points on a line and the pairs

11
,
x
yand

22
,
x
y represent their polar coordinates. All distances are
represented in pixels.

22
21 21
dxx yy
(1)
21
arccos
y
y
d



(2)
21 12
y
xyx
rd

(3)
The results obtained from this computation are two matrices,
R and Θ, containing all the vector angles and lengths between
each pair of individual pixels.
In the second step we first use a modified version of K-
Means clustering algorithm that we developed to group
angles that have a deviation smaller than 3 degrees. Then we
select the clusters that have a number of elements bigger than
a specified threshold. This is done because real angles of the
edge pixel lines that are prominent yield bigger clusters in
terms of number of elements.
In the third step, for each previously selected cluster we again
apply K-Means in respect to the distances matrix R. Thus,
each angle cluster is “divided” into several clusters based on
distance from the origin. For each angle cluster we select
only the distance clusters that are bigger than a specified
threshold. These resulting clusters represent the object edge
lines for which we determined the angles. In the final we
determine the object relative orientation to the robot by
examining the edge lines for each detected object. An object
orientation is expressed by the angle of a primary edge line
and its perpendicular. Because some of the object edge lines
are partially detected or are not detected at all, in order to
determine an object relative position to the robot, we analyze
the actual object edges in three cases:
Case 1, if an edge line is present between two edge lines
at 90 degree, then that line is selected as the primary line
in the 2D image plane.
Case 2, if no two 90 degree edge lines are found, then the
edge object lines are analyzed and the primary line is the
one with the smallest r distance in the 2D image plane (r
is the perpendicular line from the image origin to the
line.)
Case 3, if the primary edge line is not found as in case 1
or 2, then the principal line is selected to be a horizontal
line (at 0 degree angle) that connects the x right and x left
extreme coordinates of the object in the 2D image plane.
The algorithm for obstacle orientation identification is
presented below:
Object Orientation Identification Algorithm
1. Detect objects edges
2. Localize objects in the 2D image plane
3. Compute distance (R) and angle (Θ) matrices
4. Compute true angles of object edge lines
5. Compute distances in respect to true edge lines
6. Compute relative object orientation to the robot from the
edge lines angles and vector distances
Since in the standard version of the K-Means clustering
algorithm one needs to specify the number k of clusters prior
to the clustering process, we developed an enhanced version
to automatically select k. In our modified version, the number
k of clusters increases based on the magnitude of the
deviation. Thus, if the deviation of a cluster has larger
magnitude than a specified threshold, the cluster is divided
and the k number of total clusters is increases. In the division
process the centroids of the new clusters are chosen to be the
old cluster centroid and the value of an element for which the
deviation is maximum. The algorithm is presented below.
The Modified K-Means Algorithm
1. Start with one cluster ( k = 1 )
2. noPointsMove = false
3. Assign each point to the cluster
4. While (! noPointsMove )
a. If( ! k = 1 )
i. Assign each point to closest cluster
b. For each cluster
i. Compute new centroid
ii. Compute the new deviation
34 CONTROL ENGINEERING AND APPLIED INFORMATICS
iii. If(noPointsMove && deviation > threshold)
1. noPointsMove = false;
2. Divide cluster
5. Remove small clusters
In Fig. 2 and Fig. 3 we present the processed image, as
resulted after applying the object orientation identification
algorithm, in two distinct situations.
In the first situation (Fig. 2), the algorithm identified a line
connecting two other lines, with which it creates a 90o angle,
thus it was selected as the primary line, based on which the
object orientation is computed. In the figure, this is the line
that is closest to the horizontal. In the second case (Fig. 3),
the algorithm did not identified one of the rectangular edges
in either two objects, so the primary line is selected to be the
one with the smallest distance r from the image origin (the
bottom right corner) to the line (i.e. the extension of the
segment edges).
A B
C D
Fig. 2. Processed Images (principal line selected as the one
between lines at 90 degrees): A – Real Image, B – Edge Line
Image, C – First Object (at 21 degrees orientation), D –
Second Object (at 6 degrees orientation)
A B
C D
Fig. 3. Processed Images (two connected lines with smallest r
distance): A – Real Image, B – Edge Line Image, C – First
Object (at 39 degrees orientation), D – Second Object (at 46
degrees orientation)
One of the algorithm limitations is the way it interprets
objects that have a circular (curve) shape, or a cylindrical
shape. For instance, in the later case, the line connecting the
two edges at 90o is a curve. In this case the algorithm
considers the primary line as the horizontal that connects the
two vertical edges.
3. COLISION FREE PATHS IDENTIFICATION
A collision free path is a path which the robot could follow in
order to reach its final goal. For determining the available
collision free paths we analyze the obstacles location and
their orientation. In each case we associate with each
collision free trajectory a distance and weight value that
depends on the accuracy with which objects are detected.
In the first case the detected objects are perpendicular to the
robot trajectory and parallel to each other. This situation is
presented in Fig. 4 and Fig. 5. The distance between the
objects and between each object and possible walls is
compared to the robot width. In Fig. 4 and Fig. 5, there are no
lateral walls and the distance between the two objects that are
closer is larger than the robot width, so the robot could pass
through. Thus, the possible collision free paths that are
determined in this situation are either on the left side of the
first object, the right side of the second or between the two
objects. For each trajectory marked as free from collisions we
may compute the distance that the robot has to travel and
assign a weight value of 50%. If the final goal is straight
ahead, the smallest travel distance corresponds to the path
which is closest to this straight line. The weight of 50%
means that there is a 50% probability that this path would be
blocked further on, by an object that is undetected yet (e.g. is
hidden by the front ones). If there is a more distant object on
the path that is detected (as O3 in Fig. 4), there are two
situations.
Fig 4. Case 1 – Detected objects are parallel to each other and
perpendicular to the robot trajectory. The distance O1-O2 is
computed and found larger than robot width, but distances
O3-O1 and O3-O2 are assumed that cannot be computed.
In the first, the distances between that object and its
neighbours (such as O3-O1 and O3-O2 in Fig. 4) can be
determined (details on how to compute it will be shown
CONTROL ENGINEERING AND APPLIED INFORMATICS 35
below) and hence the collision free paths around that obstacle
are found. They would have a 50% weight, for the reasons
explained above. In the second situation, the distances cannot
be determined. Consequently, the collision free path that
contains this next obstacle is assigned a 25% weight. This
situation is shown in Fig. 4.
The way that the obstacles are detected by the robot can be
seen in Fig. 5.
A B
C D
E
Fig. 5. Processed Images: A – Real Image, B – Edge Line
Image, C – Left Object, D – Right Object, E – Centre Object
In the second case obstacles are parallel to each other, but not
perpendicular to the robot current orientation. This situation
is shown in Fig. 6. The possible collision free trajectories are
the same as in the first case. In order to mark the trajectory
passing between two objects as a collision free trajectory, we
compute the minimum passing distance. This minimum
passing distance in this case represents the perpendicular on
each object sides. Because we represent each object
orientation through the primary line and because we know the
edges that are perpendicular, the computation of the
minimum distance becomes trivial. The assignment of the
weight values for each collision free trajectory follow the
same logic as in the first case.
The way that the obstacles are detected by the robot can be
seen in Fig. 7.
In the third case the detected objects form an angle to each
other and also to the robot current trajectory. This situation is
depicted in Fig. 8 – Fig. 11. The possible collision free paths
are identical to the previous cases. The minimum distance
between the two objects is computed by determining the (x,
y) coordinates in the 2D image plane of the point where the
primary lines of the objects intersect each other. If the y
coordinate of this point is larger than the maximum y
coordinate of the two primary lines, then the minimum
distance is computed as the horizontal distance between the
objects, in the corner with the lower y.
Fig 6. Case 2 – Detected objects are parallel to each other and
form an angle with robot current orientation. The objects are
O1 and O2.
A B
C D
Fig. 7. Processed Images: A – Real Image, B – Edge Line
Image, C – Left Object, D – Right Object, E – Centre Object
Fig. 8. Case 3A - Detected objects (O1, O2) form an angle
with robot orientation and to each other and the intersection
point is located above the maximum y coordinate of the
primary lines.
36 CONTROL ENGINEERING AND APPLIED INFORMATICS
This situation is called 3A and can be seen in Fig. 8 and in
Fig. 9. In this situation the weight that we assign to this
trajectory is 25% because the distance between the two
objects could narrow further.
If the y coordinate of the intersection point is smaller than the
minimum y coordinate of the primary lines, the minimum
distance is the horizontal distance between the closest points
of the object in the y direction. This is referred to as case 3B
and can be seen in Fig. 10 and Fig. 11. In this situation the
weight value that we assign to this trajectory is 50%.
A B
C D
Fig. 9 Processed Images: A – Real Image, B – Edge Line
Image, C – Left Object, D – Right Object
Fig. 10. Case 3B - Detected objects (O1, O2) form an angle
with robot orientation and to each other. The intersection
point is below the minimum y coordinate of the primary
lines.
The algorithm for computing the collision free trajectories is
presented below:
Collision Free Trajectories Algorithm
For (each pair of obstacles)
If (objects orientation = 90o)
Compute horizontal distance between objects
Compute collision free trajectories
Assign weights
Else If (object 1 orientation = object 2 orientation)
Compute angle of the object interior sides
Compute the length of the perpendicular to each
interior side
Compute collision free trajectories
Assign weights
Else
Compute y coordinate of the primary lines
intersection point
If(y intersection point > max(y primary lines))
Compute the horizontal distance between y
maximum coordinates of the primary lines
Else
Compute the horizontal distance between minimum
y coordinates of the primary lines
Compute collision free trajectories
Assign weights
A B
C D
Fig. 11. Processed Images: A – Real Image, B – Edge Line
Image, C – Left Object, D – Right Object
CONCLUSIONS
In this paper we presented and analysed an algorithm for
identifying the object orientation and an algorithm for
determining the collision free paths.
The first algorithm is a K-Means algorithm, with the ability
of automatically setting the number of clusters.
The outputs of this algorithm are used by a second one, in
order to compare the distances between obstacles and thus to
determine the possible paths (collision-free paths). There are
3 possible cases for two obstacles positions and we discussed
each of them and the way in which the minimum distance is
computed. If the robot final goal cannot be seen, the path is
determined based on the available information. Thus, each
CONTROL ENGINEERING AND APPLIED INFORMATICS 37
collision-free path is given a weight, which depends on the
probability of being a collision-free path up to the final goal.
In the situation in which we cannot determine the minimum
distances accurately, the weight assigned reflects this.
Both algorithms are relatively simple and accurate and can
work successfully even on robots with medium
computational resources.
These algorithms have been implemented and tested using a
Blackfin SRV-1 robot.
REFERENCES
Browning, B.; Veloso, M.(2005) Real-time, adaptive color-
based robot vision. Intelligent Robots and Systems, 2005.
IEEE/RSJ International Conference on. pp: 3871 – 3876.
Dickmanns, E.D. (2007) Dynamic Vision for Perception and
Control of Motion, Springer-Verlag London Limited
2007, ISBN 978-1-84628-637-7
Dumitrescu, E., Paturca, S., and Ilas, C., (2009) Optimal Path
Computation for Mobile Robots using MATLAB, Revista
de Robotica si Management, vol. 14, nr.2, pg.36, 2009
Forsyth D. and Ponce J. (2003), Computer Vision: A Modern
Approach. Upper Saddle River, New Jersey: Prentice
Hall.
Florczyk, S. (2005) Robot Vision: Video-based Indoor
Exploration with Autonomous and Mobile Robots,
WILEY-VCH Verlag GmbH & Co. KGaA, Weinheim,
ISBN 3-527-40544-5.
Vincent, C.Y; Tjahjadi, T. (2005) Multiview Camera-
Calibration Framework for Nonparametric Distortions
Removal, Robotics, IEEE Transactions on, Vol. 21, No.
5, Oct. 2005, pp.1004-1009.
Horaud, R., Mohr, R., Lorecki, B. (1993) On Single-Scanline
Camera Calibration, Robotics and Automation, IEEE
Transactions On, Vol. 9, No. 1, Feb. 1993, pp.71-75.
Ji, Q. (2004) Self-Calibration of a Rotating Camera With a
Translational Offset, Robotics and Automation, IEEE
Transactions On, Vol. 20, No. 1, Feb. 2004, pp.1-14.
Kolesnik, M.; Baratoff, G. (2000) 3-D Interpretation of
Sewer Circular Structures. Robotics and Automation.
Proceedings of the 2000 IEEE International Conference
on, San Francisco. pp: 1453 - 1458.
Ma, S.D.(1996) A Self-Calibration Technique for Active
Vision Systems, Robotics and Automation, IEEE
Transactions On, Vol. 12, No. 1, Feb. 1996, pp.114-120.
Malm, H.; Heyden, A. (2006) Extensions of Plane-Based
Calibration to the Case of Translational Motion in a
Robot Vision Setting, Robotics, IEEE Transactions on,
Vol. 22, No. 2, Apr. 2006, pp.322-332.
Mezouar, Y., Chaumette, F. (2002) Path Planning for Robust
Image-Based Control, Robotics and Automation, IEEE
Transactions On, Vol. 18, No. 4, Aug. 2002, pp.534-549.
Mirzaei, F.M., Roumeliotis, S.I. (2008) A Kalman Filter-
Based Algorithm for IMU-Camera Calibration:
Observability Analysis and Performance Evaluation,
Robotics, IEEE Transactions on, Vol. 24, No. 5, Oct.
2008, pp.1143-1156.
Novischi, D., Ilas, C., and Paturca, S., (2010) Obstacle
Avoidance based on vision with Low Level Hardware
Robots. Performance Comparison, Eurobot International
Conference, Rapperswill, Switzerland, 2010.
Stronger, D.; Stone, P. (2007) A Comparison of Two
Approaches for Vision and Self-Localization on a Mobile
Robot. Robotics and Automation, 2007 IEEE
International Conference on. pp: 3915 – 3920.
Zhengyou Z; Quang-Tuan L; Faugeras, O (1996) Motion of
an Uncalibrated Stereo Rig: Self-Calibration and Metric
Reconstruction. Robotics and Automation, IEEE
Transactions On, Vol. 12, No. 1, Feb. 1996, pp.103-113.
... Ilas et al. [20] explored different types of algorithms in order to find the possible trajectories of an autonomous robot moving through different types of obstacles. Based on the developed approach, the distance between the robot and the obstacles was determined by taking into account the width of the robot. ...
Article
Full-text available
The automated sorting systems are used in the industrial sectors to increase the rate of production. This research developed the sorting system by using a vision machine to detect the matching of capturing image with the storage base image. The system will be matching and sorting in real-time with 5 cm/s conveyor belt speed. The vision system is based on three stages to arrive at the sorting decision. The first stage is to covert the capturing image to a binary image, the second stage is applying edge detection of the product, and the third stage is matching this result with the base image. The system was successful to sort any product with complexity in shape and with high efficiency. The system sorting can be detected and sorted any product/machine element at any position or orientation. The system uses real-time analysis in order to provide the required results. The results arrived at the sorting gate at the end conveyer belt of the system if open that means the product matching. Three different products were selected in order to investigate the response and the accuracy of the results. It was found that the maximum of error to detect the product is not exceeding 2% for all cases.
... Images collected by the drone's camera are transmitted to the special support unit (i.e., a car). At the support unit, images will be processed by the real-time algorithm for object and distance identification proposed by Ilas et al. [15]. ...
Conference Paper
Full-text available
The development of autonomous vehicles or advanced driving assistance platforms has had a great leap forward getting closer to human daily life over the last decade. Nevertheless, it is still challenging to achieve an efficient and fully autonomous vehicle or driving assistance platform due to many strict requirements and complex situations or unknown environments. One of the main remaining challenges is a robust situational awareness in autonomous vehicles in unknown environments. An autonomous system with a poor situation awareness due to low quantity or quality of data may directly or indirectly cause serious consequences. For instance, a person's life might be at risk due to a delay caused by a long or incorrect path planning of an autonomous ambulance. Internet of Everything (IoE) is currently becoming a prominent technology for many applications such as automation. In this paper, we propose an IoE-based architecture consisting of a heterogeneous team of cars and drones for enhancing situational awareness in autonomous cars, especially when dealing with critical cases of natural disasters. In particular, we show how an autonomous car can plan in advance the possible paths to a given destination, and send orders to other vehicles. These, in turn, perform terrain reconnaissance for avoiding obstacles and dealing with difficult situations. Together with a map merging algorithm deployed into the team, the proposed architecture can help to save traveling distance and time significantly in case of complex scenarios.
... Recently several development frameworks have been proposed to assist researchers in the design of robotic applications [20]. From these, the Mindstorms EV3 robotic platform is an easy to use and versatile development tool-kit that has wide spread applications both in education and engineering [21]. ...
Article
Full-text available
Eye-tracking devices are currently used for improving communication and psychosocial status among patients with neuro-motor disabilities. This paper presents the experimental implementation of a control system for a robotic platform using eye tracking technology. The main system is based on an eye tracking subsystem that uses the circular Hough transform algorithm. A central processing unit performs the data transmission between the user and the robotic platform. Experimental tests were conducted to determine the device's performances and usability for patients with neuro-motor disabilities. Moreover, the test results were used to determine the control system learning curve. We created a data base containing information on the robotic platform processing time and precision of movement for improving the platform’s performances.
Article
Full-text available
In this article we describe a mobile robot control method based on the optimal path computation for a known environment. The movement control is implemented on the robot, while the algorithm for determining the optimal path is implemented in Matlab. The robot interrogates the PC for getting the coordinates of points on the reference trajectory. The communication between the robot and the PC is via Bluetooth connection and is controlled by the robot. The method for optimal path computation is based on creating a visibility graph and applying Dijkstra's algorithm.
Article
Full-text available
In this paper, a technique for calibrating a camera using a planar calibration object with known metric structure, when the camera (or the calibration plane) undergoes pure translational motion, is presented. The study is an extension of the standard formulation of plane-based camera calibration where the translational case is considered as degenerate. We derive a flexible and straightforward way of using different amounts of knowledge of the translational motion for the calibration task. The theory is mainly applicable in a robot vision setting, and the calculation of the hand-eye orientation and the special case of stereo head calibration are also being addressed. Results of experiments on both computer-generated and real image data are presented. The paper covers the most useful instances of applying the technique to a real system and discusses the degenerate cases that needs to be considered. The paper also presents a method for calculating the infinite homography between the two image planes in a stereo head, using the homographies estimated between the calibration plane and the image planes. Its possible usage and usefulness for simultaneous calibration of the two cameras in the stereo head are discussed and illustrated using experiments
Article
Full-text available
This paper proposes a technique that uses a planar calibration object and projective constraints to calibrate parametric and nonparametric distortions. An iterative surface fitting is first used to constrain a B-spline distortion model by fusing the corrective distortion maps obtained from multiple views. The model is then refined within the whole camera-calibration process.
Conference Paper
With the wide availability, high information content, and suitability for human environments of low-cost color cameras, machine vision is an appealing sensor for many robot platforms. For researchers interested in autonomous robot teams operating in highly dynamic environments performing complex tasks, such as robot soccer, fast color-based object recognition is very desirable. Indeed, there are a number of existing algorithms that have been developed within the community to achieve this goal. Many of these algorithms, however, do not adapt for variation in lighting intensity, thereby limiting their use to statically and uniformly lit indoor environments. In this paper, we present a new technique for color object recognition that can adapt to changes in illumination but remains computationally efficient. We present empirical results demonstrating the performance of our technique for both indoor and outdoor environments on a robot platform performing tasks drawn from the robot soccer domain. Additionally, we compare the computational speed of our new approach against CMVision, a fast open-source color segmentation library. Our performance results show that our technique is able to adapt to lighting variations without requiring significant additional CPU resources.
Conference Paper
This paper considers two approaches to the problem of vision and self-localization on a mobile robot. In the first approach, the perceptual processing is primarily bottom-up, with visual object recognition entirely preceding localization. In the second, significant top-down information is incorporated, with vision and localization being intertwined. That is, the processing of vision is highly dependent on the robot's estimate of its location. The two approaches are implemented and tested on a Sony Aibo ERS-7 robot, localizing as it walks through a color-coded test-bed domain. This paper's contributions are an exposition of two different approaches to vision and localization on a mobile robot, an empirical comparison of the two methods, and a discussion of the relative advantages of each method.
Book
The application of machine vision to autonomous vehicles is an increasingly important area of research with exciting applications in industry, defense, and transportation likely in coming decades. Dynamic Vision for Perception and Control of Motion has been written by the world's leading expert on autonomous road-following vehicles and brings together twenty years of innovation in the field by Professor Dickmanns and his colleagues at the University of the German Federal Armed Forces in Munich. The book uniquely details an approach to real-time machine vision for the understanding of dynamic scenes, viewed from a moving platform that begins with spatio-temporal representations of motion for hypothesized objects whose parameters are adjusted by well-known prediction error feedback and recursive estimation techniques. A coherent and up-to-date coverage of the subject matter is presented, with the machine vision and control aspects detailed, along with reports on the mission performance of the first vehicles using these innovative techniques built at Munich. Pointers to the future development and likely applications of this hugely important field of research are presented. Dynamic Vision for Perception and Control of Motion will be a key reference for technologists working in autonomous vehicles and mobile robotics in general who wish to access the leading research in this field, as well as researchers and students working in machine vision and dynamic control interested in one of the most interesting and promising applications of these techniques.
Article
Vision-aided inertial navigation systems (V-INSs) can provide precise state estimates for the 3-D motion of a vehicle when no external references (e.g., GPS) are available. This is achieved by combining inertial measurements from an inertial measurement unit (IMU) with visual observations from a camera under the assumption that the rigid transformation between the two sensors is known. Errors in the IMU-camera extrinsic calibration process cause biases that reduce the estimation accuracy and can even lead to divergence of any estimator processing the measurements from both sensors. In this paper, we present an extended Kalman filter for precisely determining the unknown transformation between a camera and an IMU. Contrary to previous approaches, we explicitly account for the time correlation of the IMU measurements and provide a figure of merit (covariance) for the estimated transformation. The proposed method does not require any special hardware (such as spin table or 3-D laser scanner) except a calibration target. Furthermore, we employ the observability rank criterion based on Lie derivatives and prove that the nonlinear system describing the IMU-camera calibration process is observable. Simulation and experimental results are presented that validate the proposed method and quantify its accuracy.
Article
Techniques are proposed to support the video based development of systems for indoor exploration with mobile robots. The technique of redundant programming is often used to improve the reliability of operating systems, but the use of this technique is not common for CV (computer vision) applications. Also a new technique to create CAD (computer aided design) models from image data is described. These techniques were used for the development of an RV (robot vision) program. The observed recognition power exceeds the abilities of sophisticated but conventional programs clearly. This is documented with sample images, which show a table that has been taken from different distances. The quality of the images is very bad due to the fact that a camera was taken which has a very low resolution. Additionally the detection of the table was hampered, because the illumination in the images varied considerably. Sometimes the table was placed very near by a window with strong exposure to sunlight. Over-exposure of the table complicated the reconstruction because of this problem. Sometimes other objects irritated the detection. The program handled all these difficulties impressionably although it used no calibration techniques. No other robot-vision program is documented in the literature that gained the reported recognition rate.
Conference Paper
A practical algorithm for 3D interpretation of images taken in a sewer by a robot-inspector is presented. Modern sewers made of concrete present regular circular structures originating at the pipe ends as well as at the joints of the pipe sections. These pipe ends and joints provide regular marks on the sewer images and can be used for their 3D interpretation. The key idea of the paper is to extract from their image projections the 3D orientations of the circular structures and their distances relative to the robot. We adopt for this purpose a formula for the possible position of a calibrated camera on the basis of the image of a circle of known size. We describe a sequence of image processing operations that perform circle extraction, robust conic fitting and distance calculation based on original images. The reported results are preliminary in the framework of the project aimed at developing an autonomous robot for sewer inspections. We intend to use the approach to facilitate the orientation of the robot while moving in the sewer