💡
aColor-BlueRov2
  • aColor-BlueRov2 ROS implementation
  • Topside computer
    • Required configuration
    • File system and ROS architecture
    • Launch ROS implementation
    • ROS-MAVlink bridge
    • Controllers
      • Depth control
      • Heading control
      • Velocity control
      • Gamepad
    • Commander
    • Graphical User Interface (GUI)
      • GUI modification
    • Additional IMUs : client
  • Companion computer
    • Required configuration
    • Additional IMUs : server
  • ArduSub
    • ArduSub parameters
  • MAVlink message
    • Pymavlink
  • Configure new frame
    • Custom Ardusub 3.5
  • Bibliography
    • Bibliography
Powered by GitBook
On this page
  • Graphical aspect
  • Description of the GUI
  • ROS
  • Node
  • Topics

Was this helpful?

  1. Topside computer

Graphical User Interface (GUI)

description of the gui.py and BlueRov2.ui

PreviousCommanderNextGUI modification

Last updated 5 years ago

Was this helpful?

Graphical aspect

Description of the GUI

Components

Description

ARM/DISARM

Show the arm status of the BlueRov2

Control

MANUAL : ROV controlled by gamepad AUTOMATIC : ROV controlled by the depth/heading/velocity controllers

enable AUTOMATIC control

Allow to enable AUTOMATIC mode without a gamepad

Battery Level

Display battery level in volt (to not damage the battery it is recommend to not go under 3V by cells : e.g. for a 4S LI-Ion battery do not go under 12V)

Light level

light level of the lights in %, 0: turned off, 100% : highest brightness

Camera

Camera angle : between -45 to 45 deg

Components

Description

Set target

Depth : in m, 1m = 1m depth

Heading : in deg, 0 is North

Velocity : in m/s (the controller is not working)

SEND : publish on /Settings/set_target

PWM MAX

Set the pwm maximal for all controllers. Uses in saturation method in controllers.

At the init the pwm maximal is 1700

PID parameters

To tune PID for each controller. Press SEND for each controller to change PID parameters. The message is sent on the topics /Settings/set_[depth/heading/velocity].

KI, KP, KD = integral, proportional, derivative coefficients

Note : heading and velocity controller have no KI, changing this parameter will have no effect.

This area allows to record data by launching a rosbag record command described below. You can change the record time, in s, up to 3600s. The record time from Start All button is the maximum of the three record time parameters.

The files are recorded in ~/.ros folder. Rosbag file will be named as [depth/heading/velocity][year]-[month]-[day]-[hours]-[minutes]-[seconds].bag

Choice

Topics recorded

Depth

/BlueRov2/bar30 ; /BlueRov2/state ; /Settings/set_depth ; /Settings/set_target ; /Command/depth

Heading

/BlueRov2/imu/attitude ; /BlueRov2/state ; /Settings/set_heading ; /Settings/set_target ; /Command/heading

Velocity

/imu/imu_raw ; /BlueRov2/state ; /Settings/set_velocity ; /Settings/set_target ; /Command/velocity

All

/BlueRov2/bar30 ; /BlueRov2/imu/attitude ; /imu/imu_raw ; /BlueRov2/state ; /Settings/set_depth ; /Settings/set_heading ; /Settings/set_velocity ; /Settings/set_target ; /Command/depth ; /Command/heading ; /Command/velocity

The velocity is not recorded as velocity but only acceleration are recorded with the topics /imu/data_raw

It's an overview of the controllers with a preview of the controllers output in the column PWM_sent. The checkbox can be check to enable the controller to drive the ROV if the AUTOMATIC mode otherwise it will not work until the AUTOMATIC mode is on.

ROS

Node

GUI

Topics

ROS message subscribed

Message

Description

/BlueRov2/State

bluerov_ros_playground/State

State of the ROV : arm status, thrusters pwm, light level, camera tilt

/BlueRov2/battery

sensor_msgs/BatteryState

Battery state

/BlueRov2/bar30

bluerov_ros_playground/Bar30

Absolute pressure

/BlueRov2/imu/attitude

bluerov_ros_playground/Attitude

Contain yaw data

/Command/depth

UInt16

pwm sent by depth controller for the pwm preview

/Command/heading

UInt16

pwm sent by heading controller for the pwm preview

/Command/velocity

UInt16

pwm sent by velocity controller for the pwm preview

/Command/Joy

UInt16

/Settings/set_depth

bluerov_ros_playground/Set_depth

To read depth controller settings

/Settings/set_heading

bluerov_ros_playground/Set_heading

To read heading controller settings

/Settings/set_velocity

bluerov_ros_playground/Set_velocity

To read velocity controller settings

/Settings/set_target

bluerov_ros_playground/Set_target

To read target to reach

ROS message published

Message

Description

/Settings/set_depth

bluerov_ros_playground/Set_depth

send depth controller settings

/Settings/set_heading

bluerov_ros_playground/Set_heading

send heading controller settings

/Settings/set_velocity

bluerov_ros_playground/Set_velocity

send velocity controller settings

/Settings/set_target

bluerov_ros_playground/Set_target

send target to reach in depth, heading and velocity

Units are meters for altitude (eg : 0.174m=0.174m above the surface, -2m is 2m under surface), degrees for heading in range 0-360, velocity is not estimated yet so is always written -1. See here .

To switch the mode display (the real switch is in )

velocity control
commander.py