Commander


 

From ARVP

Jump to: navigation, search

Contents

[edit] Overview

The Commander is written in Java and its primary purpose is to provide a visual medium through which we can easily view sensory information, and send commands to the field commander unit. Using Java 1.6 Swing components we display the sensory information from each different robotic sensor (camera, imu, digital compass, depth sensor, batteries) in a visual manner, using Charts, Graphs and with graphics so that we can perform basic component testing, and perform basic motion maneuvers with our AUV.

[edit] Data visualization

Commander's Data visualization
Commander's Data visualization

Part of the commander provides a way to quickly and easily visualize the sensor data coming from the AUV. This includes:

  • E-stop status: Whether the E-stop is on, or off
    • Visualized with a colour label (green for not engaged (can go), red for engaged (cannot go)) for now.
  • Inertial Measurement Unit / Digital Compass: Measures acceleration in x, y, z, roll, pitch, yaw.
    • roll/pitch/yaw are visualized with compass charts
    • acceleration is visualized with a bar chart (for now)
    • Internal temperature as provided by the IMU
  • the target heading is visualized with a compass chart
  • Depth Sensor: measures the depth of the AUV
    • Visualized with a line graph of how depth changes over time
  • Battery voltage of the the roboteqs
  • Sonar display
    • Shows where the pinger is estimated to be on a xy axis
    • For convenience also displays the actual numbers for the x,y,z and heading of the pinger, all relative to the center of the AUV
    • Shows the four hydrophones DTOAs
      • If any of them were averaged due to being too close they will be shown in red (specifying that the particular time may not be accurate due to measurement)
  • 3-D Model of the AUV reflecting the roll, pitch and yaw
    • Uses Java3D
  • Camera view
    • Shows the live stream during testing or a logged video stream if playing logs
  • The data visualization can work either by connecting to the Field Commander and showing the data live or by replaying an old log file.

[edit] Remote Control Interface

Commander's Remote Control (Direct Control)
Commander's Remote Control (Direct Control)
Commander's Remote Control (PID Control)
Commander's Remote Control (PID Control)

The second subcomponent of the commander involves being able to send out commands to the AUV during testing. The main idea is to be able to control the depth, the speed and how the AUV turns This is implemented by providing the following controls:

  • Depth control
    • A dial/slider that allows for choosing the target depth which will be maintained by the depth PID controller
  • Speed control
    • A dial/slider that allows for changing the base speed of the AUV
  • Turning control - either direct or PID
    • Direct - specifies turning effort to be applied to the thrusters
    • PID - specifies the target heading that will be maintained by the heading PID controller
  • Normally, if no keys are pressed, only the depth is going to be maintained, but the AUV will not move horizontally. In order to move it arrow keys must be held.
    • To move forward at the specified speed - hold the "up" arrow key, backward - the "down" key
    • To move left or right with the specified turning effort in direct control mode - hold the left or right arrow keys
    • To adjust the target PID heading in PID mode - again hold the left or right arrow keys. This will move the blue arrow which specifies the target heading (and the red arrow is the actual heading)

[edit] Progress

The data visualization for the current components is done but we may need more in the future. The remote control is done but needs more testing in order to calibrate parameters such as how often to send updates to the Command Server, how rapidly to move the arrow on the PID compass when holding the arrow keys, etc.

The remote control should be integrated into the same window as the data visualization in order to make it easier to see what the AUV is doing when performing remote control.

[edit] People

Personal tools
Personal tools