9
CENG499 Progress report 1 Image based path mapping system for autonomous robotics applications Jordan Reynolds #0125068 Computer Engineering [email protected] January 18, 2004

CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

CENG499

Progress report 1

Image based path mapping system for autonomous

robotics applications

Jordan Reynolds#0125068

Computer [email protected]

January 18, 2004

Page 2: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

Contents

1 Summary 1

2 Problem Description 1

3 Proposed solution 13.1 Simplifying Assumptions . . . . . . . . . . . . . . . . . . 13.2 Image processing . . . . . . . . . . . . . . . . . . . . . . 23.3 Path Planning . . . . . . . . . . . . . . . . . . . . . . . 3

4 Proposed implementation 34.1 Operating environment . . . . . . . . . . . . . . . . . . . 34.2 Software design . . . . . . . . . . . . . . . . . . . . . . 4

4.2.1 Image processing . . . . . . . . . . . . . . . . . . 44.2.2 Path planning . . . . . . . . . . . . . . . . . . . 5

4.3 Hardware design . . . . . . . . . . . . . . . . . . . . . . 5

5 Proposed Timeline 6

i

Page 3: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

1 Summary

This report outlines the intended approach to develop an image based pathmapping system for an autonomous robot. The approach given here is onlyan outline of what might be the final design solution, and as such takesinto account any foreseeable problems that may be encountered. The finalsolution may not resemble that layer out here as many unforseen problemsare bound to appear during the design process.Also provided is a rough timeline intended only to provide a goal alongthe development path, again unforseen problems could quickly nullify thistimeline, and require re-consideration of what can be accomplished duringthe given time.

2 Problem Description

The goal for this term is to develop a low cost, extendable image processingand path mapping subsystem that can be plugged into any mobile roboticsplatform. This system should be able to plan a path through any arbitraryspace using only information provided by a set of stereo cameras.The deliverables for this project will be a system that can plot a path fromthe location of the cameras to a small red ball that can be placed anywherein the field of view of the cameras. This path must be a smooth path thatcan reasonably be traversed by a physical entity, eg. it cannot have anysharp corners or discontinuities.

3 Proposed solution

3.1 Simplifying Assumptions

To simplify the initial design and verification of the system as a whole thefollowing assumptions will be used:

1. The ”world” will consist of geometrically simple shapes, for examplecubes,spheres, and pyramidal shapes.

2. The environment will be evenly lit to help reduce problems introducedby shadows.

1

Page 4: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

3. The platform will be stationary, since low cost USB cameras are beingused it is impossible to take two images at exactly the same time,and therefore each image would be taken at different points in space.

4. The background of the environment will consist of consistently litand colored surfaces.

Once the basic system is operational, time permitting, each of these sim-plifying assumptions will be removed in turn.

3.2 Image processing

The first step will be to capture the image and perform some basic imageprocessing steps, these include :

1. Image de-warping, to remove any curvature introduced into the imageby the lenes.

2. Image channel separation, to break the image into its separate colorchannels

3. Edge detect.

4. Image re-assembly

5. Object location

The first components of the image processing system will be providedby the Intel OCV1 libraries, which are a set of high level functions thatprovide basic image manipulation and processing functionality. The edgedetect components will most likely be implemented by hand, as they arefairly simple. A small convolution kernel will most likely suffice for thisproject but can be expanded fairly easily. While it may be possible toonly examine one color channel to gather all the relevant information,hooks will be left in the system to allow for examining each of the colorchannels separately. The final step in image processing will be to identifyand location objects in space. Using the information gathered throughthe use of stereo cameras, the approximate location of any object can becalculated as well as a ”bounding box” that defines the approximate spacethe object inhabits. Since most of the time the exact location of an object

1OCV - Open Computer Vision libraries

2

Page 5: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

is hard to determine, there will be a certainty figure assigned to the objectwhich specifies how sure the algorithm is that an object truly does exist atthat location.It is also possible that Matlab will provide all the same functionality if it isdetermined that the OCV libraries ar insufficient to complete any of thesetasks.

3.3 Path Planning

The path planning will take a data structure containing the location of allobjects found by the image processing algorithms as input, and output anequation representing the path to the endpoint. This system will take aprobabilistic approach to the path planning problem to help make it moreflexible in a real environment.The algorithm will generate a probability density map representing thelikelihood of a collision occurring at any point in space. This map will begenerated using the object location, the bounding box, and the certaintyfigure generated by the image processing algorithm. Once the map hasbeen generated a functional representation of this map will be generated,this will most likely be accomplished using Matlab functions. The resultwill be a function of two variables representing the same information asthe map mentioned above.Finally using a gradient decent technique, or possibly a piecewise splinetechnique the path function can be generated. This function can then beused by any motion control system to move through the space.

4 Proposed implementation

4.1 Operating environment

Figure 1 shows the beginning framework of the testing environment. Fabricwill be stretched across the frame to provide an even background for initialsystem testing. This will be removed during the later stages of the projectand a real environment will be used.The target location will be marked in space using a 40mm ball painted in acontrasting color. This will allow experimenting with the dynamic systemby moving the ball around the space while the system remains online andobserving the change in the intended path.

3

Page 6: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

Figure 1: Frame for testing environment.

4.2 Software design

4.2.1 Image processing

The image processing algorithms will be built in C under the Linux oper-ating environment. This system will run on up to two separate machinesand therefore will have to be designed from the ground up for networkdistribution. This functionality will be provided by the SIMPL2 interpro-cess messaging protocol. All attempts will be made to allow the system tooperate on a single computer for simplicity sake.The core image processing algorithm will be built around the functionalityprovided by the Intel OCV libraries, and if these fall short, Matlab functions.By using pre-optimized libraries, and not re-inventing the wheel a more ro-bust system should result. If Matlab functionality is used it will be harderto distribute the components of the system across multiple processors, andinstead the cluster support in Matlab itself will be used.

2SIMPL - Synchronous Interprocess Messaging Project, a network transparent inter-process messaging protocol built to mimic the behavior of the QnX messaging protocol.

4

Page 7: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

Figure 2: Camera mount gantry.

4.2.2 Path planning

The path planning system will be implemented in Matlab, as it providesmany of the high level math and visualization functions required to com-plete this component of the project. The interface into the Matlab func-tionality will either be scripts or C code. The image toolbox may alsoprovide some of the functionality required in the image processing system.

4.3 Hardware design

The hardware design component of this project has already been com-pleted, Figure 2 shows the camera mounts separated from the platform.The robotics platform this image processing system is intended to operatewith is a product of work completed in the previous project term (499A)and more information can be found at the Unit00 project homepage :http://www.ece.uvic.ca/ jreynold/robot/ .

5

Page 8: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

5 Proposed Timeline

6

Page 9: CENG499 Progress report 1 Image based path mapping system ...ece.uvic.ca/~elec499/2004b/group01/docs/progress1.pdf · Also provided is a rough timeline intended only to provide a

7