Commit Graph

1143 Commits

Author SHA1 Message Date
Peter Barker 2f710a4689 SITL: correct MegaSquirt simulation 2023-11-17 13:09:02 +11:00
Peter Barker bd05fad850 SITL: add code to add, remove or corrupt bytes in SITL::SerialDevice xfrs 2023-11-17 10:56:25 +11:00
Peter Barker 2a2a103195 SITL: add JAE JRE simulator 2023-11-15 10:50:49 +11:00
Ryan Friedman 6273fee892 AP_GPS: Rename GSOF packing functions
* Added docs for why they exist

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-03 13:25:39 +11:00
Peter Barker fbe690d44b SITL: track simulated ADSB vehicles relative to simulation origin
removes dependence on ArduPilot AHRS library

Also removes vehicles based off vehicle simulated position rather than distance-from-origin, so you always have company
2023-11-02 15:52:42 +11:00
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