|
|
|
Development of an Ergonomics Testing Device |
A Senior Design Project
|
Table of Figures
Figure 1: System Configuration
The purpose of this project is to integrate the ergonomics testing device with a new controller PC,
to develop any software necessary to complete the installation
and to develop a manual for the operation of the device as installed.
A PC was configured for this application and then the ergonomic system hardware and software evaluated.
Some very important software development packages that were left out of the demo system
are necessary for the software port.
The focus of second semester senior project will be on workarounds for the missing software.
Among the possibilities are obtaining software grants for the more expensive development packages;
using a less expensive development system; or redesign of the system configuration
in light of advances in PCs since 1994, the original time frame for this device.
The U.S. Army has supplied TCNJ
with a computerized VR
system originally used for training infantrymen.
Battlefield simulation software written in UNIX has been supplied with the device.
The software is not complete, and while the device was tested
and shown to run with the software prior to shipment from Aberdeen, MD,
the device has never been successfully installed at TCNJ.
The purpose of this project is to integrate the VR
system with a new controller PC, to develop any software necessary to complete the installation
and to develop a manual for the operation of the device as installed.
The existing documentation for the device as demonstrated at Aberdeen
was reviewed for the device and for selected peripherals.
The software source code as supplied was reviewed.
Among the missing software is an important software development package, Wind River Systems Tornado,
along with its runtime module, VxWorks, and the board-specific cross-compiler for the 68K processor family.
This is necessary for the complete port, as it is needed to compile the software.
A Linux wrapper is available but the cost of the software itself is prohibitive.
A Linux PC was configured for this application and the software port attempted.
The port requires that missing software be either stubbed out or coded as necessary to our application.
The second semester of senior project will focus on workarounds for the missing software.
Among the possibilities are obtaining software grants for VxWorks;
obtaining a less expensive cross-compiler for the Linux platform;
or redesign of the system configuration in light of advances in PCs since 1994,
the original time frame for this device, possibly obviating the need for the cross compiler altogether.
A partial implementation may be necessary to complete the project in the senior project time frame.
The U.S. Army has supplied TCNJ
with a computerized ergonomics testing device.
Software written in UNIX has been supplied with the device.
The software is not complete, and while the device was tested and shown to run with the software
prior to shipment from Aberdeen, MD, the device has never been successfully installed at
TCNJ.
Figure 1 is a block diagram of the proposed
TCNJ implementation
of the Ergonomics system.
A PC running the Linux Operating System will run a 3D simulation.
The PC will directly control a Polhemus FasTrak tracking module
and a Kaiser Head-Mounted Display (HMD).
Sensors mounted on the HMD
and on the user enable the FasTrak
to send position feedback to the PC so that the user is interacting with the virtual environment.
The motor controllers are run by a VMEBus-based Embedded Processor system,
which in turn communicates with the Linux PC via LAN.
The focus of the ergonomic system is a motor-driven unicycle that provides kinesic feedback
to simulate movement in a 3D environment, originally a battlefield simulation.
The unicycle mechanism was built by The
Sarcos Companies,
a firm in Utah that develops custom robotics and VR solutions.
Table of Contents
Abstract
1. Introduction
2. Development of an Ergonomics Testing Device
2.1 Hardware Overview
2.2 Software Overview
2.3 Senior Project Activities
3. Results and Discussion
4. Conclusion
Appendices
APPENDIX A: List of References
APPENDIX B: Missing #include files
APPENDIX C: Acknowledgements
Table of Figures
Figure 2: Motor Controller Subsystem
Figure 3: Kaiser VIM Head-Mounted Display
Figure 4: Project Budget
Figure 5: The Polhemus FasTrak
Figure 6: The SGI Onyx supercomputer
Figure 7: Project Gantt Chart
Abstract
The U.S. Army has supplied The College of New Jersey (TCNJ) with a computerized
Virtual Reality (VR) ergonomics testing device.
Software has been supplied with the device, but it is not complete.
While the device was tested and shown to run with the software prior to shipment from Aberdeen, MD,
the device has never been successfully installed at
(TCNJ).
1. Introduction
2. Development of an Ergonomics Testing Device
2.1 Hardware Overview
|
| Figure 1: System Configuration |
Two Moog T161 Series rack-mounted Digital Brushless Motor Controllers provide motor control for the unicycle. The motor controllers are programmable via RS232/RS485 serial ports either with a hand-held terminal or by a PC.
The core elements of the motor controller subsystem are shown in Figure 2. A special-purpose computer consisting of two Motorola MVME162 Embedded Controllers and a MVME7712 I/O card operates the motor controller. The MVME162 Embedded Controller is based on the MC68040 MPU running a small Real-Time Operating System (RTOS). Its architecture is optimized for real-time monitoring and control applications such as this one.
|
| Figure 2: Motor Controller Subsystem |
The VR system itself was originally designed to run on an IRIX4 or IRIX5 platform such as the Silicon Graphics Onyx supercomputer, or on a SUN workstation. We will be using a 466DX2/66 PC running Linux and will focus primarily on bringing up the unicycle motor controller.
|
|
| Figure 3: Kaiser VIM Head-Mounted Display |
An important part of the original ergonomic system is the Polhemus FasTrak, a device that gathers data from position sensors mounted on the user and sends them to the main computer via RS-232 serial interface. The ergonomic device as demonstrated at Aberdeen used sensors on the head-mounted display (HMD) and on a rifle mock-up to enable the infantryman to interact with the virtual battlefield. Figure 3 shows the Kaiser VIM head-mounted display used in the original implementation, and supplied with the unit.
Figure 4. is the proposed budget for the project vs. actual cost to date. It will be seen in the next section that the complexity of the project resulted in the software budget being far too low for the system configuration as originally planned.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Figure 4: Project Budget | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The key to the project is the Wind River Tornado development system and the included VxWorks runtime module.
Tornado also includes a board-specific cross-compiler module for the target system,
in this case the Motorola MVME162 Embedded Controller with 68K family processor.
Tornado costs $16,500 so it isn't likely that TCNJ will be using it unless
we are able to demonstrate the need for a software grant.
Wind River stipulates that in order to get a software grant, Tornado must be used to train groups of students,
i.e. maximum exposure. This is a common practice of software and computer companies.
Appendix B contains a list of the #includes that are neither
in the C libraries in Red Hat Linux nor packaged with the software.
From the software standpoint, senior project II will be spent determine the feasibility
of coding replacement modules in the senior project time frame.
Some of the function calls can be stubbed out, but others are necessary for proper operation of the ergonomics device.
Communication between the PC and the VME chassis takes place over a 10BaseT network.
The Tornado VxWorks RTOS handled this from the VME chassis.
It may be possible to obtain a less expensive cross-compiler for the 68K
and to adapt existing software such as telnet on the PC end.
The VME chassis is based on MC68040 processor cards.
68K code is compiled in UNIX.
The VME chassis actually runs the motor controllers.
The Moog motor controllers are programmable via RS232 by a computer or by a hand-held terminal.
Additionally, the main PC controls a Polhemus FasTrak, Figure 5.
For the military demo, Sarcos detected head position via sensors mounted in the
Kaiser Visual Immersion Module (VIM) head-mounted display (HMD)
and rifle position via sensors in a rifle mockup.
The FasTrak also relays audiovisual information to the VIM.
2.2 Software Overview
|
| Figure 5: The Polhemus FasTrak |
The Sarcos demo system probably used the SGI Onyx supercomputer, Figure 6, as its graphics engine and to interface the virtual battlefield with the motor control subsystem. A method of interfacing the Onyx video output to the VIM is to partition the Onyx’s high-resolution (2560x2048 pixels), high scan-rate screen into two 600x800 sections using SVGA colors, then to send them at 60Hz to the VIM. Parallax is programmed into the two views, which then are sent alternately to the VIMs left and right LCD displays to create a 3D effect.
For smooth real-time animation it will be necessary to calculate the next set of parallax views and use interrupt-driven routines to change the view in video RAM only when the monitor raster is outside the displayed area, i.e. during retrace. The PC chosen for the project may not have enough video RAM to contain two SVGA VIM screens. It's possible that a graphics accelerator card with 3D graphics support may improve performance.
|
| Figure 6: The SGI Onyx supercomputer |
The program references files for various virtual environments. The files are text-based but they aren’t VRML. References to Boston Dynamics, Inc. DI-GUY header files indicate these environment files were probably created using the Engineering Animations, Inc. Sense8 World Tool Kit. The obvious alternative to the EAI development kit is to create VRML worlds.
This project has been fraught with problems and setbacks.
Figure 7, is the project Gantt chart.
Software debug was scheduled to be complete in mid-November,
but between hardware issues and missing software packages the project schedule has slipped at least 5 weeks.
2.3 Senior Project Activities
|
| Figure 7: Project Gantt Chart |
It certainly has been a learning experience.
Here are a few of the glitches encountered:
The Red Hat Linux install on the spare computer was difficult because its Sanyo H94A CD-ROM is supported as "tier 2," i.e., Red Hat provides a driver for it but the driver is not built into the boot disk kernel required for installation. After trying several workarounds, including installing from hard drive, which failed apparently because Linux filenames are incompatible with a DOS 6.1 file system; combing the web for a kernel with the correct CD-ROM driver already built in; begging friends to build a boot kernel; borrowing a Linux computer from the school and installing via NFS, a solution that failed initially because the CD-ROM on the school computer is actually a tier 1 supported drive with device entry at /dev/sbpcd instead of /dev/cdrom; configuring the Linux install to load Red Hat via ftp through a cable modem. The ubiquitous 3Com EtherLink III 3C509B Network Interface Card, cables and an Addtron Technology HUB5T Ethernet hub were purchased in order to try the last two solutions. These will be required for communicating with the VME chassis if it becomes necessary to use the spare computer.
The eventual solution was to take the spare computer over to TCNJ where the school technician was kind enough to provide a loaner IDE CD-ROM drive and to help get the installation started. It was decided to install a cheapie Hi-Val 40X IDE CD-ROM drive in place of the Sanyo H94A for compatibility. An existing Mediavision sound card is supported by Red Hat so it was left in the card cage but isn’t installed yet.
Neither the spare computer nor the school computer had enough drive space for the full 1.6G server implementation of Red Hat Linux release 5.2. Rather that wrestle with the complexities of a custom install with “C” compiler and only basic network support, it was efficacious to obtain a Quantum Bigfoot CY 5.25-inch 6.2G IDE hard drive and install it in the spare computer in place of the existing hard drives. Linux doesn't use the BIOS for hard drive access except during the LILO boot, so the BIOS cylinder 1023 constraint has become a non-issue. As long as the computer was practically gutted, it was decided to replace the keyboard and mouse at the same time.
At that point it was possible to install Red Hat Linux release 5.2, and to compare the Linux “C” libraries with the #includes in the ergonomic device software modules. Appendix B lists the missing header files.
The Real-Time Operating System (RTOS) requires Wind River VxWorks. This is part of the Tornado software package costing $16,500, and though grants are available they are based in part upon the number of students who will be learning the software. Wind River Systems was kind enough to provide Tornado manuals for both the UNIX and Microsoft Windows operating systems.
There seems to be a VxWorks object file with the device software, but it is most likely compiled under the IRIX operating system for the Silicon Graphics Onyx supercomputer. A Tornado wrapper for Linux became available in mid-November but it still requires the Wind River software.
This project has been fraught with problems and setbacks.
It certainly has been a learning experience.
In retrospect, the schedule didn’t include enough up-front research time on hardware issues
such as configuring and bringing up the spare Linux computer
and gathering specifications on the motor controller subsystem and the VR subsystem.
This research was necessary in that it led to the discovery that the TCNJ implementation
as originally designed wouldn’t support the expected system parameters.
This realization came near the end of the semester, so possible workarounds are still in the brainstorming stage.
A few suggestions will be made in the next section.
Due to missing software modules and the capabilities of the selected PC
it will be necessary to rethink the approach to the system configuration.
Improvements in computer speed as well as the introduction of 3D graphics cards
with large amounts of on-board memory may provide a way around some of the problems
by obviating the need for a separate real-time motor controller.
To this end, a request has been sent to Moog for the operating manual for the T161 Motor Controller,
and specifications for the SGI Onyx are on order.
Sarcos personnel were not initially receptive to requests for information,
but it is worth pursuing that line of action again during the second semester.
System functionality can be streamlined by leaving 3D video support for the VIM until later.
It may be feasible to implement the virtual world in VRML using freeware
or an inexpensive 3D development package, and this is under investigation.
It is also possible to reduce the number of position sensors by leaving the rifle mockup
out of the TCNJ configuration for the time being.
These workarounds and others will be explored and the system configuration begun in senior project II.
Leslie would like to acknowledge the invaluable help and support she
received in working on this project.
Modified 1/21/2000.
3. Results and Discussion
4. Conclusion
The complexity of the ergonomics testing device was greatly underestimated,
resulting in a schedule slip of five weeks.
Appendices
Appendix A: List of References
Appendix B: Missing #include files
angles.h
iv.h
stdioLib.h
bstring.h
logLib.h
Suit/St.h
CED/ioGrSpr.h
MacHeaders
symLib.h
console.h
Mcast/Mcast.h
sysLib.h
descrip.h
memLib.h
sysSymTbl.h
DI/DI_guy.msg.h
msgQLib.h
taskLib.h
DI_display/DI_comm.h
rpcLib.h
taskVarLib.h
dislib/pdu.h
semLib.h
tickLib.h
fioLib.h
smLib.h
tyLib.h
hostLib.h
smNameLib.h
vme.h
ioLib.h
smObjLib.h
vxLib.h
ISMS.h
sockLib.h
vxWorks.h
ISMS/types.h
ssdef.h
Appendix C: Acknowledgements
Comments to ellisles@tcnj.edu