3d monoscopic guided vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00sp_ece...it had a large...

19
3D Monoscopic Guided Vehicle 4/25/00

Upload: others

Post on 08-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

3D MonoscopicGuided Vehicle

4/25/00

Page 2: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Purpose

The 3D Monoscopic Guided Vehicle (Monoscop 3DGV ) design group has set

as its goal to create a remotely guided vehicle that, with a mounted three dimensional

camera, will be controlled by its user with a simulated virtual reality viewing and head

tracking system. The guided vehicle user will wear a virtual reality headset that displays

the remote car’s camera image, and will literally control what direction and how fast it

goes by moving his/her head.

Page 3: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Overview

Our group has many goals to accomplish during the semester. The first goal is to

utilize a pair of goggles to view video from a camera mounted on a remote-controlled car.

The camera uses NTSC technology to connect to a transmitter over the frequency of 2.4

GHz to a receiver connected by NTSC to the goggles. The second goal is to obtain a car

capable of carrying the weight of the transmitter, camera, and battery packs. The final

and most complicated goal will be to utilize a head tracking system that will allow the

user to control the movements of the car by moving their head. The control must be

designed for the head tracker to the PC, and then from the PC to the remote car. The car

should move proportionally to the degree of head movement of the user.

Page 4: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Parts and Materials

I-Glasses Monoscopic Virtual Reality Goggles

2.4 GHz Transmitter/Receiver

I-O Displays Head Tracker

Traxxus Remote Control Truck

3D Camera Lens

Batteries: for Car, Camera, Transmitter/Receiver

Page 5: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Initial Purchasing and Gathering

With our budget and design goals set, we needed to do much of the research and

purchasing necessary to begin our project. First, we needed a camera mounted on a

remote controlled vehicle, which would send its signals through an RF link into a head

mounted display. The initial step we took was to search through web sites for a head

mounted display unit. At first, the products we found turned out to be overpriced and

beyond our budget requirements. At that stage of the project, we felt it necessary to

purchase head mounted displays (HMD) with 3D stereoscopic capabilities. Such a

feature required the HMD to have two camera input channels, one for each eye. The

cheapest HMD with that capability turned out to be priced at four thousand dollars, which

highly exceeded our budget requirement. Another concern of ours was the kind of input

signal the HMD could handle. The camera that we would have in our project would

transmit its signal in NTSC format. Therefore our first choices of HMD’s included the

ones with NTSC inputs, although a few could handle PC VGA inputs as well as NTSC.

Our choice finally came down to certain types of I-glasses, particularly one’s that

are really lightweight and can be worn almost like glasses. The first one was from

Computers and More in Galveston, Texas. One type of I-glasses with video only input

cost $499, while the other with both PC and video inputs cost $750. The 3D motion

detector had a price of $250, while the 3D visual camcorder attachment cost $500. The

total price with $20 charge of shipping came up to $1520. The second choice of I-glasses

set was (surprisingly) from a company called I-Glasses, in Menlow Park, CA. The only

type of I-glasses headset they sold with one NTSC input cost $349. With $225 3D

motion tracker and $399 3D visual image camcorder attachment, the total price came up

Page 6: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

to $983.50. Since the I-Glasses set was cheaper, and Computers and More required us to

make an initial payment before purchase, we decided to go with the second choice.

Once we had purchased most of the virtual reality parts of the monoscopic

operation system, our job now was to find a suitable remote controlled vehicle that we

could interface with. Since the motion trackers on the head mounted display sent their

outputs to a P.C. serial port, we had to find a vehicle that could receive its inputs from a

PC. At that time, we came up with a decision that we would purchase a regular remote

controlled vehicle, open up its radio controller and inspect the circuits. We would reverse

engineer the control circuitry of the transmitter, and then disconnect the joystick input

and replace it with an output signal from the serial port of a PC. Since the signal

generated by the transmitter was pulse width modulated, effectively a digital signal, we

would eventually have a remote controlled vehicle with a PC interface.

One of the best remote controlled vehicle vendors we found out in our web search

previously was Hobbytown USA. It had a large selection of remote controlled cars and

trucks, either nitro fueled or electrically powered, that came ready-to-run upon request.

After looking thoroughly through their catalog, we decided to purchase a Traxxas Sledge

Hammer monster truck. It was an electrically powered ready-to-run kit. Its wide chassis

also allowed it to carry the required instruments like the camera with the RF transmitter.

It would cost us $229.99. The 9V rechargeable battery that was the vehicle’s and the

other instruments’ power source cost $19.99, and we would soon realize we needed 2 of

them for successful operation. The battery recharger would cost us $49.99.

Page 7: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

RF Link and Power

