Commit Graph

2213 Commits

Author SHA1 Message Date
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 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
Azarakhsh Keipour 0f40eb953d Bug Fix: The absolute value of Z thrust is used in the 6-Dof mixer now
- Tilt-Hex flies like a normal hex but with the new 6-dof mixer now (with some jitters)
- Some minor parameter changes in the hexa_x_tilt definition to make the simulated flight smoother
2020-01-21 18:23:07 -05:00
Azarakhsh Keipour a878d6823d Mixer: Added 3D thrust capability to the multirotor and 6-dof mixers
- Added 3D thrust definitions to actuator controls and multirotor motor limits messages
2020-01-21 18:23:06 -05:00
Azarakhsh Keipour d7f61e41d8 Mixer 6-DoF: Airmode and saturation enabled
- More info at https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation
- The drone is still not flying stably, has vibration and flies away.
2020-01-21 18:23:06 -05:00
Azarakhsh Keipour 0d7d567c4b Mixer 6DoF (WIP): Added a special S mixer for 6-DoF multirotors 2020-01-21 18:23:06 -05:00
Azarakhsh Keipour 1af1b40733 Mixer Generation: Generate normalized 6-DoF mixer matrices 2020-01-21 18:23:06 -05:00
Azarakhsh Keipour c53923d1d3 Mixer Generation: Generate mixers for a new MultirotorMixer6dof class for 6-DoF vehicles 2020-01-21 18:23:06 -05:00
Azarakhsh Keipour 4bcf796a89 Added mixer and gazebo model for the tilted-arm hexarotor 2020-01-21 18:23:06 -05:00
Azarakhsh Keipour 6b8fbc3c45 Hex TOML: Changed to reflect the omni-8 for now 2020-01-21 18:23:06 -05:00
Azarakhsh Keipour e49fb5bf50 Tilt-Hex: Completed mixer definitions (for now) 2020-01-21 18:23:06 -05:00
kamilritz 4e8665082e Move baro downsampling and dynamic pressure comp to ECL lib 2020-01-21 13:36:08 +03:00
Daniel Agar dc05ceaad2 create temperature_compensation module
- this is a new module for temperature compensation that consolidates the functionality previously handled in the sensors module (calculating runtime thermal corrections) and the events module (online thermal calibration)
 - by collecting this functionality into a single module we can optionally disable it on systems where it's not used and save some flash (if disabled at build time) or memory (disabled at run time)
2020-01-20 21:42:42 -05:00
Daniel Agar e863dd317e Update submodule ecl to latest Tue Jan 21 00:39:21 UTC 2020
-  ecl in PX4/Firmware (ac205456f93857f447595eb0005c954a78461778): https://github.com/PX4/ecl/commit/011b4c2e4e9c39723250ed6805daa5b0aac3a1d4
    - ecl current upstream: https://github.com/PX4/ecl/commit/950e75e484519a6f719cbfd9d2ca2a29bfd06bfa
    - Changes: https://github.com/PX4/ecl/compare/011b4c2e4e9c39723250ed6805daa5b0aac3a1d4...950e75e484519a6f719cbfd9d2ca2a29bfd06bfa

950e75e 2020-01-18 Matthias Grob - EKF_ringbuffer: minor missing space for style
26125c2 2020-01-17 kamilritz - Switch from jenkins to github actions
2020-01-20 21:01:02 -05:00
Daniel Agar bb465ca5b7 sensor accel/gyro message cleanup
- split out integrated data into new standalone messages (sensor_accel_integrated and sensor_gyro_integrated)
 - publish sensor_gyro at full rate and remove sensor_gyro_control
 - limit sensor status publications to 10 Hz
 - remove unused accel/gyro raw ADC fields
 - add device IDs to sensor_bias and sensor_correction
    - vehicle_angular_velocity/vehicle_acceleration: check device ids before using bias and corrections
2020-01-18 01:15:00 -05:00
Daniel Agar 1d932f6ec9 IMU drivers using FIFOs increase max length to 16 and sync similar implementations
- this provides some extra space when the FIFO transfers don't align perfectly
 - I've also made an effort to keep the different drivers (icm20602, icm20608g, ism330ldc) in sync so we can factor out the common portions later once we've confident in the pattern.
