The first main task of the competition is to go through this gate. Currently, we have a barebone framework and an attempt at the gate task in this file: pontus_autonomy/pontus_autonomy/tasks/gate_task.py. However, this was created last year, where we only had a forward-facing camera. Now our sub contains two sonars: a Ping360 and Sonoptix, which should provide more information that will allow us to more confidently accomplish the Gate task.
Functional Requirements
This issue is focused on passing through the gate. The functional requirements are as follows:
You can assume that we have already found the gate, and that we are roughly in front of the gate (2-3 meters away) (does not mean we are necessarily centered)
The robot must choose a side to go through, the side in which it goes through should be defined in a temporary variable for now (such as always go through the left side)
The robot must not touch the gate while passing through it
Relevant ROS topics
Relevant ROS Topics that may be useful to publish/subscribe to
/pontus/odometry : contains the current odometry of the sub, Pose (position + orientation) and Twist (velocity)
/cmd_pos : publishing a pose message to this topic directs the sub to go to that point/orientation
/cmd_vel : publishing a twist message to this topic directs the sub to go a certain velocity
/pontus/camera_0/image_raw : contains the RGB image feed from the front facing camera
/pontus/sonar_1 : contains a LaserScan representing the data coming from the Ping360
/pontus/sonar_0 : contains a LaserScan representing the data coming from the Sonoptix
Implementation
Determine the location of the gate using the ping360 + camera + sonoptix
Position robot to go through the gate
Start going through the gate while constantly adjusting the trajectory to not hit the gate
Testing
To test your code, you can run your code against the sub simulation. Running the simulation will also be very useful to see what the output of certain topics are, such as the camera, and how publishing to certain topics affects the sub. To run the simulation:
Go to your workspace directory and build your project.
Overview
The first main task of the competition is to go through this gate. Currently, we have a barebone framework and an attempt at the gate task in this file: pontus_autonomy/pontus_autonomy/tasks/gate_task.py. However, this was created last year, where we only had a forward-facing camera. Now our sub contains two sonars: a Ping360 and Sonoptix, which should provide more information that will allow us to more confidently accomplish the Gate task.
Functional Requirements
This issue is focused on passing through the gate. The functional requirements are as follows:
Relevant ROS topics
Relevant ROS Topics that may be useful to publish/subscribe to
Implementation
Testing
To test your code, you can run your code against the sub simulation. Running the simulation will also be very useful to see what the output of certain topics are, such as the camera, and how publishing to certain topics affects the sub. To run the simulation:
Go to your workspace directory and build your project.
Start the simulation:
And then in another terminal you can run your code: