Commit Graph

171 Commits

Author SHA1 Message Date
Peter Barker 0303c5c4a8 SITL: move calculation of simulated rangefinder range to inside SIM_Aircraft
this will allow us to use the for non-serial rangefinder backends
2020-08-04 21:40:21 +10:00
Peter Barker d298980969 SITL: correct AP_Terrain cast-align compilation failure on SITL_arm_linux_gnueabihf 2020-07-23 18:10:06 +10:00
Andrew Tridgell f9f8822e47 SITL: added ship takeoff/landing simulation
this allows for a ship with a given radius and speed, allowing for
testing of ship takeoff and landing systems
2020-07-10 13:28:38 +10:00
Peter Barker 88c8dd8465 SITL: add RichenPower generator simulator 2020-07-03 08:21:42 +09:00
Andrew Tridgell 5349113104 SITL: improved the speedup code
more accurate sleeps using sleep debt system
2020-06-06 08:17:25 +10:00
Andrew Tridgell 750b220a5f SITL: simulations optimisations
- change to 600Hz physics rate by default
 - don't export rotational acceleration (not needed)
 - report speedup in terminal output at 0.5Hz (wall clock rate)
2020-06-06 08:17:25 +10:00
Alexander Maryanovsky d73043fc2f SITL: get_wall_time_us() to use a monotonic clock on non-Windows systems 2020-06-04 10:05:22 +10:00
Andrew Tridgell e4596efe9b SITL: added SIM_RATE_HZ
this allows the physics step size to be changed while flying the
internal models, which allows for lower CPU usage
2020-06-03 18:11:06 +10:00
Mark Whitehorn a54f286c1b SITL: fixed running of example programs 2020-05-16 11:06:35 +10:00
Mark Whitehorn db1c7d9bdd SITL: add support for AHRS_ORIENTATION=ROTATION_CUSTOM 2020-04-28 10:57:26 +10:00
Peter Barker cda0d14f57 SITL: add documentation for SITL and SMOO message 2020-04-21 09:48:43 +10:00
Samuel Tabor 15cef55e97 SITL: Make thermal drift relative to 100m alt to avoid so much change with wind speed and direction." 2020-04-08 09:11:54 +10:00
Samuel Tabor ae27f96361 SITL: Make soaring thermals slanted. 2020-04-08 09:11:54 +10:00
Samuel Tabor 5082c9be8b SITL: Add plane-soaring type, including parameters, mission, simulated thermals and glider sim settings. 2020-04-08 09:11:54 +10:00
murata 147a940451 SITL: Indicates that the message is SIM only 2020-02-18 11:23:52 +11:00
Andrew Tridgell 6218537ff7 SITL: fixed segv in SITL RCProtocolTest 2020-01-09 17:38:52 +11:00
Peter Barker 4cc7df8e15 SITL: emit hit-ground via mavlink
This lets autotest look for it
2020-01-01 22:10:43 +11:00
Mark Whitehorn 76b985fc9c SITL: only recalculate ahrs rotation matrix if necessary 2019-12-17 11:42:40 +11:00
Andy Piper c807267bab SITL: add rpm-based motor noise per-motor to gyros and accels
convert multicopter thrust to rpm per motor
2019-12-17 10:07:06 +11:00
Peter Barker 32ec6d7e9a SITL: add a simulated buzzer 2019-10-16 16:00:35 +11:00
Michael du Breuil fe279b03b6 SITL: Directly include needed headers 2019-08-28 13:13:03 +10:00
Peter Barker 169013cae2 SITL: allow starting location to come from parameters 2019-08-15 18:00:35 +10:00
Peter Barker f7b47679bb SITL: remove home_str from constructor 2019-08-15 15:16:11 +10:00
Andrew Tridgell 626c632859 SITL: fixed pitch constraint on fixed wing takeoff
fixes issue with jet takeoff
2019-07-05 20:12:22 +10:00
Peter Barker 6939a9fa91 SITL: add capability to twist the aircraft
This makes the EKF very, very unhappy, but is useful for compass
calibration testing
2019-04-23 10:06:17 +10:00
Andrew Tridgell d57ea43ea6 SITL: fixed crash in example code run 2019-04-09 12:50:17 +10:00
Peter Barker 4db011f530 SITL: add SIM_SHOVE_* options to shove the simulated vehicle
The parameter values are time in milliseconds and body-frame
acceleration in m/s/s

