Software Interfaces for

Navigation based on Omnidirectional Vision



The main idea for these interfaces is to release top level task programmers the need to constantly revisit the low level modules always necessary when performing experiments on real robots. The interfaces are provided in matlab, and some o f their intrinsic code is written in C.



Example of a top level task:

Visual Path Following

Figure 1: Block diagram of Visual Path Following.



Works upon images, i.e. calls image acquisition functions, and retrieves the robot pose to feed to the controller.

List of functions:

model_rt - Model tracking
calcposd - Calculation of self-Position using the Betke & Gurvits' method
crtransf - Compute 2D rigid transformation given point correspondencies

Path following control

List of functions:

wmr_ctrl - compute control signals for a Wheeled Mobile Robot
path_pt - Find the closest path point given the current robot position


Interfacing to the hardware:

Image acquisition

List of functions:

iacq_ini - initialise an image acquisition session
iacquire - acquire an image to the driver's memory
iget_sz - the (maximum) size of the image to return
igetrgn - Get a region of interest from an image acquired and saved in the driver's memory
igetrgn2 - Similar to igetrgn but now getting a region of interest arbitrarily oriented
iacq_end - end image acquisition session

Functions iget*.m have a source-image-id argument. This argument
allows to select original images or dewarped images:

0 - original omnidirectional image
1 - panoramic image
2 - bird's eye view (8m x 8m)
3 - bird's eye view (16m x 16m)
4 - subsample 1/2 (not very useful as all getrgn functions allow subsampling)
5 - rotate the original omnidirectional images 180deg


Robot interface

lbmt_ini.m - initialise a communications session to the labmate (serial port)
lbmt_rst.m - reset labmate internal state (set zeros: v,w,x,y,theta)
lbmtgetx.m - get status; returns [x y heading vel_left vel_right]
lbmtsetv.m - set velocities (forward and angular)
lbmt_end.m - end communications session to the labmate



Institute for Systems and Robotics , Computer and Robot Vision Lab

Last update Aug02: J. Gaspar, e-mail: ,