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:
MAV_CMD_NAV_TAKEOFF
MAV_CMD_NAV_WAYPOINT
MAV_CMD_NAV_LAND
MAV_CMD_NAV_LOITER_UNLIM
MAV_CMD_NAV_LOITER_TIME
MAV_CMD_NAV_RETURN_TO_LAUNCH
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?
Replies
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,0,5,0,0},
{WAYPOINT,4,5,40.4218542,-3.6052644},
{WAYPOINT,4,5,40.4216848,-3.6051598},
{WAYPOINT,4,5,40.4218359,-3.604787},
{LAND,0,0,40.421893,-3.6050659},
};
------
Takeoff, three waypoints staying 4 seconds in each one, and try to land automatically..... fingers crossed!
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.
Jason