ACM2 Navigation

As ACM2 continues improving (thanks to Jason and the rest of arducopter team) and my quad is pretty stable, I'm ready to test waypoints/navigation features. I posted my first aborted experience in the 2.0.34 thread but I would like to consolidate here waypoints/navigation test reports.


Reviewing the code I understand that the currently implemented commands for multirotors are:



Is it working the waypoint delay? (i.e. loiter a period of time in each waypoint)

Any videos out there with automatic takeoff and landings?

Opinions on waypoints performance?








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

Join diydrones

Email me when people reply –


  • Jason I'm lost.

    If I use the WaypointWriterCopterMega, I can upload waypoints to EEPROM but when I load again ACM firmware, waypoints have dissapeared from EEPROM.... I don't know if I'm missing some step.... Is there any way of uploading new firmware without erasing EEPROM?


    I have repeated the mission generated from Mission Planner, and even specifying that takeoff altitude is 5 meters, the quad goes maybe 15 or 20 meters up... and I need to return to stabilize......

    I made a mistake and cannot obtain the logs..... I would like to see the baro info....


    This is the output of WaypointWriterCopterMega, for the same mission:

    Test: 21
    Hold current altitude above home after RTL.
    RTL Altitude: -100 meters
    WP Radius: 3 meters
    total # of commands: 5
    command #: 0 id:0 op:0 p1:0 p2:0 p3:0 p4:0
    command #: 1 id:22 op:0 p1:0 p2:500 p3:0 p4:0
    command #: 2 id:16 op:0 p1:4 p2:500 p3:404218560 p4:-36052484
    command #: 3 id:16 op:0 p1:4 p2:500 p3:404216640 p4:-36051948
    command #: 4 id:16 op:0 p1:4 p2:500 p3:404217984 p4:-36047948
    command #: 5 id:21 op:0 p1:0 p2:0 p3:0 p4:0


    I will try with a very simple mission, takeoff and landing in the same place....



  • My idea is to test tomorrow this basic mission:


    #define WP_RADIUS 30 // What is the minimum distance to reach a waypoint?
    #define LOITER_RADIUS 45 // How close to Loiter?
    #define HOLD_CURRENT_ALT 0 // 1 = hold the current altitude, 0 = use the defined altitude to for RTL
    #define ALT_TO_HOLD 5

    float mission[][5] = {


    Takeoff, three waypoints staying 4 seconds in each one, and try to land automatically..... fingers crossed!

  • Developer

    There is a delay option. You can put the number of seconds to delay after reaching the WP in the options field of MAV_CMD_NAV_WAYPOINT.


    In the latest I implemented the deceleration at the waypoint. That will prevent overshoot. I would also have the quad come back to you with a waypoint so you can auto land or bring it down yourself. It will not RTL automatically, yet. Was too afraid to enable that until further testing was done. 


This reply was deleted.