RISCBOT

A WWW Enabled Mobile Surveillance and Identification Robot

Home

Publications & Presentations

Architecture

Multimedia Downloads

People

RISC Lab

Links

 

ARCHITECTURE

  1. Hardware Design
  2. Navigation Module
  3. Image Processing Module
  4. The Web Interface

 

1. Hardware Design - Pro Engineer (ProE) was used to design and visualize various configurations of the robot in the initial design phase.. The best design was selected based on stability criterions, speed, floor clearance and appearance.  The robot frame is built with T slotted aluminum extrusion rods to allow for a modular structure.  A differential drive mechanism has been implemented with two 4” wheels and a caster wheel for support. Two 12V dc servo-motors (Pittman) drive the wheels. ATM 103 MCU, inverter (purchased off the shelf), 12V Panasonic SLA battery are mounted on a ¼“ acrylic sheet. The PC cabinet housing the WLAN card and NM 6403 DSP board is mounted on top of the base. Three ultrasonic sensors, two Logitech cameras and a NTSC camera are mounted on the PC cabinet. Figure below shows the initial mobile base design.

 

  1. controller : ATMel’s atm103 + PC

  2. dsp                   : module research centre’s neuromatrix nm6403

  3. drive              : 12 V dc servo motor(pittman)

  4. wireless       : 3COM Wlan card

  5. power            : 12V panasonic sealed lead acid battery


2. Navigation Module - The robot waits till it receives information from the server. Once it receives a command from the server it starts searching for the requested room. Figure displayed below shows the navigation module.The robot navigates along the left side of the corridor. With the help of ultrasonic sensors, the robot maintains a distance of 45 – 50 cm from the left wall. If the robot gets closer, it turns right, if the robot gets farther away, it turns to its left and if its within the range of 45 – 50 cm, the robot moves straight. If there is a wall in front (i.e. near corners), the robot turns right. 

     The image processing program checks for doors continuously. Once the program detects a door, it signals the MCU to stop the motors. The PC signals the NM6403 DSP board to check for the room ID. If the room ID matches the request, the robot stops. If not, the robot continues moving till it finds the desired room.

    There is very close interaction between the navigation module and the image-processing module.The image processing program checks for doors continuously. Once the program detects a door, it signals the NM6403 DSP board to check for the room ID. If the room ID matches the requested ID, the robot stops. If not, the robot continues moving till it finds the desired room

 

 


3. Image Processing - RISCBOT uses a light-variation independent algorithm to process its images. In addition, various computationally fast and reliable algorithms are implemented to detect edges and obstacles in the vicinity of the robot. This module is programmed in MATLAB. Images from the camera are captured on the run using the vcapg2 utility [7], since MATLAB 6 does not have native support for the USB port. Images are captured at a resolution of 352 x 288 pixels. The auto gain for the camera is turned off so that all the images are captured with a constant gain.

 The program maintains an internal count for the doors encountered, to utilize if the door recognition algorithm fails. In addition, adequate measures have been incorporated so that when more than one image of the same door is captured; the robot does not treat them as two different doors.  Once a door is recognized, the control is passed to the Recognition Module in order to recognize the door.


4. The Web Interface - The web-interface is an integral part of the RISCBOT's architecture. This module ensures that the system is accessible to anyone with a graphical Internet browser. With a few click of the mouse users can control the position and movement of the robot, and receive visual feedback from the robot’s onboard and ceiling cameras.

A real time video feedback is provided as the robot broadcasts video while moving. The feedback is implemented using Microsoft Media Encoder. This video can be seen on the Top view window and the camera view window. The top view window shows the video feedback from a network camera mounted on the ceiling. This helps the remote user visualize the exact position of the robot and issue any further commands if needed. The camera view window provides the user with virtual presence in the corridor. The robot encodes the images captured and broadcasts it on the web. The figure below shows a view of the web interface while the robot is navigating.