28.01.2013 Views

Design of an Autonomous Amphibious Robot for Surf - index - Naval ...

Design of an Autonomous Amphibious Robot for Surf - index - Naval ...

Design of an Autonomous Amphibious Robot for Surf - index - Naval ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fig. 4. NPS <strong>Autonomous</strong> Vehicle Power Bus [11]<br />

B. S<strong>of</strong>tware<br />

A 500 line C program <strong>an</strong>chors our system <strong>an</strong>d is compiled<br />

to flash ROM on the WILDCAT. Z-World Dynamic C<br />

<strong>of</strong>fers COSTATE capability <strong>an</strong>d is invoked in our program.<br />

COSTATES provide <strong>for</strong> the ability <strong>for</strong> functions to operate<br />

cooperatively during runtime. We found that this helped<br />

optimize our code by allowing functions to give up CPU<br />

cycles while waiting <strong>for</strong> a response or input from internal or<br />

external devices.<br />

The adv<strong>an</strong>tage is that the program uses CPU cycles more<br />

efficiently; the disadv<strong>an</strong>tage is that the programmer loses<br />

some control over function implementation.<br />

Algorithm logic is viewed in Fig. 6 <strong>an</strong>d COSTATE functions<br />

are listed. Any valid sonar contact is serviced as <strong>an</strong><br />

Interrupt Service Routine (ISR) <strong>an</strong>d control is passed to the<br />

Sonar COSTATE. You will notice that the M<strong>an</strong>ual Control<br />

COSTATE overrides all other COSTATES in the algorithm.<br />

C. Communications<br />

The wireless architecture was used <strong>for</strong> three purposes:<br />

1) Pass waypoint data prior to tr<strong>an</strong>sition to autonomous<br />

control<br />

2) Take m<strong>an</strong>ual control<br />

3) Send telemetry (GPS, Compass) <strong>an</strong>d/or error data to<br />

the remote wireless station<br />

Fig. 5. Front View<br />

1467<br />

Fig. 6. Algorithm In<strong>for</strong>mation Flow [9]<br />

Five UDP/IP communications sockets are established <strong>an</strong>d<br />

bound to the ports shown, Fig 6. Ports 4001 <strong>an</strong>d 4002 are set<br />

up one way from the remote station to the <strong>Robot</strong> <strong>an</strong>d ports<br />

4003, 4004 <strong>an</strong>d 4005 from the robot to the remote station.<br />

The UDP protocol is preferred because we do not need a<br />

three-way h<strong>an</strong>dshake <strong>for</strong> communication.<br />

A Java application, “MainApp”, was developed <strong>for</strong> the<br />

remote station, Fig. 7, <strong>for</strong> the user interface. “MainApp”,<br />

displays GPS, waypoint <strong>an</strong>d compass data (on the left), a<br />

field <strong>for</strong> a scaled chart (center), m<strong>an</strong>ual control interface <strong>an</strong>d<br />

a joystick pad (on the right). The scaled chart c<strong>an</strong> be grid<br />

locked to GPS coordinates. There<strong>for</strong>e selection <strong>of</strong> waypoints<br />

is simply a matter <strong>of</strong> double clicking a position on the chart<br />

<strong>an</strong>d sending the waypoint to the <strong>Robot</strong> via the “Send Route”<br />

button.<br />

Fig. 7. Example <strong>of</strong> the Main Application Interface showing the Icons<br />

<strong>for</strong> waypoints in red <strong>an</strong>d the robot in blue. Here we see the robot enroute<br />

waypoint 1 [10]<br />

In Fig. 7 we see the robot en-route waypoint 1. The chart<br />

is a scaled version <strong>of</strong> the NPS quadr<strong>an</strong>gle. Sp<strong>an</strong>agel Hall<br />

is the Science <strong>an</strong>d Engineering Building. You will notice<br />

that parsed GPS <strong>an</strong>d compass data are sent to the remote<br />

station <strong>an</strong>d displayed in the control p<strong>an</strong>el. This gives the<br />

observer a quick view <strong>of</strong> the status <strong>of</strong> the robot while in

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!