After purchasing the I-glasses, a head-tracker system, and a remote-controlled car,

we evaluated how we would attach our transmitter, camera, battery, and lens system onto

the car. The ECE department currently had in possession a GW-200 transmitter/receiver

pair, which was being tested in a HDTV set-up. This pair was used to test out the camera

and I-glasses and we found that the camera and I-glasses worked pretty well. The camera

we are using also came from the ECE department. It is a ¼”, color board camera made

by Panasonic with 380 lines of resolution that runs off 12 Volts DC. This camera is very

lightweight so we decided to keep it and hope that the 3D lens that still hadn’t come in

would work with it.

Because the GW-200 transmitter weighed a little over a pound, it would be too heavy

for the car to carry. We talked to some representatives at Polaris about some transmitter

modules that would weigh less and take up less square footage. What we found was the

LFT-2400 transmitter module that weighed 2.2 oz and would fit behind the car's heat

sinks and in front of the motor. This transmitter also runs off 12 Volts DC, and would

last long enough without breaking the car's suspension in half. Instead of breaking up the

GW-200 pair we bought a new four-channel receiver, the GFR-4004. We found a GFB-

12-1.3 that is a 12-volt rechargeable battery with 1.3 amp hours of current. The LFT-

2400, GW-200, and GFB-12-1.3 combined cost $359.80 which leaves us under our

budget.

Page 8: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Car Assembly

With the majority of the car hardware in possession, we mounted the camera and

battery to the car using aluminum plates. #4 size holes were drilled into the aluminum

plate and the camera was screw into it using plastic bushings to prevent contact between

the camera’s circuits and the aluminum. A few holes were drilled into the sides of the

aluminum and wire straps were run through them and strapped to the bumper of the car.

The camera was mounted behind the bumper, slightly above the bumper in between the

shock towers. Behind the shock towers and in front to the car’s receiver is a little empty

space. Holes were also drilled into a second aluminum plate that was strapped down to

the car and the battery to the plate. The battery and camera were secured to the car, but

are easily removed. There aren’t any additional holes drilled into the car. This

configuration was done in consideration of future projects and changes in our own. The

transmitter was strapped down behind the heat sinks. The transmitter is not strapped

directly to the heat sink so that air still flows across the sinks. This is also one of the

highest points of the car and will allow the antenna of the transmitter to be mounted high.

After strapping all the equipment onto the car and testing the system, the RF link did not

initially work, but we could directly connect the camera to the glasses and see what the

car sees. With adjustment of the camera focus, we decided that the picture would be

adequate to steer the car by.

Page 9: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Car Troubles

The car was suffering from a few other problems not related to the RF link. The

steering alignment was bad on the car, so the rods were taken off and the wheels adjusted

until they lined up parallel. The weight of the equipment also made it necessary to

readjust the camber of front and rear wheels. The gear from the electric motor to the

wheel drive was slightly out of alignment and was causing the wheels to lock up. We

found a washer the appropriate size and greased the gears to solve this problem. The

wheel wells were cut out and the lexan body was trimmed to fit the car. This would help

keep the dust out of the circuits. A small hole was also cut in the top and allowed the

transmitter antenna to come out opposite of the car’s receiver antenna.

Another problem that the car had was a malfunction in the rear gear drive. It was

slipping when it went into gear, so we took the gear drive apart to find out what the

problem was. It turns out that Traxxas had left out a bearing that turns with the inner

gear that connects the two spindles. Without this bearing the gear is free to move around

and grind the plastic gearbox causing the car to slip and make lots of noise. This problem

was partially corrected by attaching a plastic spacer on the end of the gear to help

stabilize it, but it is not nearly as efficient as the $30 metal bearing that they shorted us

on. Getting a bearing would also be a viable option to make the project more worthwhile

in the future. The gear box was put back together with the “new” plastic bearing, and

hopefully, it will hold the car long enough to test drive the other equipment.

Page 10: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Mounting the 3D Lens

Eventually, the 3D lens from NuView arrived and we discovered that the lens was

intended for a camcorder. The I-glasses had come with an RCA splitter that we used to

split the lens and camera into one signal to be transmitted back to the glasses. The lens

weighs about a 1 lb. and will be tough to mount to the car due to sheer size and weight.

The lens comes with a AAA battery supply and turns itself on when the camera is turned

on. We tested it out with the camera, and it is possible to see depth. The focal point

length is not a big issue since it does not appear to be sensitive to it.

In order to accommodate the 3-D lens, we decided to remove the camera and

battery from the car and start from scratch. All 8 shocks were disassembled, and we

located the assortment of shims to adjust them with. We took the collars and shimmed

