Commit Graph

57 Commits

Author SHA1 Message Date
Daniel Agar 0fe271b7f5 CollisionPrevention add more distance_sensor orientations 2019-10-01 21:05:37 -04:00
Daniel Agar 62bc0ab8ad CollisionPrevention: limit collision warning to every 3 seconds and minor cleanup
- whitespace and formatting fixes
 - mark locals const for readability
2019-09-30 10:48:12 -04:00
Daniel Agar dedd257433 CollisionPrevention: fix integer rounding (#13028) 2019-09-26 09:45:55 +02:00
Julian Kent 07d656e971 Guidance feature for Collision Prevention (#13017)
* add guidance

* remove COL_PREV_ANG and replace with COL_PREV_CNG

* safe max ranges per bin

* increase default value for colprev delay to account for tracking delay

* update parameter description

* fix and extend testing

* add handling for overlapping sensor data

* fix decision process for overlapping sensors
2019-09-24 17:00:04 +02:00
Dennis Mannhart 453b6a39e4 TrajMath: move from FlightTasks/Utility into mathlib library because the function is also used by other libraries 2019-09-19 14:09:44 +02:00
Julian Kent 39451b811a Do syscall for time once, outside of loop 2019-09-11 12:34:59 -04:00
Julian Kent b27d6a958a Account for the time since range data arrived 2019-09-11 12:34:59 -04:00
Tanja Baumann f3c5ca6015 Collision Prevention: support multiple sensors and frames (#12883)
* build internal sensor map

* Extend testing coverage

* Update matrix library
2019-09-06 08:38:56 +02:00
Daniel Agar b0f82ee8ac CollisionPrevention: update orb_publish to uORB::Publication<> 2019-09-02 15:35:34 -04:00
Julian Kent bc58bed960 Add test for jerk reduction 2019-09-02 14:51:18 +02:00
Julian Kent 865157228f Add collision prevention velocity limitations also based on max accel/jerk 2019-09-02 14:51:18 +02:00
Julian Kent 5c68880b56 Reset parameters in test setup, not teardown 2019-08-21 14:53:41 +02:00
Julian Kent 63140f1d61 Do a single setup of uORB/Parameters instead of once every test 2019-08-21 14:53:41 +02:00
Tanja Baumann be233f6bc7 Collision Prevention: don't allow moving outside sensor FOV (#12741)
* don't allow moving outside FOV

* Update parameters in tests
2019-08-20 17:01:13 +02:00
Julian Kent d70b024ec7 GTest functional tests that include parameters and uORB messaging (#12521)
* Add kdevelop to gitignore

* Add test stubs

* Rename px4_add_gtest to px4_add_unit_gtest

* Add infrastructure to run functional tests

* Add example tests with parameters and uorb messages

* Fix memory issues in destructors in uORB manager and CDev

* Add a more real-world test of the collision prevention
2019-08-09 15:10:09 +02:00
baumanta e91614c791 change angle parmeter to degrees 2019-08-07 15:29:13 +02:00
baumanta f80a539faa add unit for coll prev angle 2019-08-07 15:29:13 +02:00
baumanta 14f128b89d add parameter for detection angle 2019-08-07 15:29:13 +02:00
baumanta 150b5df7cb change size of reaction angle 2019-08-07 15:29:13 +02:00
baumanta b26d3ac9d4 no slinding in collision prevention (roll jerk fix) 2019-08-07 15:29:13 +02:00
Martina 119e5e3182 Revert "CollisionPrevention only process distance_sensor updates"
This reverts commit 839787568c.
2019-08-07 04:01:50 -04:00
Daniel Agar 839787568c CollisionPrevention only process distance_sensor updates 2019-08-04 10:04:09 -04:00
Martina Rivizzigno 1fb80612f3 CollisionPrevention: address https://github.com/PX4/Firmware/pull/12179
review comments
2019-07-15 10:58:00 +02:00
Martina Rivizzigno ac67d5603f CollisionPrevention: compute the attitude_sensor_frame outside for loop 2019-07-15 10:58:00 +02:00
Martina Rivizzigno 560c9f972a CollisionPrevention: use the maximum timestamp between offboard and
distance sensor such that if one of the two fails the vehicle goes into
failsafe, do not switch off CollisionPrevention if it fails
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 02bdc2c46b CollisionPrevention: use FlightTasks convention for private/public methods,
add doxygen on header file
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 8637a9255e CollisionPrevention: add failsafe for stale distance data 2019-07-15 10:58:00 +02:00
Martina Rivizzigno e6e4d846fb add uORB message obstacle_distance_fused with data from offboard
obstacle_distance and distance sensor
2019-07-15 10:58:00 +02:00
Martina Rivizzigno a9b1946bea CollisionPrevention: make sure that vehicle tilt compensation is
correct for all sensor orientation
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 2439dc09ae CollisionPrevention: refactor code to make it more readable 2019-07-15 10:58:00 +02:00
Martina Rivizzigno b6eea508bb CollisionPrevention: make sure that the timestamp is updated for distance
sensors even if they are out of range
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 09bfb00c88 Obstacle_distance: use only one increment in float directly
CollisionPrevention: rename a few variables to make the code more readable
2019-07-15 10:58:00 +02:00
Martina Rivizzigno 5b24f28ac7 CollisionPrevention: map distance_sensor data to obstacle distance 2019-07-15 10:58:00 +02:00
Daniel Agar 90bf26b239 CollisionPrevention move orb subscriptions to uORB::Subscription 2019-06-07 09:22:35 -04:00
baumanta 2320088541 use position controller parameters for limitation instead of acceleration/jerk 2019-06-04 16:47:33 +02:00
baumanta c497d94616 publish a minimal message for logging/debugging 2019-06-04 16:47:33 +02:00
baumanta 09e1d4888c use velocity component in bin direction instead of norm 2019-06-04 16:47:33 +02:00
baumanta 33cd032c35 camelcase function name, initialize c++11 style 2019-06-04 16:47:33 +02:00
baumanta e7d17cc265 consider acceleration ramp-up time 2019-06-04 16:47:33 +02:00
baumanta ab792093e1 fix wrong if clause 2019-06-04 16:47:33 +02:00
baumanta 23c23e3aa5 clean up 2019-06-04 16:47:33 +02:00
baumanta f50a1d58b0 bugfixes and cleanup 2019-06-04 16:47:33 +02:00
baumanta 4212ae8b87 sign bug fix and clean up 2019-06-04 16:47:33 +02:00
baumanta 60befdce5b change collision prevention algorithm 2019-06-04 16:47:33 +02:00
baumanta 8427cd3051 constant acceleration breaking for collision prevention 2019-06-04 16:47:33 +02:00
Daniel Agar 2c63e335e9 uORB::Subscription subscribe directly to uORB device node object 2019-06-03 17:06:21 -04:00
baumanta c0a1f5b72f Collision prevention improvements (#11866)
* match max vel in col-prev to regular pos ctrl
* change warning criterium to avoid float error
* disable push back from obstacles
* use floats consistently
2019-04-17 13:20:29 -04:00
bresch b14446f0e5 Parameter update - Rename variables in lib
using paramter_update.py script
2019-04-03 15:38:50 +02:00
Daniel Agar b35d048566 cmake enable -Wcast-align and disable per module 2019-03-16 11:47:15 -04:00
Alessandro Simovic aa74aa2b80 CollisionPrevention: curly brace inits 2019-01-04 15:39:40 +01:00