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.
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.
-
Create a workspace
mkdir -p ros_ws/src
-
Clone the repository inside the workspace
-
Install ROS dependencies
rosdep install --from-paths src --ignore-src -r -y
-
After installation, install the required python packages.
pip install numpy pip install scipy
-
If there is any problem with the instructions, create a github issue.
The package is updated with git
command.
ros2 launch tmr4243_utilities utilities.launch.xml
-
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
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
-
$\eta \rightarrow$ State variable -
$u \rightarrow$ Control command -
$\tau \rightarrow$ Body fixed force