Journal of Undergraduate Research
Volume 1, Issue 6 - March 2000

Development of a Portable Control Unit for Use with an Autonomous Vehicle

Ognjen Sosa

ABSTRACT

In the last decade the Department of Defense has funded projects for the development of autonomous vehicle systems capable of detecting and removing buried unexploded ordnance. Researchers at the University of Florida have developed, tested, and delivered autonomous systems that can survey land areas for these buried munitions. The systems are tested and updated on the Navigation Test Vehicle. Its modular architecture allows for a wide range of compatibility with many industry compliant systems.

The Operator Control Unit (OCU) is required to completely utilize the capabilities of autonomous vehicles in hazardous environments. This command and control system that was developed first consisted of very expensive, heavy, and sensitive equipment. Due to the need to perform certain tasks on remote terrain, a portable OCU will be developed integrating existing software with more portable and efficient hardware.

INTRODUCTION

The Center for Intelligent Machines and Robotics has been developing autonomous vehicles since 1991 as part of a project sponsored by the Air Force Research Laboratory at Tyndall Air Force Base, Florida. Research has been based on a modular architecture that isolates five sub-tasks into self-contained modules with defined interfaces. The Operator Control Unit (OCU) is used to communicate to these modules via an asynchronous RS232 serial link, radio modems, or Ethernet. All of the testing is done on modified all-terrain vehicle named the Navigation Test Vehicle (NTV) shown in Figure 1.

Figure 1. NTV autonomously mowing golf course
Figure 1. NTV autonomously mowing golf course.

The technology developed on this platform has been integrated on several vehicles including tracked heavy construction equipment (see Figure 2).

Figure 2. Tracked vehicle waiting for unexploded ordnance position coordinates sent by the NTV
Figure 2. Tracked vehicle waiting for unexploded ordnance position coordinates sent by the NTV.

The first OCU that was developed consisted of a graphical user interface running on a Silicon Graphics Workstation that integrates hardware and software used to operate the NTV. Communications between the OCU and the vehicle are handled through Free-Wave brand radio modem connections. The OCU sends commands to the Mobility Control Unit (MCU), which then retrieves data from the other four modules, executes it, and sends feedback to the OCU. The developed software enables many operational modes including manual, tele-op, and autonomous. In order to use the tele-op mode completely, the vehicle is equipped with a video camera that sends data to the video receiver connected to a television monitor. Due to the numerous hardware components, their size, and sensitivity, the OCU is not very mobile and is therefore often excluded from the testing environment, limiting the capabilities of the system. In order to enable the full capabilities of the system, a Portable Operator Control Unit is being developed.

OBJECTIVE

Design criteria outlined for development of the portable system requires it to be fully compatible with the software running on the existing OCU. In order to ensure this, the project is divided into the following three phases:

  1. Installation of UNIX based operating system on a portable computer
  2. Integration of an additional joystick controller
  3. Integration of existing Operator Control software.

Upon completion of the above-mentioned tasks, the operational system will be assembled and placed into a suitcase for easier handling and mobility.

Phase I

The original graphical user interface for the OCU was developed using Motif 1.2, one of the most powerful UNIX window managers and programming environments. Redhat has developed a free distribution of Linux (UNIX clone) available under the GNU General Public License. Due to the limited support for portable computers, support documentation is limited. There are six installation methods outlined in the Redhat Linux 6.0 Installation Guide including installation from a CD-ROM, from an FTP site, and from a hard-drive. A description of the installation method is referenced in the appendix section.

Phase II

The original OCU consists of a Silicon Graphics Ozone Workstation, free-wave modem, audio and video receivers, steering wheel, pedals, and a television monitor. All of these parts are necessary tools for obtaining the most accurate data during the operation of an autonomous vehicle. The limiting factors such as weight, size, and sensitivity reduce the effectiveness and accessibility to all testing environments. The Portable OCU will be mainly equipped with rugged technology that will be smaller and lighter than the existing. Identical modem, audio and video receivers will be installed and used in the same way as on the original OCU. However, the steering wheel and pedals will be replaced with an analog SUNCOM FX2000 joystick, and a television monitor will be replaced with a hand held Casio EV-510 LCD display.

Joystick Integration. It was not until three years ago that the UNIX community started getting interested in joysticks to support high-end video games and flight simulations. The newest Kernel series 2.2 has joystick support built in. Vojtech Pavlik has developed the driver v1.2.14 under the terms of the GNU General Public License that includes the technical support for various analog joysticks and gamepads. A description of the driver installation method is reference in the appendix section.

For the testing of the driver functionality, jstest program is included in the package. The program runs by typing:

jstest /dev/js0

This displays a line with the joystick values that update as the joystick is moved, and buttons are pressed. The axes have a full range from ­32767 to 32767 and buttons are assigned 0 and 1 bit values to indicate whether they are on or off. The program running the OCU will be altered and these values will be calibrated to handle commands through the joystick and the keyboard.

Video Setup. The Navigation Test Vehicle is equipped with a regular medium resolution camera that sends signals to the video receiver. These signals are then displayed on a regular television monitor. The tele-op mode requires this feature for remote driving of the vehicle. The size, weight, and low image intensity reduce the operability of the television set in the outside environment. The Portable OCU will replace the current set with a small, lightweight, weather shielded, high luminescence Casio EV-510 LCD screen that is incorporated into the system containing an identical OCU video receiver and the existing camera.

Phase III

Motif is the full development system available on UNIX workstations. A group called Hungry Programmers developed LessTif, a free version of OSF/Motif under the GNU General Public License. LessTif is fully compatible with OSF/Motif 1.2 that was one of the programs used to develop the original OCU software. The other software package used was Open Inventor. Template Graphics is the main distributor of this software under a commercial license. In order for Open Inventor 2.5 to run, it requires Redhat Linux 6.0, Mesa3D 3.02 and LessTif 0.89.9. For information on installation of these software packages refer to the appendix.

