Commit Graph

1188 Commits

Author SHA1 Message Date
Peter Barker 4ec80076a1 SITL: correct bit for enabling MXS simulation 2023-11-02 15:52:17 +11:00
Andrew Tridgell f7a1227c25 SITL: added SIM_MAG_SAVE_IDS
this controls whether SITL saves device IDs for compasses on startup
so the compasses always appear calibrated
2023-10-31 10:14:42 +11:00
Peter Barker fd67c71eb0 SITL: add Sagetech MXS simulator 2023-10-25 20:06:47 +11:00
Andrew Tridgell 030dfe2fa1 SITL: use AP_BUILD_ROOT 2023-10-25 09:50:08 +11:00
Andrew Tridgell 928d50900a SITL: use connect_timeout() for realflight
this gives much better handling of network glitches, preventing long
simulation timeouts which impact on the stability of the simulation
2023-10-23 20:27:49 +11:00
Anthony Luo 51cbaed9d9 SITL: fix typos 2023-10-05 12:54:43 +11:00
Anthony Luo 021d9717c4 SITL: document airspeed params 2023-10-05 08:18:44 +11:00
Andrew Tridgell be01fcfdfd SITL: use mavlink_XXX_encode_status()
this avoids clobbering sequence numbers and fixes race conditions
2023-10-02 21:45:28 +11:00
Samuel Tabor 40f62949b3 Send lat lon in SIM_STATE as int32_t extensions 2023-09-27 14:14:37 -07:00
Tom Pittenger 8c4d00e6f2 SITL: add a thermal at home 2023-09-27 12:19:00 -07:00
Peter Barker 34bceb8eec SITL: log achieved speedup rate 2023-09-23 19:49:02 +10:00
Peter Barker 1208938d3b SITL: fix balancebot yaw reset to be kinimatically consistent
... or at least closer to it.

We were hard-resetting the yaw to zero when the vehicle was upright.  That makes for huge simulated gyro rates, and that means the differences between the gyros can be huge sample-to-sample, so we can get gyros-inconsistent errors.

Fix things so we don't reset yaw at the same time as pitch, and also twist the vehicle to point North again when disarmed.
2023-09-20 22:59:41 +10:00
Anthony Luo f0d7a367f4 SITL: document SIM_FLOW_* params 2023-09-12 18:56:06 +10:00
James O'Shannessy 8125ba1a41 SITL: add hardware relay enable mask for passing relays through to hardware 2023-09-11 12:21:13 +10:00
Ryan Friedman 0432863832 SITL: Add missing shebang
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-09-08 17:09:26 +10:00
Peter Barker d9818ae1ab SITL: add simulation instructions for TSYS03 sensor 2023-09-06 23:00:30 +10:00
Anthony Luo 6201f56d40 SITL: document SITL GPS params
* Document GPS_LAG_MS

* Document GPS2_LAG_MS, Consistency fixes

* document DriftAlt & Hz

* document GPS_POS offsets

* document locktime and noise

* document GPS_ALT_OFS and GPS_HDG

* document GPS_ACC

