Skip to content

Latest commit

 

History

History
119 lines (83 loc) · 2.83 KB

README.md

File metadata and controls

119 lines (83 loc) · 2.83 KB

CyberShip Enterprise Software Suite

This software suite designed for to be used as a course material. It should not be taken as a basis for other projects as the software might change for the vehicle.

Installation

This package is designed for Python 3, ROS Humble, and Ubuntu 22.04 (Focal). Before proceeding with the packages, please follow the installations for ROS and python.

  1. Create a workspace

    mkdir -p ros_ws/src
  2. Clone the repository inside the workspace

  3. Install ROS dependencies

    rosdep install --from-paths src --ignore-src -r -y
  4. After installation, install the required python packages.

    pip install numpy
    pip install scipy
  5. If there is any problem with the instructions, create a github issue.

Updating the package

The package is updated with git command.

Quick Start

Initial command

ros2 launch tmr4243_utilities utilities.launch.xml

See the simulation Simulation

Topics

  • topic: /CSEI/control/eta

    type: std_msgs/msg/Float32Multiarray

    description: Holds the navigation data for the vehicle. Position and orientation

    $\eta = [x, y, \psi]^\top$

  • topic: /CSEI/control/u_cmd

    type: std_msgs/msg/Float64MultiArray

    description: Control inputs for the actuators. It can be published by teleop node or your custom control node.

    $u_{cmd} = [u_0, u_1, u_2, \alpha_1, \alpha_2]^\top$

    • $u_0 \in [-1, 1]$, Controls the force of the tunnel thruster
    • $u_1 \in [0, 1]$, Controls the force of the port VSP thruster
    • $u_2 \in [0, 1]$, Controls the force of the starboard VSP thruster
    • $\alpha_1 \in [-\pi, \pi]$, Controls the force direction for port VSP thruster
    • $\alpha_2 \in [-\pi, \pi]$, Controls the force direction for starboard VSP thruster
  • topic: /CSEI/control/tau

    type: std_msgs/msg/Float64MultiArray

    description: body fixed force. It is published by the simulator.

    $\tau = [F_x, F_y, M_z]^\top$

  • topic: /joy

    type: sensor_msgs/msg/Joy

    description: Joystick inputs

Custom Messages

  • tmr4243_interfaces/msg/observer.msg
    float64[] eta
    float64[] nu
    float64[] bias
    
  • tmr4243_interfaces/msg/reference.msg
    float64[] eta_d
    float64[] eta_ds
    float64[] eta_ds2
    float64 w
    float64 v_s
    float64 v_ss
    
  • tmr4243_interfaces/msg/s.msg
    float64 s
    float64 s_dot
    

Glossary of variables

  • $\eta \rightarrow$ State variable
  • $u \rightarrow$ Control command
  • $\tau \rightarrow$ Body fixed force