Commit Graph

31324 Commits

Author SHA1 Message Date
Azarakhsh Keipour 5c09254a83 Gazebo model for the fully-actuated hexarotor added 2020-12-06 20:51:48 -05:00
Azarakhsh Keipour f33b118dfb Updated README with some documentation 2020-11-21 16:35:26 -05:00
Azarakhsh Keipour a99bce1026 Added information on fully-actuated research 2020-11-11 20:06:28 -05:00
Azarakhsh Keipour f3cf2d309e Omni Att Ctrl: Manual mode no longer uses the attitude mode and acts like an underactuated UAV 2020-09-29 14:01:24 -04:00
Azarakhsh Keipour 96a496b07d Pos Ctrl: Logging more tilt information for debugging 2020-09-22 11:53:14 -04:00
Azarakhsh Keipour b825e2f140 Logger: Logging omni_attitude_status topic by default 2020-08-05 22:05:01 -04:00
Azarakhsh Keipour 8a09314ef9 Omni Pos-Ctrl: omni_attitude_status topic is filled and published 2020-08-05 22:01:41 -04:00
Azarakhsh Keipour 61ef6b2255 Omni: Added a new message type to record omni-directional attitude generation status 2020-08-05 21:59:18 -04:00
Azarakhsh Keipour f3e21ddc7a Omni Pos-Ctrl: Reduced jerking when a large command is given in offboard
- OMNI_ATT_MODE = 2 uses OMNI_DFC_MAX_THR parameter to limit the horizontal commanded thrust now
- Other modes are not affected
2020-08-03 22:22:03 -04:00
Azarakhsh Keipour 431a0cb11e Omni Pos-Ctrl: Added a parameter for the attitude change rate (OMNI_ATT_MODE=6) 2020-07-28 21:30:23 -04:00
Azarakhsh Keipour 948e75c230 Omni Pos-Ctrl: Slow attitude change works now. 2020-07-28 20:46:23 -04:00
Azarakhsh Keipour 2d101c5998 Omni Pos-Ctrl: Fixed a compilation issue for pixracer) 2020-07-28 19:38:56 -04:00
Azarakhsh Keipour 1ccd452de6 (WIP) Omni Pos-Ctrl: Added slow attitude change OMNI_ATT_MODE = 6 (disabled for now) 2020-07-28 18:59:07 -04:00
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 45af173da1 Omni Params: Attitude setpoint params moved from attitude controller to position controller 2020-07-26 01:46:20 -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 d77f74bb53 Omni Pos-Ctrl: Roll/Pitch airmode implemented for Omni vehicles
- For MC_AIRMODE = 1
2020-07-21 08:15:17 -04:00
Azarakhsh Keipour 7a07f41b65 Omni Pos-Ctrl: Added the OMNI_PROJ_AXES parameter 2020-07-13 19:35:08 -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 03e7435fbe Omni Att-Ctrl: New parameters for fixed tilt and fixed roll/pitch
- OMNI_ATT_TLT_ANG
- OMNI_ATT_TLT_DIR
- OMNI_ATT_ROLL
- OMNI_ATT_PITCH
2020-07-13 13:48:44 -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 4d3c915183 MultiRotor Mixer: Fix a styling issue for readability 2020-07-13 12:21:04 -04:00
Azarakhsh Keipour 69fe37e6be Omni Mixer: The mixer for 6-DoF vehicles is refactored to the MultirotorMixer now 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour d5ff0d8ea6 VSCode: Tasks formatted as the one on master now
- The task for tilted hex has the same presentation and does not start gzclient now
- The Gazebo Kill task does not kill the client anymore
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour 145ada8046 Bug Fix: Fixed the parameter name in the tilted hex definition files 2020-01-21 18:23:07 -05: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 a655425849 Omni: Set the default OMNI_MAX_HOR_THR to 0.15 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 494595111b Omni Att-Ctrl: Added a new parameter for controlling the maximum horizontal thrust
- OMNI_MAX_HOR_THR parameter specifies the maximum horizontal thrust compared to the maximum possible thrust generated by the vehicle for an omnidirectional multirotor
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 3ae19f254c Omni Att-Ctrl: Manual mode works smoother now and based on the MC_OMNI_MODE parameter
- Some observations:
	- It's still not as smooth as expected (or maybe I'm not a good pilot)
	- Acceleration on the body X axis feels lower than the body Y axis (no idea why)
- Flight tested in Gazebo sim in both Manual and Autonomous modes
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 1d8894c930 Tilted-Hex: Added the default values for the MC_OMNI_MODE parameter to multirotor airframes 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour c386938839 VSCode: Autogenerating launch.json entry for the tilted_hex gazebo simulation
- Couldn't make the recent changes in tasks from master branch work, so:
	- Added gzclient to the command for gazebo tiltedhex and gazebo kill tasks
	- Also used the desired presentation for the gazebo tiltedhex task
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour 4afd11d09c VSCode: Added tilted hex gazebo simulation task to VSCode 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour 252284d89b Omni Att-Ctrl: Added attitude controller for omni vehicles 'Manual' mode
- Still the control feels weird and need more refining
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour d6c27c6f37 Omni Pos-Ctrl: Defined MC_OMNI_MODE PX4 parameter in the position controller 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 62d06357df Tilt-Hex: Added dynamic limits to the hexa tilt model 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
Azarakhsh Keipour a0a0c2280b Bug Fix: Fixed the number of controls in the actuators_controls message to account for the 3D-thrust controls 2020-01-21 18:23:07 -05:00
Azarakhsh Keipour 400f8ea4be Bug Fix(es): 3D-thrust ranges fixed to -1..1 and manual z maps to negative z-thrust now
- The range for 3D-thrust in the 6-DOF multirotor mixer is changed to -1 to 1 now (fixed from 0 to 1)
- The Z thrust in the 6-DOF multirotor mixer is mapped to the Z-thrust command now (fixed from thrust command)
- The manual Z command in the rate controller maps to the negative Z-thrust (fixed from positive Z)
- The variable _thrust_body_sp in the rate controller renamed to _thrust_sp to be compatible with the older variable removed in the last commit
- The code tested in TakeOff, Manual, Hold, Position and Land modes on both tilted hex and iris

Accepting and working with 3D thrust commands now
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour 3a321302f0 (WIP) MC-Att-Ctrl: Added 3d thrust set point to the 6-Dof attitude and rate controllers 2020-01-21 18:23:07 -05:00