1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-30 08:24:11 +01:00
LibrePilot/flight/modules/PathPlanner/pathplanner.c

711 lines
22 KiB
C
Raw Normal View History

2012-03-11 12:31:38 +01:00
/**
******************************************************************************
* @addtogroup OpenPilotModules OpenPilot Modules
* @{
* @addtogroup PathPlanner Path Planner Module
* @brief Executes a series of waypoints
* @{
*
* @file pathplanner.c
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
* @brief Executes a series of waypoints
*
* @see The GNU Public License (GPL) Version 3
*
*****************************************************************************/
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "openpilot.h"
#include "callbackinfo.h"
#include "pathplan.h"
2012-03-11 12:31:38 +01:00
#include "flightstatus.h"
#include "airspeedstate.h"
#include "pathaction.h"
#include "pathdesired.h"
#include "pathstatus.h"
#include "positionstate.h"
#include "velocitystate.h"
2012-03-11 12:31:38 +01:00
#include "waypoint.h"
#include "waypointactive.h"
#include "flightmodesettings.h"
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
#include <systemsettings.h>
#include "paths.h"
#include "plans.h"
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
#include <sanitycheck.h>
#include <vtolpathfollowersettings.h>
#include <manualcontrolcommand.h>
2012-03-11 12:31:38 +01:00
// Private constants
#define STACK_SIZE_BYTES 1024
#define TASK_PRIORITY CALLBACK_TASK_NAVIGATION
#define MAX_QUEUE_SIZE 2
#define PATH_PLANNER_UPDATE_RATE_MS 100 // can be slow, since we listen to status updates as well
2012-03-11 12:31:38 +01:00
// Private types
// Private functions
static void pathPlannerTask();
static void commandUpdated(UAVObjEvent *ev);
static void statusUpdated(UAVObjEvent *ev);
static void updatePathDesired();
static void setWaypoint(uint16_t num);
static uint8_t checkPathPlan();
static uint8_t pathConditionCheck();
static uint8_t conditionNone();
static uint8_t conditionTimeOut();
static uint8_t conditionDistanceToTarget();
static uint8_t conditionLegRemaining();
static uint8_t conditionBelowError();
static uint8_t conditionAboveAltitude();
static uint8_t conditionAboveSpeed();
static uint8_t conditionPointingTowardsNext();
static uint8_t conditionPythonScript();
static uint8_t conditionImmediate();
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
static void SettingsUpdatedCb(__attribute__((unused)) UAVObjEvent *ev);
2012-03-11 12:31:38 +01:00
// Private variables
static DelayedCallbackInfo *pathPlannerHandle;
static DelayedCallbackInfo *pathDesiredUpdaterHandle;
static WaypointActiveData waypointActive;
static WaypointData waypoint;
static PathActionData pathAction;
static bool pathplanner_active = false;
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
static FrameType_t frameType;
static bool mode3D;
2012-03-11 12:31:38 +01:00
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
extern FrameType_t GetCurrentFrameType();
2012-03-11 12:31:38 +01:00
/**
* Module initialization
*/
int32_t PathPlannerStart()
{
plan_initialize();
// when the active waypoint changes, update pathDesired
WaypointConnectCallback(commandUpdated);
WaypointActiveConnectCallback(commandUpdated);
PathActionConnectCallback(commandUpdated);
PathStatusConnectCallback(statusUpdated);
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
SettingsUpdatedCb(NULL);
SystemSettingsConnectCallback(&SettingsUpdatedCb);
VtolPathFollowerSettingsConnectCallback(&SettingsUpdatedCb);
2012-03-11 12:31:38 +01:00
// Start main task callback
PIOS_CALLBACKSCHEDULER_Dispatch(pathPlannerHandle);
2012-03-11 12:31:38 +01:00
return 0;
2012-03-11 12:31:38 +01:00
}
/**
* Module initialization
*/
int32_t PathPlannerInitialize()
{
PathPlanInitialize();
PathActionInitialize();
PathStatusInitialize();
PathDesiredInitialize();
PositionStateInitialize();
AirspeedStateInitialize();
VelocityStateInitialize();
WaypointInitialize();
WaypointActiveInitialize();
pathPlannerHandle = PIOS_CALLBACKSCHEDULER_Create(&pathPlannerTask, CALLBACK_PRIORITY_REGULAR, TASK_PRIORITY, CALLBACKINFO_RUNNING_PATHPLANNER0, STACK_SIZE_BYTES);
pathDesiredUpdaterHandle = PIOS_CALLBACKSCHEDULER_Create(&updatePathDesired, CALLBACK_PRIORITY_CRITICAL, TASK_PRIORITY, CALLBACKINFO_RUNNING_PATHPLANNER1, STACK_SIZE_BYTES);
return 0;
2012-03-11 12:31:38 +01:00
}
MODULE_INITCALL(PathPlannerInitialize, PathPlannerStart);
2012-03-11 12:31:38 +01:00
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
static void SettingsUpdatedCb(__attribute__((unused)) UAVObjEvent *ev)
{
VtolPathFollowerSettingsTreatCustomCraftAsOptions TreatCustomCraftAs;
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
VtolPathFollowerSettingsTreatCustomCraftAsGet(&TreatCustomCraftAs);
frameType = GetCurrentFrameType();
if (frameType == FRAME_TYPE_CUSTOM) {
switch (TreatCustomCraftAs) {
case VTOLPATHFOLLOWERSETTINGS_TREATCUSTOMCRAFTAS_FIXEDWING:
frameType = FRAME_TYPE_FIXED_WING;
break;
case VTOLPATHFOLLOWERSETTINGS_TREATCUSTOMCRAFTAS_VTOL:
frameType = FRAME_TYPE_MULTIROTOR;
break;
case VTOLPATHFOLLOWERSETTINGS_TREATCUSTOMCRAFTAS_GROUND:
frameType = FRAME_TYPE_GROUND;
break;
}
}
switch (frameType) {
case FRAME_TYPE_GROUND:
mode3D = false;
break;
default:
mode3D = true;
}
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
}
#define AUTOTAKEOFF_THROTTLE_LIMIT_TO_ALLOW_TAKEOFF_START 0.3f
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
2012-03-11 12:31:38 +01:00
/**
* Module task
*/
static void pathPlannerTask()
2012-03-11 12:31:38 +01:00
{
PIOS_CALLBACKSCHEDULER_Schedule(pathPlannerHandle, PATH_PLANNER_UPDATE_RATE_MS, CALLBACK_UPDATEMODE_SOONER);
bool endCondition = false;
// check path plan validity early to raise alarm
// even if not in guided mode
uint8_t validPathPlan = checkPathPlan();
FlightStatusData flightStatus;
FlightStatusGet(&flightStatus);
if (flightStatus.ControlChain.PathPlanner != FLIGHTSTATUS_CONTROLCHAIN_TRUE) {
pathplanner_active = false;
if (!validPathPlan) {
// unverified path plans are only a warning while we are not in pathplanner mode
// so it does not prevent arming. However manualcontrols safety check
// shall test for this warning when pathplan is on the flight mode selector
// thus a valid flight plan is a prerequirement for arming
AlarmsSet(SYSTEMALARMS_ALARM_PATHPLAN, SYSTEMALARMS_ALARM_WARNING);
} else {
AlarmsClear(SYSTEMALARMS_ALARM_PATHPLAN);
}
return;
}
PathDesiredData pathDesired;
PathDesiredGet(&pathDesired);
static uint8_t failsafeRTHset = 0;
if (!validPathPlan) {
pathplanner_active = false;
if (!failsafeRTHset) {
failsafeRTHset = 1;
plan_setup_positionHold();
}
2014-04-29 22:25:49 +02:00
AlarmsSet(SYSTEMALARMS_ALARM_PATHPLAN, SYSTEMALARMS_ALARM_CRITICAL);
return;
}
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
failsafeRTHset = 0;
AlarmsClear(SYSTEMALARMS_ALARM_PATHPLAN);
WaypointActiveGet(&waypointActive);
// with the introduction of takeoff, we allow for arming
// whilst in pathplanner mode. Previously it was just an assumption that
// a user never armed in pathplanner mode. This check allows a user to select
// pathplanner, to upload waypoints, and then arm in pathplanner.
if (!flightStatus.Armed) {
return;
}
// the transition from pathplanner to another flightmode back to pathplanner
// triggers a reset back to 0 index in the waypoint list
if (pathplanner_active == false) {
pathplanner_active = true;
FlightModeSettingsFlightModeChangeRestartsPathPlanOptions restart;
FlightModeSettingsFlightModeChangeRestartsPathPlanGet(&restart);
if (restart == FLIGHTMODESETTINGS_FLIGHTMODECHANGERESTARTSPATHPLAN_TRUE) {
setWaypoint(0);
return;
}
}
WaypointInstGet(waypointActive.Index, &waypoint);
PathActionInstGet(waypoint.Action, &pathAction);
PathStatusData pathStatus;
PathStatusGet(&pathStatus);
// delay next step until path follower has acknowledged the path mode
if (pathStatus.UID != pathDesired.UID) {
return;
}
// negative destinations DISABLE this feature
if (pathStatus.Status == PATHSTATUS_STATUS_CRITICAL && waypointActive.Index != pathAction.ErrorDestination && pathAction.ErrorDestination >= 0) {
setWaypoint(pathAction.ErrorDestination);
return;
}
// check if condition has been met
endCondition = pathConditionCheck();
// decide what to do
switch (pathAction.Command) {
case PATHACTION_COMMAND_ONNOTCONDITIONNEXTWAYPOINT:
endCondition = !endCondition;
case PATHACTION_COMMAND_ONCONDITIONNEXTWAYPOINT:
if (endCondition) {
setWaypoint(waypointActive.Index + 1);
}
break;
case PATHACTION_COMMAND_ONNOTCONDITIONJUMPWAYPOINT:
endCondition = !endCondition;
case PATHACTION_COMMAND_ONCONDITIONJUMPWAYPOINT:
if (endCondition) {
if (pathAction.JumpDestination < 0) {
// waypoint ids <0 code relative jumps
setWaypoint(waypointActive.Index - pathAction.JumpDestination);
} else {
setWaypoint(pathAction.JumpDestination);
}
}
break;
case PATHACTION_COMMAND_IFCONDITIONJUMPWAYPOINTELSENEXTWAYPOINT:
if (endCondition) {
if (pathAction.JumpDestination < 0) {
// waypoint ids <0 code relative jumps
setWaypoint(waypointActive.Index - pathAction.JumpDestination);
} else {
setWaypoint(pathAction.JumpDestination);
}
} else {
setWaypoint(waypointActive.Index + 1);
}
break;
}
}
// callback function when waypoints changed in any way, update pathDesired
void updatePathDesired()
{
// only ever touch pathDesired if pathplanner is enabled
if (!pathplanner_active) {
return;
}
// find out current waypoint
WaypointActiveGet(&waypointActive);
WaypointInstGet(waypointActive.Index, &waypoint);
PathActionInstGet(waypoint.Action, &pathAction);
PathDesiredData pathDesired;
pathDesired.End.North = waypoint.Position.North;
pathDesired.End.East = waypoint.Position.East;
pathDesired.End.Down = waypoint.Position.Down;
pathDesired.EndingVelocity = waypoint.Velocity;
pathDesired.Mode = pathAction.Mode;
pathDesired.ModeParameters[0] = pathAction.ModeParameters[0];
pathDesired.ModeParameters[1] = pathAction.ModeParameters[1];
pathDesired.ModeParameters[2] = pathAction.ModeParameters[2];
pathDesired.ModeParameters[3] = pathAction.ModeParameters[3];
pathDesired.UID = waypointActive.Index;
if (waypointActive.Index == 0) {
PositionStateData positionState;
PositionStateGet(&positionState);
// First waypoint has itself as start point (used to be home position but that proved dangerous when looping)
/*pathDesired.Start[PATHDESIRED_START_NORTH] = waypoint.Position[WAYPOINT_POSITION_NORTH];
pathDesired.Start[PATHDESIRED_START_EAST] = waypoint.Position[WAYPOINT_POSITION_EAST];
pathDesired.Start[PATHDESIRED_START_DOWN] = waypoint.Position[WAYPOINT_POSITION_DOWN];*/
// note: if certain flightmodes need to override Start, End or mode parameters, that should happen within
// the pathfollower as needed. This also holds if Start is replaced by current position for takeoff and landing
pathDesired.Start.North = positionState.North;
pathDesired.Start.East = positionState.East;
pathDesired.Start.Down = positionState.Down;
pathDesired.StartingVelocity = pathDesired.EndingVelocity;
} else {
// Get previous waypoint as start point
WaypointData waypointPrev;
WaypointInstGet(waypointActive.Index - 1, &waypointPrev);
pathDesired.Start.North = waypointPrev.Position.North;
pathDesired.Start.East = waypointPrev.Position.East;
pathDesired.Start.Down = waypointPrev.Position.Down;
pathDesired.StartingVelocity = waypointPrev.Velocity;
}
PathDesiredSet(&pathDesired);
}
// safety checks for path plan integrity
static uint8_t checkPathPlan()
{
uint16_t i;
uint16_t waypointCount;
uint16_t actionCount;
uint8_t pathCrc;
PathPlanData pathPlan;
2014-01-14 22:46:01 +01:00
// WaypointData waypoint; // using global instead (?)
// PathActionData action; // using global instead (?)
PathPlanGet(&pathPlan);
waypointCount = pathPlan.WaypointCount;
if (waypointCount == 0) {
// an empty path plan is invalid
return false;
}
2014-01-14 22:46:01 +01:00
actionCount = pathPlan.PathActionCount;
// check count consistency
if (waypointCount > UAVObjGetNumInstances(WaypointHandle())) {
2014-01-14 22:46:01 +01:00
// PIOS_DEBUGLOG_Printf("PathPlan : waypoint count error!");
return false;
}
if (actionCount > UAVObjGetNumInstances(PathActionHandle())) {
2014-01-14 22:46:01 +01:00
// PIOS_DEBUGLOG_Printf("PathPlan : path action count error!");
return false;
}
// check CRC
pathCrc = 0;
for (i = 0; i < waypointCount; i++) {
pathCrc = UAVObjUpdateCRC(WaypointHandle(), i, pathCrc);
}
for (i = 0; i < actionCount; i++) {
pathCrc = UAVObjUpdateCRC(PathActionHandle(), i, pathCrc);
}
if (pathCrc != pathPlan.Crc) {
// failed crc check
2014-01-14 22:46:01 +01:00
// PIOS_DEBUGLOG_Printf("PathPlan : bad CRC (%d / %d)!", pathCrc, pathPlan.Crc);
return false;
}
// waypoint consistency
for (i = 0; i < waypointCount; i++) {
WaypointInstGet(i, &waypoint);
if (waypoint.Action >= actionCount) {
// path action id is out of range
return false;
}
}
// path action consistency
for (i = 0; i < actionCount; i++) {
PathActionInstGet(i, &pathAction);
if (pathAction.ErrorDestination >= waypointCount) {
// waypoint id is out of range
return false;
}
if (pathAction.JumpDestination >= waypointCount) {
// waypoint id is out of range
return false;
}
}
// path plan passed checks
return true;
}
// callback function when status changed, issue execution of state machine
void commandUpdated(__attribute__((unused)) UAVObjEvent *ev)
{
PIOS_CALLBACKSCHEDULER_Dispatch(pathDesiredUpdaterHandle);
}
// callback function when waypoints changed in any way, update pathDesired
void statusUpdated(__attribute__((unused)) UAVObjEvent *ev)
{
PIOS_CALLBACKSCHEDULER_Dispatch(pathPlannerHandle);
}
// helper function to go to a specific waypoint
static void setWaypoint(uint16_t num)
{
PathPlanData pathPlan;
PathPlanGet(&pathPlan);
// here it is assumed that the path plan has been validated (waypoint count is consistent)
if (num >= pathPlan.WaypointCount) {
// path plans wrap around
num = 0;
}
waypointActive.Index = num;
WaypointActiveSet(&waypointActive);
}
// execute the appropriate condition and report result
static uint8_t pathConditionCheck()
{
// i thought about a lookup table, but a switch is safer considering there could be invalid EndCondition ID's
switch (pathAction.EndCondition) {
case PATHACTION_ENDCONDITION_NONE:
return conditionNone();
break;
case PATHACTION_ENDCONDITION_TIMEOUT:
return conditionTimeOut();
break;
case PATHACTION_ENDCONDITION_DISTANCETOTARGET:
return conditionDistanceToTarget();
break;
case PATHACTION_ENDCONDITION_LEGREMAINING:
return conditionLegRemaining();
break;
case PATHACTION_ENDCONDITION_BELOWERROR:
return conditionBelowError();
break;
case PATHACTION_ENDCONDITION_ABOVEALTITUDE:
return conditionAboveAltitude();
break;
case PATHACTION_ENDCONDITION_ABOVESPEED:
return conditionAboveSpeed();
break;
case PATHACTION_ENDCONDITION_POINTINGTOWARDSNEXT:
return conditionPointingTowardsNext();
break;
case PATHACTION_ENDCONDITION_PYTHONSCRIPT:
return conditionPythonScript();
break;
case PATHACTION_ENDCONDITION_IMMEDIATE:
return conditionImmediate();
break;
default:
// invalid endconditions are always true to prevent freezes
return true;
break;
}
}
/* the None condition is always false */
static uint8_t conditionNone()
{
return false;
}
/**
* the Timeout condition measures time this waypoint is active
* Parameter 0: timeout in seconds
*/
static uint8_t conditionTimeOut()
{
static uint16_t toWaypoint;
static uint32_t toStarttime;
// reset timer if waypoint changed
if (waypointActive.Index != toWaypoint) {
toWaypoint = waypointActive.Index;
toStarttime = PIOS_DELAY_GetRaw();
}
if (PIOS_DELAY_DiffuS(toStarttime) >= 1e6f * pathAction.ConditionParameters[0]) {
// make sure we reinitialize even if the same waypoint comes twice
toWaypoint = 0xFFFF;
return true;
}
return false;
}
/**
* the DistanceToTarget measures distance to a waypoint
* returns true if closer
* Parameter 0: distance in meters
* Parameter 1: flag: 0=2d 1=3d
*/
static uint8_t conditionDistanceToTarget()
{
float distance;
PositionStateData positionState;
PositionStateGet(&positionState);
if (pathAction.ConditionParameters[1] > 0.5f) {
distance = sqrtf(powf(waypoint.Position.North - positionState.North, 2)
+ powf(waypoint.Position.East - positionState.East, 2)
+ powf(waypoint.Position.Down - positionState.Down, 2));
} else {
distance = sqrtf(powf(waypoint.Position.North - positionState.North, 2)
+ powf(waypoint.Position.East - positionState.East, 2));
}
if (distance <= pathAction.ConditionParameters[0]) {
return true;
}
return false;
}
/**
* the LegRemaining measures how far the pathfollower got on a linear path segment
* returns true if closer to destination (path more complete)
* Parameter 0: relative distance (0= complete, 1= just starting)
*/
static uint8_t conditionLegRemaining()
{
PathStatusData pathStatus;
PathStatusGet(&pathStatus);
if (pathStatus.fractional_progress >= (1.0f - pathAction.ConditionParameters[0])) {
return true;
}
return false;
}
/**
* the BelowError measures the error on a path segment
* returns true if error is below margin
* Parameter 0: error margin (in m)
*/
static uint8_t conditionBelowError()
{
PathDesiredData pathDesired;
PositionStateData positionState;
PathDesiredGet(&pathDesired);
PositionStateGet(&positionState);
float cur[3] = { positionState.North, positionState.East, positionState.Down };
struct path_status progress;
path_progress(&pathDesired,
OP-1696 PathFollower rewrite in C++ and Landing Squashed commit of the following: commit 580cd8addafadc3109b90b1fd183130ea8add7f2 Author: abeck70 <abeck70@icloud.com> Date: Fri Mar 20 21:32:33 2015 +1100 OP-1696 Cleanup and bug fix 1. Code review cleanup 2. Fixed gps assist braking - the thrust limits in piddown were not being set. commit 31ac4494f6e2bc5859f49d1f76f19fe3a4d32862 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 18 08:31:16 2015 +1100 OP-1696 fix initialisation of down pid control parameters commit a7bd737459249530bde9546b8247dd45b40dced4 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:18:38 2015 +1100 OP-1769 Actuator fix from code review commit 968172b8fb46c91b2611be4825e17faf2fa13411 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 21:01:11 2015 +1100 OP-1696 fixed ground pathfollower settings xml commit 721c07b67a87911ed67d0b62aa658cfac6d3eb97 Merge: f556215 be9f4ae Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:52:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit f556215ddbd5a29b22c2e6124372d74a0d6b9a0f Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 20:51:22 2015 +1100 OP-1696 ground pathfollower fixes commit 4584b22d6a2d33d3efb1cd11ac46804a5623a236 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 17 18:11:52 2015 +1100 OP-1696 Ground redesign 1. Move to new PID loop design 2. Prototype steering control commit b70c3373646fa758ae30a59765b8a56df7d2fbeb Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 18:42:06 2015 +1100 OP-1696 ground pathfollower added missing call to update velocity state commit a282bfb14dffcd486466b60be3100d26c11649ef Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 17:22:02 2015 +1100 OP-1696 ground pathfollower improvements commit f56ea4f9b101415e32e4464e51e087ee350be969 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 15 07:44:01 2015 +1100 OP-1696 remove unused PID controller in ground for vertical commit 6424aa0a84c3718a5a7b51fab1c9e04587d325b8 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:40:58 2015 +1100 OP-1696 Initialise vtolemergencyfallback variables commit 5d6110499bb06fe9b397e09dea5aafe994f03d13 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 21:30:21 2015 +1100 OP-1696 vtolflycontroller segv fixed and uncrustify commit bef23ea3dc2b5aff5b9b8713802586719b8f68cf Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:50:05 2015 +1100 OP-1783 PathPlanner Instead of config alarm if no pathplan, simply continue to alarm pathplan, but allow normal arming and flight in other modes. If pathplan enabled, simply enter position hold. commit 370f1747209cca7c01c071a43224ad83b04bdd55 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 20:48:22 2015 +1100 OP-1769 Ground code review comment 1. Remove idx1 < 0 check not needed 2. Should return abs_input in the corner case that curve is "invalid". commit 01973c656d783e035ad823c267d3387bf473eebe Merge: be07d12 5c9b6fa Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 14 12:17:31 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit be07d125f42b5ca1aabce0f5c0fcf592e8cddf98 Merge: 44afdc7 ad44b31 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 21:55:52 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 44afdc77987049dc58cdf42e3be88b7eae38de02 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 19:35:55 2015 +1100 OP-1696 fix startup Fix initialisation and void use of pios_malloc at startup commit 962f5f75756883cec6726c0347310d60264f6989 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:48:04 2015 +1100 OP-1696 undo changes to make file commit 7fa71d5c614d492cb4026312672068f92a4bcd3e Merge: 672732e 5a9cfa6 Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 12 18:06:59 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 672732e95d555946300ef5093f687f3fa88bfd3a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:59:44 2015 +1100 OP-1696 code review comments commit 73b295d6515f2489b3b3a61459c975b0c37afe3d Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 11 12:47:24 2015 +1100 OP-1696 code review comments commit 524b72f537fe922bf3c4385b418872f13819a5cf Merge: 6beef01 ba5f395 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 10 23:19:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 6beef01476d06598652a10de4857e6ae55015417 Merge: 100cf33 8c31f96 Author: abeck70 <abeck70@icloud.com> Date: Sat Mar 7 16:50:32 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 100cf335d187fe696d3678371b194fc3044a1c7e Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 22:32:30 2015 +1100 OP-1696 simposix c++ compilation fix commit 9ebf846d1ec8fef30ffc1204546fc5dc648ec10b Author: Alex Beck <abeck70@icloud.com> Date: Thu Mar 5 21:35:39 2015 +1100 OP-1696 fix simposix c++ compile of pathfollower commit a86b4b1db46dba569739587ee57b03460381ebab Author: abeck70 <abeck70@icloud.com> Date: Thu Mar 5 18:03:51 2015 +1100 OP-1696 resolve linux build issue commit 1d7695f81293534bc17f69b0fcd9de3876867f6a Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 18:10:09 2015 +1100 OP-1696 Return to Base & Land implemented Enabled via FlightModeSettings ReturnToBaseNextCommand = LAND commit 4e5ca807b18a40ea60c05c1b46f738462595a6b2 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 16:38:06 2015 +1100 OP-1696 reduce memory footprint by only allocating controllers required for a particular frame type commit 78e8f559cd25ffaeac68b563e25d1ad357205fd6 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:51:05 2015 +1100 OP-1696 move fsm initialisation to controller implementations commit 848c78a84e5c7e11b2da953c9d9549b11fc5b1d8 Author: abeck70 <abeck70@icloud.com> Date: Wed Mar 4 13:27:11 2015 +1100 OP-1696 reduce memory through re-use of pointers to data objects in base class. commit bc8794601142055942910ba9f938c03c8a3ca547 Merge: 24bc3de 843325d Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 22:06:01 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 24bc3de6155a74850b17ca7706f6b592923e027c Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 17:56:12 2015 +1100 OP-1696 update gcs path planner options to align to new modes commit dc659891882ea0624a6436550425c54b347f4101 Author: abeck70 <abeck70@icloud.com> Date: Tue Mar 3 13:51:55 2015 +1100 OP-1696 pathfollower class renaming and uncrustify commit af19d114b8e0ff23159bdaca37e5f5bf1c1f8beb Merge: b07c1fd 04f4cd9 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:47:12 2015 +1100 Merge branch 'rel-15.02' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b07c1fdd0544a555678bc7a8510cd92861f17e46 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 21:27:27 2015 +1100 OP-1696 remainder of changes to integrate drive and fly objectives commit c824c53cf30889a468ecb25ae3d705fa011b23ba Merge: b89751c 1102243 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:06:13 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit b89751caa5d6dc06e1e20391aa4e12b5484056d4 Author: abeck70 <abeck70@icloud.com> Date: Mon Mar 2 17:04:27 2015 +1100 OP-1696 merge fly and drive pathdesired/action objectives commit c463132cb7da5cdf9fc5395ae0650b081bc9fb55 Author: abeck70 <abeck70@icloud.com> Date: Sun Mar 1 10:25:29 2015 +1100 OP-1696 merge ground pathfollower and refactored into C++ commit 6ed504b32f9e502e4f02d50b9e85ba91591417ba Merge: bcf245e deafed6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:12:32 2015 +1100 Merge branch 'next' into corvuscorax/OP-1642_tank-support Conflicts: flight/modules/PathFollower/pathfollower.c shared/uavobjectdefinition/vtolpathfollowersettings.xml commit bcf245e08c3348f2e6e5eddceee6d6cc268bdc23 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 19:45:29 2014 +0100 OP-1642 added new uavobject to discovery target, too commit 6b9e8a7d7dad0739b4ffd2ce7f2f78ed4f597077 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:58:18 2014 +0100 OP-1642 added very simple path control for ground vehicles commit e8d8440e049c06158e7fc542627fac6420abaf65 Author: Corvus Corax <corvuscorax@cybertrench.com> Date: Sat Dec 6 17:17:09 2014 +0100 OP-1642 added new settings uavobject for tank path follower commit 71dd726eb5b52614b417236c22e8a5cc3a487faf Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 27 18:05:10 2015 +1100 OP-1696 align pathaction to pathdesired commit 8a88af83be457aafbb63e4f94fad3b1cd54264ca Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 26 08:06:34 2015 +1100 OP-1696 fixed wing control refactored and compiling commit fd9850b5e5680f5b422dbc468a94c5ec4b6dd518 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 17:47:19 2015 +1100 OP-1696 Removed vtol stuff from pathfollower.cpp after having replaced it with class impl commit 9127d8d6d8c345c5bbf8622ce4e5eb76b03d1356 Merge: 4054c73 93fb2d5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 25 13:09:06 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 4054c73ac98b54188a0a5367c5ca913b7fee6a89 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:29:28 2015 +1100 OP-1696 fix compile errors commit b398db3d4de8cd621a059da1f0dbb00868be0fb9 Merge: 94c795a 3e15cac Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 24 12:06:35 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 94c795af386cf0f1072a88e99a80cb1080bf85e7 Merge: d2115de 57e0a8b Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 17:54:33 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 Conflicts: flight/modules/Sensors/sensors.c make/common-defs.mk commit d2115dee4e8e9b6a02f7b7700e4715480a56b18f Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 23 14:35:02 2015 +1100 OP-1696 preliminary checkin for refactor of fly TODO: 1. Finalise and test fly, brake 2. Remove patfhollower vtol fly 3. Rename all objects adding vtol in name commit 95804b1d591d194cce3596187c74cdb2dd0d192f Merge: 58cebb0 31c1385 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:10:03 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 58cebb0658deaece1555cfa24e50f1b86fd68c96 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 21 22:09:29 2015 +1100 OP-1696 refactor neutral thrust and add pos hold implementation commit 2c3cadfef3de9e092bd66bbabc58ac7847aca7e4 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 20 18:32:11 2015 +1100 OP-1696 start of refactor of braking commit 991c2124e834f3432f5e34c5c9f4966cb42a7be3 Merge: 1ab5798 db7d605 Author: abeck70 <abeck70@icloud.com> Date: Thu Feb 19 12:17:54 2015 +1100 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into abeck/OP-1696 commit 1ab579865f04aeaa5899f5065a983de29074e025 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 21:29:01 2015 +1100 OP-1696 Rewrote velocity roam into new C++ OO architecture With use of new PID controller for NE. commit 03edb049f06bf60054dce36a5b8b301a397284c4 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 18 12:19:17 2015 +1100 OP-1696 Start of refactoring of VelocityRoam implementation in PathFollower Also TODOs: 1. To support pathplanner, remove all references to FlightStatus object and add more fields to PathDesired 2. Refactor Braking to use C++ 3. Test and optimise Velocity Roam 4. Add more config options to Landing. For example disable disarming. And add more setting objects. 5. Consider moving all landing settings to one object. commit 1f5dba821d4535a9a14f333efdeec1af5afcc281 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 22:51:31 2015 +1100 OP-1696 Landing tuning commit 5133956c717fba871dd5700333806e298038a3d0 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 16 21:05:06 2015 +1100 OP-1696 Landing Multiple fixes commit cf22055ecb8eb7304174c730f249a2332ebc599b Author: abeck70 <abeck70@icloud.com> Date: Sun Feb 15 20:52:29 2015 +1100 OP-1696 Add PIDStatus debug object commit bc13d732601e7c7cb48db17f1a75b33cc96c0c34 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 15:53:16 2015 +1100 OP-1696 Landing sanity tested commit 6e913076c1dfcb8b90153e9eca8acf6c9e51f293 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 14 11:16:06 2015 +1100 OP-1696 completed refactoring 1. Completed refactoring of NE and Thrust control 2. Fixed velocity roam TODO Tuning and testing commit 63b62fbd0ac105029e54163b98c3beebc2d73c3a Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 13 08:54:23 2015 +1100 OP-1696 New PID Controller and refactoring of PID implementation for thrust management commit 7474331529477d0badd2ef0d609c84c556be9cec Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 10 16:39:44 2015 +1100 OP-1696 Landing Refactor Thrust PID Loop for landing commit 904ab2a9241e40c19da6a1508b4ce5243c75d7a3 Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:13:39 2015 +1100 OP-1696 Uncrustify commit b3d30e298d8a0343782a29bc91be6677105b325e Author: abeck70 <abeck70@icloud.com> Date: Mon Feb 9 22:05:05 2015 +1100 OP-1696 Create new OO design Added PathFollowerControl which has an Landing implementation. The landing implementation runs its own set of PIDs. And interfaces to the FSM for Landing. commit 1ffd8d67cf7310c1c18c90f3ba18b08221d185a3 Author: abeck70 <abeck70@icloud.com> Date: Sat Feb 7 18:04:42 2015 +1100 OP-1696 Upgrade arm tools commit 3df01f97021d13694027b92ba0b13cc9fe70d437 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 21:52:38 2015 +1100 OP-1696 Landing uncrustify and start of refactoring landing to make more use of FSMLand commit 7a753b65fb69d52c89875b9a182ef5210ee8ef2d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 15:08:29 2015 +1100 OP-1696 Landing: fix compilation of all exes commit 692459874acf2b7ae07aa3ab88a2c78a09f26ee6 Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 14:45:06 2015 +1100 OP-1696 Landing startup fixes commit 9851f29b9238a969efd0110f01a4fad6bdbc5a5d Author: abeck70 <abeck70@icloud.com> Date: Fri Feb 6 10:21:52 2015 +1100 OP-1696 Landing pathfollower CPP refactoring commit 9b3a54d41f14f07cd0d78426026d12ae9ac4e5b5 Author: abeck70 <abeck70@icloud.com> Date: Wed Feb 4 13:02:44 2015 +1100 OP-1696 Moved to FSMLand class and fixed CPP problems 1. Additional methods, compile options, and need to have main as a cpp to solve various link issues when using static constructors but to avoid adding unnecessary libs. commit 7ebe739bfdb4e0f598f4408c1488f01bc033c044 Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:17:08 2015 +1100 OP-1696 Initial Landing prototype Proof of concept. To be refactored into C++ commit 11d6754b9766efb76cc1cd57e9894badaf33ef2d Author: abeck70 <abeck70@icloud.com> Date: Tue Feb 3 22:13:10 2015 +1100 OP-1696 CPP Enablement revo c++ Enable optional revo C++ support: 1. Set USE_CXX to enable compliation and linkage of C++ source code 2. Disables rtti and exceptions 3. operator new and delete call pios malloc/free 4. Static constructor invocation supported
2015-03-20 11:42:20 +01:00
cur, &progress, mode3D);
if (progress.error <= pathAction.ConditionParameters[0]) {
return true;
}
return false;
}
/**
* the AboveAltitude measures the flight altitude relative to home position
* returns true if above critical altitude
* WARNING! Altitudes are always negative (down coordinate)
* Parameter 0: altitude in meters (negative!)
*/
static uint8_t conditionAboveAltitude()
{
PositionStateData positionState;
PositionStateGet(&positionState);
if (positionState.Down <= pathAction.ConditionParameters[0]) {
return true;
}
return false;
}
/**
* the AboveSpeed measures the movement speed (3d)
* returns true if above critical speed
* Parameter 0: speed in m/s
* Parameter 1: flag: 0=groundspeed 1=airspeed
*/
static uint8_t conditionAboveSpeed()
{
VelocityStateData velocityState;
VelocityStateGet(&velocityState);
float velocity = sqrtf(velocityState.North * velocityState.North + velocityState.East * velocityState.East + velocityState.Down * velocityState.Down);
// use airspeed if requested and available
if (pathAction.ConditionParameters[1] > 0.5f) {
AirspeedStateData airspeed;
AirspeedStateGet(&airspeed);
velocity = airspeed.CalibratedAirspeed;
}
if (velocity >= pathAction.ConditionParameters[0]) {
return true;
}
return false;
}
/**
* the PointingTowardsNext measures the horizontal movement vector direction relative to the next waypoint
* regardless whether this waypoint will ever be active (Command could jump to another one on true)
* This is useful for curve segments where the craft should stop circling when facing a certain way (usually the next waypoint)
* returns true if within a certain angular margin
* Parameter 0: degrees variation allowed
*/
static uint8_t conditionPointingTowardsNext()
{
uint16_t nextWaypointId = waypointActive.Index + 1;
if (nextWaypointId >= UAVObjGetNumInstances(WaypointHandle())) {
nextWaypointId = 0;
}
WaypointData nextWaypoint;
WaypointInstGet(nextWaypointId, &nextWaypoint);
float angle1 = atan2f((nextWaypoint.Position.North - waypoint.Position.North), (nextWaypoint.Position.East - waypoint.Position.East));
VelocityStateData velocity;
VelocityStateGet(&velocity);
float angle2 = atan2f(velocity.North, velocity.East);
// calculate the absolute angular difference
angle1 = fabsf(RAD2DEG(angle1 - angle2));
while (angle1 > 360) {
angle1 -= 360;
}
if (angle1 <= pathAction.ConditionParameters[0]) {
return true;
}
return false;
}
/**
* the PythonScript is supposed to read the output of a PyMite program running at the same time
* and return based on its output, likely read out through some to be defined UAVObject
* TODO XXX NOT YET IMPLEMENTED
* returns always true until implemented
* Parameter 0-3: defined by user script
*/
static uint8_t conditionPythonScript()
{
return true;
}
/* the immediate condition is always true */
static uint8_t conditionImmediate()
{
return true;
}
2012-03-11 12:31:38 +01:00
/**
2012-03-15 18:28:21 +01:00
* @}
* @}
*/