* Finish documenting GPS parameters
2023-09-05 10:02:43 +10:00
Peter Barker 390b025fa0 SITL: add simulator for TSYS03 temperature sensor 2023-09-05 07:17:00 +10:00
Peter Barker 7e0c178c6c SITL: add temperature to battery simulation 2023-09-05 07:17:00 +10:00
Anthony Luo 991e429afb SITL: document SIM_GPS_BYTELOSS and SIM_GPS_NUMSATS 2023-08-31 16:58:06 +10:00
Andrew Tridgell 3508d7eaa9 SITL: added SIM_CAN_TYPE0 and SIM_CAN_TYPE1
this selects the transport to use for CAN
2023-08-29 15:09:48 +10:00
Ryan Friedman 461a8dc86f SITL: split to MicroStrain5
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-29 10:31:44 +10:00
Peter Barker 7fff465251 SITL: SIM_ICEngine sends diagnostics to GCS rather than stdout
makes it much easier to see what the simulated engine is doing
2023-08-26 21:21:49 +10:00
Peter Barker 149921792c SITL: document SIM_ACCx_BIAS_y 2023-08-26 16:15:58 +10:00
Andrew Tridgell 1b6c329de5 SITL: use NaN for invalid rangefinder data
needed to cope properly with terrain errors leading to negative
rangefinder data
2023-08-24 13:06:40 +10:00
Andrew Tridgell 4e71023018 SITL: added SIM_CAN_SRV_MSK
mask of outputs that will come from the CAN SITL peripheral
2023-08-24 13:06:40 +10:00
Andrew Tridgell 9cde659545 SITL: disable gimbal and ADSB in SITL periph
lack of MAVLink makes these problematic
2023-08-24 13:06:40 +10:00
Andrew Tridgell 791d0acefe SITL: removed GPS FIFO 2023-08-24 13:06:40 +10:00
Peter Barker 84b3c9e267 SITL: reset balancebot to vertical in a kinmetically consistent manner
The hard-reset of all state variables means we feed the EKF inconsistent gyro data.  Attempt to upright the vehicle with a simple p-gain when it is disarmed, as if someone is pushing the thing back upright
2023-08-21 22:09:04 +10:00
Michelle Rossouw 26bbd6536a SITL: Improve Blimp dynamics and fin motion to be more realistic, allow SITL loop rate to be changed and add more logging 2023-08-21 21:01:47 +10:00
Andrew Tridgell 3e3c086ab7 SITL: build the whole simulator as double precision 2023-08-15 22:39:23 +10:00
Michelle Rossouw e4d44c1006 SITL: Make SIM_Aircraft use double precision to stop SITL's short-range teleporting 2023-08-12 10:49:02 +10:00
Peter Barker 7f8df080f8 SITL: correct compilation for CubeOrange-SimOnHardware
../../libraries/SITL/SIM_GPS.cpp: In member function 'void SITL::GPS::send_gsof(const uint8_t*, uint16_t)':
../../libraries/SITL/SIM_GPS.cpp:1292:24: error: 'AP_InternalError' has not been declared
 1292 |         INTERNAL_ERROR(AP_InternalError::error_t::flow_of_control);
