Before the competition actually happens, we can attempt the pre-qual task that will put us straight into semi finals. The task is shown above. Currently, the logic to pass through the gate is under development. However, we can still develop the logic for this task independently of the other issue. Currently, we have a barebone framework and an attempt at the vertical marker task in this file: pontus_autonomy/pontus_autonomy/tasks/vertical_marker_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 vertical marker task. The main goal of this issue is to use all of these sensors to accomplish this task.
Functional Requirements
This issue is focused on detecting the vertical marker and passing around it. The functional requirements are as follows:
You can assume that we have already found the gate and that we have already passed through it. Therefore, the only thing that will realistically be in front of you is the vertical marker.
The robot should go forward and go around the marker and then head back towards the gate.
The robot must not touch the vertical marker
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
/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 vertical marker using the ping360 + camera + sonoptix
Head towards the vertical marker while attempting to keep the vertical marker in view
When the vertical marker is roughly 1m away, go around the vertical marker by going around the right side
Keep on going around the vertical marker until our orientation is roughly 180 degrees from where we started and/or the gate is in view again
Align ourselves back with 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
Before the competition actually happens, we can attempt the pre-qual task that will put us straight into semi finals. The task is shown above. Currently, the logic to pass through the gate is under development. However, we can still develop the logic for this task independently of the other issue. Currently, we have a barebone framework and an attempt at the vertical marker task in this file: pontus_autonomy/pontus_autonomy/tasks/vertical_marker_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 vertical marker task. The main goal of this issue is to use all of these sensors to accomplish this task.
Functional Requirements
This issue is focused on detecting the vertical marker and passing around it. 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: