41 Commits

Author SHA1 Message Date
Ramon Roche
0f15eea283 ci(mavros): merge mission+offboard into one workflow, migrate to noetic and Python 3
Consolidate mavros_mission_tests.yml and mavros_offboard_tests.yml into a
single mavros_tests.yml with a matrix strategy. Switch from docker-in-docker
with px4-dev-ros-melodic to a native container using px4-dev-ros-noetic,
enabling ccache and composite actions (setup-ccache, build-gazebo-sitl,
save-ccache). Migrate all five MAVROS Python test files from Python 2 to
Python 3 (remove six/xrange, from __future__ imports, replace px4tools
with pyulog for estimator analysis). Bump git-auto-commit-action from v4
to v7 in ekf_update_change_indicator.yml.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-04-10 00:47:17 -06:00
Per Frivik
267cb9906e
integrationtests: mavros increase threshold for yaw_error_std 2024-05-29 11:11:09 -04:00
Daniel Agar
bb5dfc7d51 integrationtests: mavros/mission_test.py bump yaw_error_std threshold (heading init is delayed, but not wrong) 2024-05-17 11:19:04 +02:00
Daniel Agar
892d507ca7
integrationtests: MAVROS mission_test.py relax yaw estimate STD check for now (#22061)
- ekf2 heading first initializes to 0 degrees, then immediately resets to mag heading once a few samples are accumulated
 - the yaw standard deviation check could be adjusted to exclude this brief (<1s) initial period
2023-09-08 15:27:39 -04:00
TSC21
88a32cb680 mission_test: fix px4tools func import 2020-01-13 21:48:35 +00:00
TSC21
ed974d83f5 run mission_test over python2 2020-01-13 21:48:35 +00:00
Julian Oes
f9ab38f1bc mission_test: let's try to run this with Python 3 2020-01-13 21:48:35 +00:00
Christian Clauss
6dc55f97d4 More fixes for Python 3 compatibility (#13008)
* More fixes for Python 3 compatibility

* Workaround if the six module is not pip installed

* Lose the semicolons
2019-12-19 02:05:55 -08:00
Daniel Agar
066ca50ddf
mission test temporarily increase landed timeout 60s -> 120s (#10596)
- revert once #10590 is resolved properly
2018-09-28 10:28:07 -04:00
Beat Küng
5363aff879 fixes for integration and unit tests
Move ros logs dir so that .ulg files are not in the same directory
(mission_test.py:: get_last_log() fails otherwise)
2018-08-08 21:09:39 +02:00
Anthony Lamping
752d43d94c lengthen offboard tests
* land after offboard flying complete
* lengthen rostest time limit for tests (5 min ea)
2018-03-30 18:54:04 -04:00
Anthony Lamping
3be6a439f1 CI: better detect end of mission
if the vehicle doesn't land and disarm at the end of the mission, the current sequence doesn't reset to 0
2018-03-01 12:21:22 -05:00
Anthony Lamping
3b69361a00 CI: move missions into a folder 2018-03-01 12:21:22 -05:00
Anthony Lamping
4158b5e6a9 CI: remove old mission formats 2018-03-01 12:21:22 -05:00
Anthony Lamping
c22dc2beaf CI: mission WP reached - satisfy based on mavros topics instead of distance check (#8879) 2018-02-13 20:49:18 -05:00
Anthony Lamping
86ae744266 CI: allow Gazebo to restart on crash (#8817)
* add respawn_gazebo arg to be used with empty_world.launch
* catch rospy sleep method's exceptions
* fix copy-paste mistake in land state failure message
2018-02-06 15:11:09 -05:00
Anthony Lamping
85ba160757 CI: improve mavros SITL tests logging (#8714)
* add more logging to help with #8556
* log subscribed topics on mission start and test exit (pass or fail)
* use mavlink enums everywhere to avoid maintaining dictionary mappings and to have readable values
* log when the FCU advances to next mission item without satisfying the position reached offset/radius
* some renaming for readability
* log more state value changes (connected and MAV_STATUS)
2018-01-17 17:54:32 -05:00
Anthony Lamping
d375880c4b improve mavros SITL tests (#8652)
-created a test base class to centralize redundant methods among the different tests
-added mission waypoint list topic listener (this also helps make sure the simulation is ready)
-check number of mission waypoints in FCU against mission
-increase time for mavros topics to be ready from 30 to 60 seconds
-reduce position check loop rates
-clean up logging
-support QGC plan for mission file format, see #8619
-vehicle is an arg for mission test launch file, working toward other airframes
-Jenkins: fix vtol vehicle arg value
-get MAV_TYPE param and use FW radius for pure fixed-wing mission position check
-remove unused vehicle arg from test in multiple tests launch, clearing runtime warning
2018-01-14 21:13:45 -05:00
Daniel Agar
3f67ddbdba ROS mission_test.py send mission before starting
- update to latest sitl_gazebo
2018-01-02 01:35:57 +01:00
Anthony Lamping
f46db40b10 make sure FCU is connected to mavros before state topic is marked ready 2018-01-02 01:35:57 +01:00
Anthony Lamping
ab5a268ca5 simplify vtol transition check, more log msgs 2018-01-02 01:35:57 +01:00
Anthony Lamping
f9e7c66718 thread for offboard publishers, add asserts for topics to come up (simulation ready) and set mode and arming, use home_position topic as better indicator of when the simulation is ready, add more feedback to rosinfo, make timeouts meaningful (in seconds), add land and extended state values 2018-01-02 01:35:57 +01:00
Anthony Lamping
5ce381dfc7 update sitl tests 2018-01-02 01:35:57 +01:00
Paul Riseborough
40160c4488 integrationtests: add wait time before arming to allow checks to pass 2017-05-03 08:37:14 +02:00
Daniel Agar
6f89e9d551 integrationtests mavros fix type 2017-04-20 11:18:32 -04:00
James Goppert
8e297022e6 Update px4tools api for mission test. 2017-01-14 18:55:39 -05:00
James Goppert
8fdd392700 Added ground truth tests to sitl gazebo CI. 2016-12-26 16:33:37 +01:00
Lorenz Meier
cbd237a58a Integration test: Robustify against 0 home altitude 2016-12-25 21:30:31 +01:00
Lorenz Meier
79fbcf8a1c Tuning to integration testing for better reporting 2016-12-25 18:15:51 +01:00
Julian Oes
18dd6923e6 integrationtests: use Python2 for dependencies
This changes the shebang of the integration test files to python2
because the scripts fail on systems with Python 3 as the default.

Even though ROS has been ported to Python 3, there are still some
dependencies not playing along.

The error that comes up when starting with Python 3 is:
> No module named 'mavexpression'
2016-12-15 00:10:57 +01:00
Andreas Antener
17f49ec8cb Integration tests: use separate commands to set mode and arm 2016-12-11 17:00:09 +01:00
Andreas Antener
5ed4e4e3a5 use proper matching for VTOL fixed-wing state regarding position acceptance 2016-06-28 22:44:49 +02:00
Andreas Antener
53b5758eb4 added mission name to assertion outputs 2016-06-28 22:44:49 +02:00
Andreas Antener
85b5b399b9 updated FW horizontal acceptance radius to work with deltaquad 2016-06-28 22:44:49 +02:00
Andreas Antener
26de353d4f added mission file to test name 2016-06-28 22:44:49 +02:00
Andreas Antener
37884dc5dd fixed landing and transition detection test 2016-06-28 22:44:49 +02:00
Andreas Antener
f252ac3eff added mission checks for landing and VTOL transition 2016-06-28 22:44:49 +02:00
Andreas Antener
57fa9d2070 use separate altitude offset check in FW 2016-06-28 22:44:49 +02:00
Andreas Antener
05dc643f17 increased fixed wing radius for mission tests and added more informative output for position matching 2016-06-28 22:44:49 +02:00
Andreas Antener
00d56b9ef8 added VTOL mission test, updated mission test to check mission depending on vehicle state 2016-06-28 22:44:49 +02:00
Andreas Antener
150eb779ae added draft script to run missions against SITL 2016-06-28 22:44:49 +02:00