the four fronts as much as the shocks would allow and then put the rear shocks on about

half capacity. The car’s front suspension is as stiff as the design of the car will allow

without buying some type of after-market spring set. Perhaps next semester ordering a

shock/spring set would be a good idea.

After looking through the lens with the camera, it was assumed that the 3-D

viewing would work whether the lens was vertical or sideways, so we decided to mount it

vertically above the springs. This was simpler to do, more physically feasible, and

aesthetically pleasing. We used the original mounting hardware that came with the lens

to mount the camera high enough to look through the lens. The lens was mounted at the

correct angle so that a person could drive the car and see enough of the ground and also

what was in front the vehicle. The camera was leveled off to look through the 3-D lens.

The camera height is easily adjustable by undoing one wing nut, yet stable so that it

Page 11: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

doesn’t move when driving the car. It’s almost as if the lens is physically attached to the

camera even though it isn’t.

The battery was remounted in the original spot and all the cables and wires were

cut and folded up the appropriate length. The wires were bundled up and hid under the

battery plate and out of the way. The old GW-200 transmitter was strapped to the back of

the car in place of the broken mpx-2400 transmitter that never got replaced. The springs

in the back of the car can easily support the transmitter so that it was not a problem

mounting it as was first anticipated. We then wired the transmitter to the battery and

prepared to take an initial test drive.

Page 12: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Testing

The car was tested with only the I-glasses and the RF link to determine its

capabilities. The car was driven with the factory remote control, and no other control

devices. It was perfectly capable of maneuvering, and there was not any noticeable

visibility problems. The car could be driven around corners and down hallways

approximately 30-40 meters from where the driver was standing without any signal

breakup. Depth perception through the I-glasses was also good. The car can be

controlled without running into walls if the driver is careful.

There was some difficulty viewing a 3-D rendered image with the 3-D lens

mounted vertically. The image was definitely good enough to drive the car with, but it

was taking the 3D image from the wrong perspective, which the human brain

automatically corrects. We’ve decided that his could result in a serious headache if used

for too long. The lens will have to be remounted horizontally to achieve a true 3D image.

Page 13: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Picture 1. Testing the Monoscop 3D in the MRC, with the I-glasses, RF Link, and 3D Lens.

Picture 2. Jarrett says, “I am Terminator III”

Page 14: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

PC Controls

The feedback loop for the virtual reality controlled Traxxas Monster Truck required a

connection from the motion tracker to the PC and from the PC to the truck’s remote

controller. While the motion tracker to the PC link still has lots of room for

improvement, the PC to car remote controller link is currently operational. The car is

remotely controlled with a graphical user interface (GUI) program, which development

and operation are explained here.

The essential part of the PC-to-Car link is the Digital to Analog Converter Board

installed on the PC. The DAC board is capable of being programmed to send any

specified analog voltages to any of its four inputs simultaneously. The analog voltages

from the DAC board were to be fed into the already-existing wireless remote controller of

Traxxas Truck, in a way to control its thrust and steering. The analysis of the remote

controller indicated the thrust and steering control knobs were just potentiometers which

input a certain level of voltage to a processor chip, named 9362TX. The chip in turn

outputted a pulse width modulated signal to be transmitted to the car over a wireless RF

link. The diagram of the chip is as follows:

Steering

Throttle

Triangular Wave

Square Wave

Pulse Output

Pin 1

Pin 2

Pin 11

Pin 10

Pin 9

Page 15: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

The input voltage for steering was between 1.7 V, which corresponded to steering to

right, and 2.6 V which corresponded to steering to left. 1.95V of input to the steering pin

assured that the car would run straight. The input voltage for thrust was between 1.7 and

2.4 Volts, with 1.7 V corresponding to forward thrust and 2.4 V to reverse. When 2.05

Volts was applied, the car would come to a standstill.

The output from the pin 9 of the chip was a PWM signal, which consisted of triplets

of pulses following each other at intervals of 20 ms in between. The width of each pulse

was 280 microseconds. Between each pulse in the triplet there was an average separation

of 1.5 ms. The first pulse in the triplet controlled steering and the third controlled thrust

by means of shifting their locations in time relative to the central pulse. Our project did

not involve any direct manipulation of the output from the 9362TX chip, but injecting our

own control signal to the pins 1 and 2.

The DAC board that was used to send control signals was programmed with drivers

that came with a software package called DriverLinx. DriverLinx was already installed

in every computer in the Industrial Controls lab. The graphical user interface of the

program was developed using Visual Basic. As a part of DriverLinx installation, there

already existed Linx ActiveX library, named DLXOCX32.OCX, for the Visual Basic

form. The library provided mainly two different type of controls to be included in the