So to test throw mode:
 mode throw
 param set SIM_SHOVE_Z -30
 arm throttle
 param set SIM_SHOVE_TIME 500
2019-03-12 11:09:37 +11:00
Pierre Kancir 04bc267a61 SITL: add precland object
add position for precland object
add refresh rate
add alt and lateral range
add diffusion range
2019-03-01 20:28:22 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 0b9d10c0f9 SITL: replace location_offset() and get_distance() function calls with Location object member function calls
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker e3c719b27f SITL: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
Peter Barker d3b9ac5c8c SITL: add simulated parachute
Doesn't actually change aerodynamics at the moment
2019-01-09 13:16:03 +11:00
Fabio D'Urso 8ff9923e07 SITL: parse home coordinates as double (not float) to avoid precision loss 2019-01-05 21:38:41 +11:00
Andrew Tridgell 8d86b6fbee SITL: added support for laser scanner for Morse 2018-12-04 18:29:41 +11:00
Andrew Tridgell 366361f0bb SITL: fixed running of example programs 2018-11-07 07:35:45 +11:00
Pierre Kancir 5b0ae42725 SITL: limit on_ground() check to militer accuracy to prevent bouncing 2018-09-07 10:22:34 +10:00
Peter Barker 3e9294a2ae SITL: eliminate float-equals issues 2018-08-28 09:54:47 +10:00
Pierre Kancir 37f7cc4bcf SITL: rearrange Grippers and Sprayers in SITL 2018-07-31 23:34:43 +10:00
Patrick José Pereira b66b4775bc SITL: Replace find_object with SITL singleton
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-06-27 14:59:33 -07:00
Patrick José Pereira ae378f0fb3 SITL: Use reinterpret_cast with AP_Param::find_object
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-06-26 00:02:01 +01:00
Andrew Tridgell 0078a68fbb SITL: fixed segv when running examples under SITL 2018-05-15 13:36:41 +10:00
Andrew Tridgell d75e47a4d8 SITL: cope with cygwin64 2018-03-02 17:11:31 +11:00
Peter Barker 6a862c6e24 SITL: make home location parsing verbose
Given we don't fail to start SITL if the home location fails to parse,
we should at least make the user very aware that their home location
string is bad.

