21 Commits

Author SHA1 Message Date
Azarakhsh Keipour
a7920aa09f Omni Pos-Ctrl: Wind estimation is only OMNI_ATT_MODE = 5 now for both tilt and roll/pitch estimation 2020-07-26 01:48:17 -04:00
Azarakhsh Keipour
3124e76aaa Omni Pos-Ctrl: Added (unfiltered) roll and pitch angle estimation mode 2020-07-26 01:23:53 -04:00
Azarakhsh Keipour
0630abd01a Omni Pos-Ctrl: Added (unfiltered) tilt angle and direction estimation mode 2020-07-26 00:55:45 -04:00
Azarakhsh Keipour
0e65bfffa4 Omni Pos-Ctrl: OMNI_PROJ_AXES works for OMNI_ATT_MODE = 1 2020-07-23 06:29:57 -04:00
Azarakhsh Keipour
68005486a1 Omni Pos-Ctrl: Thrust projected on current/commanded axes based on input 2020-07-13 19:06:10 -04:00
Azarakhsh Keipour
2ee4eaf4a4 Omni Att-Ctrl: Desired tilt/roll/pitch params passed to attitude controller
- OMNI_ATT_TLT_ANG default set to 0 degrees
2020-07-13 17:45:08 -04:00
Azarakhsh Keipour
651c75558e Omni Pos-Ctrl: Added desired roll/pitch attitude setpoint generation 2020-07-13 14:06:28 -04:00
Azarakhsh Keipour
725fff3052 Omni Pos-Ctrl: Current attitude passed to attitude generation methods 2020-07-13 13:37:21 -04:00
Azarakhsh Keipour
f18f92a505 Omni Pos-Ctrl: Fixed-tilt attitude generation strategy implemented
- Currently receiving hardcoded tilt angle and direction
2020-07-13 12:47:45 -04:00
Azarakhsh Keipour
81d554ef71 Omni Pos-Ctrl: The maximum dfc thrust is defined as a parameter
- The parameter is shared with the manual mode's maximum horizontal thrust (renamed from OMNI_MAX_HOR_THR to OMNI_DFC_MAX_THR) defined in the mc_att_control module
- The definition for the OMNI_ATT_MODE moved from mc_pos_control module to mc_att_control
- The thrustToAttitude function now has additional omni_dfc_max_thrust parameter
- Test modules are fixed to call the new thrustToAttitude function appropriately
- The code is tested in Gazebo for both manual and (semi-)autonomous modes
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour
0cdaf4a801 Omni Pos-Ctrl: Minimum-tilt attitude setpoint for omni-directional vehicles implemented
- The goal is to use all the possible (set by the user) horizontal thrust first and then tilt if necessary, thus achieving minimum possible tilt.
- This is an implementation of the following paper for OMNI_ATT_MODE = 1:
"A Daisy-Chain Control Design for a Multirotor UAV with Direct Force Capabilities", M. Hamza and E.N. Johnson, 2017 AIAA GNC Conference

- Still need to define a parameter for the maximum direct force
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour
3c2087a69d Omni MC: Changed the parameter name MC_OMNI_MODE to OMNI_ATT_MODE
- To be more descriptive and similar to other (future) OMNI_ parameters
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour
8fd875f8c7 Omni Pos-Ctrl: Refactoring of the attitude set point generation for omni-directional modes 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour
db6b09adf0 Omni Pos-Ctrl: The attitude setpoint is generated based on the MC_OMNI_MODE parameter now 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour
1882ff6b4b Omni Pos-Ctrl: Attitude setpoint generation for omni vehicles completed 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour
bc489492d4 Omni Pos-Ctrl: (WIP) Continue code for attitude setpoint generation for omni vehicles 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour
8bfdf29055 Tilt-Hex Pos-Ctrl: (WIP) Started code for attitude setpoint generation for omni vehicles 2020-01-21 18:23:07 -05:00
Matthias Grob
a4a9d50a97 ControlMath: refactor thrustToAttitude calculation 2019-12-18 15:57:48 +01:00
Matthias Grob
b6de83117e PositionControl: fix attitude setpoint timestamp
The plot of the attitude setpoint in the log did not show any values
because the message timestamp that the position control module sets
was overwritten by the PositionControl attitude generation.
2019-11-05 13:05:16 +01:00
Beat Küng
3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
Matthias Grob
ad60f6d786 PositionControl: make it self contained library 2019-10-23 17:33:47 +02:00