Visual Basic form: DriverLINXLDD and DriverLINXSR . When included in the form,

the LDD would be used to provide the correct low level software driver for the specified

DAC board, and the SR would provide means to initialize the DAC board outputs and

enable them to transmit multiple analog signals simultaneously. As the low level

Page 16: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

software driver for the DAC board, KMB1800.DLL was used, which already existed in

DriverLINX directory.

Unfortunately, the DriverLinx configuration and programming using Visual Basic

was not a simple task to be undertaken. It was virtually impossible to write the type of

program we wanted from scratch within the project deadline of three weeks. Therefore it

was decided that an existing template program was to be modified to serve our needs.

However, the multiple-channel analog output program did not quite work correctly. It

would output the same voltage to all four outputs. For our project it was necessary to use

two analog outputs with independent voltage levels. The project came to a temporary

deadlock.

That’s when the insight to this problem was gained. When the single-channel analog

output template was inspected, it was discovered that whenever the program was turned

off after it was running, the voltage level at the specified channel stayed at the same level

until the program was re-started and the board was initialized. Therefore it was possible

to make the program have two analog outputs by initializing a channel and setting up its

value and initializing a second channel and setting up another voltage value for it. Thus

the single-channel output program was modified instead to serve our project.

The final version of the program now exists under the directory C:\Traxxas\Test of

the TA computer of the Industrial Controls Lab. Its executable file is named

Traxxas_Control.exe. The GUI and the source code lies under the form

Traxxas_Control.frm. The primary controls on the form are the two scroll bars. The

vertical scroll bar is used to adjust the speed of the car. The horizontal scroll bar is used

to control the steering. When the Stop button is pressed, the car comes to a standstill,

Page 17: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

with its wheels in the middle position. Forward, Back, Left and Right buttons are self-

explanatory, but should be used with caution since they provide the extreme voltage

values to the car controls. The status text bar displays status messages. The Zero button

is used to bring the voltage level to 0 V on all channels, and is used just before turning off

the program.

It is easier to understand the implementation of these controls when the VB code of

the form is inspected. The Form_Load ( ) procedure is run at the beginning, which

initializes the DAC board with the existing software driver. The function of all the other

control procedures is to get an input from the user (such as the scroll bar position) and

transform it to a voltage value for the specified channel of the DAC board. In this

implementation of the program, Channel 0 is assigned for Throttle control and Channel 1

is assigned for Steering. For instance, when the Left button is pressed, 2.6 Volts is sent

to Channel 1. The procedure VoltageOutputAdj is central to the functionality of this

application, and is used to adjust how much voltage is sent to a specified channel. Unlike

all other procedures, this is public, which means it can be called from a separate module

or application. It is capable of checking whether the voltage value or channel number

inputs are within acceptable limits. All the user generated events make a call to this

procedure ultimately. There are other procedures which are useful to the running of the

GUI, such as AdjustSteeringScr and AdjustThrottleScr. They are used to adjust the

positions of vertical and horizontal scroll bars, after a voltage value is sent to either

channel 1 or 2.

This program was completed in two weeks, well within the range of the project

deadline. The Traxxas Monster Truck was tested with the control software. For that

Page 18: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

purpose, the remote controller joystick was opened up. The wires coming from pins 1 &

2 of the 9362TX chip and going to the thrust trigger & the steering knob were cut and

instead connected to the DAC board analog output channels. The program demo ran

almost perfectly. Slight calibrations had to be made to adjust the input levels for the

stationary state of the truck.

Right now a user has to wear the Head Mounted Display unit to see the input from the

camera on the vehicle, and look at a separate computer screen at the same time to adjust

the GUI scroll bars and send a control output to the vehicle. In a future implementation

of this project, if the motion tracker becomes functional, its software drivers can be

incorporated into this Visual Basic program either as a “.dll” file compiled from their C

program source code, or as a “.bas” file if the source code is also in VB. Then a user may

be able to control the vehicle with just a motion of his/her head.

Page 19: 3D Monoscopic Guided Vehiclepeople.ee.duke.edu/~mbrooke/ece4040/00spring/00Sp_ECE...It had a large selection of remote controlled cars and trucks, either nitro fueled or electrically

Future Design

Most of the proposed design has been completed, except for the head tracker

control. The IO-Displays tracker did not come with any sort of instructions or software.

Most of the test software and code for it were found in an obscure website

(http://www.mindflux.com). Here, you can find some test programs and a software

development kit for the device. We had problems getting any of them to work without

crashing the computer or having a fault error. This part of the design should be heavily

examined by anyone taking on this project next semester. By getting the head tracker to

work in coordination with the PC control, the design will be almost entirely finished.