Hello! I am rebuilding an old APMBoat from a few years ago, and at the time was unable to find a way to get the boat to hold position. When it reached the final waypoint, it would just stop and float with the current/wind. The only thing I was able to do is have it change speed and repeat a pattern with the DO_JUMP command very slowly. 

But that wastes power - is there a way to get it to return to a location if it drifts a set distance away? 

I was thinking I would use a geofence, but it looks like that capability is not implemented iwth APMRover. 

Any workarounds, suggestions? 

Thanks!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

    • Station holding would be nice but would use constant power as opposed to drifting outside a radius and the powering up to the original loiter point.

      Regards,

      David R. Boulanger

    • David,

      we have simulated and tested either case.

      Electric thruster is PWM controlled, so speed can be slowly slowed or increased

      so no use of contant power.

      Drifting outside a radius can require more energy spent since water current

      is not accelerating a drift speed of a boat as the wind does.

      So acting promptly less energy can be required to stop slow drifting boat and float it back, than a boat drifting at accelerating speed.

      We are just testing 3 electric thrusters to act as a digital GPS-based anchor

      (abbr. to GPS Anchor)

    • Darius;

      Depends on the mission.  Drifting a few hundred meters may be O.K..  So using energy to stay in one spot may not be the best choice.  I do understand what you are saying though.

      Regards,

      David R. Boulanger

    • David,

      I am flexible.

      Electric thrusters preordered.

      Discuss today mounting points.

      One front thruster to move a boat to turn around to fix heading against wind direction/ water current vector superposition.

      Individual electric thrusters can be wired or autonomous, radio PWM  controlled.

      Plan to test 2 underground scooters mounted on the sides.

      Costs and spending should be limited, mounting and deploymont easy.

      Inflatable pontoon/ boat is planned for use to test control algorithms/modes.

      I would be very happy if only one another man on the globe is interested to develop this GPS Anchor, open-source open-hardware project.

  • Bruce,


    "A boat will drift at a max speed of 0.5 m/s"

    Did you make any study on the max drift speed or the above is just your speculation ?

    "
    Even full size boats don't drift much faster
    "

    @Bruce,

    drift speed is exactly inversely proportional to the mass, tonnage, size of the ship since underwater part of the ship cannot move fast and the drift speed is slowed down in water environment.


    " unless there is high winds, in which case the size of the waves would be hazardous to a model boat.
    "

    exactly the case, so weather report, external anenometer is a must to discover wind speed and direction ahead of any test run.

    Pls read the book
    Coastal Navigation Using GPS by Frank L.Larkin, selected scanned pages are available via Google Books.
  • This reply was deleted.
    • Hi Steve, nice papers. But nothing looks simple to implement. 1. No wind, no ocean current - problem solved 2. Unlimited energy supply - problem solved 3. No ocean current, wind only, direction and speed known you control your motor boat like a sail boat 4. No wind, ocean current only, build underwater boat since over water part is not relevant Since energy source is limited I would start from energy management algorithm to meet the target (hold position of the boat/station against wind/current) Since wind direction/heading can be sensed and calculated on-the-fly I would start from developing ocean current reliable sensor/s. Free floating probes could do the job (GPS/radio link for data transmission) Ok, geolocation of the target is fixed and geolocation of your boat is exactly the same, motors are off to let us test your algorithms (reverse control simulation) in case of free floating boat. Floating against the wind, against the current

    • I'm agree with this vision.

      Go step by step with a first firmware version without external sensors, just the GPS and compass.

      Then, why not adding wind/current sensor in next version for optimising and reduce the USV drift.

      But i'm convinced that this first simply firmware version is more than sufficient for most uses.

    • Steve,

      (this on-line web form cut off second part of my reply)

      1.Underwater part of the power boat is exposed to ocean current

      2. Above the water part of the power boat is exposed to wind

      Power boat has a single symmetry line, no symmetry center.

      "

      The force vector sum of the wind resistance and the water current will be countered by the thrust command, with the rudder commands holding the bow into the direction of the vector sum. "

      So there is no simple vector sum of he wind resistance and the water current since the reaction of the boat to the wind (speed, direction) is a function of

      3 variables: 

      1. angle between wind direction and symmetry axis of the boat

      2. wind speed

      3. wind direction

      F (angle1, speed1, direction1)  

      alike

      reaction / response to underwater current is a function of angle between current direction and the symmetry axis of the boat, current speed, current direction

      G (angle2, speed2, direction3)

      so we don't get direct vector sum of acting forces but the superposition of

      2 functions, F and G

      The boat alone has its own signatures describing turn left/turn right operations, using motor and rudder, time delayed.

      So the desired heading to follow operation is time delayed.

      Exactly the case I have studied developing horizontal vs. vertical axis wind turbine.

      Horizontal axis wind turbine cycles turns around to direct against the wind,

      rotor gets going as long as wind direction is steady,

      if changed rotor stalls, wind turbine turn around again to direct against the wind,

      rotor gets going.

      Exactly the opposite in case of vertical axis wind turbine, featuring vertical symmetry axis.

      Since a response to the wind and water current is a function of the angle between the boat heading and the wind direction, the water currect direction respectively

      we get highly complicated math-physical model to simulate actions of the boat exposed either to the wind or water current.

      Boat specific signatures should be embedded into control algorithm to build efficient, energy friendly solution.

      I would suggest you highly intelligent solution implemented by a R&D Group from MIT

      (non-GPS fixed-wind plane indoor controller, featuring obstacle avoidance sensors (sonar, radar)) 

    • Do you mean any specific boat and wind, water current conditions, speed, direction ?

      If wind speed is 5 m/s so what sets max drift speed  of 0.5 m/s

      or you mean water current speed only ?

  • @Grant,

    @AntimatterCrusader,

    I can implement any new feature like geofencing, hold position building math-phys model to control a drone in 3D virtual environment, test in wind tunnel and get new feature finally implemented into real drone model.

    The issue is new hot features get things more and more complicated and processor's power is not unlimited and building DroneOS new features, add-ons are sacrificed to get basic operational safety working (fail-safe).

    Just imagine my 10" Android tablet is your Top Drone.

    If I install many applications and let them run in parallel I am low on memory and

    Android starts to crash, stall, entering into self-reset mode.

    Implementing 10+ more sensors, 10+ Hot add-ons can make DroneOS to crash easily

    not to speak about battery health management.

    Tethering a drone to make it fly for hours is a nice testing procedure, already implemented.

This reply was deleted.