This commit makes failures verbose, and outputs the parsed location
values rather than regurgitating the location string the user supplied;
it was very misleading in that the location could simply fail to parse
and thus be unused.
2018-02-21 23:51:56 +10:00
Andrew Tridgell 6a89fdf268 SITL: use AP_Declination for magnetic tables 2018-02-08 17:36:33 +11:00
Nicholas Engle 1103e92884 SITL: Add SIM_WIND_DIR_Z parameter for SITL
This controls the vertical pitch of the 3d wind vector, allowing futher control of the wind
using systems like dronekit. This change directly effects the calcuation of the wind vector
2018-02-05 16:38:53 -08:00
Andrew Tridgell 917d9842c4 SITL: support AHRS_ORIENTATION in SITL
this allows for tailsitters in RealFlight
2017-11-23 14:26:11 +11:00
Andrew Tridgell 964d64a623 SITL: adjust FlightAxis defaults
and map 0,0 to CMAC location, to improve how SITL works in
MissionPlanner
2017-11-19 18:24:08 +11:00
hiro2233 7d304073ed SITL: fixed include case sensitive
On case sensitive cygwin feature enabled, this build ok.
2017-10-25 20:59:55 +11:00
Andrew Tridgell c5cd1b873c SITL: use thread for FlightAxis comms
this allows us to run SITL at a much higher framerate than RF can
provide, and results in the EKF being much happier
2017-10-21 11:57:59 +11:00
Andrew Tridgell 74265f523a SITL: support -roll180 option to frames 2017-10-10 10:57:38 +11:00
Pierre Kancir b176ba53d7 SIM_Aircraft: move advance in time from update_position to time_advance 2017-06-07 20:29:02 +10:00
Pierre Kancir 599e3d7b83 SITL: make range finder a standalone sitl plugin 2017-06-07 20:28:25 +10:00
Andrew Tridgell 47b79eb72d SITL: expose home location 2017-05-08 13:38:10 +10:00
Andrew Tridgell 4de0daa7a1 SITL: make quaternion state available outside SITL 2017-04-16 14:01:36 +10:00
Pierre Kancir ee7355a301 SITL: Reduce some variables scope and include 2017-03-18 19:58:11 +11:00
Pierre Kancir 8054405521 SITL: Change interface port to a generic solution for external simulator 2017-03-18 19:58:11 +11:00
Pierre Kancir 5b8c89225a SITL: Make socket more verbose 2017-03-18 19:58:11 +11:00
Pierre Kancir 567a8d68e5 SITL: Make socket error more verbose 2017-03-18 19:58:11 +11:00
Pierre Kancir 63ea8c6f21 SITL: enable multi sitl for gazebo 2017-03-18 19:58:11 +11:00
Andrew Tridgell 3c8020862c SITL: support a builtin tailsitter vehicle type 2017-02-18 17:26:43 +11:00
Pierre Kancir bf135aeff7 SITL: Aircraft correct some syntax, implicit cast, make some local variable const, remove tabs and whitespace 2016-12-19 14:53:17 +00:00
Peter Barker f8918d15b1 SITL: add a hagl method to aircraft 2016-12-02 12:04:05 +11:00
Peter Barker f1c23dc9be SITL: remove argument to on_ground
This was always the current position
2016-12-02 12:04:05 +11:00
Peter Barker e24f3f9419 SITL: correct on-ground correction
Using the cached ground_height_difference may mean
you end up at the wrong height if you were near
the edge of an SRTM square and had high horizontal
velocity
2016-12-02 12:04:05 +11:00
Tom Pittenger 11229d2588 SITL: fix whitespace 2016-11-18 10:42:10 -08:00
ori ganoni 631b5c3ebc adding turbulance to SITL 2016-11-17 20:06:35 -08:00
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
priseborough d830f68901 SITL: Add angular acceleration to simulator states
The calculation used is an approximation to work around the lack of angular acceleration in the interface with the flight dynamics model.
2016-10-27 14:54:44 +11:00
Andrew Tridgell 5e03358b0b SITL: added servo filtering
SIM_SERVO_SPEED is servo time constant in seconds
2016-10-25 20:39:38 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell c275e7c61d SITL: added SIM_SPEEDUP parameter
allows changing speed of simulation while running
2016-09-19 07:45:24 +10:00
Andrew Tridgell 52caf8419e SITL: fixed sense of wind direction
wind direction is where wind is coming from, not going to
2016-09-16 10:59:27 +10:00
Andrew Tridgell a1c759e491 SITL: added sensor smoothing
this adds smoothing of sensors for kinematic consistency when
interacting with the ground. It means when we land the EKF doesn't go
crazy
2016-07-19 21:38:16 +10:00
Andrew Tridgell e7a54c83d1 SITL: allow SITL to use terrain data for ground height 2016-07-19 14:42:31 +10:00
Andrew Tridgell b7395ee74b SITL: fixed sign of magnetic inclination 2016-06-20 11:17:36 +10:00
Paul Riseborough 55b0bbd3f1 SITL: Add simulation of 3D earth magnetic field
Use an independant method to the flight code using tables that that can updated.
Data taken from NOAA online calculator using WMM data at 2016-6-16 date
2016-06-19 12:51:34 +10:00
Paul Riseborough 078284e2e2 SITL: Add magnetic field environment to simulation
Includes parameters enabling a ground level magnetic anomaly to be modelled.
TODO - add automatic setting of declination, inclination and field strength using WGS-84 position.
2016-06-19 12:51:34 +10:00
Andrew Tridgell e360c6117e SITL: make SIM_* variables available to simulator backends directly 2016-06-17 08:36:13 +10:00
Tom Pittenger 0ed868d97b SITL: compiler warning, comparing float to 0 2016-06-14 21:05:38 -07:00
Andrew Tridgell 7c227ac96c SITL: debug code for logging raw SITL data 2016-06-04 14:21:21 +10:00
Gustavo Jose de Sousa ce8766e1cd SITL: remove set_yaw_degrees()
That function isn't being used anywhere.
2016-05-10 16:16:37 +10:00
Andrew Tridgell 3b0cd9f101 SITL: added RC input from FlightAxis
use the interlink controller for input for 6 channels
2016-05-04 12:51:27 +10:00
Andrew Tridgell 785ad0614a SITL: fixed coverity 125055 2016-04-26 16:46:06 +10:00
Andrew Tridgell 57aef8e1e9 SITL: added basic wind support in multicopter, plane and quadplane
this adds non-turbulent wind support for the built-in simulators. I
added it primarily for quadplane testing, but it should also be useful
for multicopter navigation testing.
2016-04-20 11:48:37 +10:00
Andrew Tridgell 73a2c99d56 SITL: limit rotational rate to 2000dps 2016-03-26 14:23:05 +11:00
Tom Pittenger 1f714ed75d SITL: handle negative throttle
- negative throttle was causing negative offsets
2016-02-09 14:18:01 +11:00
Andrew Tridgell 7a7bd0607f SITL: first version of FlightAxis SITL support 2016-01-09 07:38:51 +11:00
Andrew Tridgell 62b2a2117d SITL: only report ground contact at most once per second 2016-01-05 09:47:58 +11:00
Andrew Tridgell 33998a58ac SITL: prevent aircraft going below ground level 2016-01-01 17:01:23 +11:00
Andrew Tridgell d425965f6d SITL: expose home yaw to FDMs 2016-01-01 17:00:57 +11:00
Andrew Tridgell 8a98ce427c SITL: moved to common code for attitude/pos update 2016-01-01 15:12:33 +11:00
Tom Pittenger 7236b48518 SITL: compiler warning: double to float demotion
- replace atof() with strtof() for the correct return time
2015-12-08 14:54:58 +09:00
Tom Pittenger f88de986bc SITL: created ADSB simulator to generate additional ghost aircraft within SITL
The values are very aggressive, you'll come into contact with another aircraft very soon
Credit goes to Tridge for this work

