Skip to content

States utilized for completing the tasks for the RoboSub competition

Notifications You must be signed in to change notification settings

david-baez-bravo/Task_Module

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is the repository for the rumarino Task Module. Definitions ofthe State machines and mission logic for competition.

Message Dependencies

  • Zed Interface: This messages descriptions are used for the the Zed-ROS-Wrapper that interacts with the Camera ROS node. The Purpose is to have a definition of the Messages for usiing them in a subscriber in the Task Executions.

  • IMU and DVL: The Hydrus repository was included in the dependencies for interacting with the DVL and IMU definitions. In the case of the IMU there is no message definition, the topic outputs Float numbers.

  • uuv_control_msgs: This Package define the Servers for interacting with the control system of the submarine.

Explanation of the Messages:

Zed Interface have the following messages:

  • ObjectsStamped.msg

  • RGBDSensors.msg

  • PlaneStamped.msg

  • Marker.msg

  • nav_msgs/Odometry.msg

The DVL have the following Messages:

  • DVL_MSG.msg

The IMU:

The topics for each Message are the following:

In the case of the Zed Camera you can check in this file how its defined the topics for each Message. Nevetheless here it is :V

ObjectsStamped: "obj_det/objects"

RGBDSensors: "rgbd_sens"

PlaneStamped: "plane"

Marker.msg: "plane_marker"

DVL topics are the following:

DVL_Message: "/wayfinder/topic_name"

IMU Topics:

'/hydrus/IMU/yaw' : FLOAT32
'/hydrus/IMU/pitch': FLOAT32
'/hydrus/IMU/roll' : FLOAT32

UUV Control Services:

  • InitWayPoint

  • From Files

  • Hold.srv

More Description about the Services.

The services are defined in the uuv_simulator_package. In here is where is defined all the control system of the submarine. For our case the mentioned services are defined in this file.

Run the Task Module with the simulation

In order to use it with the simulation you will need to run the Dockerfile.

TODO: Currently our implementation on Hydrus in the uuv simulator is under development but meanwhile we can use the RexRov2 simulation

Movement Task_Module

Connecting the Sensor Messages to the Control System

The uuv_simulator have the following nodes and topics structures when using the rov_pid_controller.py node.

graph of nodes in rexrov

What interest us is to replace the Odometer data that is defined in here as /rexrov2/pose_gt.

What information we will implement for this is to be discussed. What needs the control system is a Nav_msgs/Pose.msg Neither the DVL or the IMU give is that infomation. Gladly the Zed camera in his node gives us that exact Message. Something that we could implement is to take the message of the camera to extract the Positional Tracking information and replace the other data with the more speciallyze sensors in the same output

TODO:

  • Keep completing and fixing documentation
  • Setup the Network
  • Run the StateMachines in the simulation
    • Change the way files retrieve data from yaml to ros arguments though roslaunch files.
    • Write the Test for the movement tasks.
    • There is a error when executing the service that executes the movement. Maybe try the Go_to service. Because the InitWaypointset is not avaible when running the rexrov2 simulation. Maybe trying the Desistek if it works??? Need to test that.

About

States utilized for completing the tasks for the RoboSub competition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 70.6%
  • Dockerfile 18.5%
  • Shell 7.9%
  • CMake 3.0%