2023-08-11 12:40:59 +10:00
Peter Barker 65cc16c51d SITL: add descriptions for simulated IMU scale factors 2023-08-11 10:34:02 +10:00
Peter Barker cbd2b199eb SITL: factor simulated GPS 2023-08-11 10:01:56 +10:00
Ryan Friedman 6a2a852450 SITL: Implement GSOF SIM
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-09 12:26:10 +10:00
bnsgeyer 53100c8e96 SITL: fix vertical axis dynamics for autorotation 2023-08-07 22:10:09 -04:00
Ryan Friedman 843a14ee57 SITL: Add heading and speed_2d utils
* These are also needed by the upcoming GSOF PR

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 08:40:58 -07:00
Ryan Friedman 7c2baa75d9 SITL: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Peter Barker 5d52d7f78b SITL: add description for SIM_BATT_VOLTAGE 2023-08-07 15:32:31 +10:00
Andrew Tridgell 217f073165 SITL: added simulated MSP GPS 2023-07-31 14:24:04 +10:00
Andy Piper 3224cf19a8 SITL: remove unused variables 2023-07-13 11:02:40 +10:00
Peter Barker 6b87318062 SITL: act on safety switch being enabled in SITL by zeroing outputs 2023-07-12 17:53:12 +10:00
rishabsingh3003 6b8dfdfc10 SITL: Add simulated nooploop tofsense 2023-06-28 17:16:22 +10:00
Peter Barker 320bd43334 SITL: use SIM_config for ship and adsb simulations 2023-06-17 17:57:15 +10:00
Peter Barker 5791aea3fc SITL: correct compilation when AP_SIM_IS31FL3195_ENABLED off
object won't exist in that case
2023-06-17 15:14:45 +10:00
bnsgeyer a18c818949 SITL: cleanup tradheli gas engine inputs 2023-06-16 23:18:23 +10:00
bnsgeyer 1bef3839e5 SITL: tradheli - add gas engine model for conventional heli 2023-06-16 23:18:23 +10:00
Peter Barker 7952e99813 SITL: add IS31FL3195 simulator 2023-06-15 12:14:26 +10:00
Randy Mackay 29292c2aaa SITL: simulated SF45b fixes and enhancements
resolve crash if time_delta_ms is too long
correct sample_count calculation
sends one reading per 3deg (closer to real device)
distance max is 53m
returns -1m on failure
sweeps back and forth -190~190 deg
2023-06-14 17:49:30 +10:00
Ryan Friedman 35dda812ae SITL: Value Semantics for TOW calc
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-05-31 15:01:31 +10:00
Peter Barker dccac6dfd0 SITL: add documentation for SIM_GPS_TYPE and SIM_GPS2_TYPE 2023-05-25 17:59:12 +10:00
Peter Barker 34a55166f8 SITL: correct compilation for SimOnHardware 2023-05-22 22:55:54 +10:00
Peter Barker bce2625918 SITL: fix missing method declaration compile failure
RyanF found this when eliminating other problems
2023-05-20 17:28:08 +10:00
Henry Wurzburg 68ff5a2b48 SITL: add metadata to simulated compass 2023-05-18 11:18:23 +10:00
Henry Wurzburg 0a060aa520 SITL: Move SITL on hdwr scripts to Tools and simplify 2023-05-16 21:11:36 +10:00
Peter Barker 29d6c51f43 SITL: stop using mavlink channels for packing messages
precedent was set in the mavlink rangefinder; we don't need to re-use SITL buffers for this
2023-05-16 10:17:56 +10:00
Peter Barker ae7fb93e4c AP_HAL_SITL: add simulated RPLidarA1 2023-05-16 10:15:23 +10:00
Peter Barker 2257d4686f SITL: add simulated RPLidarA1 2023-05-16 10:15:23 +10:00
Peter Barker ae6b1ffc8f SITL: factor RPLidar simulation to allow for subclassing 2023-05-16 10:15:23 +10:00
Peter Barker 5ba3260870 SITL: rename SIM_PS_RPLidarA2 to SIM_PS_RPLidar 2023-05-16 10:15:23 +10:00
Peter Barker 742416c2aa SITL: RPLidar: add support for GET_DEVICE_INFO command 2023-05-16 10:15:23 +10:00
Peter Barker b7f3d25bed SITL: add simulator for LM2755 RGBLED 2023-05-15 22:02:07 +10:00
Peter Barker aac43a2302 SITL: guard against LP5562 not being included
... not included on SIMOnHardware, for  example
2023-05-14 18:25:36 +10:00
Peter Barker 67537b1806 SITL: add simulator for RDS02UF rangefinder 2023-05-13 20:05:18 +10:00
Peter Barker 19d2659179 SITL: add simulator for LP5562 RGBLED 2023-05-11 11:08:50 +10:00
Pierre Kancir 442d4ba4e0 SITL: fix memory leak on multi fcu json sim 2023-05-09 20:39:04 +10:00
Willian Galvani 9179bce1ca SITL: initialize battery at 0V 2023-04-12 15:20:05 +10:00
Andrew Tridgell 4c4af3330a SITL: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
Rhys Mainwaring c3b576a72f SITL: enable 32 servos in SITL_JSON
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>

SITL: update JSON readme

