Oleg Kalachev
be3d2be9d3
Fix Vector::angularRatesBetweenVectors return NaNs on opposite vectors
2024-05-21 10:50:47 +03:00
Oleg Kalachev
ad6bc02643
Minor fixes and changes
2024-05-21 10:49:57 +03:00
Oleg Kalachev
b91f4d3b6d
Install arduino-cli to /usr/local/bin
...
The Arduino docs probably has mistake offering non-existent ~/local/bin path instead of ~/.local/bin.
Some systems lack ~/.local/bin as well, so simply use /usr/local/bin.
Also install arduino-cli in CI the same way as in the docs to check them.
2024-05-21 10:34:05 +03:00
Oleg Kalachev
28da7baf61
Add link to Habr article to readme
2024-05-17 07:59:18 +03:00
Oleg Kalachev
7516279132
Add requirements.txt for tools
2024-05-10 22:28:42 +03:00
Oleg Kalachev
a383c83a29
Minor update to .editorconfig
2024-05-02 21:22:13 +03:00
Oleg Kalachev
6392c4a97a
Update dataflow diagram to reflect newly introduced gyro variable
2024-05-01 02:35:30 +03:00
Oleg Kalachev
cfb2e60310
Add correct rules to yml files editor config
2024-05-01 02:33:44 +03:00
Oleg Kalachev
41a9a95747
Transfer gyro low pass filter to estimate.ino
...
Separate raw gyro data and filtered rates to different variables
2024-04-20 14:52:01 +03:00
Oleg Kalachev
24e8569905
Make Vector methods arguments more consistent
2024-04-20 10:57:32 +03:00
Oleg Kalachev
fb80b899e0
Refine Gazebo installation instructions for macOS
2024-04-09 02:45:21 +03:00
Oleg Kalachev
d095b81d7e
Print out loop frequency on imu command
2024-04-02 22:28:02 +03:00
Oleg Kalachev
28a6bf2230
Add info about motors testing commands to intro message
2024-03-30 18:23:42 +03:00
Oleg Kalachev
fff7262d1b
Minor fix for SBUS dummy for simulator
2024-03-23 09:20:08 +03:00
Oleg Kalachev
646fa46f6b
Use FlixPeriph library for SBUS
2024-03-17 02:29:37 +03:00
Oleg Kalachev
f782f647cb
Correctly restore IMU settings after accel calibration
2024-03-15 13:26:59 +03:00
Oleg Kalachev
32f29dc1a4
Use default SPI CS pin for IMU
2024-03-15 13:14:28 +03:00
Oleg Kalachev
2cf1c7abb3
Use FlixPeriph library for IMU, implement own IMU calibration
2024-03-15 10:38:48 +03:00
Oleg Kalachev
d752cce0cc
Fix accel calibration upside down wait time
2024-03-12 00:36:53 +03:00
Oleg Kalachev
aeec8e34eb
Add auto-center throttle setting notice to QGC usage documentation
2024-03-03 21:08:43 +03:00
Oleg Kalachev
34a81536c2
Fix reverse motors pwm
2024-03-02 15:37:38 +03:00
Oleg Kalachev
1c9b10a674
Use default recommended chip-select pin (GPIO5) for SPI
...
Update link to the schematics #3 to the most recent version
2024-02-24 15:28:41 +03:00
Oleg Kalachev
ab2f99ab59
Simplify making user modes for control, add USER mode
2024-02-22 03:09:12 +03:00
Oleg Kalachev
5b6ef9c50e
Add warning about shaft diameter for the motors
2024-02-21 18:24:35 +03:00
Oleg Kalachev
5ec6b5e665
Make fromEulerZYX accept Vector instead of x, y, z
2024-02-20 04:51:59 +03:00
Oleg Kalachev
85182ac2b8
Use more correct implementation of toEulerZYX fixing some yaw issues
...
We actually need to use Tait–Bryan Z-Y-X angles, not classic Euler's
2024-02-20 04:47:13 +03:00
Oleg Kalachev
455729fdb4
Improve log download: remove empty records, sort by timestamp
...
To make Plotjuggler not to warn about unsorted records everytime
2024-02-18 01:23:33 +03:00
Oleg Kalachev
4eec63adfa
Add info about input group for joystick usage in building instructions
2024-02-17 22:17:27 +03:00
Oleg Kalachev
e0db3bee38
Read mode stick using axis read in simulation
2024-02-16 01:13:32 +03:00
Oleg Kalachev
bf803cf345
Display MAVLink remote port in simulator
2024-02-10 14:12:09 +03:00
Oleg Kalachev
33319db1fa
Make rates LPF cut-off frequency equal to 40 Hz
2024-02-07 10:49:31 +03:00
Oleg Kalachev
ba6e63b50b
Correctly set output parameters of simulated SBUS::read, minor name fix
2024-02-06 21:02:20 +03:00
Oleg Kalachev
410fccf015
Fix vector, quaternion, pid and lpf libraries curly braces code style
2024-02-06 13:50:56 +03:00
Oleg Kalachev
31d382dd86
Simplify motors pwm calculation using unified value for all motors
2024-02-06 10:49:48 +03:00
Oleg Kalachev
0661aecccf
Remove unneeded INVERT_SERIAL define
2024-02-04 14:42:57 +03:00
Oleg Kalachev
0f83e8ed80
Add info on how to control the simulated drone to build instructions
2024-01-31 17:20:59 +03:00
Oleg Kalachev
f718af7f0e
Support MAVLink usage in simulation
2024-01-31 12:10:18 +03:00
Oleg Kalachev
4850b95029
Add a readme to gazebo directory
2024-01-31 12:07:37 +03:00
Oleg Kalachev
2694f68b87
Add yaw dead zone in mavlink control
2024-01-31 12:05:49 +03:00
Oleg Kalachev
033e74a375
Minor code cleanups
2024-01-31 12:05:25 +03:00
Oleg Kalachev
a24f039f1d
Fix RC_CHANNELS_SCALED inactive channel values
...
They should be INT16_MAX not UINT16_MAX
2024-01-31 12:04:44 +03:00
Oleg Kalachev
6b52ad562b
Minor const clarification
2024-01-31 12:00:23 +03:00
Oleg Kalachev
69cfc9e5fa
Utilize internal ESP32 UART invertor for SBUS
2024-01-26 13:46:13 +03:00
Oleg Kalachev
1b54b3fa25
Enable macOS build
...
https://github.com/osrf/homebrew-simulation/pull/2526#issuecomment-1904384070
2024-01-26 13:16:17 +03:00
Oleg Kalachev
f794da916d
Disable macos build for now as it takes too long to execute
2024-01-19 05:29:52 +03:00
Oleg Kalachev
ed6d09061b
Rename RC_CHANNEL_AUX to RC_CHANNEL_ARMED
2024-01-19 05:19:41 +03:00
Oleg Kalachev
26a028ff66
Use only STAB mode by default
2024-01-19 05:16:44 +03:00
Oleg Kalachev
2d365dcffe
Minor fixes
2024-01-19 05:14:12 +03:00
Oleg Kalachev
c22961e5ff
Don't calibrate gyro on start since MPU9250 library does that on begin
2024-01-19 05:05:49 +03:00
Oleg Kalachev
9ad718cb85
Fix macOS build
2024-01-19 05:04:40 +03:00
Oleg Kalachev
172f6b173a
MAVLink input support (control using mobile phone)
2024-01-17 15:39:40 +03:00
Oleg Kalachev
8e629e3eea
Minor cleanups
2024-01-17 15:20:38 +03:00
Oleg Kalachev
482bb8ed71
Disable ESP32 reset on low voltage
2024-01-17 15:18:11 +03:00
Oleg Kalachev
4ec6ff3f37
Update main schematics diagram
2024-01-14 17:07:49 +03:00
Oleg Kalachev
9ed41e50a1
Fix actuator_output mavlink message generation
2024-01-13 22:53:30 +03:00
Oleg Kalachev
344835cba8
Add firmware overview article
2024-01-13 14:08:02 +03:00
Oleg Kalachev
654badd097
Fix macos simulator build
2024-01-12 18:34:05 +03:00
Oleg Kalachev
a8cd72e654
Add dataflow diagram to images
2024-01-12 00:44:01 +03:00
Oleg Kalachev
f4aaf0f4f3
Use radians macro, minor change
2024-01-12 00:43:52 +03:00
Oleg Kalachev
1ed05a94dd
Minor code cleanups
2024-01-08 22:33:11 +03:00
Oleg Kalachev
e1e747969b
Add .gitattributes so linguist would detect languages correctly
2024-01-06 14:41:24 +03:00
Oleg Kalachev
48ea797a47
Make simulator read RC through real drone code
2024-01-06 00:09:29 +03:00
Oleg Kalachev
476f24f774
Clarify rates control code
2024-01-06 00:08:30 +03:00
Oleg Kalachev
7a62229125
Minor cleanups
2024-01-05 15:11:07 +03:00
Oleg Kalachev
e7864b1e55
#2 Use official MPU9250 library 1.0.2
...
The release was fixed https://github.com/bolderflight/invensense-imu/issues/123
2024-01-05 14:25:19 +03:00
Oleg Kalachev
f72745a2e7
Add a link to full circuit diagram variant to readme #3
2024-01-04 23:32:17 +03:00
Oleg Kalachev
317ecc95cc
Update libraries index before installing libraries
2024-01-04 19:35:55 +03:00
Oleg Kalachev
d3700d5784
Add note to readme that SBUS inverter is actually not needed
2024-01-04 18:14:13 +03:00
Oleg Kalachev
d84ed99996
Loose port detection wildcard to catch both CP2102 and CP2104 USB-UART bridges
2024-01-04 15:49:43 +03:00
Oleg Kalachev
82f3ab563a
#1 - use MAVLink Arduino library
2024-01-04 12:57:15 +03:00
Oleg Kalachev
2fbebe102e
Define ESP32 Dev Module LED pin
2024-01-03 16:09:43 +03:00
Oleg Kalachev
fe7c06666f
Enchase building instructions for Arduino IDE
2024-01-03 15:36:16 +03:00
Oleg Kalachev
f520b57abe
Implement RC calibration, common for the real drone and the simulation
2024-01-02 11:54:09 +03:00
Oleg Kalachev
78f3f6e3b3
More simulation code minor updates
2023-12-29 19:10:37 +03:00
Oleg Kalachev
46ba00fca7
Add forgotten file
2023-12-29 18:56:32 +03:00
Oleg Kalachev
d2296fea76
Change C++ code style: put curly brace on the same line
2023-12-29 18:56:25 +03:00
Oleg Kalachev
645b148564
Cleanup simulation code, remove debug model showing current attitude estimation
2023-12-29 18:45:19 +03:00
Oleg Kalachev
3207fdb43c
Minor changes
2023-12-29 18:43:34 +03:00
Oleg Kalachev
c58a16e4df
More clear file name for simulation plugin, cleanup in CMakeLists
2023-12-29 13:33:03 +03:00
Oleg Kalachev
adeea474c6
Some updates to build instructions
2023-12-28 13:25:51 +03:00
Oleg Kalachev
fc006d43e2
Fix cmake warning
2023-12-22 02:35:28 +03:00
Oleg Kalachev
776967038c
Remove unused make target
2023-12-21 00:43:02 +03:00
Oleg Kalachev
93bfc5d258
Fix macos build
2023-12-20 12:30:53 +03:00
Oleg Kalachev
d73cfe0c59
Update readme
2023-12-20 09:58:25 +03:00
Oleg Kalachev
343935f98c
Minor fixes
2023-12-19 22:00:30 +03:00
Oleg Kalachev
886e592a20
Enable building simulator for macOS on push
2023-12-19 13:21:25 +03:00
Oleg Kalachev
b278d7cfc1
Add introduction video to readme
2023-12-19 13:12:05 +03:00
Oleg Kalachev
189eac95ef
Enable gyro calibration on the start
2023-12-19 11:36:27 +03:00
Oleg Kalachev
fde9c1cf36
Minor changes and cleanups
2023-12-19 05:25:57 +03:00
Oleg Kalachev
77dd02dbeb
Make components table smaller, fixes
2023-12-19 05:13:15 +03:00
Oleg Kalachev
c3cdb58070
Remove non-existent file include
2023-12-19 05:11:22 +03:00
Oleg Kalachev
ab43ebf7b6
Update readme, add building instructions
2023-12-19 05:09:48 +03:00
Oleg Kalachev
a174d5cd7d
Headers cleanups
2023-12-19 05:06:19 +03:00
Oleg Kalachev
d3e7291197
Guard for angleBetweenVectors function to ensure it doesn't return NaN
2023-12-19 04:58:20 +03:00
Oleg Kalachev
fcd695fdd7
Apply LPF to Gazebo's accel data to remove collision detector glitches, minor cleanups
2023-12-19 04:49:36 +03:00
Oleg Kalachev
57e83040b8
Apply accelerometer in estimation only when we're landed and stable
...
Accelerometer gives only motors specific force in flight, which makes
it useless to determine the current vertial
2023-12-19 04:46:59 +03:00
Oleg Kalachev
415f0e9ad5
Use model name as topics namespace in simulation
2023-12-15 10:03:07 +03:00
Oleg Kalachev
a9bcec2fa5
Main sdf cleanups, minor fix
2023-12-15 09:43:54 +03:00
Oleg Kalachev
f118bca6d1
Correctly fill armed field in heartbeat mavlink message
2023-12-15 09:35:54 +03:00
Oleg Kalachev
32d69cb4a0
Main world file fixes and cleanups, temporarily remove the table
2023-12-15 09:35:09 +03:00