This feature is enabled with the following command:
sim_vehicle -A --adsb
2015-11-23 19:45:40 +11:00
Andrew Tridgell 223ce2b6aa SITL: allow FDM models to provide voltage, current and RPM 2015-11-23 13:46:27 +11:00
Andrew Tridgell 585e6dabb8 SITL: FDM structure is no longer a network protocol structure
remove unused fields and change comments
2015-11-23 13:25:00 +11:00
Caio Marcelo de Oliveira Filho 288dc2a385 SITL: clean up includes
Remove unnecessary includes, reorder them in blocks separated by a blank
line

   - Corresponding header file (if exists)
   - System headers
   - Other ArduPilot library headers
   - "Local" headers (from the same library)
2015-10-22 13:36:19 -02:00
Caio Marcelo de Oliveira Filho 8a55b26443 SITL: no need to use #ifdefs
Now that SITL is compiled only when it's needed (i.e. using the SITL
board), there's no need to ifdef its files based on the
CONFIG_HAL_BOARD. So remove them.
2015-10-22 13:36:19 -02:00
Caio Marcelo de Oliveira Filho e2fa456742 SITL: remove "constructor" comment 2015-10-22 11:16:39 -02:00
Caio Marcelo de Oliveira Filho f0a20cdc7c SITL: remove trailing whitespace 2015-10-22 11:15:20 -02:00