Description of task
This task deals with the exploration phase of the docking task, that runs until the docking platform is detected.
This task depends on the completion of the following issues:
Assumptions:
- Drift is negligible up until the docking platform is detected.
- Initial Drone orientation relative to the mission area(pool walls) are known up to an acceptable error.
- Sonar will be able to detect the "far side" pool wall and the wall to our right. The left wall will most likely also be detected but is it not a requirement for this solution.
- Upon startup the point generated by projecting the drone onto the right wall, will have a negative y-value (NED convention), that can be said to exist within an interval set by a prior
min_dist and max_dist.
- Also the angle between the heading direction of our drone and the "right wall" should be less than a prior
angle_threshold
- When a line satisfies this check for the "right wall" there should also exist a "far wall", where the point generated from the projection of of the drone onto this line will have a positive x-value and exist within an interval set by a prior
min_dist and max_dist
- Also the angle between the heading direction of our drone and the "far wall" should be greater than a prior
angle_threshold
- As an additional requirement the angle between these walls should be within an interval set by a prior
min_angle and max_angle (can also be solved with one angle threshold based on how you define the angle)
EDIT: Acoustic reflections from the "right wall" might be weak and the wall might therefore be hard to detect. A possible solution could be to send an initial waypoint with mode ONLY_ORIENTATION to turn the drone slightly. This way the "left wall" should be detected and a similar scheme as to the assumptions above can be dervied.
Using the assumptions above we can create two lines that are perpendicular to their respective wall. These perpendicular lines will have an intersection that is located inside the pool. By controlling the distance from these perpendicular lines to the intersection between the two walls we can create a good prior estimate for where the docking platform will be located. These distances should be configurable by a far wall offset and right wall offset parameter.
Suggested Workflow
Specifications
- Have configurable ros parameters for relevant stuff that might need tuning.
- Have simulator test to test robustness and detect failure edge cases
Contacts
@jorgenfj
Code Quality
Description of task
This task deals with the exploration phase of the docking task, that runs until the docking platform is detected.
This task depends on the completion of the following issues:
Assumptions:
min_distandmax_dist.angle_thresholdmin_distandmax_distangle_thresholdmin_angleandmax_angle(can also be solved with one angle threshold based on how you define the angle)EDIT: Acoustic reflections from the "right wall" might be weak and the wall might therefore be hard to detect. A possible solution could be to send an initial waypoint with mode ONLY_ORIENTATION to turn the drone slightly. This way the "left wall" should be detected and a similar scheme as to the assumptions above can be dervied.
Using the assumptions above we can create two lines that are perpendicular to their respective wall. These perpendicular lines will have an intersection that is located inside the pool. By controlling the distance from these perpendicular lines to the intersection between the two walls we can create a good prior estimate for where the docking platform will be located. These distances should be configurable by a
far wall offsetandright wall offsetparameter.Suggested Workflow
size_x,size_yand resolution configurable by aresolutionparameter.dilationparameter.radiuswe use for updates should be a configurable parameter.Specifications
Contacts
@jorgenfj
Code Quality