2020-01-17 22:06:09 -05:00
PX4 BuildBot 6beecafbad Update submodule matrix to latest Fri Jan 17 00:39:22 UTC 2020
- matrix in PX4/Firmware (b9c304e461b8fe9a8060110a902fce7eac0eea8d): https://github.com/PX4/Matrix/commit/3b581fb5998c7a15b741947e6a139b9e3f99fe38
    - matrix current upstream: https://github.com/PX4/Matrix/commit/a37b91c96a9726cd8336af2d3463e717007e60a5
    - Changes: https://github.com/PX4/Matrix/compare/3b581fb5998c7a15b741947e6a139b9e3f99fe38...a37b91c96a9726cd8336af2d3463e717007e60a5

    a37b91c 2020-01-13 kamilritz - Type cast remaining integer
2020-01-16 20:34:06 -05:00
Daniel Agar 6630087654 TECS: remove height rate complementary filter 2020-01-16 11:04:28 -05:00
Julian Oes c77816aef2 cmake: move jinja2 check to Python modules
This removes the cmake check for jinja2 and moves it to the respective
Python scripts.
2020-01-16 16:25:26 +01:00
Julian Oes 4329de9e3b Use Python 3 everywhere
Since Python 2 is retired in 4 months, we should move everything to 3.
2020-01-13 21:48:35 +00:00
Daniel Agar de4f594937 DriverFramework purge
The bulk of this change was tightly coupled and needed to be deleted in one pass. Some of the smaller changes were things that broke as a result of the initial purge and subsequently fixed by further eradicating unnecessary platform differences. Finally, I deleted any dead code I came across in the related files I touched while going through everything.

 - DriverFramework (src/lib/DriverFramework submodule) completely removed
 - added dspal submodule in qurt platform (was brought in via DriverFramework)
 - all df wrapper drivers removed
 - all boards using df wrapper drivers updated to use in tree equivalents
 - unused empty arch/board.h on posix and qurt removed
 - unused IOCTLs removed (pub block, priv, etc)
 - Integrator delete methods only used from df wrapper drivers
 - commander: sensor calibration use "NuttX version" everywhere for now
 - sensors: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - battery_status: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - cdev cleanup conflicting typedefs and names with actual OS (pollevent_t, etc)
 - load_mon and top remove from linux boards (unused)
 - delete unused PX4_MAIN_FUNCTION
 - delete unused getreg32 macro
 - delete unused SIOCDEVPRIVATE define
 - named each platform tasks consistently
 - posix list_devices and list_topics removed (list_files now shows all virtual files)
2020-01-13 14:07:03 -05:00
Daniel Agar d1e3ff553b platforms: remove unnecessary i2c platform abstraction 2020-01-11 11:55:06 -05:00
Daniel Agar 23e17aec42 atlflight/eagle: minor fixes to get it running again
- fixed df_ltc2946_wrapper battery dependency
 - fixed px4::atomic fetch_add for QuRT
 - updated PX4 QuRT SPI wrapper to set bus frequency
 - renamed "qurt-default" configs to just "qurt"
2020-01-09 18:09:06 -05:00
Daniel Agar e3de7e62ea drivers/rc_input: port to linux for testing 2020-01-09 16:16:23 -05:00
kamilritz e95e5abdf6 Update ECL 2020-01-09 10:36:10 +01:00
CarlOlsson 13a9b552c5 Remove unused GPS fail circuit breaker
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-01-08 10:50:26 -05:00
kamilritz 92adc5afaa Update ECL to newest version 2020-01-08 09:42:14 +01:00
Daniel Agar 298d6d8703 ST LSM9DS1 9DOF IMU driver
- this is a replacement for df_lsm9ds1_wrapper on the Emlid Navio2 once DriverFramework is removed
2020-01-07 21:58:31 -05:00
Daniel Agar f3cd5b19c8 emlid navio2: update RGB LED driver (move away from DriverFramework)
- delete unused linux gpio wrapper
2020-01-07 17:47:15 -05:00
Mathieu Bresciani 5adf23a6a8 Add gyroscope notch filter - IMU_GYRO_NF_(FREQ|BW)
* NotchFilter: add NotchFilter template and test for float type
* NotchFilterTest: add test for Vector3f notch filter
* PX4Gyroscope: add notch filter with IMU_GYRO_NF_(FREQ|BW) parameters to
set the notch center frequency and bandwidth
2020-01-06 16:53:36 -05:00
Matthias Grob 1484dfed6a FlightTasks: remove deprecated AutoLine mission task 2020-01-06 15:39:07 +01:00
Julian Kent bb410ca0db Fix compile error, save some bytes by removing redundant checks 2020-01-06 15:39:07 +01:00
Julian Kent af961f2391 Avoidance interface should be a stop point 2020-01-06 15:39:07 +01:00
Julian Kent 33702be3e4 Fix bad assumption: _position_setpoint is normally at _target 2020-01-06 15:39:07 +01:00
Julian Kent 603a993380 Improve comments 2020-01-06 15:39:07 +01:00
Julian Kent 75d7a049c1 Use the new trajectory constraints to synchronize and limit velocities 2020-01-06 15:39:07 +01:00
Julian Kent 025c044530 Add trajectory constraints helpers 2020-01-06 15:39:07 +01:00
Daniel Agar 4b96eb569d flight_tasks: getPositionSetpoint() initialize entire vehicle_local_position_setpoint_s
- this isn't strictly necessary (all used fields are set), but doesn't hurt
 - fixes Coverity CID 268659
