44 Commits

Author SHA1 Message Date
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
865157228f Add collision prevention velocity limitations also based on max accel/jerk 2019-09-02 14:51:18 +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
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 839787568c523dad917946322019293eddf6461c.
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
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
baumanta
053494c535 use only one parameter and enable parameter change in flight. clean up code 2018-11-20 14:11:33 +01:00
baumanta
efa7e0ba77 clean up 2018-11-20 14:11:33 +01:00
baumanta
f5369db245 Put parameters inside library. Get rid of unnecessary activation logic 2018-11-20 14:11:33 +01:00
baumanta
dd45fa6541 change feature name from CollisionAvoidance to CollisionPrevention 2018-11-20 14:11:33 +01:00