- Update servo data packet section for 32 channel output.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-03-29 21:56:38 +11:00
bugobliterator 5f2dd4ab5c SITL: add support for testing DroneCAN 2023-03-29 17:16:39 +11:00
bugobliterator e7533c006b SITL: add support for auxiliary IMUs 2023-03-21 10:04:16 +11:00
Andrew Tridgell d659642826 SITL: prevent a conflict with a _serialize() macro on cygwin
some cygwin versions define a macro _serialize with 1 argument
2023-03-15 19:32:22 +11:00
Pierre Kancir f0777b5cb0 SITL: constraint SITL rover to 360deg/s yaw rate on ackerman
This prevent the gsf to blow up due to the rover reaching 1042 deg/s yaw rate.
2023-03-15 19:31:26 +11:00
Peter Barker 1cdcc0b5f1 SITL: add documentation for SIM_OPOS* and SIM_FLOAT_EXCEPT 2023-03-14 10:44:28 +11:00
Peter Barker 06e20761de SITL: improve IE24 simulated tank pressure
this is simply the inverse of what the flight code does
2023-03-11 11:50:20 +11:00
Peter Barker 05c996bfcc SITL: correct use of uninitialised stack data in SIM_Gimbal 2023-03-06 14:18:59 +11:00
Peter Barker 8f7f0d5e72 SITL: add and use SIM_RGBLED 2023-02-28 10:24:43 +11:00
Peter Barker 4591895540 SITL: add gyro bias simulation 2023-02-24 09:21:42 +11:00
James O'Shannessy 010b4fc58c SITL: Remove support for reading gyro data from file for SIM on Hardware build 2023-02-21 16:48:43 +11:00
Andrew Tridgell 5a4fee6ac3 SITL: fixed orientation of XPlane11 gyro data 2023-02-20 06:59:13 +11:00
Andrew Tridgell ab723a6fd4 SITL: stop cygwin from trying to create FIFOs
some users find the error message annoying
2023-02-15 09:05:59 -08:00
Bill Geyer 978086490d SITL: improved dual heli model 2023-02-13 18:32:37 -05:00
Bill Geyer 062dade189 SITL: add tradheli support for autorotation simulation 2023-02-13 18:32:37 -05:00
Bill Geyer 8d1a362db7 SITL: fix heli RPM for heli SITL models 2023-02-07 11:05:29 +11:00
Andrew Tridgell 000c39ed27 SITL: fixed RealFlight RPM 2023-02-04 13:33:47 -05:00
Andrew Tridgell 7a4483b091 SITL: new XPlane backend
this makes use of DRefs to greatly improve XPlane support. It only
supports XPlane 11 and later

The key change is the use of a JSON file to map ArduPilot output
channels to DataRefs, and map raw joystick inputs to RC inputs

this gets rid of the awful throttle hack handling, and allows for
control of a much wider range of aircraft
2023-01-31 11:22:08 +11:00
Andrew Tridgell 0f35286041 SITL: fixed SIM lidar for FlightAxis 2023-01-24 16:09:23 +11:00
Ian d358ca1b32 SITL: Add Webots 2023a support and examples
The various C Webots controllers are replaced by a single Python controller
- More readable (in my opinion)
- Does not require compilation
- Easily modifiable to run user code
- Can be blackboxed and configured via arguments when designing a robot model
- Optionally provides the ability to stream camera images over TCP
- Generalizable to copters and rovers (and probably more)
- Supports multi-vehicle simulation (including of multiple types)
- Requires no non-standard libraries (neither does current)