2020-01-05 22:59:49 -05:00
Daniel Agar b60a519cbc drivers accel & gyroscope: use float for integrator accumulation
- fixes Coverity CID 352841 and CID 352840
2020-01-05 21:30:40 -05:00
Daniel Agar aaf5670e7d deprecate df_bmp280_wrapper and replace with in tree bmp280
- deprecate DriverFramework bmp280 driver (df_bmp280_wrapper)
 - update beaglebone blue and snapdragon flight eagle boards to use in tree bmp280
 - update posix (really just linux) and qurt I2C wrappers
 - tested on beaglebone blue
2020-01-05 13:33:12 -05:00
Mohammed Kabir bf9e193062 collision_prevention: fix sensor range float rounding 2020-01-05 20:22:51 +05:30
PX4 BuildBot a986a63504 Update submodule matrix to latest Sat Jan 4 12:39:31 UTC 2020
- matrix in PX4/Firmware (1cee4d3b0de55e2a7b874dfdaf7a9975a099195c): https://github.com/PX4/Matrix/commit/d18be0d0fa17d9a0b60ab34bad3e33160f907b09
    - matrix current upstream: https://github.com/PX4/Matrix/commit/3b581fb5998c7a15b741947e6a139b9e3f99fe38
    - Changes: https://github.com/PX4/Matrix/compare/d18be0d0fa17d9a0b60ab34bad3e33160f907b09...3b581fb5998c7a15b741947e6a139b9e3f99fe38

    3b581fb 2020-01-01 Lorenz Meier - Update .travis.yml
efa5580 2020-01-01 Lorenz Meier - Update CMakeLists.txt
20a9e91 2019-12-31 Lorenz Meier - Fix CMake configuration for coverage tests on Mac OS
2020-01-04 10:43:35 -05:00
Daniel Agar ef12e63af2 ms5611: move to PX4Barometer and cleanup 2019-12-30 18:00:52 -05:00
Daniel Agar c8fb3c589a posix I2C::init() should also probe() (sync with NuttX) 2019-12-30 10:37:07 -05:00
PX4 BuildBot b3889e6187 Update submodule matrix to latest Sun Dec 29 00:38:26 UTC 2019
- matrix in PX4/Firmware (82244037f4f4be591cf1c8b9a25bb4969d0d33a9): https://github.com/PX4/Matrix/commit/e81483a808ce7b0217c11d3dc0fce90685f44353
    - matrix current upstream: https://github.com/PX4/Matrix/commit/d18be0d0fa17d9a0b60ab34bad3e33160f907b09
    - Changes: https://github.com/PX4/Matrix/compare/e81483a808ce7b0217c11d3dc0fce90685f44353...d18be0d0fa17d9a0b60ab34bad3e33160f907b09

    d18be0d 2019-12-28 kritz - Fix AngleAxis constructors (#117)
2019-12-28 20:25:33 -05:00
Timothy Scott fc1341208f INA226: Integrate with PX4 (#12673)
* Publish I2C battery data as battery_status
2019-12-28 12:30:11 -05:00
Silvan Fuhrer 574b482fdb Navigator: make weather vane work in all auto modes, not just mission (#13761)
- rename of flag in position sp: from allow_weather_vane to disable_weather_vane
 - flag now doesn't have to be set for all auto modes, meaning that weather vane is also active outside of mission
 - flag is set before front transition to align with wp, and unset after alignment is over

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:13:15 -05:00
Daniel Agar 89e1f478ac PX4Accelerometer and PX4Gyroscope add vibration metrics and always publish status 2019-12-27 20:54:50 -05:00