Real-Time Control Architecture for SAUVIM
T.W.Kim, J.Yuh, S.K.Choi
Autonomous Systems Lab.
University of Hawaii, U.S.A.
Semi-Autonomous Underwater Vehicle for
Intervention Missions (SAUVIM)
Mechanical Structure
Al 6061 5.8m L 2.1m W 1.8m H 6,500kg (air), -2kg (wet)
Six pressure vessels
(33cm inner dia. 46cm long)
1.4m long 7 DOF robot
Motion Control System
6 Technodyne 1020 thrusters 2 Technodyne 2010 thrusters Max Speed : 3 knots Operating range: 2.7 nautical
miles 3 fins with stepper motors
Navigation Sensors
300KHz RDI DVL: vehicle speed, attitude, heading
Watson IMU: angular vel. & acc., heading
TCM2: attitude, heading MSP: attitude, heading Imagenex : scan sonar Tritech : pointing sonar
Health Monitoring System
Located in each PV One chip micro-controller
(BASIC Stamp II-sx)
Battery voltage Leakage Pressure Humidity RS485 multi-drop comm.
Sonars & Cameras
Two Imagenex 881 scanning sonars (forward & backward): obstacle avoidance, localization, object acquisition
Seven Tritech PA200 range sonars: obstacle avoidance, localization
Six CCD cameras with PC/104+
Computer H/W Configuration
VME bus
DAADIOB/D
DAADIOB/D
Comm.B/D
Nav. CPU I
Nav. CPU II
PC/104+(Scan Sonar)
PC/104+(Scan Sonar)
PC/104+(Camera)
PC/104+(Laser)
VME bus
DAADIOB/D
JR3 I/FB/D
Res. I/F B/D
Nav. CPU I PC/104+
(Camera)
Navigation Controller
Arm Controller
Navigation Controller
VM
E B
us
A/D (64)
DIO (96)
D/A (16)
RS232(12)
RS485(4)
MD-DAADIO
MVC16
Ethernet
RS232
Arm tray control
Leakage sensors
Battery Current
Battery Voltage
Pressure Sensors
Navigation(USBL)
PC104
Ballast weight tray
Light on/off
Thruster control
Laser ranger
Weight release
Cameras
NavigationCPU I
(MC68060)
NavigationCPU II
(MC68060)- Software development- VME system- GUI- Real time OS (Tornado, VxWorks)- MatLab / SimuLink / RTW Toolbox
PC 104(Pentium
MMX)
AcousticCommunicationMission sensor
package
HealthMonitorings
Altimeters (Tritech)
Thruster Failures
Power on/off
AHRS (Watson)
Frame grabber
Scan sonar(Imagenex)
Thruster Speed
Thruster Current
PC104's
PCWindows
2000
To Arm Controller
S/W Architecture
Pros
- easy to verify controllability and stability
- feasible to evaluate the controller performance
Application S/W
Application Integrator
Sub-taskModule
System Configurator
Real Time Operating System
Device Driver
Real H/W
Virtual DeviceDriver
Virtual H/W
NetworkDriver
RemoteH/W
Sub-taskModule
Sub-taskModule
De
vic
e L
ay
er
Re
al-
Tim
e L
ay
er
Ap
pli
ca
tio
n L
ay
er
Application S/W
Application Integrator
Sub-taskModule
System Configurator
Real Time Operating System
Device Driver
Real H/W
Virtual DeviceDriver
Virtual H/W
NetworkDriver
RemoteH/W
Sub-taskModule
Sub-taskModule
De
vic
e L
ay
er
Re
al-
Tim
e L
ay
er
Ap
pli
ca
tio
n L
ay
er
Application S/W
Application Integrator
Sub-taskModule
System Configurator
Real Time Operating System
Device Driver
Real H/W
Virtual DeviceDriver
Virtual H/W
NetworkDriver
RemoteH/W
Sub-taskModule
Sub-taskModule
De
vic
e L
ay
er
Re
al-
Tim
e L
ay
er
Ap
pli
ca
tio
n L
ay
er
Se
nso
r D
ata
Bu
s
S/W Architecture
Cons
- lack of flexibility
- An attempt to modify some functionality requires significant modification of the whole S/W
- long response time
- sensor integration/fusion is difficult
Modified Hierarchical Arch. with Sensor Data Bus
GUI Server Mission Supervisor
Lang. Interpreter Cmd Interpreter
Application Integrator
SensorManagement
Sensor Fusion FaultTolerance
CollisionDetector
CollisionAvoidance
MapBuilder
Localization Path Planner
TrajectoryPlanner
ControlA lgorithm
T.C.M.
FaultDetector
Filter
Map DB
Calib. DB
Log DB
CalibrationManager
Local Log DBManager
Output Manager
Real Time Operating System
CameraServer
So
ft R
ea
l T
ime
Ha
rd R
ea
l T
ime
No
n R
ea
l T
ime
SystemManager
Remote Control ClientSS Server
( I )SS Server
( II )
Senso
r D
ata
Bus
Input Manager
Primary Monitoring System
GUI Client Remote Control Server
Aux. MonitoringSystem
GUI Client
VR Environment
GUI Client
Auto Log System
GUI Client
Device Driver Virtual Device Driver Network Driver
Real H/W Virtual H/W Remote H/W
System Configulator
Task Description Language
Using lex/yacc compiler tools Easy to use/add/modify Satisfy the minimum
requirements for AUV lang.
(1) Numerical operations including arithmetic operations and Boolean operations
(2) Motion commands
(3) Condition commands
(4) Loop commands
(5) I/O commands to control specific H/W
(6) Application-specific commands such as depth or speed control for AUVs
Token file Syntax file
lexcompiler
C/C++ code
C/C++compiler
object file
yacccompiler
C/C++ code
C/C++compiler
object file
C/C++ code
C/C++compiler
object file library
CPU B/D
Download
linker
Hex file
STDL Primitives & Operators
Motion commands : fd, bk, up, dn, movex, movey, movez,
moveto, rt, lt, pitch, yaw, roll, fin I/O commands : on, off, onfor, ain, aout, din, dout Multi-tasking & Event commands : task, when, every Arithmetic operators : +, -, *, /, % Boolean operators : and, or, not, >, <, ==, >=, <=, != Loop commands : repeat, endrep, loop, endloop, for,
endfor, while, endwhile, stop Conditional commands : if, else, endif, switch, case,
default, break Miscellaneous commands : proc, endproc, output, define,
wait, waituntil, goto, set
Concluding Remarks
Real-time distributed H/W & S/W
Modified hierarchical architecture with sensor data bus
SAUVIM Task Description Language for flexible programming
SAUVIM is under test in shallow water
More progress and results are on www.eng.hawaii.edu/~asl
Top Related