Higher fidelity example worlds
- Iris quadcopter demo world similar to gazebo
- Crazyflie quadcopter demo world (crazyflie models baked into webots)
- Pioneer3at rover demo world (pioneer models baked into webots)
2023-01-22 18:19:38 +11:00
Peter Barker 591d587ed0 SITL: document SIM_ESC_TELEM
this is the perfect telemetry stream; we don't want to override other telemetry streams
2023-01-18 18:07:23 +11:00
Peter Barker 5078e6ea00 SITL: exclude SIM_SAIL_TYPE from non-Rover builds 2023-01-17 11:23:40 +11:00
Peter Barker 0c7ce291ec SITL: document the SIM_WOW_PIN parameter 2023-01-17 11:23:40 +11:00
Henry Wurzburg 509d4b7fbf SITL:make MAG1 param consistent names 2023-01-17 08:45:30 +11:00
Henry Wurzburg e96a55c1b6 SITL:add SIM param metadata 2023-01-15 21:58:12 +11:00
Andrew Tridgell d3ea7b0ca6 SITL: added SIM_UART_LOSS parameter 2023-01-15 21:57:15 +11:00
Henry Wurzburg c79672b96c SITL: add SITL param metadata and fix a few 2023-01-12 09:19:27 +11:00
Iampete1 621e01fbcc SITL: VectorNav: update simulated VN-300 for new packet type 2023-01-03 10:32:20 +11:00
Iampete1 baa642896e SITL: update for new airspeed tube order param name 2023-01-03 10:17:56 +11:00
Peter Barker e43b1dd2eb SITL: tidy simulated proximity sensor constructors 2022-12-28 21:52:27 +11:00
Andy Piper ec7be5c417 SITL: add parameters to control reading and writing IMU data to a file
add exit on stop to reading IMU data from a file
2022-12-28 18:14:56 +11:00
Andrew Tridgell 057190caa8 SITL: update SITL on hw docs 2022-12-24 07:27:04 +11:00
Andrew Tridgell 0da81f7269 SITL: remove old sitl-on-hw.sh 2022-12-24 07:27:04 +11:00
Andrew Tridgell 87a220991b SITL: new sitl-on-hw.py script
this makes it easier to build SITL on hardware for a wide range of
frames
2022-12-24 07:27:04 +11:00
Andrew Tridgell fdd0d0ae53 SITL: default SIM_RATE_HZ to 400 in SITL-on-hw 2022-12-24 07:27:04 +11:00
Andrew Tridgell 01cad1c4aa SITL: added SIM_GPS_LOG_NUM
for replaying GPS logs recorded with --enable-gps-logging
2022-12-20 10:23:58 +11:00
Andrew Tridgell 78dac16520 SITL: make serial buffer size configurable
we need a larger buffer size for NMEA GPS modules
2022-12-20 10:23:58 +11:00
Tatsuya Yamaguchi ccc5ba3cbd SITL: change HDOP from 2.0 to 1.2 2022-12-19 08:28:45 +09:00
Andy Piper 71a27027f1 SITL: add baro wind coefficients for Z-axis. 2022-12-14 19:19:58 +11:00
Peter Barker 1eb5911bf5 SITL: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Andrew Tridgell eed6edc3b0 SITL: fixed sign of wind with AHRS_EKF_TYPE=10 and builtin models
an alternative to #21929 that doesn't break RealFlight

