RoadNarrows RoboSight
The RoadNarrows RoboSight module provides an interface to the RoboSight vision recognition board. Powered by
the CogniMem CM-1K neural network chip by General-Vision, visual objects are readily detected and
categorized from patterns previously trained. The recognized visual categories are then fed
into RoboRealm to guide goal decisions, object localization, platform movement and navigation, and
environment manipulation.
The RoboSight RoboRealm module can be used to configure the RoboSight camera properties as well as
upload, download and train patterns on the board. Recognized object categories are fed back into RoboRealm
as variables that can be used by other modules or transported to external application/devices.
Note that the RoboRealm RoboSight board assumes that the composite video connection
on the RoboSight board is used to capture an image into the PC. You will need
a NTSC digitizer such as a TV tuner that supports a 352x288 image size. Generic digitizers
will work but may not support the 352x288 image size which will cause the viewed image
on the PC to be somewhat distorted. This, however, does NOT affect RoboSight's ability
to recognize objects as the PC view is just used for camera positioning and preview.
Interface
Instructions
1. COM Port - Select the appropriate COM port that is connected to the
RoboSight board. If the appropriate COM port does not appear ensure
that all connections are made and that the RoboSight board is turned
on. Close the module and reopen to see if the COM port appears in the
dropdown list.
2. Camera Parameters - Use the following controls to change the camera
properties within RoboSight. Note that this assumes the NTSC out on the
RoboSight board is being previewed via a digitizer on the PC. Changing
camera properties will affect both the NTSC image and the image fed
to the CogniMem vision chip.
Brightness - Adjusts the overall brightness of the image. If this
value does not improve the overall brightness enough see the "Dark Boost"
checkbox below.
Exposure - Adjusts the shutter speed of the RoboSight camera.
Contrast - Adjusts the contrast (amount of black and white) in the image.
Dark Boost - Improves the image light level when used in low light
environments.
Auto Gain Control - Allows RoboSight to automatically adjust the image
gain and compensate for irregular environmental lighting.
Auto White Balance - Allows RoboSight to automatically adjust the white
balance of the image.
3. Patterns - Several buttons allow for the setup of the RoboSight board.
Train Current Image - Pressing this button will cause RoboSight
to train on the currently viewed image. This image is stored in
RoboSight and will immediately start detecting the presence of
that object.
Forget All Patterns - Causes RoboSight to forget all trained
images and set its pattern counter to zero. This should be used
before training on valid images to clear out any experimental
patterns that you may have trained on. This should also be used
prior to uploading patterns to RoboSight to clear out existing
patterns. If you do NOT use this function prior to uploading
patterns new patterns will be added to the current list within RoboSight
possibly duplicating existing patterns.
Upload Patterns To RoboSight - uploads images from the PC to the
RoboSight board. Note that these images MUST have the same dimensions
as what is currently configured in the RoboSight board based on the ROI
settings. See ROBOSIGHT_WIDTH and ROBOSIGHT_HEIGHT variables for what
this size needs to be. Note that images can any recognized image
format but it is recommended to use a non-lossy image compression
technique such as gif or png in order to store images. This ensures
that the trained pattern is exactly the same as the stored image.
Note that you may wish to "Forget All Patterns" before uploading
to ensure that only those images uploaded are contained with RoboSight.
Download Patterns From RoboSight - downloads all trained patterns
from RoboSight and stores then into a user specified folder. Note that
the downloaded patterns will be stored as small (typically 16x16) gif
images. These images can be modified using any paint application and
saved for uploading back to RoboSight.
4. ROI - Changing the ROI or Region of Interest of RoboSight will cause
the recognition to change what part of the image is focused on. Often
it is not possible to align the camera on the expected object position
such that the object completely fills the field of view. When this
happens adjusting the ROI to ignore non-object areas of the image can
help improve object recognition.
Note that the RoboSight image size WILL change when changing the
width and height of the ROI area. Changing these parameters may invalidate
image patterns that you have downloaded by not allowing you to upload
the images back into RoboSight. Thus you should first set the ROI BEFORE
training any valid patterns and downloading them to the PC.
X Start - the x (horizontal) start coordinate
Y Start - the y (vertical) start coordinate
X End - the x (horizontal) end coordinate
Y End - the y (vertical) end coordinate
Arrows - use the provided arrows to move the ROI as a whole
around the image. Note that moving the entire ROI will NOT affect
the RoboSight image size and therefore will not affect the ability
to upload existing images.
Zoom - use the provided zoom and un-zoom buttons to change
the field of view of the ROI. As the zoom will preserve the
image aspect ratio your image pattern size will again not change.
5. (Other) Reset RoboSight - You can reset the RoboSight board
by pressing the "Reset RoboSight" button. This will cause
RoboSight to forget all patterns in memory and reload all its
settings.
6.(Other) Save To EEPROM/Load From EEPROM - When training
or uploading images or changing camera settings all these
changes are stored in volatile memory on the RoboSight board.
This means that if you turn off the RoboSight board all these
settings are lost. To save these settings such that they are
used again once the RoboSight board is turned on you need
to "Save to EEPROM". Likewise, if you wish to reload all saved
settings (to erase all current settings stored in memory) you
can press the "Load From EEPROM" button.
Variables
ROBOSIGHT_NAME_X - The category name associated with the recognized
category. Note that this is a RoboRealm specific association and is
NOT present on the RoboSight board. Up to four categories can be
recorded at one time. Note that they are ordered with regards to
distance with the first being the closest best match.
ROBOSIGHT_CATEGORY_X - The numerical category RoboSight has assigned
to the trained pattern. When the pattern is presented again to RoboSight
this category number will become available as a recognition
identification code that the object is present.
ROBOSIGHT_DISTANCE_X - A measure of recognition confidence or the "distance"
of the current recognized pattern to its associated pattern stored in
RoboSight.
For more information
RoadNarrows RoboSight
|