Luis A. Mateos

Roboat's working space - simplifying 3D space into a 2D plane

The controllable space is defined by a 2D x - y plane on the water. This is to simplify the problem from 3D space to a 2D plane, since we don’t take into account the heave vector as this is compensated by the funnel. And in our assumption all elements are floating on the water.

The distances and angles between two roboats are given by three variables:

  • dx is the difference in position in the x-axis (the distance between the entities)
  • dy is the difference in position in the y-axis (the distance to the left or to the right)
  • the angle between the two entities
  • In our approach, one robotic platform waits in a position, similar to a ”balancing” robot, becoming a pseudo-docking staion, while the other roboat performs the movements for latching.

    Robotic boats 2D working environment.

    atching controller

    Camera - Tag

    In order to read the actual angle between the camera and the apriltag, the tag detection requires that the camera and the tag are with the same orientation. At the same time, to estimate the actual orientation between them, the tag detection requires that the camera is directly facing the tag. Therefore, the latching controller integrates a hybrid control strategy which tries to position the camera to face the tag with the same orientation.

    AprilTags framework in normal light conditions varying the distance and angle.

    Hybrid controller

    The latching controller integrates three PD controllers:

  • Control I: Minimize lateral distance dys = R3dy-R2dy
  • Control II: Minimize longitudinal distance dxs = R3dx-R2dx
  • Control III: Minimize the angle between the entities
  • The hybrid controller initially tries to set the roboats to have the same orientation by minimizing dy and the angle between them. If the error is greater than the tolerances, then the latching roboat R2 is set to maintain a distance of 1000mm from the target to keep minimizing these errors until the error from Control I and Control III are inside the funnel tolerances, then R2 (roboat with the socket) moves forward minimizing dx, while combining the lateral distance and angle strategies to latch the balancing roboat R3.

    How it works:

    The simulation starts with a roboat trying to latch to a balancing roboat. The first control strategy is the angle and go. In this strategy the priority is to minimize the angle (Control III) with the longitudinal distance (Control I). The animation also shows the cartesian control strategy in which the priority is to minimize is the lateral distance (Control II) together with the longitudinal (Control I).

    2019 Luis A. Mateos