needs testing with sailboats
2022-12-11 09:42:07 +11:00
Andrew Tridgell 7039088c7b SITL: added SIM_TIME_JITTER parameter
for adding timing jitter in SITL
2022-12-06 11:03:50 +11:00
Randy Mackay 90498579f3 SITL: vicon odometry corrected 2022-11-28 17:21:23 +11:00
Henry Wurzburg cff3066591 SITL: add synthetic current sensor,fix SITL current 2022-11-24 06:53:35 +11:00
Andrew Tridgell 7942b58fba SITL: load plane-3d.parm when -f plane-3d is chosen
this gets the right parameters in MissionPlanner SITL
2022-11-10 10:30:53 +11:00
Andrew Tridgell 48415de472 SITL: cope better with timing glitches in RealFlight 2022-11-07 21:22:43 +11:00
Peter Barker f6d853d629 SITL: look for AP_GyroFFT rather than HAL-DSP support 2022-11-05 14:52:10 +11:00
Andrew Tridgell 256addc0f0 SITL: added plane-3d for aerobatic plane 2022-10-19 23:25:22 +11:00
Joshua Henderson 3fdf87a6c7 SITL: TSYS01 add sim temperature based on altitude 2022-10-18 10:05:31 +11:00
Andrew Tridgell 1138f9e624 SITL: allow for extra actuators to be marked as motors 2022-10-16 20:38:19 +11:00
Andrew Tridgell a0af08a3aa SITL switched to motor_mask for which actuators are motors
this allows for any output to be an ESC, which allows for proper
simulation of quadplanes with ESCs on outputs 5-8 or 9-12, for testing
notch filtering
2022-10-16 20:38:19 +11:00
Andrew Tridgell 4b8b2d8236 SITL: support playback of new GPS log format 2022-10-15 17:20:42 +11:00
Peter Barker 6be8d9cd06 SITL: remove unneeded circular rangfinder include 2022-10-11 10:50:13 +11:00
murata 272e719a14 SITL: Make the same process into a method 2022-10-06 08:42:13 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Peter Barker a56ed66aa3 SITL: make NOVA run at specific baudrate 2022-09-29 20:00:53 +10:00
Peter Barker 0717c3409b SITL: SITL SerialDevice optionally checks baudrates match 2022-09-28 20:53:34 +10:00
Shiv Khanna 2814605a2c SITL: Fixed rounding lat/lng issue when running JSBSim SITL
Fixed an issue in recieving aircraft state data from JSBSim where
the location was being converted to degrees but as a float. This
caused rounding issues in the lat and lng. Changed the conversion to use
a double.
2022-09-21 17:58:40 +10:00
Joshua Henderson ff68f08172 SITL: SIM_Rotoye update TEMP_EXT Register 2022-09-20 15:24:10 +10:00
Andrew Tridgell d06600aca1 SITL: fixed tailsitter airspeed in RF9 2022-09-14 16:49:20 +10:00
Andrew Tridgell 0d7da89ef1 SITL: fixed rotation of airspeed in tailsitters in FlightAxis 2022-09-11 07:57:16 +10:00
Andy Piper ab64480d2b SITL: add spin armed rpm 2022-09-07 17:03:03 +01:00
Randy Mackay 93f62e5abe Tools: SilentWings param file MNT updates
These parameters have been renamed but they were always the defaults
2022-09-06 13:53:25 +09:00
Andrew Tridgell 3c232d1f67 SITL: fixes from --ubsan autotest 2022-09-06 10:49:50 +10:00
Randy Mackay 5fbaa4f136 SITL: integrate PRX parameter rename 2022-08-24 18:26:27 +10:00
Peter Barker c0ae7fa5f6 SITL: examples: sitl-on-hw.sh add -m for more defaults 2022-08-23 09:01:30 +10:00
Peter Barker d7d7bb6e77 SITL: allow sitl-on-hw.sh to be invoked from any directory 2022-08-23 09:01:30 +10:00
Shiv Tyagi 8411b2ec03 SITL: add param in SIM_Precland to enable return dist to target 2022-08-18 22:47:43 +10:00
Shiv Tyagi 998119d011 SITL: fix var naming for precland device center 2022-08-09 18:00:11 +10:00
Henry Wurzburg aafc0789f0 SITL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Shiv Tyagi 5167cd1e48 SITL: set z component of precland device pos separately
The position vector passed to update method is relative to home and the precland device origin height is also relative to home. Hence, we
can set the height of precland origin separately in a 3d vec containing its position relative to home
2022-08-05 10:17:19 +10:00
Iampete1 b3f09e5573 SITL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 79b44b2517 SITL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 223b005d29 SITL: SIM_Buzzer: hide params if not WITH_SITL_TONEALARM 2022-08-02 10:49:11 +10:00
Andrew Tridgell 8cc5172ff3 SITL: fill in wind from flightaxis 2022-08-02 07:49:34 +10:00
Iampete1 7683b36e3b SITL: set compass vector after loading defualts 2022-07-28 16:51:33 +10:00
Peter Barker 44cc3de7a6 SITL: remove transitive include dependencies 2022-07-20 17:32:24 +10:00
Leonard Hall f8e74d1da3 SITL: Make Yaw control scale with aircraft size 2022-07-19 09:24:45 +10:00
Shiv Tyagi 489a27ca19 SITL: fix sim_precland orientation bug 2022-07-11 10:10:55 +10:00
Andrew Tridgell 6b55073508 SITL: added SIM_VIB_MOT_HMNC parameter 2022-07-03 18:47:33 +10:00
Peter Barker db59117b83 SITL: add tests for ICE Planes 2022-07-01 19:33:51 +10:00