From dd6b2450dbf9ad3167b1f99b8bd0d635d779b827 Mon Sep 17 00:00:00 2001 From: Kamil Masalimov Date: Wed, 17 Apr 2024 09:41:34 +0500 Subject: [PATCH] Fix Readme files (#12) * Rename README.md to README-ru.md * Update README-ru.md * Create README.md * Create README-cn.md * Update readme.md --- README-cn.md | 27 +++++++++++ README-ru.md | 27 +++++++++++ README.md | 45 ++++++++---------- src/decrypt_data/readme.md | 96 +++++++++++++++++++------------------- 4 files changed, 122 insertions(+), 73 deletions(-) create mode 100644 README-cn.md create mode 100644 README-ru.md diff --git a/README-cn.md b/README-cn.md new file mode 100644 index 0000000..651ac2c --- /dev/null +++ b/README-cn.md @@ -0,0 +1,27 @@ +#crazyflie-数据集 + +## 软件解决方案位于src目录下 +1. 飞行计划 +2. 解密二进制数据的脚本位于decrypt_data目录中。 该目录包含 readme.md 文件,其中包含程序的详细描述 + +## 收集到的实验数据呈现在data目录下 + - 'add_weight_W1_near_M3_M4' - 附加重量 W1 粘贴到 M3 和 M4 螺旋桨附近的胶带上 + - 'add_weight_W1_near_M3' - 附加配重 W1 粘贴在 M3 螺旋桨附近的胶带上 + - 'add_weight_W1_near_M4' - 附加配重 W1 贴在 M4 螺旋桨附近的胶带上 + - 'add_weight_W3_near_M3' - 附加配重 W3 贴在 M3 螺旋桨附近的胶带上 + - 'cut_propeller_M3_1mm' - 螺旋桨损坏(长度减少 1mm)M3 + - 'cut_propeller_M3_2mm' - 螺旋桨损坏(长度减少 2mm)M3 + - 'cut_propeller_M3_3mm' - 螺旋桨损坏(长度减少 3mm)M3 + - 'normal_flight' - 正常模式下的航班 + - 'tape_on_propeller_M1_M3' - 模仿粘附在螺旋桨 M1 和 M3 上的碎片(胶带) + - 'tape_on_propeller_M1_M3_M4' - 模拟粘附在螺旋桨 M1 和 M3、M4 上的碎片(胶带) + - 'tape_on_propeller_M3' - 模仿粘在 M3 螺旋桨上的碎片(胶带) + - 'tape_on_propeller_M3_M4' - 模仿粘附在螺旋桨 M3 和 M4 上的碎片(胶带) + - 'weight_on_string_W2_near_M3' - 附加重量 W2 附加到 M3 螺旋桨附近的 63 厘米长螺纹上 + - 'weight_on_string_W3_near_M3' - 在 M3 螺旋桨附近的 63 厘米长螺纹上附加一个重量为 W3 的附加重物 + +## Bitcraze 的示例项目 +[Bitcraze 示例](https://github.com/bitcraze/crazyflie-lib-python/tree/master/examples) + +## 安装项目依赖 +`pip install cflib` diff --git a/README-ru.md b/README-ru.md new file mode 100644 index 0000000..67c9118 --- /dev/null +++ b/README-ru.md @@ -0,0 +1,27 @@ +# crazyflie-dataset + +## Программные решения расположены в каталоге src +1. Программа полета +2. Скрипты расшифровки бинарных данных расположены в каталоге decrypt_data. В каталоге расположен файл readme.md с подробным описанием программы + +## Собранные экспериментальные данные представлены в каталоге data + - 'add_weight_W1_near_M3_M4' - дополнительный груз весом W1 прикреплен на клейкую ленту возле пропеллеров M3 и M4 + - 'add_weight_W1_near_M3' - дополнительный груз весом W1 прикреплен на клейкую ленту возле пропеллера M3 + - 'add_weight_W1_near_M4' - дополнительный груз весом W1 прикреплен на клейкую ленту возле пропеллера M4 + - 'add_weight_W3_near_M3' - дополнительный груз весом W3 прикреплен на клейкую ленту возле пропеллера M3 + - 'cut_propeller_M3_1mm' - повреждение пропеллера (уменьшение длины на 1мм) M3 + - 'cut_propeller_M3_2mm' - повреждение пропеллера (уменьшение длины на 2мм) M3 + - 'cut_propeller_M3_3mm'- повреждение пропеллера (уменьшение длины на 3мм) M3 + - 'normal_flight' - полеты в нормальном режиме + - 'tape_on_propeller_M1_M3' - имитация налипания мусора (клейкая лента) на пропеллеры M1 и M3 + - 'tape_on_propeller_M1_M3_M4'- имитация налипания мусора (клейкая лента) на пропеллеры M1 и M3, M4 + - 'tape_on_propeller_M3' - имитация налипания мусора (клейкая лента) на пропеллер M3 + - 'tape_on_propeller_M3_M4' - имитация налипания мусора (клейкая лента) на пропеллеры М3 и M4 + - 'weight_on_string_W2_near_M3' - дополнительный груз весом W2 прикреплен на нитке длиной 63см возле пропеллера M3 + - 'weight_on_string_W3_near_M3'- дополнительный груз весом W3 прикреплен на нитке длиной 63см возле пропеллера M3 + +## Примеры проектов от Bitcraze +[Bitcraze examples](https://github.com/bitcraze/crazyflie-lib-python/tree/master/examples) + +## Установка зависимостей проекта +`pip install cflib` diff --git a/README.md b/README.md index ed85fb5..91560c6 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,27 @@ # crazyflie-dataset -## Программные решения расположены в каталоге src -1. Добавить программу полета -2. Скрипты расшифровки бинарных данных расположены в каталоге decrypt_data. В каталоге расположен файл readme.md с подробным описанием программы +## Software solutions are located in the src directory +1. Flight program +2. Scripts for decrypting binary data are located in the decrypt_data directory. The directory contains the readme.md file with a detailed description of the program -## Собранные экспериментальные данные представлены в каталоге data -Добавить подробные описания условий эксперимента со ссылками на фото +## The collected experimental data is presented in the data directory + - 'add_weight_W1_near_M3_M4' - additional weight W1 is attached to the adhesive tape near the M3 and M4 propellers + - 'add_weight_W1_near_M3' - additional weight W1 is attached to adhesive tape near the M3 propeller + - 'add_weight_W1_near_M4' - additional weight W1 is attached to adhesive tape near the M4 propeller + - 'add_weight_W3_near_M3' - additional weight W3 is attached to adhesive tape near the M3 propeller + - 'cut_propeller_M3_1mm' - damage to the propeller (length reduction by 1mm) M3 + - 'cut_propeller_M3_2mm' - damage to the propeller (length reduction by 2mm) M3 + - 'cut_propeller_M3_3mm' - damage to the propeller (reduction in length by 3mm) M3 + - 'normal_flight' - flights in normal mode + - 'tape_on_propeller_M1_M3' - imitation of debris (adhesive tape) sticking to propellers M1 and M3 + - 'tape_on_propeller_M1_M3_M4' - imitation of debris sticking (adhesive tape) on propellers M1 and M3, M4 + - 'tape_on_propeller_M3' - imitation of debris (adhesive tape) sticking to the M3 propeller + - 'tape_on_propeller_M3_M4' - imitation of debris (adhesive tape) sticking to propellers M3 and M4 + - 'weight_on_string_W2_near_M3' - an additional weight of weight W2 is attached to a 63cm long thread near the M3 propeller + - 'weight_on_string_W3_near_M3' - an additional weight weighing W3 is attached to a 63cm long thread near the M3 propeller -Коротко: - - 'add_weight_W1_near_M3_M4' - дополнительный груз весом W1 прикреплен на клейкую ленту возле пропеллеров M3 и M4 - - 'add_weight_W1_near_M3' - дополнительный груз весом W1 прикреплен на клейкую ленту возле пропеллера M3 - - 'add_weight_W1_near_M4' - дополнительный груз весом W1 прикреплен на клейкую ленту возле пропеллера M4 - - 'add_weight_W3_near_M3' - дополнительный груз весом W3 прикреплен на клейкую ленту возле пропеллера M3 - - 'cut_propeller_M3_1mm' - повреждение пропеллера (уменьшение длины на 1мм) M3 - - 'cut_propeller_M3_2mm' - повреждение пропеллера (уменьшение длины на 2мм) M3 - - 'cut_propeller_M3_3mm'- повреждение пропеллера (уменьшение длины на 3мм) M3 - - 'normal_flight' - полеты в нормальном режиме - - 'tape_on_propeller_M1_M3' - имитация налипания мусора (клейкая лента) на пропеллеры M1 и M3 - - 'tape_on_propeller_M1_M3_M4'- имитация налипания мусора (клейкая лента) на пропеллеры M1 и M3, M4 - - 'tape_on_propeller_M3' - имитация налипания мусора (клейкая лента) на пропеллер M3 - - 'tape_on_propeller_M3_M4' - имитация налипания мусора (клейкая лента) на пропеллеры М3 и M4 - - 'weight_on_string_W2_near_M3' - дополнительный груз весом W2 прикреплен на нитке длиной 63см возле пропеллера M3 - - 'weight_on_string_W3_near_M3'- дополнительный груз весом W3 прикреплен на нитке длиной 63см возле пропеллера M3 - -## Примеры проектов от Bitcraze +## Example projects from Bitcraze [Bitcraze examples](https://github.com/bitcraze/crazyflie-lib-python/tree/master/examples) -## Установка зависимостей проекта +## Installing project dependencies `pip install cflib` - - diff --git a/src/decrypt_data/readme.md b/src/decrypt_data/readme.md index 16f2c6a..da6fe08 100644 --- a/src/decrypt_data/readme.md +++ b/src/decrypt_data/readme.md @@ -1,57 +1,57 @@ -# Общие сведения -Скрипты построения графиков по логам, собранным в бинарном виде: +# General information +Scripts for plotting graphs based on logs collected in binary form: 1. decrypt_controller_data.py 2. decrypt_motor_data.py -Сборка логов в ходе полета на карту microSD, перечень параметров задается в файле config.txt. +Collecting logs during the flight onto a microSD card; the list of parameters is specified in the config.txt file. -# Перечень логируемых параметров, расшифровываемых скриптом +# List of logged parameters decrypted by the script -## Скриптом decrypt_controller_data.py -- stateEstimate.x Расчетное положение платформы в глобальной системе отсчета, X [м]. -- stateEstimate.y Расчетное положение платформы в глобальной системе отсчета, Y [м]. -- stateEstimate.z Расчетное положение платформы в глобальной системе отсчета, Z [м]. -- controller.cmd_roll Команда крена. -- controller.cmd_pitch Команда тангажа. -- controller.cmd_yaw Команда рыскания. -- controller.r_roll Измерение крена гироскопом в радианах. -- controller.r_pitch Измерение тангажа гироскопом в радианах. -- controller.r_yaw Измерение рысканья в радианах. -- controller.accelz Ускорение по оси z в G-force. -- controller.actuatorThrust Команда тяги без компенсации (наклона). -- controller.roll Желаемое заданное значение крена. -- controller.pitch Желаемое заданное значение тангажа. -- controller.yaw Желаемое заданное значение рыскания. -- controller.rollRate Желаемое заданное значение скорости крена. -- controller.pitchRate Желаемое заданное значение скорости тангажа. -- controller.yawRate Желаемое заданное значение скорости рыскания. -- controller.ctr_yaw Что-то с рысканьем. +## Script decrypt_controller_data.py +- stateEstimate.x Estimated position of the platform in the global reference system, X [m]. +- stateEstimate.y Estimated position of the platform in the global reference system, Y [m]. +- stateEstimate.z Estimated position of the platform in the global reference system, Z [m]. +- controller.cmd_roll Roll command. +- controller.cmd_pitch Pitch command. +- controller.cmd_yaw Yaw command. +- controller.r_roll Roll measurement by gyroscope in radians. +- controller.r_pitch Pitch measurement by the gyroscope in radians. +- controller.r_yaw Yaw measurement in radians. +- controller.accelz Acceleration along the z axis in G-force. +- controller.actuatorThrust Thrust command without compensation (tilt). +- controller.roll Desired roll setpoint. +- controller.pitch Desired pitch reference value. +- controller.yaw Desired yaw setpoint. +- controller.rollRate Desired roll rate setpoint. +- controller.pitchRate Desired pitch rate setpoint. +- controller.yawRate Desired yaw rate setpoint. +- controller.ctr_yaw Something with yaw. -## Скриптом decrypt_motor_data.py -- motor.m1 Мощность мотора М1 -- motor.m2 Мощность мотора М2 -- motor.m3 Мощность мотора М3 -- motor.m4 Мощность мотора М4 -- pwm.m1_pwm Сила тока ШИМ на выходе для мотора М1 -- pwm.m2_pwm Сила тока ШИМ на выходе для мотора М2 -- pwm.m3_pwm Сила тока ШИМ на выходе для мотора М3 -- pwm.m4_pwm Сила тока ШИМ на выходе для мотора М4 -- pm.vbatMV Заряд батареи (mV) -- stateEstimate.x Расчетное положение платформы в глобальной системе отсчета, X [м]. -- stateEstimate.y Расчетное положение платформы в глобальной системе отсчета, Y [м]. -- stateEstimate.z Расчетное положение платформы в глобальной системе отсчета, Z [м]. -- stateEstimate.vx Скорость Crazyflie в глобальной системе отсчета, X [м/с]. -- stateEstimate.vy Скорость Crazyflie в глобальной системе отсчета, Y [м/с]. -- stateEstimate.vz Скорость Crazyflie в глобальной системе отсчета, Z [м/с]. -- stateEstimate.ax Ускорение Crazyflie в глобальной системе отсчета, X [Gs]. -- stateEstimate.ay Ускорение Crazyflie в глобальной системе отсчета, Y [Gs]. -- stateEstimate.az Ускорение Crazyflie в глобальной системе отсчета, без учета гравитации, Z [Gs]. -- stateEstimate.roll Положение в пространстве, угол крена [градус]. -- stateEstimate.yaw Положение в пространстве, угол рыскания [градус]. +## Script decrypt_motor_data.py +- motor.m1 Motor power M1 +- motor.m2 Motor power M2 +- motor.m3 Motor power M3 +- motor.m4 Motor power M4 +- pwm.m1_pwm PWM output current for motor M1 +- pwm.m2_pwm PWM output current for motor M2 +- pwm.m3_pwm PWM output current for motor M3 +- pwm.m4_pwm PWM output current for motor M4 +- pm.vbatMV Battery charge (mV) +- stateEstimate.x Estimated position of the platform in the global reference system, X [m]. +- stateEstimate.y Estimated position of the platform in the global reference system, Y [m]. +- stateEstimate.z Estimated position of the platform in the global reference system, Z [m]. +- stateEstimate.vx Crazyflie speed in global reference frame, X [m/s]. +- stateEstimate.vy Speed of Crazyflie in the global reference frame, Y [m/s]. +- stateEstimate.vz Speed of Crazyflie in the global reference frame, Z [m/s]. +- stateEstimate.ax Crazyflie acceleration in global reference frame, X [Gs]. +- stateEstimate.ay Crazyflie acceleration in global reference frame, Y [Gs]. +- stateEstimate.az Acceleration of Crazyflie in the global reference frame, excluding gravity, Z [Gs]. +- stateEstimate.roll Position in space, roll angle [degree]. +- stateEstimate.yaw Position in space, yaw angle [degree]. -# Запуск скрипта -В качестве аргумента скрипта, передается путь к файлу, содержащему лог полета. +# Run script +As a script argument, the path to the file containing the flight log is passed. -Пример запуска скрипта: +Example of running a script: - python3 ./src/decrypt_data/decrypt_controller_data.py "./data/controller_data/add_weight_W1_near_M3_M4/E8_log00" + python3 ./src/decrypt_data/decrypt_controller_data.py "./data/controller_data/add_weight_W1_near_M3_M4/E8_log00"