RESULTS AND IMPLEMENTATION

Hardware compatibility and software installation were successfully completed. The full compatibility adjustment between the two systems is still in progress due to the problems acquired when the programs were switched from real-time operating system to Linux. The resulting software should have the same functionality and aesthetics (see Figure 3) as the original. A Company called Sim has recently released an alpha version of the program Coin that is a free version of Open Inventor distributed under the GNU General Public License. If this software is compatible enough to replace Open Inventor it will reduce the costs of the Portable Operator Control Unit to it's hardware components including a portable computer, free-wave modem, video receiver, audio receiver, joystick, UPS, and LCD display. In order to create a more compact mode of mobility, components will be placed inside a super duty laptop case. This will allow an extra protective layer to the equipment.

Figure 3. Fully functional Operator Control Unit software programmed using Motif, OpenGL, and Open Inventor in digital UNIX.
Figure 3. Fully functional Operator Control Unit software programmed using Motif, OpenGL, and Open Inventor in digital UNIX.

IMPLEMENTATION

Portable Computer. Software packages will be implemented on Gateway Solo 9100 notebook that has Windows 98 factory installed. Internal battery powers this computer for up to 8 hours of runtime. A six-megabyte hard drive will be partitioned running in dual operating system mode.

LCD Display. A Casio EV-510 2.5" TFT Active Matrix LCD Handheld Color Television will replace the existing 21" television monitor with identical functionality. Four AAA batteries can provide up to two hours of runtime.

CONCLUSIONS

Building a Portable OCU is both feasible and cost-effective. It will allow testing and operation in any environment accessible by the Navigation Test Vehicle for up to eight hours without recharging. Easy access and low power requirements will not require a generator or a power station but only a small UPS backup utility. The Portable OCU can also be mounted on the NTV itself in the case an individual desires to be inside the vehicle during its operation. High tech small size, cost-effective equipment has triggered many new technologies to be applied in the environments that were normally inaccessible. Upon completion, this project will increase the testing and operation time of the NTV outside the laboratory.


REFERENCES

  1. David G. Armstrong II, Carl D. Crane III. A Modular, Scaleable Architecture for Intelligent, Autonomous Vehicles. Center for Intelligent Machines and Robotics. Gainesville, Florida.
  2. "Autonomous Vehicle Development." Center for Intelligent Machines and Robotics 1997.
    <http://www.me.ufl.edu/~carl/af/af.html> (April 12, 1999).
  3. "The Official Red Hat Linux Installation Guide." Redhat Inc. 1998. <http://www.redhat.com/support/docs/rhl/RHL-5.2-Manual/install-guide/manual/> (April 16, 1999).
  4. "The Linux Joystick Driver." Vojtech Pavlik 1999.
    <http://atrey.karlin.mff.cuni.cz/~vojtech/joystick/> (April 16, 1999).

APPENDIX

Redhat Linux Installation

This method requires Redhat Linux 6.0 CD and is the recommended installation procedure. Most of the portable computers come with pre-installed Windows 95/98. Prior to Linux installation, there has to be a free partition on the computer's hard drive. If the existing data can not be backed up or destroyed, non-destructive partitioning is possible with FIPS 2.0 (http://www.student.informatik.th-darmstadt.de/~schaefer/fips.html). Upon completion, installation process begins in the following order:

  1. Insert Redhat Linux Installation Disk 1 into the CD-ROM
  2. Restart computer in MS-DOS mode and type autoboot in x:/dosutils/ (where x is the letter of the CD-ROM)
  3. Enable PCMCIA support (requires supplemental disk)
  4. Use Disk Druid or fdisk to create further partitions within Linux
  5. Create swap (128 MB), /home (200 MB), and /
  6. Closely select packages to be installed since only a workstation setup is necessary (~800MB)
  7. Follow setup procedures and consult online installation guide for specific instructions.

Joystick Integration

  1. Obtain the joystick package from ftp://atrey.karlin.mff.cuni.cz/pub/linux/joystick/
  2. Unzip the package: gunzip joystick-1.2.14.tar.gz in current directory
  3. Extract the archive: tar ­xf joystick-1.2.14.tar in current directory
  4. //Joystick-1.2.14/ directory was created and the archive may be removed by rm ­rf joystick-1.2.14.tar
  5. From the Joystick directory compile the driver by typing make followed by make install
  6. Create the joystick device files in /dev/ so that applications can use them: make devs
  7. Redhat 6.0 Kernel has module support turned on, therefore insert the generic joystick driver module into the kernel: insmod joystick
  8. Insert hardware specific module (in this case analog): insmod joy-analog.o
  9. Calibrate the joystick: jscal ­c /dev/js0.

LessTif Installation.

LessTif is used to compile the Motif part of the Operator Control Unit source code. The following is the installation procedure for LessTif 0.89.9:

  1. Download the binary distribution from http://www.lesstif.org
  2. Login as root and place the file in /usr/
  3. Unzip the file : gunzip lesstif-0.89-9.tar.gz
  4. Extract the archive: tar -xf lesstif-0.89-9.tar. The result will be this directory: /usr/lesstif
  5. Remove the tar file: rm ­rf lesstif-0.89-linux.tar
  6. Edit /etc/ld.so.conf and add the following line for the untarred LessTif library: /usr/lesstif/lib
  7. Run: ldconfig.

The installation information for the following software can be obtained from the manufacturers' sites:


--top--

Back to the Journal of Undergraduate Research