diff --git a/docs/ko/SUMMARY.md b/docs/ko/SUMMARY.md index 91503db28c..468fe2206c 100644 --- a/docs/ko/SUMMARY.md +++ b/docs/ko/SUMMARY.md @@ -35,7 +35,7 @@ - [정압 축적](advanced_config/static_pressure_buildup.md) - [Flying (Basics)](flying/basic_flying_mc.md) - [완성 기체](complete_vehicles_mc/index.md) - - [ModalAI Starling (PX4 Dev Kit)](complete_vehicles_mc/modalai_starling.md) + - [ModalAI Starling](complete_vehicles_mc/modalai_starling.md) - [PX4 비전 키트](complete_vehicles_mc/px4_vision_kit.md) - [마인드레이서 BNF & RTF](complete_vehicles_mc/mindracer_BNF_RTF.md) - [마인드레이서 210](complete_vehicles_mc/mindracer210.md) @@ -194,6 +194,7 @@ - [SVehicle E2](flight_controller/svehicle_e2.md) - [ThePeach FCC-K1](flight_controller/thepeach_k1.md) - [ThePeach FCC-R1](flight_controller/thepeach_r1.md) + - [AP-H743-R1](flight_controller/x-mav_ap-h743r1.md) - [Experimental Autopilots](flight_controller/autopilot_experimental.md) - [BeagleBone Blue](flight_controller/beaglebone_blue.md) - [Raspberry Pi 2/3 Navio2](flight_controller/raspberry_pi_navio2.md) @@ -246,18 +247,22 @@ - [TFSlot Airspeed Sensor](sensor/airspeed_tfslot.md) - [Barometers](sensor/barometer.md) - [거리 센서](sensor/rangefinders.md) + - [Ainstein US-D1 Standard Radar Altimeter](sensor/ulanding_radar.md) + - [ARK DIST SR (CAN/UART)](dronecan/ark_dist.md) + - [ARK DIST MR (CAN/UART)](dronecan/ark_dist_mr.md) + - [Benewake TFmini 라이다](sensor/tfmini.md) + - [LeddarOne 라이다](sensor/leddar_one.md) + - [Lidar-Lite](sensor/lidar_lite.md) - [Lightware Lidars (SF/LW)](sensor/sfxx_lidar.md) - [Lightware SF45 Rotary Lidar](sensor/sf45_rotating_lidar.md) - - [Ainstein US-D1 Standard Radar Altimeter](sensor/ulanding_radar.md) - - [LeddarOne 라이다](sensor/leddar_one.md) - - [Benewake TFmini 라이다](sensor/tfmini.md) - - [Lidar-Lite](sensor/lidar_lite.md) - [TeraRanger ](sensor/teraranger.md) - [✘ Lanbao PSK-CM8JL65-CC5](sensor/cm8jl65_ir_distance_sensor.md) - [Avionics Anonymous Laser Altimeter UAVCAN Interface (CAN)](dronecan/avanon_laser_interface.md) - [GNSS (GPS)](gps_compass/index.md) - [ARK GPS (CAN)](dronecan/ark_gps.md) + - [ARK DAN GPS](gps_compass/ark_dan_gps.md) - [ARK SAM GPS](gps_compass/ark_sam_gps.md) + - [ARK SAM GPS MINI](gps_compass/ark_sam_gps_mini.md) - [ARK TESEO GPS](dronecan/ark_teseo_gps.md) - [CUAV NEO 3 GPS](gps_compass/gps_cuav_neo_3.md) - [CUAV NEO 3 Pro GPS (CAN)](gps_compass/gps_cuav_neo_3pro.md) @@ -269,6 +274,8 @@ - [Sky-Drones SmartAP GPS](gps_compass/gps_smartap.md) - [RTK GNSS](gps_compass/rtk_gps.md) - [ARK RTK GPS (CAN)](dronecan/ark_rtk_gps.md) + - [ARK RTK GPS L1 L5 (CAN)](dronecan/ark_rtk_gps_l1_l2.md) + - [ARK X20 RTK GPS (CAN)](dronecan/ark_x20_rtk_gps.md) - [ARK MOSAIC-X5 RTK GPS (CAN)](dronecan/ark_mosaic__rtk_gps.md) - [RTK GPS Heading with Dual u-blox F9P](gps_compass/u-blox_f9p_heading.md) - [CUAV C-RTK](gps_compass/rtk_gps_cuav_c-rtk.md) @@ -353,13 +360,14 @@ - [Battery Estimation Tuning](config/battery.md) - [Battery Chemistry Overview](power_systems/battery_chemistry.md) - [Power Modules/PDB](power_module/index.md) + - [ARK PAB Power Module](power_module/ark_pab_power_module.md) + - [ARK 12S PAB Power Module](power_module/ark_12s_pab_power_module.md) + - [ARK 12S Payload Power Module](power_module/ark_12s_payload_power_module.md) - [CUAV HV 전원 모듈](power_module/cuav_hv_pm.md) - [CUAV CAN 전원 모듈](dronecan/cuav_can_pmu.md) - [Holybro PM02](power_module/holybro_pm02.md) - [Holybro PM07](power_module/holybro_pm07_pixhawk4_power_module.md) - [Holybro PM06 V2](power_module/holybro_pm06_pixhawk4mini_power_module.md) - - [ARK PAB Power Module](power_module/ark_pab_power_module.md) - - [ARK 12S PAB Power Module](power_module/ark_12s_pab_power_module.md) - [Holybro PM02D (digital)](power_module/holybro_pm02d.md) - [Holybro PM03D (digital)](power_module/holybro_pm03d.md) - [Pomegranate Systems Power Module](dronecan/pomegranate_systems_pm.md) @@ -605,6 +613,7 @@ - [FollowTargetEstimator](msg_docs/FollowTargetEstimator.md) - [FollowTargetStatus](msg_docs/FollowTargetStatus.md) - [FuelTankStatus](msg_docs/FuelTankStatus.md) + - [GainCompression](msg_docs/GainCompression.md) - [GeneratorStatus](msg_docs/GeneratorStatus.md) - [GeofenceResult](msg_docs/GeofenceResult.md) - [GeofenceStatus](msg_docs/GeofenceStatus.md) @@ -755,8 +764,11 @@ - [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md) - [ArmingCheckRequestV0](msg_docs/ArmingCheckRequestV0.md) - [BatteryStatusV0](msg_docs/BatteryStatusV0.md) + - [ConfigOverridesV0](msg_docs/ConfigOverridesV0.md) - [EventV0](msg_docs/EventV0.md) - [HomePositionV0](msg_docs/HomePositionV0.md) + - [RegisterExtComponentReplyV0](msg_docs/RegisterExtComponentReplyV0.md) + - [RegisterExtComponentRequestV0](msg_docs/RegisterExtComponentRequestV0.md) - [VehicleAttitudeSetpointV0](msg_docs/VehicleAttitudeSetpointV0.md) - [VehicleLocalPositionV0](msg_docs/VehicleLocalPositionV0.md) - [VehicleStatusV0](msg_docs/VehicleStatusV0.md) diff --git a/docs/ko/advanced/gimbal_control.md b/docs/ko/advanced/gimbal_control.md index 1f378ef3fd..1f40184d39 100644 --- a/docs/ko/advanced/gimbal_control.md +++ b/docs/ko/advanced/gimbal_control.md @@ -131,7 +131,7 @@ The on-screen gimbal control can be used to move/test a connected MAVLink camera 2. Open QGroundControl and enable the on-screen camera control (Application settings). - ![Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../../assets/qgc/fly/gimbal_control_x500gz.png) + ![Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../../assets/qgc/fly/gimbal_control_x500gz.png) 3. Make sure the vehicle is armed and flying, e.g. by entering with `commander takeoff`. diff --git a/docs/ko/advanced/system_tunes.md b/docs/ko/advanced/system_tunes.md index ab40a399ba..a0674238f8 100644 --- a/docs/ko/advanced/system_tunes.md +++ b/docs/ko/advanced/system_tunes.md @@ -52,7 +52,7 @@ On Windows, one option is to use _Melody Master_ within _Dosbox_. 7. 음악을 저장할 준비가 끝나면: - Press **F2** to give the tune a name and save it in the _/Music_ sub folder of your Melody Master installation. - Press **F7**, the scroll down the list of output formats on the right to get to ANSI. - The file will be exported to the _root_ of the Melody Master directory (with the same name and a file-type specific extension). + The file will be exported to the _root_ of the Melody Master directory (with the same name and a file-type specific extension). 8. 파일을 여십시오. 출력 내용은 다음과 같습니다: diff --git a/docs/ko/advanced_config/advanced_flight_controller_orientation_leveling.md b/docs/ko/advanced_config/advanced_flight_controller_orientation_leveling.md index 0eed5dba4f..ef16e98d4b 100644 --- a/docs/ko/advanced_config/advanced_flight_controller_orientation_leveling.md +++ b/docs/ko/advanced_config/advanced_flight_controller_orientation_leveling.md @@ -23,7 +23,7 @@ You can locate the parameters in QGroundControl as shown below: 1. Open QGroundControl menu: **Settings > Parameters > Sensor Calibration**. 2. The parameters as located in the section as shown below (or you can search for them): - ![FC Orientation QGC v2](../../assets/qgc/setup/sensor/fc_orientation_qgc_v2.png) + ![FC Orientation QGC v2](../../assets/qgc/setup/sensor/fc_orientation_qgc_v2.png) ## Parameter Summary diff --git a/docs/ko/advanced_config/bootloader_update.md b/docs/ko/advanced_config/bootloader_update.md index 243258cbde..23739955e1 100644 --- a/docs/ko/advanced_config/bootloader_update.md +++ b/docs/ko/advanced_config/bootloader_update.md @@ -37,8 +37,8 @@ You can enable this key in your own custom firmware if needed. 2. [Update the Firmware](../config/firmware.md#custom) with an image containing the new/desired bootloader. - ::: info - The updated bootloader might be included the default firmware for your board or supplied in custom firmware. + ::: info + The updated bootloader might be included the default firmware for your board or supplied in custom firmware. ::: @@ -47,7 +47,7 @@ You can enable this key in your own custom firmware if needed. 4. [Find and enable](../advanced_config/parameters.md) the parameter [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE). 5. 재부팅하십시오 (보드의 연결을 끊고 다시 연결하십시오.). - 부트로더 업데이트는 수초내에 완료됩니다. + 부트로더 업데이트는 수초내에 완료됩니다. Generally at this point you may then want to [update the firmware](../config/firmware.md) again using the correct/newly installed bootloader. @@ -89,81 +89,81 @@ The following steps explain how you can "manually" update the bootloader using a 1. Get a binary containing the bootloader (either from dev team or [build it yourself](#building-the-px4-bootloader)). 2. Get a [Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware). - Connect the probe your PC via USB and setup the `gdbserver`. + Connect the probe your PC via USB and setup the `gdbserver`. 3. Go into the directory containing the binary and run the command for your target bootloader in the terminal: - - FMUv6X + - FMUv6X - ```sh - arm-none-eabi-gdb px4_fmu-v6x_bootloader.elf - ``` + ```sh + arm-none-eabi-gdb px4_fmu-v6x_bootloader.elf + ``` - - FMUv6X-RT + - FMUv6X-RT - ```sh - arm-none-eabi-gdb px4_fmu-v6xrt_bootloader.elf - ``` + ```sh + arm-none-eabi-gdb px4_fmu-v6xrt_bootloader.elf + ``` - - FMUv5 + - FMUv5 - ```sh - arm-none-eabi-gdb px4fmuv5_bl.elf - ``` + ```sh + arm-none-eabi-gdb px4fmuv5_bl.elf + ``` - ::: info - H7 Bootloaders from [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) are named with pattern `*._bootloader.elf`. - Bootloaders from [PX4/PX4-Bootloader](https://github.com/PX4/PX4-Bootloader) are named with the pattern `*_bl.elf`. + ::: info + H7 Bootloaders from [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) are named with pattern `*._bootloader.elf`. + Bootloaders from [PX4/PX4-Bootloader](https://github.com/PX4/PX4-Bootloader) are named with the pattern `*_bl.elf`. ::: 4. The _gdb terminal_ appears and it should display (something like) the following output: - ```sh - GNU gdb (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 8.0.50.20171128-git - Copyright (C) 2017 Free Software Foundation, Inc. - License GPLv3+: GNU GPL version 3 or later - This is free software: you are free to change and redistribute it. - There is NO WARRANTY, to the extent permitted by law. - Type "show copying" and "show warranty" for details. - This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi". - Type "show configuration" for configuration details. - For bug reporting instructions, please see: - . - Find the GDB manual and other documentation resources online at: - . - For help, type "help". - Type "apropos word" to search for commands related to "word"... - Reading symbols from px4fmuv5_bl.elf...done. - ``` + ```sh + GNU gdb (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 8.0.50.20171128-git + Copyright (C) 2017 Free Software Foundation, Inc. + License GPLv3+: GNU GPL version 3 or later + This is free software: you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. + Type "show copying" and "show warranty" for details. + This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi". + Type "show configuration" for configuration details. + For bug reporting instructions, please see: + . + Find the GDB manual and other documentation resources online at: + . + For help, type "help". + Type "apropos word" to search for commands related to "word"... + Reading symbols from px4fmuv5_bl.elf...done. + ``` 5. Find your `` by running an `ls` command in the **/dev/serial/by-id** directory. 6. Now connect to the debug probe with the following command: - ```sh - tar ext /dev/serial/by-id/ - ``` + ```sh + tar ext /dev/serial/by-id/ + ``` 7. Power on the Pixhawk with another USB cable and connect the probe to the `FMU-DEBUG` port. - ::: info - If using a Zubax BugFace BF1 you may need to remove the case in order to connect to the `FMU-DEBUG` port (e.g. on Pixhawk 4 you would do this using a T6 Torx screwdriver). + ::: info + If using a Zubax BugFace BF1 you may need to remove the case in order to connect to the `FMU-DEBUG` port (e.g. on Pixhawk 4 you would do this using a T6 Torx screwdriver). ::: 8. Use the following command to scan for the Pixhawk\`s SWD and connect to it: - ```sh - (gdb) mon swdp_scan - (gdb) attach 1 - ``` + ```sh + (gdb) mon swdp_scan + (gdb) attach 1 + ``` 9. 이제 바이너리를 픽스호크에 로드하십시오: - ```sh - (gdb) load - ``` + ```sh + (gdb) load + ``` After the bootloader has updated you can [Load PX4 Firmware](../config/firmware.md) using _QGroundControl_. @@ -182,25 +182,25 @@ To update the bootloader: 1. SD카드를 삽입합니다 (발생 가능한 문제들의 디버깅을 위한 부트 로그 기록을 가능하게 합니다.) 2. [Update the Firmware](../config/firmware.md) to PX4 _master_ version (when updating the firmware, check **Advanced settings** and then select **Developer Build (master)** from the dropdown list). - _QGroundControl_ will automatically detect that the hardware supports FMUv2 and install the appropriate Firmware. + _QGroundControl_ will automatically detect that the hardware supports FMUv2 and install the appropriate Firmware. - ![FMUv2 update](../../assets/qgc/setup/firmware/bootloader_update.jpg) + ![FMUv2 update](../../assets/qgc/setup/firmware/bootloader_update.jpg) - 기체가 재부팅될 때까지 기다리십시오. + 기체가 재부팅될 때까지 기다리십시오. 3. [Find and enable](../advanced_config/parameters.md) the parameter [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE). 4. 재부팅하십시오 (보드의 연결을 끊고 다시 연결하십시오.). - 부트로더 업데이트는 수초내에 완료됩니다. + 부트로더 업데이트는 수초내에 완료됩니다. 5. Then [Update the Firmware](../config/firmware.md) again. - This time _QGroundControl_ should autodetect the hardware as FMUv3 and update the Firmware appropriately. + This time _QGroundControl_ should autodetect the hardware as FMUv3 and update the Firmware appropriately. - ![FMUv3 update](../../assets/qgc/setup/firmware/bootloader_fmu_v3_update.jpg) + ![FMUv3 update](../../assets/qgc/setup/firmware/bootloader_fmu_v3_update.jpg) - ::: info - If the hardware has the [Silicon Errata](../flight_controller/silicon_errata.md#fmuv2-pixhawk-silicon-errata) it will still be detected as FMUv2 and you will see that FMUv2 was re-installed (in console). - In this case you will not be able to install FMUv3 hardware. + ::: info + If the hardware has the [Silicon Errata](../flight_controller/silicon_errata.md#fmuv2-pixhawk-silicon-errata) it will still be detected as FMUv2 and you will see that FMUv2 was re-installed (in console). + In this case you will not be able to install FMUv3 hardware. ::: diff --git a/docs/ko/advanced_config/compass_power_compensation.md b/docs/ko/advanced_config/compass_power_compensation.md index cc6802ce8b..e5703d53a0 100644 --- a/docs/ko/advanced_config/compass_power_compensation.md +++ b/docs/ko/advanced_config/compass_power_compensation.md @@ -44,7 +44,7 @@ The process is demonstrated for a multicopter, but is equally valid for other ve - 기체에 시동을 걸고 스로틀을 천천히 최대로 올립니다. - 스로틀을 천천히 0까지 낮춥니다. - 기체 시동을 끄십시오. - > 참고 진동을 면밀히 관찰하고, 신중하게 테스트를 진행하십시오. + > 참고 진동을 면밀히 관찰하고, 신중하게 테스트를 진행하십시오. ::: info Perform the test carefully and closely monitor the vibrations. diff --git a/docs/ko/advanced_config/esc_calibration.md b/docs/ko/advanced_config/esc_calibration.md index 30f2c46a09..eb272206b1 100644 --- a/docs/ko/advanced_config/esc_calibration.md +++ b/docs/ko/advanced_config/esc_calibration.md @@ -94,29 +94,29 @@ ESC를 보정하려면 : - The minimum value for a motor (default: `1100us`) should make the motor spin slowly but reliably, and also spin up reliably after it was stopped. - You can confirm that a motor spins at minimum (still without propellers) in [Actuator Testing](../config/actuators.md#actuator-testing), by enabling the sliders, and then moving the test output slider for the motor to the first snap position from the bottom. - The correct value should make the motor spin immediately and reliably as you move the slider from disarmed to minimum. + You can confirm that a motor spins at minimum (still without propellers) in [Actuator Testing](../config/actuators.md#actuator-testing), by enabling the sliders, and then moving the test output slider for the motor to the first snap position from the bottom. + The correct value should make the motor spin immediately and reliably as you move the slider from disarmed to minimum. - To find the "optimal" minimum value, move the slider to the bottom (disarmed). - Then increase the PWM output's `disarmed` setting in small increments (e.g. 1025us, 1050us, etc), until the motor starts to spin reliably (it is better to be a little too high than a little too low). - Enter this value into the `minimum` setting for all the motor PWM outputs, and restore the `disarmed` output to `1100us`. + To find the "optimal" minimum value, move the slider to the bottom (disarmed). + Then increase the PWM output's `disarmed` setting in small increments (e.g. 1025us, 1050us, etc), until the motor starts to spin reliably (it is better to be a little too high than a little too low). + Enter this value into the `minimum` setting for all the motor PWM outputs, and restore the `disarmed` output to `1100us`. - The maximum value for a motor (default: `1900us`) should be chosen such that increasing the value doesn't make the motor spin any faster. - You can confirm that the motor spins quickly at the maximum setting in [Actuator Testing](../config/actuators.md#actuator-testing), by moving the associated test output slider to the top position. + You can confirm that the motor spins quickly at the maximum setting in [Actuator Testing](../config/actuators.md#actuator-testing), by moving the associated test output slider to the top position. - To find the "optimal" maximum value, first move the slider to the bottom (disarmed). - Then increase the PWM output's `disarmed` setting to near the default maximum (`1900`) - the motors should spin up. - Listen to the tone of the motor as you increase the PWM maximum value for the output in increments (e.g. 1925us, 1950us, etc). - The optimal value is found at the point when the sound of the motors does not change as you increase the value of the output. - Enter this value into the `maximum` setting for all the motor PWM outputs, and restore the `disarmed` output to `1100us`. + To find the "optimal" maximum value, first move the slider to the bottom (disarmed). + Then increase the PWM output's `disarmed` setting to near the default maximum (`1900`) - the motors should spin up. + Listen to the tone of the motor as you increase the PWM maximum value for the output in increments (e.g. 1925us, 1950us, etc). + The optimal value is found at the point when the sound of the motors does not change as you increase the value of the output. + Enter this value into the `maximum` setting for all the motor PWM outputs, and restore the `disarmed` output to `1100us`. - The disarmed value for a motor (default: `1000us`) should make the motor stop and stay stopped. - You can confirm this in [Actuator Testing](../config/actuators.md#actuator-testing) by moving the test output slider to the snap position at the bottom of the slider and observing that the motor does not spin. + You can confirm this in [Actuator Testing](../config/actuators.md#actuator-testing) by moving the test output slider to the snap position at the bottom of the slider and observing that the motor does not spin. - If the ESC spins with the default value of 1000us then the ESC is not properly calibrated. - If using an ESC that can't be calibrated, you should reduce the PWM output value for the output to below where the motor does not spin anymore (such as 950us or 900us). + If the ESC spins with the default value of 1000us then the ESC is not properly calibrated. + If using an ESC that can't be calibrated, you should reduce the PWM output value for the output to below where the motor does not spin anymore (such as 950us or 900us). ::: info VTOL and fixed-wing motors do not need any special PWM configuration. diff --git a/docs/ko/advanced_config/ethernet_setup.md b/docs/ko/advanced_config/ethernet_setup.md index 79f58d86da..ab0a88e48b 100644 --- a/docs/ko/advanced_config/ethernet_setup.md +++ b/docs/ko/advanced_config/ethernet_setup.md @@ -87,14 +87,14 @@ To set the above "example" configuration using the _QGroundControl_: 3. Enter commands "like" the ones below into the _MAVLink Console_ (to write the values to the configuration file): - ```sh - echo DEVICE=eth0 > /fs/microsd/net.cfg - echo BOOTPROTO=fallback >> /fs/microsd/net.cfg - echo IPADDR=10.41.10.2 >> /fs/microsd/net.cfg - echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg - echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg - echo DNS=10.41.10.254 >>/fs/microsd/net.cfg - ``` + ```sh + echo DEVICE=eth0 > /fs/microsd/net.cfg + echo BOOTPROTO=fallback >> /fs/microsd/net.cfg + echo IPADDR=10.41.10.2 >> /fs/microsd/net.cfg + echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg + echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg + echo DNS=10.41.10.254 >>/fs/microsd/net.cfg + ``` 4. Once the network configuration has been set you can disconnect the USB cable. @@ -113,36 +113,36 @@ Note that there are many more [examples](https://github.com/canonical/netplan/tr To setup the Ubuntu Computer: 1. In a terminal, create and open a `netplan` configuration file: `/etc/netplan/01-network-manager-all.yaml` - Below we do this using the _nano_ text editor. + Below we do this using the _nano_ text editor. - ``` - sudo nano /etc/netplan/01-network-manager-all.yaml - ``` + ``` + sudo nano /etc/netplan/01-network-manager-all.yaml + ``` 2. Copy and paste the following configuration information into the file (note: the indentations are important!): - ``` - network: - version: 2 - renderer: NetworkManager - ethernets: - enp2s0: - addresses: - - 10.41.10.1/24 - nameservers: - addresses: [10.41.10.1] - routes: - - to: 10.41.10.1 - via: 10.41.10.1 - ``` + ``` + network: + version: 2 + renderer: NetworkManager + ethernets: + enp2s0: + addresses: + - 10.41.10.1/24 + nameservers: + addresses: [10.41.10.1] + routes: + - to: 10.41.10.1 + via: 10.41.10.1 + ``` - Save and exit the editor. + Save and exit the editor. 3. Apply the _netplan_ configuration by entering the following command into the Ubuntu terminal. - ``` - sudo netplan apply - ``` + ``` + sudo netplan apply + ``` ### Companion Computer Ethernet Network Setup @@ -189,9 +189,9 @@ To connect QGroundControl to PX4 over Ethernet: 3. Start QGroundControl and [define a comm link](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/settings_view/settings_view.html) (**Application Settings > Comm Links**) specifying the _server address_ and port as the IP address and port assigned in PX4, respectively. - Assuming that the values are set as described in the rest of this topic the setup will look like this: + Assuming that the values are set as described in the rest of this topic the setup will look like this: - ![QGC comm link for ethernet setup](../../assets/qgc/settings/comm_link/px4_ethernet_link_config.png) + ![QGC comm link for ethernet setup](../../assets/qgc/settings/comm_link/px4_ethernet_link_config.png) 4. QGroundControl should then connect if you select this link. @@ -205,14 +205,14 @@ To setup MAVSDK-Python running on a companion computer: 1. [Set up the Ethernet Network](#setting-up-the-ethernet-network) so your companion computer and PX4 run on the same network. 2. Modify the [PX4 Ethernet Port Configuration](#px4-ethernet-network-setup) to connect to a companion computer. - You might change the parameters [MAV_2_REMOTE_PRT](../advanced_config/parameter_reference.md#MAV_2_REMOTE_PRT) and [MAV_2_UDP_PRT](../advanced_config/parameter_reference.md#MAV_2_UDP_PRT) to `14540`, and [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) to `2` (Onboard). + You might change the parameters [MAV_2_REMOTE_PRT](../advanced_config/parameter_reference.md#MAV_2_REMOTE_PRT) and [MAV_2_UDP_PRT](../advanced_config/parameter_reference.md#MAV_2_UDP_PRT) to `14540`, and [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) to `2` (Onboard). 3. Follow the instructions in [MAVSDK-python](https://github.com/mavlink/MAVSDK-Python) to install and use MAVSDK. - For example, your code will connect to the PX4 using: + For example, your code will connect to the PX4 using: - ```python - await drone.connect(system_address="udp://10.41.10.2:14540") - ``` + ```python + await drone.connect(system_address="udp://10.41.10.2:14540") + ``` :::info MAVSDK can connect to the PX4 on port `14550` if you don't modify the PX4 Ethernet port configuration. @@ -235,38 +235,38 @@ To set up ROS 2: 1. Connect your flight controller and companion computer via Ethernet. 2. [Start the uXRCE-DDS client on PX4](../middleware/uxrce_dds.md#starting-the-client), either manually or by customizing the system startup script. - Note that you must use the IP address of the companion computer and the UDP port on which the agent is listening (the example configuration above sets the companion IP address to `10.41.10.1`, and the agent UDP port is set to `8888` in the next step). + Note that you must use the IP address of the companion computer and the UDP port on which the agent is listening (the example configuration above sets the companion IP address to `10.41.10.1`, and the agent UDP port is set to `8888` in the next step). 3. [Start the micro XRCE-DDS agent on the companion computer](../middleware/uxrce_dds.md#starting-the-agent). - For example, enter the following command in a terminal to start the agent listening on UDP port `8888`. + For example, enter the following command in a terminal to start the agent listening on UDP port `8888`. - ```sh - MicroXRCEAgent udp4 -p 8888 - ``` + ```sh + MicroXRCEAgent udp4 -p 8888 + ``` 4. Run a [listener node](../ros2/user_guide.md#running-the-example) in a new terminal to confirm the connection is established: - ```sh - source ~/ws_sensor_combined/install/setup.bash - ros2 launch px4_ros_com sensor_combined_listener.launch.py - ``` + ```sh + source ~/ws_sensor_combined/install/setup.bash + ros2 launch px4_ros_com sensor_combined_listener.launch.py + ``` - If everything is setup correctly, the following output should be displayed in the terminal: + If everything is setup correctly, the following output should be displayed in the terminal: - ```sh - RECEIVED SENSOR COMBINED DATA - ============================= - ts: 855801598 - gyro_rad[0]: -0.00339938 - gyro_rad[1]: 0.00440091 - gyro_rad[2]: 0.00513893 - gyro_integral_dt: 4997 - accelerometer_timestamp_relative: 0 - accelerometer_m_s2[0]: -0.0324082 - accelerometer_m_s2[1]: 0.0392213 - accelerometer_m_s2[2]: -9.77914 - accelerometer_integral_dt: 4997 - ``` + ```sh + RECEIVED SENSOR COMBINED DATA + ============================= + ts: 855801598 + gyro_rad[0]: -0.00339938 + gyro_rad[1]: 0.00440091 + gyro_rad[2]: 0.00513893 + gyro_integral_dt: 4997 + accelerometer_timestamp_relative: 0 + accelerometer_m_s2[0]: -0.0324082 + accelerometer_m_s2[1]: 0.0392213 + accelerometer_m_s2[2]: -9.77914 + accelerometer_integral_dt: 4997 + ``` ## See Also diff --git a/docs/ko/advanced_config/sensor_thermal_calibration.md b/docs/ko/advanced_config/sensor_thermal_calibration.md index cab8e86fa9..fd240fd6da 100644 --- a/docs/ko/advanced_config/sensor_thermal_calibration.md +++ b/docs/ko/advanced_config/sensor_thermal_calibration.md @@ -94,11 +94,11 @@ PX4는 두 가지 보정 절차를 지원합니다. 9. Open a terminal window in the **Firmware/Tools** directory and run the python calibration script: - ```sh - python process_sensor_caldata.py - ``` + ```sh + python process_sensor_caldata.py + ``` - This will generate a **.pdf** file showing the measured data and curve fits for each sensor, and a **.params** file containing the calibration parameters. + This will generate a **.pdf** file showing the measured data and curve fits for each sensor, and a **.params** file containing the calibration parameters. 10. Power the board, connect _QGroundControl_ and load the parameter from the generated **.params** file onto the board using _QGroundControl_. 매개변수의 갯수가 많이지므로, 로드 시간이 길어질 수 있습니다. diff --git a/docs/ko/advanced_features/precland.md b/docs/ko/advanced_features/precland.md index 158f541566..a53948dca0 100644 --- a/docs/ko/advanced_features/precland.md +++ b/docs/ko/advanced_features/precland.md @@ -38,14 +38,14 @@ If it is not visible the vehicle immediately performs a _normal_ landing at the 정밀 착륙에는 세 단계가 있습니다. 1. **Horizontal approach:** The vehicle approaches the target horizontally while keeping its current altitude. - Once the position of the target relative to the vehicle is below a threshold ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), the next phase is entered. - If the target is lost during this phase (not visible for longer than [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)), a search procedure is initiated (during a required precision landing) or the vehicle does a normal landing (during an opportunistic precision landing). + Once the position of the target relative to the vehicle is below a threshold ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), the next phase is entered. + If the target is lost during this phase (not visible for longer than [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)), a search procedure is initiated (during a required precision landing) or the vehicle does a normal landing (during an opportunistic precision landing). 2. **Descent over target:** The vehicle descends, while remaining centered over the target. - If the target is lost during this phase (not visible for longer than `PLD_BTOUT`), a search procedure is initiated (during a required precision landing) or the vehicle does a normal landing (during an opportunistic precision landing). + If the target is lost during this phase (not visible for longer than `PLD_BTOUT`), a search procedure is initiated (during a required precision landing) or the vehicle does a normal landing (during an opportunistic precision landing). 3. **Final approach:** When the vehicle is close to the ground (closer than [PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT)), it descends while remaining centered over the target. - 만약 목표물이 이 단계에서 잡히지 않는다면, 기체는 정밀 착륙의 모드와 무관하게 계속 하강합니다. + 만약 목표물이 이 단계에서 잡히지 않는다면, 기체는 정밀 착륙의 모드와 무관하게 계속 하강합니다. Search procedures are initiated in the first and second steps, and will run at most [PLD_MAX_SRCH](../advanced_config/parameter_reference.md#PLD_MAX_SRCH) times. 착륙 단계 흐름도 diff --git a/docs/ko/advanced_features/satcom_roadblock.md b/docs/ko/advanced_features/satcom_roadblock.md index d28351c8c9..e93526cd95 100644 --- a/docs/ko/advanced_features/satcom_roadblock.md +++ b/docs/ko/advanced_features/satcom_roadblock.md @@ -54,19 +54,19 @@ To [switch between the two antennas modes](https://docs.groundcontrol.com/iot/ro 모듈의 기본 보드 속도는 19200입니다. However, the PX4 _iridiumsbd_ driver requires a baud rate of 115200 so it needs to be changed using the [AT commands](https://www.groundcontrol.com/wp-content/uploads/2022/02/IRDM_ISU_ATCommandReferenceMAN0009_Rev2.0_ATCOMM_Oct2012.pdf). 1. Connect to the module with using a 19200/8-N-1 setting and check if the communication is working using the command: `AT`. - The response should be: `OK`. + The response should be: `OK`. 2. baudrate 속도를 변경합니다. - ``` - AT+IPR=9 - ``` + ``` + AT+IPR=9 + ``` 3. 이제 115200/8-N-1 설정을 사용하여 모델에 다시 연결하고 다음을 사용하여 설정을 저장합니다. - ``` - AT&W0 - ``` + ``` + AT&W0 + ``` 이제 이 모듈을 PX4에서 사용할 수 있습니다. @@ -101,55 +101,55 @@ Log in to the [account](https://rockblock.rock7.com/Operations) and register the 릴레이 서버는 Ubuntu 16.04 또는 14.04 버전에서 실행하여야 합니다. 1. 메시지 릴레이로 작동하는 서버에는 고정 IP 주소와 열린 TCP 포트 2개가 있어야 합니다. - - `5672` for the _RabbitMQ_ message broker (can be changed in the _rabbitmq_ settings) - - `45679` for the HTTP POST interface (can be changed in the **relay.cfg** file) + - `5672` for the _RabbitMQ_ message broker (can be changed in the _rabbitmq_ settings) + - `45679` for the HTTP POST interface (can be changed in the **relay.cfg** file) 2. 필요한 Python 모듈을 설치합니다. - ```sh - sudo pip install pika tornado future - ``` + ```sh + sudo pip install pika tornado future + ``` 3. Install the `rabbitmq` message broker: - ```sh - sudo apt install rabbitmq-server - ``` + ```sh + sudo apt install rabbitmq-server + ``` 4. 브로커 자격 증명을 구성합니다(암호를 PWD로 변경). - ```sh - sudo rabbitmqctl add_user iridiumsbd PWD - sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*" - ``` + ```sh + sudo rabbitmqctl add_user iridiumsbd PWD + sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*" + ``` 5. Clone the [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure) repository: - ```sh - git clone https://github.com/acfloria/SatComInfrastructure.git - ``` + ```sh + git clone https://github.com/acfloria/SatComInfrastructure.git + ``` 6. Go to the location of the _SatComInfrastructure_ repo and configure the broker's queues: - ```sh - ./setup_rabbit.py localhost iridiumsbd PWD - ``` + ```sh + ./setup_rabbit.py localhost iridiumsbd PWD + ``` 7. 설정을 확인합니다. - ```sh - sudo rabbitmqctl list_queues - ``` + ```sh + sudo rabbitmqctl list_queues + ``` - This should give you a list of 4 queues: `MO`, `MO_LOG`, `MT`, `MT_LOG` + This should give you a list of 4 queues: `MO`, `MO_LOG`, `MT`, `MT_LOG` 8. Edit the `relay.cfg` configuration file to reflect your settings. 9. 분리 모드에서 릴레이 스크립트를 실행합니다. - ```sh - screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py - ``` + ```sh + screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py + ``` 기타 지침은 다음과 같습니다. @@ -177,15 +177,15 @@ Log in to the [account](https://rockblock.rock7.com/Operations) and register the 1. 필요한 Python 모듈을 설치합니다. - ```sh - sudo pip install pika tornado future - ``` + ```sh + sudo pip install pika tornado future + ``` 2. SatComInfrarastructure 저장소 복제: - ```sh - git clone https://github.com/acfloria/SatComInfrastructure.git - ``` + ```sh + git clone https://github.com/acfloria/SatComInfrastructure.git + ``` 3. Edit the **udp2rabbit.cfg** configuration file to reflect your settings. @@ -193,20 +193,20 @@ Log in to the [account](https://rockblock.rock7.com/Operations) and register the 5. 다음 매개 변수를 사용하여 QGC에서 UDP 연결을 추가합니다. - - 접속 포트: 10000 - - 대상 호스트: 127.0.0.1:10001 - - 높은 지연 시간: 확인됨 + - 접속 포트: 10000 + - 대상 호스트: 127.0.0.1:10001 + - 높은 지연 시간: 확인됨 - ![High Latency Link Settings](../../assets/satcom/linksettings.png) + ![High Latency Link Settings](../../assets/satcom/linksettings.png) ### 검증 1. Open a terminal on the ground station computer and change to the location of the _SatComInfrastructure_ repository. - Then start the **udp2rabbit.py** script: + Then start the **udp2rabbit.py** script: - ```sh - ./udp2rabbit.py - ``` + ```sh + ./udp2rabbit.py + ``` 2. Send a test message from [RockBlock Account](https://rockblock.rock7.com/Operations) to the created delivery group in the `Test Delivery Groups` tab. @@ -217,35 +217,35 @@ If in the terminal where the `udp2rabbit.py` script is running within a couple o ## 시스템 실행 1. Start _QGroundControl_. - 먼저 높은 지연 시간 링크를 수동으로 연결한 다음, 일반 텔레메트리 링크를 연결합니다. + 먼저 높은 지연 시간 링크를 수동으로 연결한 다음, 일반 텔레메트리 링크를 연결합니다. - ![Connect the High Latency link](../../assets/satcom/linkconnect.png) + ![Connect the High Latency link](../../assets/satcom/linkconnect.png) 2. Open a terminal on the ground station computer and change to the location of the _SatComInfrastructure_ repository. - Then start the **udp2rabbit.py** script: + Then start the **udp2rabbit.py** script: - ```sh - ./udp2rabbit.py - ``` + ```sh + ./udp2rabbit.py + ``` 3. 기체의 전원을 켭니다. 4. Wait until the first `HIGH_LATENCY2` message is received on QGC. - This can be checked either using the _MAVLink Inspector_ widget or on the toolbar with the _LinkIndicator_. - If more than one link is connected to the active vehicle the _LinkIndicator_ shows all of them by clicking on the name of the shown link: + This can be checked either using the _MAVLink Inspector_ widget or on the toolbar with the _LinkIndicator_. + If more than one link is connected to the active vehicle the _LinkIndicator_ shows all of them by clicking on the name of the shown link: - ![Link Toolbar](../../assets/satcom/linkindicator.jpg) + ![Link Toolbar](../../assets/satcom/linkindicator.jpg) - 링크 표시기는 항상 우선 순위 링크의 이름을 표시합니다. + 링크 표시기는 항상 우선 순위 링크의 이름을 표시합니다. 5. 이제 위성 통신 시스템을 사용할 준비가 되었습니다.우선 순위 링크(명령 전송 링크)는 다음 방법으로 결정됩니다. - - 사용자가 링크를 명령하지 않으면, 지연 시간이 큰 링크보다 일반적인 텔레메트리 링크가 선호됩니다. - - 기체가 시동을 켜고 텔레메트리 링크가 끊어지면(특정 시간 동안 MAVLink 메시지가 수신되지 않을 경우), 오토파일럿과 QGC는 일반 텔레메트리에서 긴 대기 시간 링크로 되돌아갑니다. - 텔레메트리 링크가 복구되는 즉시 QGC와 자동 조종기가 다시 이 링크로 전환됩니다. - - The user can select a priority link over the `LinkIndicator` on the toolbar. - 이 링크가 활성화되어 있거나 사용자가 다른 우선 순위 링크를 선택하면 이 링크는 우선 순위 링크로 유지됩니다. + - 사용자가 링크를 명령하지 않으면, 지연 시간이 큰 링크보다 일반적인 텔레메트리 링크가 선호됩니다. + - 기체가 시동을 켜고 텔레메트리 링크가 끊어지면(특정 시간 동안 MAVLink 메시지가 수신되지 않을 경우), 오토파일럿과 QGC는 일반 텔레메트리에서 긴 대기 시간 링크로 되돌아갑니다. + 텔레메트리 링크가 복구되는 즉시 QGC와 자동 조종기가 다시 이 링크로 전환됩니다. + - The user can select a priority link over the `LinkIndicator` on the toolbar. + 이 링크가 활성화되어 있거나 사용자가 다른 우선 순위 링크를 선택하면 이 링크는 우선 순위 링크로 유지됩니다. - ![Prioritylink Selection](../../assets/satcom/linkselection.png) + ![Prioritylink Selection](../../assets/satcom/linkselection.png) ## 문제 해결 diff --git a/docs/ko/camera/fc_connected_camera.md b/docs/ko/camera/fc_connected_camera.md index d5f9afb870..f8a87bb31a 100644 --- a/docs/ko/camera/fc_connected_camera.md +++ b/docs/ko/camera/fc_connected_camera.md @@ -188,16 +188,16 @@ The following sections are out of date and need retesting. 1. On the PX4 console: - ```shell - camera_trigger test - ``` + ```shell + camera_trigger test + ``` 2. From _QGroundControl_: - Click on **Trigger Camera** in the main instrument panel. - These shots are not logged or counted for geotagging. + Click on **Trigger Camera** in the main instrument panel. + These shots are not logged or counted for geotagging. - ![QGC Test Camera](../../assets/camera/qgc_test_camera.png) + ![QGC Test Camera](../../assets/camera/qgc_test_camera.png) ## Sony QX-1 example (Photogrammetry) diff --git a/docs/ko/camera/mavlink_v1_camera.md b/docs/ko/camera/mavlink_v1_camera.md index 84420f968f..b0984e8e4a 100644 --- a/docs/ko/camera/mavlink_v1_camera.md +++ b/docs/ko/camera/mavlink_v1_camera.md @@ -86,7 +86,7 @@ The document explains how, but in summary: 1. Modify an unused `MAV_n_CONFIG` parameter, such as [MAV_2_CONFIG](../advanced_config/parameter_reference.md#MAV_2_CONFIG), so that it is assigned to port to which your camera is connected. 2. Set the corresponding [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) to `2` (Onboard). - This ensures that the right set of MAVLink messages are emitted and forwarded. + This ensures that the right set of MAVLink messages are emitted and forwarded. 3. You may need to set some of the other parameters, depending on your connection - such as the baud rate. Then connect and configure the camera as recommended in its user guide. diff --git a/docs/ko/camera/mavlink_v2_camera.md b/docs/ko/camera/mavlink_v2_camera.md index 8802875469..58f931d717 100644 --- a/docs/ko/camera/mavlink_v2_camera.md +++ b/docs/ko/camera/mavlink_v2_camera.md @@ -112,7 +112,7 @@ The linked document explains how, but in summary: 1. Modify an unused `MAV_n_CONFIG` parameter, such as [MAV_2_CONFIG](../advanced_config/parameter_reference.md#MAV_2_CONFIG), so that it is assigned to port to which you connected the camera/companion computer. 2. Set the corresponding [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) to `2` (Onboard). - This ensures that the right set of MAVLink messages are emitted for a companion computer (or camera). + This ensures that the right set of MAVLink messages are emitted for a companion computer (or camera). 3. Set [MAV_2_FORWARD](../advanced_config/parameter_reference.md#MAV_2_FORWARD) to enable forwarding of communications from the port to other ports, such as the one that is connected to the ground station. 4. You may need to set some of the other parameters, depending on your connection type and any particular requirements of the camera on the expected baud rate, and so on. diff --git a/docs/ko/companion_computer/holybro_pixhawk_jetson_baseboard.md b/docs/ko/companion_computer/holybro_pixhawk_jetson_baseboard.md index a0d29a92bc..be5e958812 100644 --- a/docs/ko/companion_computer/holybro_pixhawk_jetson_baseboard.md +++ b/docs/ko/companion_computer/holybro_pixhawk_jetson_baseboard.md @@ -892,95 +892,95 @@ These instructions approximately mirror the [PX4 Ethernet setup](../advanced_con Next we modify the Jetson IP address to be on the same network as the Pixhawk: 1. Make sure `netplan` is installed. - You can check by running the following command: + You can check by running the following command: - ```sh - netplan -h - ``` + ```sh + netplan -h + ``` - If not, install it using the commands: + If not, install it using the commands: - ```sh - sudo apt update - sudo apt install netplan.io - ``` + ```sh + sudo apt update + sudo apt install netplan.io + ``` 2. Check `system_networkd` is running: - ```sh - sudo systemctl status systemd-networkd - ``` + ```sh + sudo systemctl status systemd-networkd + ``` - You should see output like below if it is active: + You should see output like below if it is active: - ```sh - ● systemd-networkd.service - Network Configuration - Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled) - Active: active (running) since Wed 2024-09-11 23:32:44 EDT; 23min ago - TriggeredBy: ● systemd-networkd.socket - Docs: man:systemd-networkd.service(8) - Main PID: 2452 (systemd-network) - Status: "Processing requests..." - Tasks: 1 (limit: 18457) - Memory: 2.7M - CPU: 157ms - CGroup: /system.slice/systemd-networkd.service - └─2452 /lib/systemd/systemd-networkd + ```sh + ● systemd-networkd.service - Network Configuration + Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled) + Active: active (running) since Wed 2024-09-11 23:32:44 EDT; 23min ago + TriggeredBy: ● systemd-networkd.socket + Docs: man:systemd-networkd.service(8) + Main PID: 2452 (systemd-network) + Status: "Processing requests..." + Tasks: 1 (limit: 18457) + Memory: 2.7M + CPU: 157ms + CGroup: /system.slice/systemd-networkd.service + └─2452 /lib/systemd/systemd-networkd - Sep 11 23:32:44 ubuntu systemd-networkd[2452]: lo: Gained carrier - Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Gained IPv6LL - Sep 11 23:32:44 ubuntu systemd-networkd[2452]: eth0: Gained IPv6LL - Sep 11 23:32:44 ubuntu systemd-networkd[2452]: Enumeration completed - Sep 11 23:32:44 ubuntu systemd[1]: Started Network Configuration. - Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Connected WiFi access point: Verizon_7YLWWD (78:67:0e:ea:a6:0> - Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo> - Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost - Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo> - Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost - ``` + Sep 11 23:32:44 ubuntu systemd-networkd[2452]: lo: Gained carrier + Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Gained IPv6LL + Sep 11 23:32:44 ubuntu systemd-networkd[2452]: eth0: Gained IPv6LL + Sep 11 23:32:44 ubuntu systemd-networkd[2452]: Enumeration completed + Sep 11 23:32:44 ubuntu systemd[1]: Started Network Configuration. + Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Connected WiFi access point: Verizon_7YLWWD (78:67:0e:ea:a6:0> + Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo> + Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost + Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo> + Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost + ``` - If `system_networkd` is not running, it can be enabled using: + If `system_networkd` is not running, it can be enabled using: - ```sh - sudo systemctl start systemd-networkd - sudo systemctl enable systemd-networkd - ``` + ```sh + sudo systemctl start systemd-networkd + sudo systemctl enable systemd-networkd + ``` 3. Open the Netplan configuration file (so we can set up a static IP for the Jetson). - The Netplan configuration file is usually located in the `/etc/netplan/` directory and named something like `01-netcfg.yaml` (the name can vary). - Below we use `nano` to open the file, but you can use your preferred text editor: + The Netplan configuration file is usually located in the `/etc/netplan/` directory and named something like `01-netcfg.yaml` (the name can vary). + Below we use `nano` to open the file, but you can use your preferred text editor: - ```sh - sudo nano /etc/netplan/01-netcfg.yaml - ``` + ```sh + sudo nano /etc/netplan/01-netcfg.yaml + ``` 4. Modify the yaml configuration, by overwriting the contents with the following information and then saving: - ```sh - network: - version: 2 - renderer: networkd - ethernets: - eth0: - dhcp4: no - addresses: - - 10.41.10.1/24 - routes: - - to: 0.0.0.0/0 - via: 10.41.10.254 - nameservers: - addresses: - - 10.41.10.254 - ``` + ```sh + network: + version: 2 + renderer: networkd + ethernets: + eth0: + dhcp4: no + addresses: + - 10.41.10.1/24 + routes: + - to: 0.0.0.0/0 + via: 10.41.10.254 + nameservers: + addresses: + - 10.41.10.254 + ``` - This gives the Jetson a static IP address on the Ethernet interface of `10.41.10.1` . + This gives the Jetson a static IP address on the Ethernet interface of `10.41.10.1` . 5. Apply the changes using the following command: - ```sh - sudo netplan apply - ``` + ```sh + sudo netplan apply + ``` The Pixhawk Ethernet address is set to `10.41.10.2` by default, which is on the same subnet. We can test our changes above by pinging the Pixhawk from within the Jetson terminal: diff --git a/docs/ko/companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md b/docs/ko/companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md index 0081c04f3c..8229e9454e 100644 --- a/docs/ko/companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md +++ b/docs/ko/companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md @@ -69,15 +69,15 @@ To install the RPi CM4 companion computer: 1. Disconnect the `FAN` wiring. - ![HB_Pixhawk_CM4_Fan](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fan.jpg) + ![HB_Pixhawk_CM4_Fan](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fan.jpg) 2. Remove these 4 screws on the back side of the baseboard. - ![Bottom of the board showing screws in corners holding the cover](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_bottom.jpg) + ![Bottom of the board showing screws in corners holding the cover](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_bottom.jpg) 3. Remove the baseboard case, install the CM4, and use the 4 screws to attach it (as shown): - ![HB_Pixhawk_CM4_Screws](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_screws.jpg) + ![HB_Pixhawk_CM4_Screws](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_screws.jpg) 4. Reattach the cover. @@ -115,29 +115,29 @@ To flash a RPi image onto EMMC. 1. Switch Dip-Switch to `RPI`. - ![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_dip_switch.png) + ![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_dip_switch.png) 2. Connect computer to USB-C _CM4 Slave_ port used to power & flash the RPi. - ![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_usbc_slave_port.png) + ![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_usbc_slave_port.png) 3. Get `usbboot`, build it and run it. - ```sh - sudo apt install libusb-1.0-0-dev - git clone --depth=1 https://github.com/raspberrypi/usbboot - cd usbboot - make - sudo ./rpiboot - ``` + ```sh + sudo apt install libusb-1.0-0-dev + git clone --depth=1 https://github.com/raspberrypi/usbboot + cd usbboot + make + sudo ./rpiboot + ``` 4. You can now install your preferred Linux distro using The `rpi-imager`. - Make sure you add WiFi and SSH settings (hidden behind the gear/advanced symbol). + Make sure you add WiFi and SSH settings (hidden behind the gear/advanced symbol). - ```sh - sudo apt install rpi-imager - rpi-imager - ``` + ```sh + sudo apt install rpi-imager + rpi-imager + ``` 5. Once done, unplugging USB-C CM4 Slave (this will unmount the volumes, and power off the CM4). @@ -146,8 +146,8 @@ To flash a RPi image onto EMMC. 7. Power on CM4 by providing power to USB-C CM4 Slave port. 8. To check if it's booting/working you can either: - - Check there is HDMI output - - Connect via SSH (if set up in rpi-imager, and WiFi is available). + - Check there is HDMI output + - Connect via SSH (if set up in rpi-imager, and WiFi is available). ## Configure PX4 to CM4 MAVLink Serial Connection @@ -167,13 +167,13 @@ To enable this MAVLink instance on the FC: 1. Connect a computer running QGroundControl via USB Type C port on the baseboard labeled `FC` - ![Image of baseboard showing FC USB-C connector](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fc_usb_c.jpg) + ![Image of baseboard showing FC USB-C connector](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fc_usb_c.jpg) 2. [Set the parameters](../advanced_config/parameters.md): - - `MAV_1_CONFIG` = `102` - - `MAV_1_MODE = 2` - - `SER_TEL2_BAUD` = `921600` + - `MAV_1_CONFIG` = `102` + - `MAV_1_MODE = 2` + - `SER_TEL2_BAUD` = `921600` 3. Reboot the FC. @@ -185,13 +185,13 @@ On the RPi side: 2. Enable the RPi serial port by running `RPi-config` - - Go to `3 Interface Options`, then `I6 Serial Port`. - Then choose: - - `login shell accessible over serial → No` - - `serial port hardware enabled` → `Yes` + - Go to `3 Interface Options`, then `I6 Serial Port`. + Then choose: + - `login shell accessible over serial → No` + - `serial port hardware enabled` → `Yes` 3. Finish, and reboot. - This will add `enable_uart=1` to `/boot/config.txt`, and remove `console=serial0,115200` from `/boot/cmdline.txt`. + This will add `enable_uart=1` to `/boot/config.txt`, and remove `console=serial0,115200` from `/boot/cmdline.txt`. 4. Now MAVLink traffic should be available on `/dev/serial0` at a baudrate of 921600. @@ -201,9 +201,9 @@ On the RPi side: 2. Install MAVSDK Python: - ```sh - python3 -m pip install mavsdk - ``` + ```sh + python3 -m pip install mavsdk + ``` 3. Copy an example from the [MAVSDK-Python examples](https://github.com/mavlink/MAVSDK-Python/tree/main/examples). diff --git a/docs/ko/companion_computer/pixhawk_rpi.md b/docs/ko/companion_computer/pixhawk_rpi.md index 149c44b8bc..8dc16701da 100644 --- a/docs/ko/companion_computer/pixhawk_rpi.md +++ b/docs/ko/companion_computer/pixhawk_rpi.md @@ -132,50 +132,50 @@ Enter the following commands (in sequence) a terminal to configure Ubuntu for RP 1. Install `raspi-config`: - ```sh - sudo apt update - sudo apt upgrade - sudo apt-get install raspi-config - ``` + ```sh + sudo apt update + sudo apt upgrade + sudo apt-get install raspi-config + ``` 2. Open `raspi-config`: - ```sh - sudo raspi-config - ``` + ```sh + sudo raspi-config + ``` 3. Go to the **Interface Option** and then click **Serial Port**. - - Select **No** to disable serial login shell. - - Select **Yes** to enable the serial interface. - - Click **Finish** and restart the RPi. + - Select **No** to disable serial login shell. + - Select **Yes** to enable the serial interface. + - Click **Finish** and restart the RPi. 4. Open the firmware boot configuration file in the `nano` editor on RPi: - ```sh - sudo nano /boot/firmware/config.txt - ``` + ```sh + sudo nano /boot/firmware/config.txt + ``` 5. Append the following text to the end of the file (after the last line): - ```sh - enable_uart=1 - dtoverlay=disable-bt - ``` + ```sh + enable_uart=1 + dtoverlay=disable-bt + ``` 6. Then save the file and restart the RPi. - - In `nano` you can save the file using the following sequence of keyboard shortcuts: **ctrl+x**, **ctrl+y**, **Enter**. + - In `nano` you can save the file using the following sequence of keyboard shortcuts: **ctrl+x**, **ctrl+y**, **Enter**. 7. Check that the serial port is available. - In this case we use the following terminal commands to list the serial devices: + In this case we use the following terminal commands to list the serial devices: - ```sh - cd / - ls /dev/ttyAMA0 - ``` + ```sh + cd / + ls /dev/ttyAMA0 + ``` - The result of the command should include the RX/TX connection `/dev/ttyAMA0` (note that this serial port is also available as `/dev/serial0`). + The result of the command should include the RX/TX connection `/dev/ttyAMA0` (note that this serial port is also available as `/dev/serial0`). The RPi is now setup to work with RPi and communicate using the `/dev/ttyAMA0` serial port. Note that we'll install more software in the following sections to work with MAVLink and ROS 2. @@ -199,39 +199,39 @@ First check the Pixhawk `TELEM 2` configuration: 2. Open QGroundControl (the vehicle should connect). 3. [Check/change the following parameters](../advanced_config/parameters.md) in QGroundControl: - ```ini - MAV_1_CONFIG = TELEM2 - UXRCE_DDS_CFG = 0 (Disabled) - SER_TEL2_BAUD = 57600 - ``` + ```ini + MAV_1_CONFIG = TELEM2 + UXRCE_DDS_CFG = 0 (Disabled) + SER_TEL2_BAUD = 57600 + ``` - Note that the parameters may already be set appropriately. - For information about how serial ports and MAVLink configuration work see [Serial Port Configuration](../peripherals/serial_configuration.md) and [MAVLink Peripherals](../peripherals/mavlink_peripherals.md). + Note that the parameters may already be set appropriately. + For information about how serial ports and MAVLink configuration work see [Serial Port Configuration](../peripherals/serial_configuration.md) and [MAVLink Peripherals](../peripherals/mavlink_peripherals.md). Then install setup MAVProxy on the RPi using the following terminal commands: 1. Install MAVProxy: - ```sh - sudo apt install python3-pip - sudo pip3 install mavproxy - sudo apt remove modemmanager - ``` + ```sh + sudo apt install python3-pip + sudo pip3 install mavproxy + sudo apt remove modemmanager + ``` 2. Run MAVProxy, setting the port to connect to `/dev/ttyAMA0` and the baud rate to match the PX4: - ```sh - sudo mavproxy.py --master=/dev/serial0 --baudrate 57600 - ``` + ```sh + sudo mavproxy.py --master=/dev/serial0 --baudrate 57600 + ``` - ::: info - Note that above we used `/dev/serial0`, but we could equally well have used `/dev/ttyAMA0`. - If we were connecting via USB then we would instead set the port as `/dev/ttyACM0`: + ::: info + Note that above we used `/dev/serial0`, but we could equally well have used `/dev/ttyAMA0`. + If we were connecting via USB then we would instead set the port as `/dev/ttyACM0`: - ```sh - sudo chmod a+rw /dev/ttyACM0 - sudo mavproxy.py --master=/dev/ttyACM0 --baudrate 57600 - ``` + ```sh + sudo chmod a+rw /dev/ttyACM0 + sudo mavproxy.py --master=/dev/ttyACM0 --baudrate 57600 + ``` ::: @@ -259,27 +259,27 @@ The configuration steps are: 2. [Check/change the following parameters](../advanced_config/parameters.md) in QGroundControl: - ```ini - MAV_1_CONFIG = 0 (Disabled) - UXRCE_DDS_CFG = 102 (TELEM2) - SER_TEL2_BAUD = 921600 - ``` + ```ini + MAV_1_CONFIG = 0 (Disabled) + UXRCE_DDS_CFG = 102 (TELEM2) + SER_TEL2_BAUD = 921600 + ``` - [MAV_1_CONFIG=0](../advanced_config/parameter_reference.md#MAV_1_CONFIG) and [UXRCE_DDS_CFG=102](../advanced_config/parameter_reference.md#UXRCE_DDS_CFG) disable MAVLink on TELEM2 and enable the uXRCE-DDS client on TELEM2, respectively. - The `SER_TEL2_BAUD` rate sets the comms link data rate.\ - You could similarly configure a connection to `TELEM1` using either `MAV_1_CONFIG` or `MAV_0_CONFIG`. + [MAV_1_CONFIG=0](../advanced_config/parameter_reference.md#MAV_1_CONFIG) and [UXRCE_DDS_CFG=102](../advanced_config/parameter_reference.md#UXRCE_DDS_CFG) disable MAVLink on TELEM2 and enable the uXRCE-DDS client on TELEM2, respectively. + The `SER_TEL2_BAUD` rate sets the comms link data rate. + You could similarly configure a connection to `TELEM1` using either `MAV_1_CONFIG` or `MAV_0_CONFIG`. - ::: info - You will need to reboot the flight controller to apply any changes to these parameters. + ::: info + You will need to reboot the flight controller to apply any changes to these parameters. ::: 3. Check that the [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) module is now running. - YOu can do this by running the following command in the QGroundControl [MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html): + YOu can do this by running the following command in the QGroundControl [MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html): - ```sh - uxrce_dds_client status - ``` + ```sh + uxrce_dds_client status + ``` :::info If the client module is not running you can start it manually in the MAVLink console: @@ -300,32 +300,32 @@ The steps to setup ROS 2 and the Micro XRCE-DDS Agent on the RPi are: 2. Install the git using the RPi terminal: - ```sh - sudo apt install git - ``` + ```sh + sudo apt install git + ``` 3. Install the uXRCE_DDS agent: - ```sh - git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git - cd Micro-XRCE-DDS-Agent - mkdir build - cd build - cmake .. - make - sudo make install - sudo ldconfig /usr/local/lib/ - ``` + ```sh + git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git + cd Micro-XRCE-DDS-Agent + mkdir build + cd build + cmake .. + make + sudo make install + sudo ldconfig /usr/local/lib/ + ``` - See [uXRCE-DDS > Micro XRCE-DDS Agent Installation](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation) for alternative ways of installing the agent. + See [uXRCE-DDS > Micro XRCE-DDS Agent Installation](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation) for alternative ways of installing the agent. 4. Start the agent in the RPi terminal: - ```sh - sudo MicroXRCEAgent serial --dev /dev/serial0 -b 921600 - ``` + ```sh + sudo MicroXRCEAgent serial --dev /dev/serial0 -b 921600 + ``` - Note how we use the serial port set up earlier and the same baud rate as for PX4. + Note how we use the serial port set up earlier and the same baud rate as for PX4. Now that both the agent and client are running, you should see activity on both the MAVLink console and the RPi terminal. You can view the available topics using the following command on the RPi: diff --git a/docs/ko/companion_computer/video_streaming_wfb_ng_wifi.md b/docs/ko/companion_computer/video_streaming_wfb_ng_wifi.md index c8c752c6cc..d6350cf92b 100644 --- a/docs/ko/companion_computer/video_streaming_wfb_ng_wifi.md +++ b/docs/ko/companion_computer/video_streaming_wfb_ng_wifi.md @@ -80,18 +80,18 @@ If you use a special "very" high power cards from Taobao/Aliexpress then you MUS 5. Setup camera pipeline. Open `/etc/systemd/system/fpv-camera.service` and uncomment pipeline according to your camera (PI camera or Logitech camera) 6. Open `/etc/wifibroadcast.cfg` and configure WiFi channel according to your antenna setup (or use default #165 for 5.8GHz) 7. Configure PX4 to output telemetry stream at speed 1500 Kbps (other UART speeds doesn't match well to RPi frequency dividers). - Connect Pixhawk UART to Raspberry Pi UART. - In `/etc/wifibroadcast.cfg` uncomment `peer = 'serial:ttyS0:1500000'` in `[drone_mavlink]` section. + Connect Pixhawk UART to Raspberry Pi UART. + In `/etc/wifibroadcast.cfg` uncomment `peer = 'serial:ttyS0:1500000'` in `[drone_mavlink]` section. ### Using a Linux Laptop as GCS (Harder than using a RPi) 1. On **ground** Linux development computer: - ```sh - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted - git clone -b stable https://github.com/svpcom/wfb-ng.git - cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb - ``` + ```sh + sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + git clone -b stable https://github.com/svpcom/wfb-ng.git + cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb + ``` 2. Follow the [Setup HOWTO](https://github.com/svpcom/wfb-ng/wiki/Setup-HOWTO) to complete installation diff --git a/docs/ko/complete_vehicles_mc/amov_F410_drone.md b/docs/ko/complete_vehicles_mc/amov_F410_drone.md index 94ca9e2fb5..8299e20a35 100644 --- a/docs/ko/complete_vehicles_mc/amov_F410_drone.md +++ b/docs/ko/complete_vehicles_mc/amov_F410_drone.md @@ -22,7 +22,7 @@ It is pre-installed with PX4 v1.15.4 at time of writing (a more recent version m - Compatibility with many different components, providing platform for loading other user sensors, preparing for functional model development. - Abundant power supply making it perfect for installing additional sensors and onboard computers (including 5 external output voltages, 3 channels of 5V, 2 channels of 12V). - Pc-SDK support. - This is a PC-based Python SDK Library based on MAVSDK that significantly simplifies UAV development compared to other approaches, such as using ROS or using C++. All you need is a basic understanding of Python programming and some simple coordinate system principles! + This is a PC-based Python SDK Library based on MAVSDK that significantly simplifies UAV development compared to other approaches, such as using ROS or using C++. All you need is a basic understanding of Python programming and some simple coordinate system principles! - The [documentation](https://docs.amovlab.com/f450-v6c-wiki/#/en/) shows many of the options. 7. Quasi-smart battery. The battery has a hard housing design that makes easy to install and remove. It provides accurate power estimates, but does not have some more advanced "smart battery" features. diff --git a/docs/ko/complete_vehicles_mc/crazyflie2.md b/docs/ko/complete_vehicles_mc/crazyflie2.md index 7ed011efe1..14dde9d1af 100644 --- a/docs/ko/complete_vehicles_mc/crazyflie2.md +++ b/docs/ko/complete_vehicles_mc/crazyflie2.md @@ -51,54 +51,54 @@ After setting up the PX4 development environment, follow these steps to install 1. Download the source code of the PX4 Bootloader: - ```sh - git clone https://github.com/PX4/PX4-Bootloader.git - ``` + ```sh + git clone https://github.com/PX4/PX4-Bootloader.git + ``` 2. Navigate into the top directory of the source code and compile it using: - ```sh - make crazyflie_bl - ``` + ```sh + make crazyflie_bl + ``` 3. Put the Crazyflie 2.0 into DFU mode by following these steps: - - Ensure it is initially unpowered. - - Hold down the reset button (see figure below...). - ![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg) - - Plug into computer's USB port. - - After a second, the blue LED should start blinking and after 5 seconds should start blinking faster. - - Release button. + - Ensure it is initially unpowered. + - Hold down the reset button (see figure below...). + ![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg) + - Plug into computer's USB port. + - After a second, the blue LED should start blinking and after 5 seconds should start blinking faster. + - Release button. 4. Install _dfu-util_: - ```sh - sudo apt-get update - sudo apt-get install dfu-util - ``` + ```sh + sudo apt-get update + sudo apt-get install dfu-util + ``` 5. Flash bootloader using _dfu-util_ and unplug Crazyflie 2.0 when done: - ```sh - sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie_bl/crazyflie_bl.bin - ``` + ```sh + sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie_bl/crazyflie_bl.bin + ``` - When powering on the Crazyflie 2.0 the yellow LED should blink. + When powering on the Crazyflie 2.0 the yellow LED should blink. 6. Download the source code of the PX4 autopilot: - ```sh - git clone https://github.com/PX4/PX4-Autopilot.git - ``` + ```sh + git clone https://github.com/PX4/PX4-Autopilot.git + ``` 7. Navigate into the top directory of the source code and compile it using: - ```sh - make bitcraze_crazyflie_default upload - ``` + ```sh + make bitcraze_crazyflie_default upload + ``` 8. When prompted to plug in device, plug in Crazyflie 2.0. - The yellow LED should start blinking indicating bootloader mode. - Then the red LED should turn on indicating that the flashing process has started. + The yellow LED should start blinking indicating bootloader mode. + Then the red LED should turn on indicating that the flashing process has started. 9. Wait for completion. diff --git a/docs/ko/complete_vehicles_mc/crazyflie21.md b/docs/ko/complete_vehicles_mc/crazyflie21.md index a2e19aaecd..4a76f17b6a 100644 --- a/docs/ko/complete_vehicles_mc/crazyflie21.md +++ b/docs/ko/complete_vehicles_mc/crazyflie21.md @@ -64,56 +64,56 @@ After setting up the PX4 development environment, follow these steps to install 1. Download the source code of the PX4 Bootloader: - ```sh - git clone https://github.com/PX4/PX4-Bootloader.git --recurse-submodules - ``` + ```sh + git clone https://github.com/PX4/PX4-Bootloader.git --recurse-submodules + ``` 2. Navigate into the top directory of the source code and compile it using: - ```sh - make crazyflie21_bl - ``` + ```sh + make crazyflie21_bl + ``` 3. Put the Crazyflie 2.1 into DFU mode by following these steps: - - Ensure it is initially unpowered. - - Ensure battery is disconnected. - - Hold down the reset button (see figure below...). - ![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg) - - Plug into computer's USB port. - - After a second, the blue LED should start blinking and after 5 seconds should start blinking faster. - - Release button. + - Ensure it is initially unpowered. + - Ensure battery is disconnected. + - Hold down the reset button (see figure below...). + ![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg) + - Plug into computer's USB port. + - After a second, the blue LED should start blinking and after 5 seconds should start blinking faster. + - Release button. 4. Install _dfu-util_: - ```sh - sudo apt-get update - sudo apt-get install dfu-util - ``` + ```sh + sudo apt-get update + sudo apt-get install dfu-util + ``` 5. Flash bootloader using _dfu-util_ and unplug Crazyflie 2.1 when done: - ```sh - sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie21_bl/crazyflie21_bl.bin - ``` + ```sh + sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie21_bl/crazyflie21_bl.bin + ``` - When powering on the Crazyflie 2.1 the yellow LED should blink. + When powering on the Crazyflie 2.1 the yellow LED should blink. 6. Download the source code of the PX4 autopilot: - ```sh - git clone https://github.com/PX4/PX4-Autopilot.git - ``` + ```sh + git clone https://github.com/PX4/PX4-Autopilot.git + ``` 7. Navigate into the top directory of the source code and compile it using: - ```sh - cd PX4-Autopilot/ - make bitcraze_crazyflie21_default upload - ``` + ```sh + cd PX4-Autopilot/ + make bitcraze_crazyflie21_default upload + ``` 8. When prompted to plug in device, plug in Crazyflie 2.1. - The yellow LED should start blinking indicating bootloader mode. - Then the red LED should turn on indicating that the flashing process has started. + The yellow LED should start blinking indicating bootloader mode. + Then the red LED should turn on indicating that the flashing process has started. 9. Wait for completion. @@ -124,20 +124,20 @@ After setting up the PX4 development environment, follow these steps to install 1. Download the latest [Crazyflie 2.1 bootloader](https://github.com/bitcraze/crazyflie2-stm-bootloader/releases) 2. Put the Crazyflie 2.1 into DFU mode by following these steps: - - Ensure it is initially unpowered. - - Ensure battery is disconnected. - - Hold down the reset button. - - Plug into computer's USB port. - - After a second, the blue LED should start blinking and after 5 seconds should start blinking faster. - - Release button. + - Ensure it is initially unpowered. + - Ensure battery is disconnected. + - Hold down the reset button. + - Plug into computer's USB port. + - After a second, the blue LED should start blinking and after 5 seconds should start blinking faster. + - Release button. 3. Flash bootloader using _dfu-util_ and unplug Crazyflie 2.1 when done: - ```sh - sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D cf2loader-1.0.bin - ``` + ```sh + sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D cf2loader-1.0.bin + ``` - When powering on the Crazyflie 2.1 the yellow LED should blink. + When powering on the Crazyflie 2.1 the yellow LED should blink. 4. Install the latest Bitcraze Crazyflie 2.1 Firmware using [this](https://www.bitcraze.io/documentation/tutorials/getting-started-with-crazyflie-2-x/#update-fw) tutorial. diff --git a/docs/ko/complete_vehicles_mc/modalai_starling.md b/docs/ko/complete_vehicles_mc/modalai_starling.md index faac2fb639..5e23e68c72 100644 --- a/docs/ko/complete_vehicles_mc/modalai_starling.md +++ b/docs/ko/complete_vehicles_mc/modalai_starling.md @@ -1,127 +1,39 @@ -# ModalAI Starling (PX4 Autonomy Developer Kit) +# ModalAI Starling 2 -The [Starlings](https://www.modalai.com/pages/starlings) are SLAM development drones supercharged by [VOXL 2](../flight_controller/modalai_voxl_2.md) and PX4 with SWAP-optimized sensors and payloads optimized for indoor and outdoor autonomous navigation. -Powered by Blue UAS Framework autopilot, VOXL 2, the Starling weighs only 275g and boasts an impressive 30 minutes of autonomous indoor flight time. +The [Starlings](https://www.modalai.com/pages/starlings) are NDAA-compliant SLAM development drones based on the [VOXL 2](../flight_controller/modalai_voxl_2.md) and PX4 with SWAP-optimized sensors and payloads optimized for indoor and outdoor autonomous navigation. -![Overview](../../assets/hardware/complete_vehicles/modalai_starling/starling_front_hero.jpg) +## 개요 -The ModalAI PX4 Autonomy Developer Kit is a Starling-based development drone. -It houses a [VOXL 2](../flight_controller/modalai_voxl_2.md), which is a powerful companion computer and PX4 flight controller in one small package, image sensors, GPS, and connectivity modem, and is ready-to-fly out-of-the-box. -The Starling features ModalAI's [open SDK](https://docs.modalai.com/voxl-developer-bootcamp/) that has pre-configured autonomy models for computer vision assisted flight. -This development drone is meant to help you get to market faster and accelerate your application development and prototyping. +Starling drones house _VOXL 2_, which is a powerful companion computer, a PX4 flight controller, image sensors, GPS, and connectivity modem, in one small package. +The Starlings feature ModalAI's open source [VOXL SDK](https://gitlab.com/voxl-public/voxl-sdk) that has pre-configured autonomy models for computer vision assisted flight. -This guide explains the minimal additional setup required to get the UAV ready to fly. -It also covers a hardware overview, first flight, setting up WiFi, and more. - -:::info -For complete and regularly updated documentation, please visit . -::: +These development drones are ready-to-fly out-of-the-box. +They are designed to help you get to market faster and accelerate your application development and prototyping. :::info If you are new to VOXL, be sure to familiarize yourself with the core features of VOXL hardware and software by reviewing the [VOXL Bootcamp](https://docs.modalai.com/voxl-developer-bootcamp/). ::: +:::info +For complete and regularly updated documentation, please visit and . +::: + +## Starling 2 + +The [Starling 2](https://www.modalai.com/products/starling-2) is an NDAA-compliant development drone supercharged by the VOXL SDK and equipped with a new image sensor suite for precise, indoor visual navigation and SLAM. Powered by the Blue UAS Framework autopilot, VOXL 2, the Starling 2 weighs 280g and boasts an impressive 40 minutes of autonomous flight time. + +![Image of the front of Starling 2](../../assets/hardware/complete_vehicles/modalai_starling/d0014_front_1920x800.png) + +## Starling 2 Max + +The [Starling 2 Max](https://www.modalai.com/products/starling-2-max) is VOXL 2-powered, NDAA-compliant development drone supercharged by VOXL SDK specifically designed for computer vision-based, long-range dead reckoning with a 500g payload capacity. Powered by the Blue UAS Framework autopilot, VOXL 2, the Starling 2 Max weighs 500g and boasts an impressive 55 minutes of autonomous flight time. + +![Image of front of a Starling 2 Max](../../assets/hardware/complete_vehicles/modalai_starling/d0012_front_1920x800.png) + ## 구매처 -[ModalAI PX4 Autonomy Developer Kit](https://www.modalai.com/products/px4-autonomy-developer-kit?variant=46969885950256) +[ModalAI Starling 2](https://www.modalai.com/products/starling-2) -## Hardware Overview - -![Hardware Overview](../../assets/hardware/complete_vehicles/modalai_starling/mrb_d0005_4_v2_c6_m22__callouts_a.jpg) - -| Callout | 설명 | MPN | -| ------- | -------------------------------------------------------- | ---------------- | -| A | VOXL 2 | MDK-M0054-1 | -| B | VOXL 4-in-1 ESC | MDK-M0117-1 | -| C | Barometer Shield Cap | M10000533 | -| D | ToF Image Sensor (PMD) | MDK-M0040 | -| E | Tracking Image Sensor (OV7251) | M0014 | -| F | Hires Image Sensor (IMX214) | M0025-2 | -| G | AC600 WiFi Dongle | AWUS036EACS | -| H | GNSS GPS Module & Compass | M10-5883 | -| I | 915MHz ELRS Receiver | BetaFPV Nano RX | -| J | USB C Connector on VOXL 2 (not shown) | | -| K | VOXL Power Module | MCCA-M0041-5-B-T | -| L | 4726FM Propellor | M10000302 | -| M | Motor 1504 | | -| N | XT30 Power Connector | | - -## Datasheet - -### 사양 - -| 부품 | 사양 | -| --------------- | ----------------------------------------------------------------- | -| 오토파일럿 | VOXL2 | -| Take-off Weight | 275g (172g without battery) | -| Diagonal Size | 211mm | -| Flight Time | > 30 minutes | -| 모터 | 1504 | -| Propellers | 120mm | -| 프레임 | 3mm Carbon Fiber | -| ESC | ModalAI VOXL 4-in-1 ESC V2 | -| GPS | UBlox M10 | -| 무선 수신기 | 915mhz ELRS | -| 전원 모듈 | ModalAI Power Module v3 - 5V/6A | -| Battery | Sony VTC6 3000mah 2S, or any 2S 18650 battery with XT30 connector | -| 고도 | 83mm | -| Width | 187mm (Props folded) | -| Length | 142mm (Props folded) | - -### Hardware Wiring Diagram - -![Hardware Overview](../../assets/hardware/complete_vehicles/modalai_starling/d0005_compute_wiring_d.jpg) - -## Tutorials - -### ELRS Set Up - -Binding your ELRS (ExpressLRS) receiver to a transmitter is a crucial step in preparing your VOXL 2 based PX4 Autonomy Developer Kit by ModalAI for flight. -This process ensures a secure and responsive connection between your drone and its control system. - -Follow this guide to bind your ELRS receiver to your transmitter. - -#### Setting up the Receiver - -1. **Power On the Receiver**: Once your drone is powered on, you'll notice the ELRS receiver's blue LED flashing. - This is an indication that the receiver is on but has not yet established a connection with a transmitter. - - ![Starling Receiver](../../assets/hardware/complete_vehicles/modalai_starling/starling-photo.png) - -2. **Enter Binding Mode**: To initiate binding, open a terminal and execute the `adb shell` and `voxl-elrs -bind` commands. - You'll observe the receiver's LED switch to a flashing in a heartbeat pattern, signaling that it is now in binding mode. - - ![Boot Screenshot](../../assets/hardware/complete_vehicles/modalai_starling/screenshot-boot.png) - -#### Setting up the Transmitter - -1. **Access the Menu**: On your Commando 8 radio transmitter included in the kit, press the left mode button to open the menu system. - - ![Press Menu on RC](../../assets/hardware/complete_vehicles/modalai_starling/radio-1.png) - -2. **Navigate to ExpressLRS**: Use the right button to select the first menu entry, which should be "ExpressLRS." - -3. **Find the Bind Option**: With the "ExpressLRS" option selected, scroll down to the bottom of the menu to locate the "Bind" section. This can be done by pressing the right button downwards until you reach the "Bind" option. - - ![Press Binding on RC](../../assets/hardware/complete_vehicles/modalai_starling/radio-2.png) - -4. **Initiate Binding**: Select "Bind" to put the transmitter into binding mode. You will know the process has been successful when the transmitter emits a beep, indicating a successful bind. - -#### Completing the Binding Process - -Once the transmitter is set to bind mode, the ELRS receiver on the drone will change its LED from flashing to a steady light, signifying a successful connection between the receiver and the transmitter. - -- **Power Cycle**: After the binding process is complete, it's essential to power cycle the VOXL 2 before attempting to fly. - This means turning off the VOXL 2 and then turning it back on. - This step ensures that all settings are properly applied and that the system recognizes the newly established connection. - -You should now have a successfully bound ELRS receiver to your transmitter, ready for use with the PX4 Autonomy Kit by ModalAI. -A secure connection is vital for the reliable operation of your drone, so always confirm the binding status before flight. - -### 비디오 - -- [VOXL 2 Starling Hardware Overview](https://youtu.be/M9OiMpbEYOg) -- [VOXL 2 Starling First Flight Tutorial](https://youtu.be/Cpbbye3Z6co) -- [VOXL 2 Starling ELRS Set Up](https://youtu.be/7OwGS-kcFVg) +[ModalAI Starling 2 Max](https://www.modalai.com/products/starling-2-max) diff --git a/docs/ko/complete_vehicles_mc/px4_vision_kit.md b/docs/ko/complete_vehicles_mc/px4_vision_kit.md index 3322995f53..732cca2f3b 100644 --- a/docs/ko/complete_vehicles_mc/px4_vision_kit.md +++ b/docs/ko/complete_vehicles_mc/px4_vision_kit.md @@ -42,17 +42,17 @@ This kit is still highly recommended for developing and testing vision solutions ## Warnings and Notifications 1. The kit is intended for computer vision projects that use a forward-facing camera (it does not have downward or rear-facing depth cameras). - Consequently it can't be used (without modification) for testing features that require a downward-facing camera. + Consequently it can't be used (without modification) for testing features that require a downward-facing camera. 2. Obstacle avoidance in missions can only be tested when GPS is available (missions use GPS coordinates). - Collision prevention can be tested in position mode provided there is a good position lock from either GPS or optical flow. + Collision prevention can be tested in position mode provided there is a good position lock from either GPS or optical flow. 3. The port labeled `USB1` may jam the GPS if used with a _USB3_ peripheral (disable GPS-dependent functionality including missions). - This is why the boot image is supplied on a _USB2.0_ memory stick. + This is why the boot image is supplied on a _USB2.0_ memory stick. 4. PX4 Vision v1 with ECN 010 or above (carrier board RC05 and up), the _UP Core_ can be powered by either the DC plug or with battery. - ![RC Number](../../assets/hardware/px4_vision_devkit/rc.png) ![ECN Number](../../assets/hardware/px4_vision_devkit/serial_number_update.jpg) + ![RC Number](../../assets/hardware/px4_vision_devkit/rc.png) ![ECN Number](../../assets/hardware/px4_vision_devkit/serial_number_update.jpg) 5. All PX4 Vision v1.5 _UP Core_ can be powered by either the DC plug or with battery. @@ -132,37 +132,37 @@ In addition, users will need ground station hardware/software: ## First-time Setup 1. Attach a [compatible RC receiver](../getting_started/rc_transmitter_receiver.md#connecting-receivers) to the vehicle (not supplied with kit): - - Remove/unscrew the top plate (where the battery goes) using an H2.0 hex key tool. - - [Connect the receiver to the flight controller](../assembly/quick_start_pixhawk4.md#radio-control). - - Re-attach the top plate. - - Mount the RC receiver on the _UP Core_ carrier board plate at the back of the vehicle (use zipties or double-sided tape). - - Ensure the antennas are clear of any obstructions and electrically isolated from the frame (e.g. secure them under the carrier board or to the vehicle arms or legs). + - Remove/unscrew the top plate (where the battery goes) using an H2.0 hex key tool. + - [Connect the receiver to the flight controller](../assembly/quick_start_pixhawk4.md#radio-control). + - Re-attach the top plate. + - Mount the RC receiver on the _UP Core_ carrier board plate at the back of the vehicle (use zipties or double-sided tape). + - Ensure the antennas are clear of any obstructions and electrically isolated from the frame (e.g. secure them under the carrier board or to the vehicle arms or legs). 2. [Bind](../getting_started/rc_transmitter_receiver.md#binding) the RC ground and air units (if not already done). - The binding procedure depends on the specific radio system used (read the receiver manual). + The binding procedure depends on the specific radio system used (read the receiver manual). 3. Raise the GPS mast to the vertical position and screw the cover onto the holder on the base plate. (Not required for v1.5) - ![Raise GPS mast](../../assets/hardware/px4_vision_devkit/raise_gps_mast.jpg) + ![Raise GPS mast](../../assets/hardware/px4_vision_devkit/raise_gps_mast.jpg) 4. Insert the pre-imaged USB2.0 stick from the kit into the _UP Core_ port labeled `USB1` (highlighted below). - ![UP Core: USB1 Port ](../../assets/hardware/px4_vision_devkit/upcore_port_usb1.png) + ![UP Core: USB1 Port ](../../assets/hardware/px4_vision_devkit/upcore_port_usb1.png) 5. Power the vehicle with a fully charged battery. - ::: info - Ensure propellers are removed before connecting the battery. + ::: info + Ensure propellers are removed before connecting the battery. ::: 6. Connect the ground station to the vehicle WiFi network (after a few seconds) using the following default credentials: - - **SSID:** pixhawk4 - - **Password:** pixhawk4 + - **SSID:** pixhawk4 + - **Password:** pixhawk4 - :::tip - WiFi network SSID, password, and other credentials may be changed after connecting (if desired), by using a web browser to open the URL: `http://192.168.4.1`. - The baud rate must not be changed from 921600. + :::tip + WiFi network SSID, password, and other credentials may be changed after connecting (if desired), by using a web browser to open the URL: `http://192.168.4.1`. + The baud rate must not be changed from 921600. ::: @@ -170,39 +170,39 @@ In addition, users will need ground station hardware/software: 8. [Configure/calibrate](../config/index.md) the vehicle: - ::: info - The vehicle should arrive pre-calibrated (e.g. with firmware, airframe, battery, and sensors all setup). - You will however need to calibrate the radio system (that you just connected) and it is often worth re-doing the compass calibration. + ::: info + The vehicle should arrive pre-calibrated (e.g. with firmware, airframe, battery, and sensors all setup). + You will however need to calibrate the radio system (that you just connected) and it is often worth re-doing the compass calibration. ::: - - [Calibrate the Radio System](../config/radio.md) - - [Calibrate the Compass](../config/compass.md) + - [Calibrate the Radio System](../config/radio.md) + - [Calibrate the Compass](../config/compass.md) 9. (Optional) Configure a [Flight Mode selector switch](../config/flight_mode.md) on the remote controller. - ::: info - Modes can also be changed using _QGroundControl_ + ::: info + Modes can also be changed using _QGroundControl_ ::: - We recommend RC controller switches are define for: + We recommend RC controller switches are define for: - - [Position Mode](../flight_modes_mc/position.md) - a safe manual flight mode that can be used to test collision prevention. - - [Mission Mode](../flight_modes_mc/mission.md) - run missions and test obstacle avoidance. - - [Return Mode](../flight_modes_mc/return.md) - return vehicle safely to its launch point and land. + - [Position Mode](../flight_modes_mc/position.md) - a safe manual flight mode that can be used to test collision prevention. + - [Mission Mode](../flight_modes_mc/mission.md) - run missions and test obstacle avoidance. + - [Return Mode](../flight_modes_mc/return.md) - return vehicle safely to its launch point and land. 10. Attach the propellers with the rotations as shown: - ![Motor Order Diagram](../../assets/hardware/px4_vision_devkit/motor_order_diagram.png) + ![Motor Order Diagram](../../assets/hardware/px4_vision_devkit/motor_order_diagram.png) - - The propellers directions can be determined from the labels: _6045_ (normal, counter-clockwise) and _6045_**R** (reversed, clockwise). + - The propellers directions can be determined from the labels: _6045_ (normal, counter-clockwise) and _6045_**R** (reversed, clockwise). - ![Propeller identification](../../assets/hardware/px4_vision_devkit/propeller_directions.jpg) + ![Propeller identification](../../assets/hardware/px4_vision_devkit/propeller_directions.jpg) - - Screw down firmly using the provided propellor nuts: + - Screw down firmly using the provided propellor nuts: - ![Propeller nuts](../../assets/hardware/px4_vision_devkit/propeller_nuts.png) + ![Propeller nuts](../../assets/hardware/px4_vision_devkit/propeller_nuts.png) ## Fly the Drone with Avoidance @@ -212,30 +212,30 @@ When the vehicle setup described above is complete: 2. Wait until the boot sequence completes and the avoidance system has started (the vehicle will reject arming commands during boot). - :::tip - The boot/startup process takes around 1 minute from the supplied USB stick (or 30 seconds from [internal memory](#install_image_mission_computer)). + :::tip + The boot/startup process takes around 1 minute from the supplied USB stick (or 30 seconds from [internal memory](#install_image_mission_computer)). ::: 3. Check that the avoidance system has started properly: - - The _QGroundControl_ notification log displays the message: **Avoidance system connected**. + - The _QGroundControl_ notification log displays the message: **Avoidance system connected**. - ![QGC Log showing avoidance system has started](../../assets/hardware/px4_vision_devkit/qgc_console_vision_system_started.jpg) + ![QGC Log showing avoidance system has started](../../assets/hardware/px4_vision_devkit/qgc_console_vision_system_started.jpg) - - A red laser is visible on the front of the _Structure Core_ camera. + - A red laser is visible on the front of the _Structure Core_ camera. 4. Wait for the GPS LED to turn green. - This means that the vehicle has a GPS fix and is ready to fly! + This means that the vehicle has a GPS fix and is ready to fly! 5. Connect the ground station to the vehicle WiFi network. 6. Find a safe outdoor location for flying, ideally with a tree or some other convenient obstacle for testing PX4 Vision. 7. To test [collision prevention](../computer_vision/collision_prevention.md), enable [Position Mode](../flight_modes_mc/position.md) and fly manually towards an obstacle. - The vehicle should slow down and then stop within 6m of the obstacle (the distance can be [changed](../advanced_config/parameters.md) using the [CP_DIST](../advanced_config/parameter_reference.md#CP_DIST) parameter). + The vehicle should slow down and then stop within 6m of the obstacle (the distance can be [changed](../advanced_config/parameters.md) using the [CP_DIST](../advanced_config/parameter_reference.md#CP_DIST) parameter). 8. To test obstacle avoidance, create a mission where the path is blocked by an obstacle. - Then switch to [Mission Mode](../flight_modes_mc/mission.md) to run the mission, and observe the vehicle moving around the obstacle and then returning to the planned course. + Then switch to [Mission Mode](../flight_modes_mc/mission.md) to run the mission, and observe the vehicle moving around the obstacle and then returning to the planned course. ## Development using the Kit @@ -280,22 +280,22 @@ To flash the USB image to the _UP Core_: 2. [Login to the companion computer](#login_mission_computer) (as described above). 3. Open a terminal and run the following command to copy the image onto internal memory (eMMC). - The terminal will prompt for a number of responses during the flashing process. + The terminal will prompt for a number of responses during the flashing process. - ```sh - cd ~/catkin_ws/src/px4vision_ros/tools - sudo ./flash_emmc.sh - ``` + ```sh + cd ~/catkin_ws/src/px4vision_ros/tools + sudo ./flash_emmc.sh + ``` - ::: info - All information saved in the _UP Core_ computer will be removed when executing this script. + ::: info + All information saved in the _UP Core_ computer will be removed when executing this script. ::: 4. Pull out the USB stick. 5. Restart the vehicle. - The _UP Core_ computer will now boot from internal memory (eMMC). + The _UP Core_ computer will now boot from internal memory (eMMC). ### Boot the Companion Computer @@ -319,23 +319,23 @@ To login to the companion computer: 1. Connect a keyboard and mouse to the _UP Core_ via port `USB2`: - ![UP Core: USB2](../../assets/hardware/px4_vision_devkit/upcore_port_usb2.png) + ![UP Core: USB2](../../assets/hardware/px4_vision_devkit/upcore_port_usb2.png) - - Use the USB-JST cable from the kit to get a USB A connector + - Use the USB-JST cable from the kit to get a USB A connector - ![USB to JST cable](../../assets/hardware/px4_vision_devkit/usb_jst_cable.jpg) + ![USB to JST cable](../../assets/hardware/px4_vision_devkit/usb_jst_cable.jpg) - - A USB hub can be attached to the cable if the keyboard and mouse have separate connectors. + - A USB hub can be attached to the cable if the keyboard and mouse have separate connectors. 2. Connect a monitor to the _UP Core_ HDMI port. - ![UP Core: HDMI port](../../assets/hardware/px4_vision_devkit/upcore_port_hdmi.png) + ![UP Core: HDMI port](../../assets/hardware/px4_vision_devkit/upcore_port_hdmi.png) - The Ubuntu login screen should then appear on the monitor. + The Ubuntu login screen should then appear on the monitor. 3. Login to the _UP Core_ using the credentials: - - **Username:** px4vision - - **Password:** px4vision + - **Username:** px4vision + - **Password:** px4vision ### Developing/Extending PX4 Avoidance @@ -350,39 +350,39 @@ To integrate a different planner, this needs to be disabled. 1. Disable the avoidance process using the following command: - ```sh - systemctl stop avoidance.service - ``` + ```sh + systemctl stop avoidance.service + ``` - You can simply reboot the machine to restart the service. + You can simply reboot the machine to restart the service. - Other useful commands are: + Other useful commands are: - ```sh - # restart service - systemctl start avoidance.service + ```sh + # restart service + systemctl start avoidance.service - # disable service (stop service and do not restart after boot) - systemctl disable avoidance.service + # disable service (stop service and do not restart after boot) + systemctl disable avoidance.service - # enable service (start service and enable restart after boot) - systemctl enable avoidance.service - ``` + # enable service (start service and enable restart after boot) + systemctl enable avoidance.service + ``` 2. The source code of the obstacle avoidance package can be found in https://github.com/PX4/PX4-Avoidance which is located in `~/catkin_ws/src/avoidance`. 3. Make changes to the code! To get the latest code of avoidance pull the code from the avoidance repo: - ```sh - git pull origin - git checkout origin/master - ``` + ```sh + git pull origin + git checkout origin/master + ``` 4. Build the package - ```sh - catkin build local_planner - ``` + ```sh + catkin build local_planner + ``` The ROS workspace is placed in `~/catkin_ws`. For reference on developing in ROS and using the catkin workspace, see the [ROS catkin tutorials](https://wiki.ros.org/catkin/Tutorials). diff --git a/docs/ko/complete_vehicles_rover/aion_r1.md b/docs/ko/complete_vehicles_rover/aion_r1.md index 51ec65d57c..7399c97675 100644 --- a/docs/ko/complete_vehicles_rover/aion_r1.md +++ b/docs/ko/complete_vehicles_rover/aion_r1.md @@ -54,15 +54,15 @@ Use _QGroundControl_ for rover configuration: First configure the serial connection: 1. Navigate to the [Parameters](../advanced_config/parameters.md) section in QGroundControl. - - Set the [RBCLW_SER_CFG](../advanced_config/parameter_reference.md#RBCLW_SER_CFG) parameter to the serial port to which the RoboClaw is connected (such as `GPS2`). - - [RBCLW_COUNTS_REV](../advanced_config/parameter_reference.md#RBCLW_COUNTS_REV) specifies the number of encoder counts required for one wheel revolution. - This value should be left at `1200` for the tested `RoboClaw 2x15A Motor Controller`. - Adjust the value based on your specific encoder and wheel setup. - - RoboClaw motor controllers must be assigned a unique address on the bus. - The default address is 128 and you should not need to change this (if you do, update the PX4 parameter [RBCLW_ADDRESS](../advanced_config/parameter_reference.md#RBCLW_ADDRESS) to match). + - Set the [RBCLW_SER_CFG](../advanced_config/parameter_reference.md#RBCLW_SER_CFG) parameter to the serial port to which the RoboClaw is connected (such as `GPS2`). + - [RBCLW_COUNTS_REV](../advanced_config/parameter_reference.md#RBCLW_COUNTS_REV) specifies the number of encoder counts required for one wheel revolution. + This value should be left at `1200` for the tested `RoboClaw 2x15A Motor Controller`. + Adjust the value based on your specific encoder and wheel setup. + - RoboClaw motor controllers must be assigned a unique address on the bus. + The default address is 128 and you should not need to change this (if you do, update the PX4 parameter [RBCLW_ADDRESS](../advanced_config/parameter_reference.md#RBCLW_ADDRESS) to match). - ::: info - PX4 does not support multiple RoboClaw motor controllers in the same vehicle — each controller needs a unique address on the bus, and there is only one parameter for setting the address in PX4 (`RBCLW_ADDRESS`). + ::: info + PX4 does not support multiple RoboClaw motor controllers in the same vehicle — each controller needs a unique address on the bus, and there is only one parameter for setting the address in PX4 (`RBCLW_ADDRESS`). ::: @@ -71,12 +71,12 @@ Then configure the actuator configuration: 1. Navigate to [Actuators Configuration & Testing](../config/actuators.md) in QGroundControl. 2. Select the RoboClaw driver from the list of _Actuator Outputs_. - For the channel assignments, disarm, minimum, and maximum values, please refer to the image below. + For the channel assignments, disarm, minimum, and maximum values, please refer to the image below. - ![RoboClaw QGC](../../assets/airframes/rover/aion_r1/roboclaw_actuator_config_qgc.png) + ![RoboClaw QGC](../../assets/airframes/rover/aion_r1/roboclaw_actuator_config_qgc.png) - For systems with more than two motors, it is possible to assign the same function to several motors. - The reason for the unusual values, can be found in the [RoboClaw User Manual](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) under `Compatibility Commands` for `Packet Serial`: + For systems with more than two motors, it is possible to assign the same function to several motors. + The reason for the unusual values, can be found in the [RoboClaw User Manual](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) under `Compatibility Commands` for `Packet Serial`: ```plain Drive motor forward. Valid data range is 0 - 127. A value of 127 = full speed forward, 64 = diff --git a/docs/ko/computer_vision/collision_prevention.md b/docs/ko/computer_vision/collision_prevention.md index 08f02cef31..b8e9a0ef2a 100644 --- a/docs/ko/computer_vision/collision_prevention.md +++ b/docs/ko/computer_vision/collision_prevention.md @@ -203,85 +203,85 @@ The Lua script works by extracting the `obstacle_distance_fused` data at each ti 2. Configure PX4 to publish obstacle distance data (so that it is available to PlotJuggler): - Add the [`obstacle_distance_fused`](../msg_docs/ObstacleDistance.md) UORB topic to your [`dds_topics.yaml`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml) so that it is published by PX4: + Add the [`obstacle_distance_fused`](../msg_docs/ObstacleDistance.md) UORB topic to your [`dds_topics.yaml`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml) so that it is published by PX4: - ```sh - - topic: /fmu/out/obstacle_distance_fused - type: px4_msgs::msg::ObstacleDistance - ``` + ```sh + - topic: /fmu/out/obstacle_distance_fused + type: px4_msgs::msg::ObstacleDistance + ``` - For more information see [DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml) in [uXRCE-DDS](../middleware/uxrce_dds.md) (PX4-ROS 2/DDS Bridge)\_. + For more information see [DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml) in [uXRCE-DDS](../middleware/uxrce_dds.md) (PX4-ROS 2/DDS Bridge)\_. 3. Open PlotJuggler and navigate to the **Tools > Reactive Script Editor** section. - In the **Script Editor** tab, add following scripts in the appropriate sections: + In the **Script Editor** tab, add following scripts in the appropriate sections: - - **Global code, executed once:** + - **Global code, executed once:** - ```lua - obs_dist_fused_xy = ScatterXY.new("obstacle_distance_fused_xy") - obs_dist_min = Timeseries.new("obstacle_distance_minimum") - ``` + ```lua + obs_dist_fused_xy = ScatterXY.new("obstacle_distance_fused_xy") + obs_dist_min = Timeseries.new("obstacle_distance_minimum") + ``` - - **function(tracker_time)** + - **function(tracker_time)** - ```lua - obs_dist_fused_xy:clear() + ```lua + obs_dist_fused_xy:clear() - i = 0 - angle_offset = TimeseriesView.find("/fmu/out/obstacle_distance_fused/angle_offset") - increment = TimeseriesView.find("/fmu/out/obstacle_distance_fused/increment") - min_dist = 65535 + i = 0 + angle_offset = TimeseriesView.find("/fmu/out/obstacle_distance_fused/angle_offset") + increment = TimeseriesView.find("/fmu/out/obstacle_distance_fused/increment") + min_dist = 65535 - -- Cache increment and angle_offset values at tracker_time to avoid repeated calls - local angle_offset_value = angle_offset:atTime(tracker_time) - local increment_value = increment:atTime(tracker_time) + -- Cache increment and angle_offset values at tracker_time to avoid repeated calls + local angle_offset_value = angle_offset:atTime(tracker_time) + local increment_value = increment:atTime(tracker_time) - if increment_value == nil or increment_value <= 0 then - print("Invalid increment value: " .. tostring(increment_value)) - return - end + if increment_value == nil or increment_value <= 0 then + print("Invalid increment value: " .. tostring(increment_value)) + return + end - local max_steps = math.floor(360 / increment_value) + local max_steps = math.floor(360 / increment_value) - while i < max_steps do - local str = string.format("/fmu/out/obstacle_distance_fused/distances[%d]", i) - local distance = TimeseriesView.find(str) - if distance == nil then - print("No distance data for: " .. str) - break - end + while i < max_steps do + local str = string.format("/fmu/out/obstacle_distance_fused/distances[%d]", i) + local distance = TimeseriesView.find(str) + if distance == nil then + print("No distance data for: " .. str) + break + end - local dist = distance:atTime(tracker_time) - if dist ~= nil and dist < 65535 then - -- Calculate angle and Cartesian coordinates - local angle = angle_offset_value + i * increment_value - local y = dist * math.cos(math.rad(angle)) - local x = dist * math.sin(math.rad(angle)) + local dist = distance:atTime(tracker_time) + if dist ~= nil and dist < 65535 then + -- Calculate angle and Cartesian coordinates + local angle = angle_offset_value + i * increment_value + local y = dist * math.cos(math.rad(angle)) + local x = dist * math.sin(math.rad(angle)) - obs_dist_fused_xy:push_back(x, y) + obs_dist_fused_xy:push_back(x, y) - -- Update minimum distance - if dist < min_dist then - min_dist = dist - end - end + -- Update minimum distance + if dist < min_dist then + min_dist = dist + end + end - i = i + 1 - end + i = i + 1 + end - -- Push minimum distance once after the loop - if min_dist < 65535 then - obs_dist_min:push_back(tracker_time, min_dist) - else - print("No valid minimum distance found") - end - ``` + -- Push minimum distance once after the loop + if min_dist < 65535 then + obs_dist_min:push_back(tracker_time, min_dist) + else + print("No valid minimum distance found") + end + ``` 4. Enter a name for the script on the top right, and press **Save**. - Once saved, the script should appear in the _Active Scripts_ section. + Once saved, the script should appear in the _Active Scripts_ section. 5. Start streaming the data using the approach described in [Plotting uORB Topic Data in Real Time using PlotJuggler](../debug/plotting_realtime_uorb_data.md). - You should see the `obstacle_distance_fused_xy` and `obstacle_distance_minimum` timeseries on the left. + You should see the `obstacle_distance_fused_xy` and `obstacle_distance_minimum` timeseries on the left. Note that you have to press **Save** again to re-enable the scripts after loading a new log file or otherwise clearing data. diff --git a/docs/ko/computer_vision/visual_inertial_odometry.md b/docs/ko/computer_vision/visual_inertial_odometry.md index 305ee02bf4..9601bae4ce 100644 --- a/docs/ko/computer_vision/visual_inertial_odometry.md +++ b/docs/ko/computer_vision/visual_inertial_odometry.md @@ -125,15 +125,15 @@ Perform the following checks to verify that VIO is working properly _before_ you 이러한 단계가 유지되면, 첫 번째 비행을 시도할 수 있습니다. 1. Put the vehicle on the ground and start streaming `ODOMETRY` feedback (as above). - 스로틀 스틱을 내리고 모터를 작동시키십시오. + 스로틀 스틱을 내리고 모터를 작동시키십시오. - 이때 왼쪽 스틱을 가장 낮은 위치에 놓고, 위치 제어로 전환합니다. - 초록불이 켜져야 합니다. - 녹색 표시등은 위치 피드백을 사용할 수 있고, 위치 제어가 활성화되었음을 알려줍니다. + 이때 왼쪽 스틱을 가장 낮은 위치에 놓고, 위치 제어로 전환합니다. + 초록불이 켜져야 합니다. + 녹색 표시등은 위치 피드백을 사용할 수 있고, 위치 제어가 활성화되었음을 알려줍니다. 2. 기체가 고도를 유지하도록 스로틀 스틱을 중간(데드 존)에 놓습니다. - 스틱을 올리면 기준 고도가 증가하고 값을 낮추면 감소합니다. - Similarly, the other stick will change the position over the ground. + 스틱을 올리면 기준 고도가 증가하고 값을 낮추면 감소합니다. + Similarly, the other stick will change the position over the ground. 3. Increase the value of the throttle stick and the vehicle will take off. Move it back to the middle immediately afterwards. diff --git a/docs/ko/concept/flight_tasks.md b/docs/ko/concept/flight_tasks.md index 435baec653..d8316fa1ba 100644 --- a/docs/ko/concept/flight_tasks.md +++ b/docs/ko/concept/flight_tasks.md @@ -38,24 +38,24 @@ The instructions below might be used to create a task named _MyTask_: - Update the copyright to the current year - ```cmake - ############################################################################ - # - # Copyright (c) 2021 PX4 Development Team. All rights reserved. - # - ``` + ```cmake + ############################################################################ + # + # Copyright (c) 2021 PX4 Development Team. All rights reserved. + # + ``` - Modify the code to reflect the new task - e.g. replace `FlightTaskOrbit` with `FlightTaskMyTask`. - The code will look something like this: + The code will look something like this: - ```cmake - px4_add_library(FlightTaskMyTask - FlightTaskMyTask.cpp - ) + ```cmake + px4_add_library(FlightTaskMyTask + FlightTaskMyTask.cpp + ) - target_link_libraries(FlightTaskMyTask PUBLIC FlightTask) - target_include_directories(FlightTaskMyTask PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) - ``` + target_link_libraries(FlightTaskMyTask PUBLIC FlightTask) + target_include_directories(FlightTaskMyTask PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + ``` 4. Update the header file (in this case **FlightTaskMyTask.hpp**): Most tasks reimplement the virtual methods `activate()` and `update()`, and in this example we also have a private variable. @@ -141,35 +141,35 @@ The instructions below might be used to create a task named _MyTask_: - Update `MPC_POS_MODE` ([multicopter_position_mode_params.c](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mc_pos_control/multicopter_position_mode_params.c)) to add an option for selecting "MyTask" if the parameter has a previously unused value like 5: - ```c - ... - * @value 0 Direct velocity - * @value 3 Smoothed velocity - * @value 4 Acceleration based - * @value 5 My task - * @group Multicopter Position Control - */ - PARAM_DEFINE_INT32(MPC_POS_MODE, 5); - ``` + ```c + ... + * @value 0 Direct velocity + * @value 3 Smoothed velocity + * @value 4 Acceleration based + * @value 5 My task + * @group Multicopter Position Control + */ + PARAM_DEFINE_INT32(MPC_POS_MODE, 5); + ``` - Add a case for your new option in the switch for the parameter [FlightModeManager.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/flight_mode_manager/FlightModeManager.cpp#L266-L285) to enable the task when `_param_mpc_pos_mode` has the right value. - ```cpp - ... - // manual position control - ... - switch (_param_mpc_pos_mode.get()) { - ... - case 3: - error = switchTask(FlightTaskIndex::ManualPositionSmoothVel); - break; - case 5: // Add case for new task: MyTask - error = switchTask(FlightTaskIndex::MyTask); - break; - case 4: - .... - ... - ``` + ```cpp + ... + // manual position control + ... + switch (_param_mpc_pos_mode.get()) { + ... + case 3: + error = switchTask(FlightTaskIndex::ManualPositionSmoothVel); + break; + case 5: // Add case for new task: MyTask + error = switchTask(FlightTaskIndex::MyTask); + break; + case 4: + .... + ... + ``` ## 신규 비행 작업 테스트 diff --git a/docs/ko/config/airspeed.md b/docs/ko/config/airspeed.md index 84673a452d..087bf0a188 100644 --- a/docs/ko/config/airspeed.md +++ b/docs/ko/config/airspeed.md @@ -27,18 +27,18 @@ Before calibration they must be [enabled via the corresponding parameter](../adv 4. Click the **Airspeed** sensor button. - ![Airspeed calibration](../../assets/qgc/setup/sensor/sensor_airspeed.jpg) + ![Airspeed calibration](../../assets/qgc/setup/sensor/sensor_airspeed.jpg) 5. 센서로 부는 바람을 막으십시오 (예: 손을 컵 모양으로 감쌀 수 있습니다). - 피톳 튜브의 구멍을 막지 않도록 주의하십시오. + 피톳 튜브의 구멍을 막지 않도록 주의하십시오. 6. Click **OK** to start the calibration. 7. 피톳 튜브의 끝에 입으로 바람을 불어 보정 완료 신호를 보냅니다. - :::tip - Blowing into the tube is also a basic check that the dynamic and static ports are installed correctly. - 교체한 센서는 튜브에 바람을 불어 넣을 때 큰 음의 차압을 판독하고 보정이 오류와 함께 중단됩니다. + :::tip + Blowing into the tube is also a basic check that the dynamic and static ports are installed correctly. + 교체한 센서는 튜브에 바람을 불어 넣을 때 큰 음의 차압을 판독하고 보정이 오류와 함께 중단됩니다. ::: diff --git a/docs/ko/config/compass.md b/docs/ko/config/compass.md index ef27d7a49e..197ef3c16a 100644 --- a/docs/ko/config/compass.md +++ b/docs/ko/config/compass.md @@ -23,9 +23,9 @@ If any external magnetometers are available, it then disables the internal magne Several types of compass calibration are available: 1. [Complete](#complete-calibration): This calibration is required after installing the autopilot on an airframe for the first time or when the configuration of the vehicle has changed significantly. - It compensates for hard and soft iron effects by estimating an offset and a scale factor for each axis. + It compensates for hard and soft iron effects by estimating an offset and a scale factor for each axis. 2. [Partial](#partial-quick-calibration): This calibration can be performed as a routine when preparing the vehicle for a flight, after changing the payload, or simply when the compass rose seems inaccurate. - This type of calibration only estimates the offsets to compensate for a hard iron effect. + This type of calibration only estimates the offsets to compensate for a hard iron effect. 3. [Large vehicle](#large-vehicle-calibration): This calibration can be performed when the vehicle is too large or heavy to perform a complete calibration. This type of calibration only estimates the offsets to compensate for a hard iron effect. ## 보정 절차 @@ -35,13 +35,13 @@ Several types of compass calibration are available: Before starting the calibration: 1. 큰 금속 물체등과 같이 자기장이 강한 곳에서 멀리 떨어진 위치를 선택하십시오. - :::tip - Metal is not always obvious! 사무실 테이블 위에서나 (종종 금속 막대 포함) 또는 차량 옆에서 보정하지 마십시오. - 철근이 고르지 않게 분포된 콘크리트 슬래브 근처 장소들도 보정에 영향을 미칠 수 있습니다. + :::tip + Metal is not always obvious! 사무실 테이블 위에서나 (종종 금속 막대 포함) 또는 차량 옆에서 보정하지 마십시오. + 철근이 고르지 않게 분포된 콘크리트 슬래브 근처 장소들도 보정에 영향을 미칠 수 있습니다. ::: 2. Connect via telemetry radio rather than USB if at all possible. - USB can potentially cause significant magnetic interference. + USB can potentially cause significant magnetic interference. 3. If using an external compass (or a combined GPS/compass module), make sure it is [mounted](../assembly/mount_gps_compass.md) as far as possible from other electronics in order to reduce magnetic interference, and in a _supported orientation_. ### Complete Calibration @@ -54,10 +54,10 @@ Before starting the calibration: 3. Click the **Compass** sensor button. - ![Select Compass calibration PX4](../../assets/qgc/setup/sensor/sensor_compass_select_px4.png) + ![Select Compass calibration PX4](../../assets/qgc/setup/sensor/sensor_compass_select_px4.png) - ::: info - You should already have set the [Autopilot Orientation](../config/flight_controller_orientation.md). 미리 설정하지 않았다면, 여기에서 설정할 수 있습니다. + ::: info + You should already have set the [Autopilot Orientation](../config/flight_controller_orientation.md). 미리 설정하지 않았다면, 여기에서 설정할 수 있습니다. ::: @@ -65,7 +65,7 @@ Before starting the calibration: 5. 기체를 아래에 표시된 자세로 놓고 그대로 유지해주십시오 메시지가 표시되면(방향 이미지가 노란색으로 변함) 기체를 지정축을 기준으로 한 방향으로 회전시킵니다. 현재 방향에 대해 보정이 완료되면 화면의 그림이 녹색으로 바뀝니다. - ![Compass calibration steps on PX4](../../assets/qgc/setup/sensor/sensor_compass_calibrate_px4.png) + ![Compass calibration steps on PX4](../../assets/qgc/setup/sensor/sensor_compass_calibrate_px4.png) 6. 드론의 모든 방향에 대해 보정 과정을 반복합니다. @@ -76,7 +76,7 @@ Once you've calibrated the vehicle in all the positions _QGroundControl_ will di This calibration is similar to the well-known figure-8 compass calibration done on a smartphone: 1. Hold the vehicle in front of you and randomly perform partial rotations on all its axes. - 2-3 oscillations of ~30 degrees in every direction is usually sufficient. + 2-3 oscillations of ~30 degrees in every direction is usually sufficient. 2. Wait for the heading estimate to stabilize and verify that the compass rose is pointing to the correct direction (this can take a couple of seconds). 참고: @@ -94,12 +94,12 @@ This calibration process leverages external knowledge of vehicle's orientation a 1. Ensure GNSS Fix. This is required to find the expected Earth magnetic field in WMM tables. 2. Align the vehicle to face True North. - Be as accurate as possible for best results. + Be as accurate as possible for best results. 3. Open the [QGroundControl MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html) and send the following command: - ```sh - commander calibrate mag quick - ``` + ```sh + commander calibrate mag quick + ``` 참고: diff --git a/docs/ko/config/firmware.md b/docs/ko/config/firmware.md index 48b5674d79..f18547b496 100644 --- a/docs/ko/config/firmware.md +++ b/docs/ko/config/firmware.md @@ -61,10 +61,10 @@ Next you will need to specify the [vehicle airframe](../config/airframe.md) (and 2. Check **Advanced settings** and select the version from the dropdown list: - **Standard Version (stable):** The default version (i.e. no need to use advanced settings to install this!) - **Beta Testing (beta):** A beta/candidate release. - 신규 버전 출시 이전에 테스트 할 경우에만 사용할 수 있습니다. + 신규 버전 출시 이전에 테스트 할 경우에만 사용할 수 있습니다. - **Developer Build (master):** The latest build of PX4/PX4-Autopilot _main_ branch. - **Custom Firmware file...:** A custom firmware file (e.g. [that you have built locally](../dev_setup/building_px4.md)). - 사용자 정의 펌웨어 파일을 선택한 경우 다음 단계에서 파일 시스템에서 사용자 정의 펌웨어를 선택하여야 합니다. + 사용자 정의 펌웨어 파일을 선택한 경우 다음 단계에서 파일 시스템에서 사용자 정의 펌웨어를 선택하여야 합니다. 그러면 펌웨어 업데이트가 이전과 같이 계속됩니다. diff --git a/docs/ko/config/flight_mode.md b/docs/ko/config/flight_mode.md index da272589c7..aac54501f9 100644 --- a/docs/ko/config/flight_mode.md +++ b/docs/ko/config/flight_mode.md @@ -40,24 +40,24 @@ You can also separately specify channels for mapping a kill switch, return to la 3. Select **"Q" icon > Vehicle Setup > Flight Modes** (sidebar) to open _Flight Modes Setup_. - ![Flight modes single-channel](../../assets/qgc/setup/flight_modes/flight_modes_single_channel.jpg) + ![Flight modes single-channel](../../assets/qgc/setup/flight_modes/flight_modes_single_channel.jpg) 4. Specify _Flight Mode Settings_: - - Select the **Mode channel** (above this shown as Channel 5, but this will depend on your transmitter configuration). - - Move the transmitter switch (or switches) that you have set up for mode selection through the available positions. - The mode slot matching your current switch position will be highlighted (above this is _Flight Mode 1_). - ::: info - While you can set flight modes in any of the 6 slots, only the channels that are mapped to switch positions will be highlighted/used. + - Select the **Mode channel** (above this shown as Channel 5, but this will depend on your transmitter configuration). + - Move the transmitter switch (or switches) that you have set up for mode selection through the available positions. + The mode slot matching your current switch position will be highlighted (above this is _Flight Mode 1_). + ::: info + While you can set flight modes in any of the 6 slots, only the channels that are mapped to switch positions will be highlighted/used. ::: - - Select the flight mode that you want triggered for each switch position. + - Select the flight mode that you want triggered for each switch position. 5. Specify _Switch Settings_: - - Select the channels that you want to map to specific actions - e.g.: _Return_ mode, _Kill switch_, _offboard_ mode, etc. (if you have spare switches and channels on your transmitter). + - Select the channels that you want to map to specific actions - e.g.: _Return_ mode, _Kill switch_, _offboard_ mode, etc. (if you have spare switches and channels on your transmitter). 6. Test that the modes are mapped to the right transmitter switches: - - Check the _Channel Monitor_ to confirm that the expected channel is changed by each switch. - - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + - Check the _Channel Monitor_ to confirm that the expected channel is changed by each switch. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). All values are automatically saved as they are changed. diff --git a/docs/ko/config/safety_simulation.md b/docs/ko/config/safety_simulation.md index be2f6cb89a..bee01fc8d3 100644 --- a/docs/ko/config/safety_simulation.md +++ b/docs/ko/config/safety_simulation.md @@ -14,7 +14,7 @@ To use it: 2. Set the vehicle type 3. Set the other values in the **State** or any of the flags under **Conditions** - The **Intended Mode** corresponds to the commanded mode via RC or GCS (or external script). - The failsafe state machine can override this in case of a failsafe. + The failsafe state machine can override this in case of a failsafe. 4. Check the action under **Output** 5. Check what happens when changing mode or **Move the RC sticks** 6. Play with different settings and conditions! diff --git a/docs/ko/config_fw/trimming_guide_fixedwing.md b/docs/ko/config_fw/trimming_guide_fixedwing.md index d83b874dfe..14db662282 100644 --- a/docs/ko/config_fw/trimming_guide_fixedwing.md +++ b/docs/ko/config_fw/trimming_guide_fixedwing.md @@ -29,10 +29,10 @@ The [Advanced Trimming](#advanced-trimming) section introduces parameters that c 1. Trim the servos by physically adjusting the linkages lengths if possible and fine tune by trimming the PWM channels (use `PWM_MAIN/AUX_TRIMx`) on the bench to properly set the control surfaces to their theoretical position. 2. Fly in stabilized mode at cruise speed and set the pitch setpoint offset (`FW_PSP_OFF`) to desired angle of attack. - 순항 속도에서 필요한 공격 각도는 날개 높이 비행 중에 일정한 고도를 유지하기 위해 비행기가 비행해야 하는 피치 각도에 해당합니다. - If you are using an airspeed sensor, also set the correct cruise airspeed (`FW_AIRSPD_TRIM`). + 순항 속도에서 필요한 공격 각도는 날개 높이 비행 중에 일정한 고도를 유지하기 위해 비행기가 비행해야 하는 피치 각도에 해당합니다. + If you are using an airspeed sensor, also set the correct cruise airspeed (`FW_AIRSPD_TRIM`). 3. Look at the actuator controls in the log file (upload it to [Flight Review](https://logs.px4.io) and check the _Actuator Controls_ plot for example) and set the pitch trim (`TRIM_PITCH`). - 이 값을 수평 비행 중의 피치 신호의 평균 오프셋으로 설정합니다. + 이 값을 수평 비행 중의 피치 신호의 평균 오프셋으로 설정합니다. 로그 조회가 필요가 없거나 수동 모드에서 편안하게 비행 할 수있는 경우 2 단계 전에 3 단계를 수행할 수 있습니다. You can then trim your remote (with the trim switches) and report the values to `TRIM_PITCH` (and remove the trims from your transmitter) or update `TRIM_PITCH` directly during flight via telemetry and QGC. diff --git a/docs/ko/config_heli/index.md b/docs/ko/config_heli/index.md index 93847d6b0e..bfa800eca5 100644 --- a/docs/ko/config_heli/index.md +++ b/docs/ko/config_heli/index.md @@ -53,15 +53,15 @@ To setup and configure a helicopter: For each servo set: - `Angle`: Clockwise angle in degree on the swash plate circle at which the servo arm is attached starting from `0` pointing forwards. - Example for a typical setup where three servos are controlling the swash plate equally distributed over the circle (360° / 3 =) 120° apart each which results in the angles: + Example for a typical setup where three servos are controlling the swash plate equally distributed over the circle (360° / 3 =) 120° apart each which results in the angles: - | # | Angle | - | ------- | ----- | - | Servo 1 | 60° | - | Servo 2 | 180° | - | Servo 3 | 300° | + | # | Angle | + | ------- | ----- | + | Servo 1 | 60° | + | Servo 2 | 180° | + | Servo 3 | 300° | - warning and requirement + warning and requirement - `Arm Length (relative to each other)`: Radius from the swash plate center (top view). A shorter arm means the same servo motion moves the plate more. This allows the autopilot to compensate. @@ -72,7 +72,7 @@ To setup and configure a helicopter: - `Yaw compensation scale based on collective pitch`: How much yaw is feed forward compensated based on the current collective pitch. - `Main rotor turns counter-clockwise`: `Disabled` (clockwise rotation) | `Enabled` - `Throttle spoolup time`: Set value (in seconds) greater than the achievable minimum motor spool up time. - A larger value may improve user experience. + A larger value may improve user experience. 3. Remove the rotor blades and propellers diff --git a/docs/ko/config_mc/filter_tuning.md b/docs/ko/config_mc/filter_tuning.md index b206131c7d..665ca9dc33 100644 --- a/docs/ko/config_mc/filter_tuning.md +++ b/docs/ko/config_mc/filter_tuning.md @@ -166,11 +166,11 @@ In this case you might use the settings: [IMU_GYRO_NF0_FRQ=32](../advanced_confi ## 추가 팁 1. 허용 가능한 지연 시간은 기체 크기와 기대치에 따라 달라집니다. - FPV racers typically tune for the absolute minimal latency (as a ballpark `IMU_GYRO_CUTOFF` around 120, `IMU_DGYRO_CUTOFF` of 50 to 80). - For bigger vehicles latency is less critical and `IMU_GYRO_CUTOFF` of around 80 might be acceptable. + FPV racers typically tune for the absolute minimal latency (as a ballpark `IMU_GYRO_CUTOFF` around 120, `IMU_DGYRO_CUTOFF` of 50 to 80). + For bigger vehicles latency is less critical and `IMU_GYRO_CUTOFF` of around 80 might be acceptable. 2. You can start tuning at higher `IMU_GYRO_CUTOFF` values (e.g. 100Hz), which might be desirable because the default tuning of `IMU_GYRO_CUTOFF` is set very low (30Hz). - 유일한 주의 사항은 위험을 알고 있어야한다는 것입니다. - - 20 ~ 30 초 이상 비행하지 마십시오 - - 모터가 과열되지 않는 지 확인하십시오. - - 위의 설명처럼 이상한 소리와 과도한 소음을 체크하십시오. + 유일한 주의 사항은 위험을 알고 있어야한다는 것입니다. + - 20 ~ 30 초 이상 비행하지 마십시오 + - 모터가 과열되지 않는 지 확인하십시오. + - 위의 설명처럼 이상한 소리와 과도한 소음을 체크하십시오. diff --git a/docs/ko/config_mc/pid_tuning_guide_multicopter_basic.md b/docs/ko/config_mc/pid_tuning_guide_multicopter_basic.md index ecafb76696..efc5ebcfe7 100644 --- a/docs/ko/config_mc/pid_tuning_guide_multicopter_basic.md +++ b/docs/ko/config_mc/pid_tuning_guide_multicopter_basic.md @@ -72,7 +72,7 @@ Make sure to have assigned a [Kill switch](../config/safety.md#emergency-switche 1. Arm the vehicle, takeoff, and hover (typically in [Position mode](../flight_modes_mc/position.md)). 2. Open _QGroundControl_ **Vehicle Setup > PID Tuning** - ![QGC Rate Controller Tuning UI](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_rate_controller.png) + ![QGC Rate Controller Tuning UI](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_rate_controller.png) 3. Select the **Rate Controller** tab. @@ -80,60 +80,60 @@ Make sure to have assigned a [Kill switch](../config/safety.md#emergency-switche 5. Set the _Thrust curve_ value to: 0.3 (PWM, power-based controllers) or 1 (RPM-based ESCs) - ::: info - For PWM, power-based and (some) UAVCAN speed controllers, the control signal to thrust relationship may not be linear. - 그 결과 호버 추력에서 최적의 튜닝은 차량이 강한 추력으로 작동시 최적이 아닐 수 있습니다. + ::: info + For PWM, power-based and (some) UAVCAN speed controllers, the control signal to thrust relationship may not be linear. + 그 결과 호버 추력에서 최적의 튜닝은 차량이 강한 추력으로 작동시 최적이 아닐 수 있습니다. - 추력 곡선 값을 사용하여 비선형성을 보상할 수 있습니다. + 추력 곡선 값을 사용하여 비선형성을 보상할 수 있습니다. - - For PWM controllers, 0.3 is a good default (which may benefit from [further tuning](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve)). - - RPM 기반 컨트롤러의 경우 1을 사용합니다 (2 차 추력 곡선이 있으므로 추가 튜닝이 필요하지 않음). + - For PWM controllers, 0.3 is a good default (which may benefit from [further tuning](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve)). + - RPM 기반 컨트롤러의 경우 1을 사용합니다 (2 차 추력 곡선이 있으므로 추가 튜닝이 필요하지 않음). - For more information see the [detailed PID tuning guide](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve). + For more information see the [detailed PID tuning guide](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve). ::: 6. Set the _Select Tuning_ radio button to: **Roll**. 7. (Optionally) Select the **Automatic Flight Mode Switching** checkbox. - This will _automatically_ switch from [Position mode](../flight_modes_mc/position.md) to [Stabilised mode](../flight_modes_mc/manual_stabilized.md) when you press the **Start** button + This will _automatically_ switch from [Position mode](../flight_modes_mc/position.md) to [Stabilised mode](../flight_modes_mc/manual_stabilized.md) when you press the **Start** button 8. For rate controller tuning switch to _Acro mode_, _Stabilized mode_ or _Altitude mode_ (unless automatic switching is enabled). 9. Select the **Start** button in order to start tracking the setpoint and response curves. 10. Rapidly move the _roll stick_ full range and observe the step response on the plots. - :::tip - Stop tracking to enable easier inspection of the plots. - 확대/축소/이동시 자동으로 발생합니다. - Use the **Start** button to restart the plots, and **Clear** to reset them. + :::tip + Stop tracking to enable easier inspection of the plots. + 확대/축소/이동시 자동으로 발생합니다. + Use the **Start** button to restart the plots, and **Clear** to reset them. ::: 11. Modify the three PID values using the sliders (for roll rate-tuning these affect `MC_ROLLRATE_K`, `MC_ROLLRATE_I`, `MC_ROLLRATE_D`) and observe the step response again. - 슬라이더를 움직이면 값이 기체에 저장됩니다. - ::: info - The goal is for the _Response_ curve to match the _Setpoint_ curve as closely as possible (i.e. a fast response without overshoots). + 슬라이더를 움직이면 값이 기체에 저장됩니다. + ::: info + The goal is for the _Response_ curve to match the _Setpoint_ curve as closely as possible (i.e. a fast response without overshoots). ::: - The PID values can be adjusted as follows: - - P (비례) 또는 K 이득 : - - 더 많은 응답을 위해 이것을 늘리십시오. - - 응답이 오버 슈팅 및/또는 진동하는 경우 감소합니다 (특정 지점까지 D 게인 증가도 도움이 됨). - - D (미분) 이득 : - - 오버슈트 및 진동을 줄이기 위해이 값을 늘릴 수 있습니다. - - 소음을 증폭하고 모터가 뜨거워 질 수 있으므로 필요한 만큼만 늘리십시오. - - I (적분) 이득 : - - 정상 상태 오류를 줄이는 데 사용 - - 너무 낮으면 응답이 설정 값에 도달하지 못할 수 있습니다 (예 : 바람) - - 너무 높으면 느린 진동이 발생할 수 있습니다. + The PID values can be adjusted as follows: + - P (비례) 또는 K 이득 : + - 더 많은 응답을 위해 이것을 늘리십시오. + - 응답이 오버 슈팅 및/또는 진동하는 경우 감소합니다 (특정 지점까지 D 게인 증가도 도움이 됨). + - D (미분) 이득 : + - 오버슈트 및 진동을 줄이기 위해이 값을 늘릴 수 있습니다. + - 소음을 증폭하고 모터가 뜨거워 질 수 있으므로 필요한 만큼만 늘리십시오. + - I (적분) 이득 : + - 정상 상태 오류를 줄이는 데 사용 + - 너무 낮으면 응답이 설정 값에 도달하지 못할 수 있습니다 (예 : 바람) + - 너무 높으면 느린 진동이 발생할 수 있습니다. 12. 피치와 요에 대해 위의 튜닝 프로세스를 반복합니다. - - Use _Select Tuning_ radio button to select the axis to tune - - 적절한 스틱을 이동합니다 (예 : 피치 스틱, 요 스틱). - - 피치 튜닝의 경우 롤과 동일한 값으로 시작하십시오. - :::tip - Use the **Save to Clipboard** and **Reset from Clipboard** buttons to copy the roll settings for initial pitch settings. + - Use _Select Tuning_ radio button to select the axis to tune + - 적절한 스틱을 이동합니다 (예 : 피치 스틱, 요 스틱). + - 피치 튜닝의 경우 롤과 동일한 값으로 시작하십시오. + :::tip + Use the **Save to Clipboard** and **Reset from Clipboard** buttons to copy the roll settings for initial pitch settings. ::: @@ -141,10 +141,10 @@ Make sure to have assigned a [Kill switch](../config/safety.md#emergency-switche 14. Repeat the tuning process for the velocity and positions controllers (on all the axes). - - Use Position mode when tuning these controllers - - Select the **Simple position control** option in the _Position control mode ..._ selector (this allows direct control for the generation of step inputs) + - Use Position mode when tuning these controllers + - Select the **Simple position control** option in the _Position control mode ..._ selector (this allows direct control for the generation of step inputs) - ![QGC PID tuning: Simple control selector](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_simple_control.png) + ![QGC PID tuning: Simple control selector](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_simple_control.png) 완료되었습니다 ! 설정을 종료하기 전에 에어 모드를 다시 활성화하여야 합니다. diff --git a/docs/ko/config_rover/index.md b/docs/ko/config_rover/index.md index 8aa91b1c27..17af2f6742 100644 --- a/docs/ko/config_rover/index.md +++ b/docs/ko/config_rover/index.md @@ -25,18 +25,18 @@ Rovers use a custom build that must be flashed onto your flight controller inste To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command: - ```sh - make px4_fmu-v6x_rover - ``` + ```sh + make px4_fmu-v6x_rover + ``` ::: info You can also enable the modules in default builds by adding these lines to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add them to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)): - ```sh - CONFIG_MODULES_ROVER_ACKERMANN=y - CONFIG_MODULES_ROVER_DIFFERENTIAL=y - CONFIG_MODULES_ROVER_MECANUM=y - ``` + ```sh + CONFIG_MODULES_ROVER_ACKERMANN=y + CONFIG_MODULES_ROVER_DIFFERENTIAL=y + CONFIG_MODULES_ROVER_MECANUM=y + ``` Note that adding the rover modules may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing). diff --git a/docs/ko/config_vtol/vtol_quad_configuration.md b/docs/ko/config_vtol/vtol_quad_configuration.md index 7c234d9653..d442eda0b6 100644 --- a/docs/ko/config_vtol/vtol_quad_configuration.md +++ b/docs/ko/config_vtol/vtol_quad_configuration.md @@ -11,7 +11,7 @@ For airframe specific documentation and build instructions see [VTOL Framebuilds 2. Flash the firmware for your current release or master (PX4 `main` branch build). 3. In the [Frame setup](../config/airframe.md) section select the appropriate VTOL airframe. - If your airframe is not listed select the [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) frame. + If your airframe is not listed select the [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) frame. ### 비행 / 전환 모드 스위치 diff --git a/docs/ko/contribute/docs.md b/docs/ko/contribute/docs.md index b8d7bc1dbe..f0713b2edf 100644 --- a/docs/ko/contribute/docs.md +++ b/docs/ko/contribute/docs.md @@ -64,33 +64,33 @@ If you already have a clone of the [PX4-Autopilot](https://github.com/PX4/PX4-Au 4. 복사된 저장소를 로컬 컴퓨터에 복제합니다. - ```sh - cd ~/wherever/ - git clone https://github.com//PX4-Autopilot.git - ``` + ```sh + cd ~/wherever/ + git clone https://github.com//PX4-Autopilot.git + ``` - For example, to clone PX4 source fork for a user with Github account "john_citizen": + For example, to clone PX4 source fork for a user with Github account "john_citizen": - ```sh - git clone https://github.com/john_citizen/PX4-Autopilot.git - ``` + ```sh + git clone https://github.com/john_citizen/PX4-Autopilot.git + ``` 5. 로컬 저장소로 이동합니다. - ```sh - cd ~/wherever/PX4-Autopilot - ``` + ```sh + cd ~/wherever/PX4-Autopilot + ``` 6. Add a _remote_ called "upstream" to point to the "official" PX4 version of the library: - ```sh - git remote add upstream https://github.com/PX4/PX4-Autopilot.git - ``` + ```sh + git remote add upstream https://github.com/PX4/PX4-Autopilot.git + ``` - :::tip - A "remote" is a handle to a particular repository. - The remote named _origin_ is created by default when you clone the repository, and points to _your fork_ of the guide. - Above you create a new remote _upstream_ that points to the PX4 project version of the documents. + :::tip + A "remote" is a handle to a particular repository. + The remote named _origin_ is created by default when you clone the repository, and points to _your fork_ of the guide. + Above you create a new remote _upstream_ that points to the PX4 project version of the documents. ::: @@ -100,111 +100,111 @@ Within the repository you created above: 1. Bring your copy of the repository `main` branch up to date: - ```sh - git checkout main - git fetch upstream main - git pull upstream main - ``` + ```sh + git checkout main + git fetch upstream main + git pull upstream main + ``` 2. Create a new branch for your changes: - ```sh - git checkout -b - ``` + ```sh + git checkout -b + ``` - This creates a local branch on your computer named `your_feature_branch_name`. + This creates a local branch on your computer named `your_feature_branch_name`. 3. 필요에 따라 문서를 변경합니다(다음 섹션에서 이에 대한 일반 지침). 4. 변경 사항에 완료되면 "커밋"을 사용하여, 로컬 브랜치에 추가합니다. - ```sh - git add - git commit -m "" - ``` + ```sh + git add + git commit -m "" + ``` - For a good commit message, please refer to the [Source Code Management](../contribute/code.md#commits-and-commit-messages) section. + For a good commit message, please refer to the [Source Code Management](../contribute/code.md#commits-and-commit-messages) section. 5. 로컬 분기(추가된 커밋 포함)를 Github의 분기된 저장소에 푸시합니다. - ```sh - git push origin your_feature_branch_name - ``` + ```sh + git push origin your_feature_branch_name + ``` 6. Go to your forked repository on Github in a web browser, e.g.: `https://github.com//PX4-Autopilot.git`. - 새 분기가 분기된 저장소로 푸시되었다는 메시지가 표시되어야 합니다. + 새 분기가 분기된 저장소로 푸시되었다는 메시지가 표시되어야 합니다. 7. 풀 요청(PR) 생성: - - On the right hand side of the "new branch message" (see one step before), you should see a green button saying "Compare & Create Pull Request". - 클릭합니다. - - 풀 요청 템플릿이 생성됩니다. - 그것은 당신의 커밋을 나열하고 의미 있는 제목(하나의 커밋 PR의 경우 일반적으로 커밋 메시지)과 메시지(어떤 이유에서 수행했는지 설명)를 추가할 수 있습니다(반드시). - Check [other pull requests](https://github.com/PX4/PX4-Autopilot/pulls) for comparison). - - Add the "Documentation" label. + - On the right hand side of the "new branch message" (see one step before), you should see a green button saying "Compare & Create Pull Request". + 클릭합니다. + - 풀 요청 템플릿이 생성됩니다. + 그것은 당신의 커밋을 나열하고 의미 있는 제목(하나의 커밋 PR의 경우 일반적으로 커밋 메시지)과 메시지(어떤 이유에서 수행했는지 설명)를 추가할 수 있습니다(반드시). + Check [other pull requests](https://github.com/PX4/PX4-Autopilot/pulls) for comparison). + - Add the "Documentation" label. 8. 완료하였습니다. - PX4 사용자 가이드 유지 관리자는 이제 귀하의 기여를 검투한 후에, 통합 여부를 결정합니다. - 때때로 변경 사항에 대한 질문을 확인하십시오. + PX4 사용자 가이드 유지 관리자는 이제 귀하의 기여를 검투한 후에, 통합 여부를 결정합니다. + 때때로 변경 사항에 대한 질문을 확인하십시오. ### 로컬에서 라이브러리 구축 로컬에서 라이브러리를 빌드하여, 변경 사항이 제대로 반영되었는 지를 테스트합니다. 1. Install the [Vitepress prerequisites](https://vitepress.dev/guide/getting-started#prerequisites): - - [Nodejs 18+](https://nodejs.org/en) - - [Yarn classic](https://classic.yarnpkg.com/en/docs/install) + - [Nodejs 18+](https://nodejs.org/en) + - [Yarn classic](https://classic.yarnpkg.com/en/docs/install) 2. Navigate to your local repository and the `/docs` subdirectory: - ```sh - cd ~/wherever/PX4-Autopilot/docs - ``` + ```sh + cd ~/wherever/PX4-Autopilot/docs + ``` 3. 종속성(Vuepress 포함)들을 설치합니다. - ```sh - yarn install - ``` + ```sh + yarn install + ``` 4. Preview and serve the library: - ```sh - yarn docs:dev - ``` + ```sh + yarn docs:dev + ``` - - Once the development/preview server has built the library (less than a minute for the first time) it will show you the URL you can preview the site on. - This will be something like: `http://localhost:5173/px4_user_guide/`. - - Stop serving using **CTRL+C** in the terminal prompt. + - Once the development/preview server has built the library (less than a minute for the first time) it will show you the URL you can preview the site on. + This will be something like: `http://localhost:5173/px4_user_guide/`. + - Stop serving using **CTRL+C** in the terminal prompt. 5. Open previewed pages in your local editor: - First specify a local text editor file using the `EDITOR` environment variable, before calling `yarn start` to preview the library. - For example, you can enable VSCode as your default editor by entering: + First specify a local text editor file using the `EDITOR` environment variable, before calling `yarn start` to preview the library. + For example, you can enable VSCode as your default editor by entering: - - Windows: + - Windows: - ```sh - set EDITOR=code - ``` + ```sh + set EDITOR=code + ``` - - Linux: + - Linux: - ```sh - export EDITOR=code - ``` + ```sh + export EDITOR=code + ``` - The **Open in your editor** link at the bottom of each page will then open the current page in the editor (this replaces the _Open in GitHub_ link). + The **Open in your editor** link at the bottom of each page will then open the current page in the editor (this replaces the _Open in GitHub_ link). 6. 다음을 사용하여 라이브러리를 빌드합니다. - ```sh - # Ubuntu - yarn docs:build + ```sh + # Ubuntu + yarn docs:build - # Windows - yarn docs:buildwin - ``` + # Windows + yarn docs:buildwin + ``` :::tip Use `yarn start` to preview changes _as you make them_ (documents are updated and served very quickly). @@ -257,38 +257,38 @@ When you add a new page you must also add it to `en/SUMMARY.md`! ## 스타일 가이드 1. 파일/파일명 - - Put new markdown files in an appropriate sub-folder of `/en/`, such as `/en/contribute/`. - 폴더를 중첩하지 마십시오. - - Put new image files in an appropriate nested sub-folder of `/assets/`. - Deeper nesting is allowed/encouraged. - - Use descriptive names for folders and files. - In particular, image filenames should describe what they contain (don't name as "image1.png") - - Use lower case filenames and separate words using underscores (`_`). + - Put new markdown files in an appropriate sub-folder of `/en/`, such as `/en/contribute/`. + 폴더를 중첩하지 마십시오. + - Put new image files in an appropriate nested sub-folder of `/assets/`. + Deeper nesting is allowed/encouraged. + - Use descriptive names for folders and files. + In particular, image filenames should describe what they contain (don't name as "image1.png") + - Use lower case filenames and separate words using underscores (`_`). 2. 이미지 - - 이미지는 최대한 가장 작은 크기와 가장 낮은 해상도를 사용합니다(이렇게 하면 대역폭이 좋지 않은 사용자의 다운로드 비용이 줄어듭니다). - - New images should be created in a sub-folder of `/assets/` (so they can be shared between translations). - - SVG files are preferred for diagrams. - PNG files are preferred over JPG for screenshots. + - 이미지는 최대한 가장 작은 크기와 가장 낮은 해상도를 사용합니다(이렇게 하면 대역폭이 좋지 않은 사용자의 다운로드 비용이 줄어듭니다). + - New images should be created in a sub-folder of `/assets/` (so they can be shared between translations). + - SVG files are preferred for diagrams. + PNG files are preferred over JPG for screenshots. 3. 내용 - - Use "style" (**bold**, _emphasis_, etc.) consistently and sparingly (as little as possible). - - **Bold** for button presses and menu definitions. - - _Emphasis_ for tool names such as _QGroundControl_ or _prettier_. - - `code` for file paths, and code, parameter names that aren't linked, using tools in a command line, such as `prettier`. - - Headings and page titles should use "First Letter Capitalisation". - - The page title should be a first level heading (`#`). - All other headings should be h2 (`##`) or lower. - - 제목에는 스타일을 추가하지 마십시오. - - Don't translate the text indicating the name of an `info`, `tip` or `warning` declaration (e.g. `::: tip`) as this precise text is required to render the aside properly. - - Break lines on sentences by preference. - Don't break lines based on some arbitrary line length. - - Format using _prettier_ (_VSCode_ is a has extensions can be used for this). + - Use "style" (**bold**, _emphasis_, etc.) consistently and sparingly (as little as possible). + - **Bold** for button presses and menu definitions. + - _Emphasis_ for tool names such as _QGroundControl_ or _prettier_. + - `code` for file paths, and code, parameter names that aren't linked, using tools in a command line, such as `prettier`. + - Headings and page titles should use "First Letter Capitalisation". + - The page title should be a first level heading (`#`). + All other headings should be h2 (`##`) or lower. + - 제목에는 스타일을 추가하지 마십시오. + - Don't translate the text indicating the name of an `info`, `tip` or `warning` declaration (e.g. `::: tip`) as this precise text is required to render the aside properly. + - Break lines on sentences by preference. + Don't break lines based on some arbitrary line length. + - Format using _prettier_ (_VSCode_ is a has extensions can be used for this). 4. Videos: - - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass). - - Use instructional videos sparingly as they date badly, and are hard to maintain. - - Cool videos of airframes in flight are always welcome. + - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass). + - Use instructional videos sparingly as they date badly, and are hard to maintain. + - Cool videos of airframes in flight are always welcome. ## 어디에서 변경 사항을 추가합니까? diff --git a/docs/ko/contribute/git_examples.md b/docs/ko/contribute/git_examples.md index d4e71a7deb..96773607f6 100644 --- a/docs/ko/contribute/git_examples.md +++ b/docs/ko/contribute/git_examples.md @@ -109,23 +109,23 @@ To switch between branches: 1. Clean up the current branch, de-initializing submodule and removing all build artifacts: - ```sh - make clean - make distclean - ``` + ```sh + make clean + make distclean + ``` 2. Switch to a new branch or tag (here we first fetch the fictional branch "PR_test_branch" from the `upstream` remote): - ```sh - git fetch upstream PR_test_branch - git checkout PR_test_branch - ``` + ```sh + git fetch upstream PR_test_branch + git checkout PR_test_branch + ``` 3. Get the submodules for the new branch: - ```sh - make submodulesclean - ``` + ```sh + make submodulesclean + ``` @@ -138,35 +138,35 @@ To get the source code for a _specific older release_ (tag): 1. Clone the PX4-Autopilot repo and navigate into _PX4-Autopilot_ directory: - ```sh - git clone https://github.com/PX4/PX4-Autopilot.git - cd PX4-Autopilot - ``` + ```sh + git clone https://github.com/PX4/PX4-Autopilot.git + cd PX4-Autopilot + ``` - :::note + :::note - You can reuse an existing repo rather than cloning a new one. - In this case clean the build environment (see [changing source trees](#changing-source-trees)): + You can reuse an existing repo rather than cloning a new one. + In this case clean the build environment (see [changing source trees](#changing-source-trees)): - ```sh - make clean - make distclean - ``` + ```sh + make clean + make distclean + ``` ::: 2. Checkout code for particular tag (e.g. for tag v1.13.0-beta2) - ```sh - git checkout v1.13.0-beta2 - ``` + ```sh + git checkout v1.13.0-beta2 + ``` 3. Update submodules: - ```sh - make submodulesclean - ``` + ```sh + make submodulesclean + ``` ## Get a Release Branch diff --git a/docs/ko/debug/eclipse_jlink.md b/docs/ko/debug/eclipse_jlink.md index 34ea6212f4..7aef08e6fc 100644 --- a/docs/ko/debug/eclipse_jlink.md +++ b/docs/ko/debug/eclipse_jlink.md @@ -53,17 +53,17 @@ For more information, see: [https://gnu-mcu-eclipse.github.io/debug/jlink/instal 7. 패키지를 업데이트합니다. - Click the small icon on the top right called _Open Perspective_ and open the _Packs_ perspective. - ![Eclipse: Workspace](../../assets/debug/eclipse_workspace_perspective.png) + ![Eclipse: Workspace](../../assets/debug/eclipse_workspace_perspective.png) - Click the **update all** button. - :::tip - This takes a VERY LONG TIME (10 minutes). - 누락된 패키지에 대한 오류를 무시하십시오. + :::tip + This takes a VERY LONG TIME (10 minutes). + 누락된 패키지에 대한 오류를 무시하십시오. ::: - ![Eclipse: Workspace Packs Perspective](../../assets/debug/eclipse_packs_perspective.jpg) + ![Eclipse: Workspace Packs Perspective](../../assets/debug/eclipse_packs_perspective.jpg) - The STM32Fxx devices are found in the Keil folder, install by right-clicking and then selecting **install** on the according device for F4 and F7. @@ -79,24 +79,24 @@ For more information, see: [https://gnu-mcu-eclipse.github.io/debug/jlink/instal ![Eclipse: Debug config](../../assets/debug/eclipse_settings_debug_config.png) 10. Then select _GDB SEGGER J-Link Debugging_ and then the **New config** button on the top left. - ![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger.png) + ![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger.png) 11. 빌드 구성을 설정합니다. - - Give it a name and set the _C/C++ Application_ to the corresponding **.elf** file. - - Choose _Disable Auto build_ + - Give it a name and set the _C/C++ Application_ to the corresponding **.elf** file. + - Choose _Disable Auto build_ ::: info Remember that you must build the target from the command line before starting a debug session. ::: - ![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config.png) + ![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config.png) 12. The _Debugger_ and _Startup_ tabs shouldn’t need any modifications (just verify your settings with the screenshots below) - ![Eclipse: GDB Segger Debug config: debugger tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_debugger_tab.png) - ![Eclipse: GDB Segger Debug config: startup tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_startup_tab.png) + ![Eclipse: GDB Segger Debug config: debugger tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_debugger_tab.png) + ![Eclipse: GDB Segger Debug config: startup tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_startup_tab.png) ## SEGGER Task-aware debugging @@ -109,16 +109,16 @@ To enable this feature for use in Eclipse: - Open a terminal in the root of your PX4-Autopilot source code - In the terminal, open `menuconfig` using the appropriate make target for the build. - This will be something like: + This will be something like: - ```sh - make px4_fmu-v5_default boardguiconfig - ``` + ```sh + make px4_fmu-v5_default boardguiconfig + ``` - (See [PX4 Menuconfig Setup](../hardware/porting_guide_config.md#px4-menuconfig-setup) for more information) on using the config tools). + (See [PX4 Menuconfig Setup](../hardware/porting_guide_config.md#px4-menuconfig-setup) for more information) on using the config tools). - Ensure that the _Enable TCBinfo struct for debug_ is selected as shown: - ![NuttX: Menuconfig: CONFIG_DEBUG_TCBINFO](../../assets/debug/nuttx_tcb_task_aware.png) + ![NuttX: Menuconfig: CONFIG_DEBUG_TCBINFO](../../assets/debug/nuttx_tcb_task_aware.png) 2. Compile the **jlink-nuttx.so** library in the terminal by running the following command in the terminal: `make jlink-nuttx` diff --git a/docs/ko/dev_airframes/adding_a_new_frame.md b/docs/ko/dev_airframes/adding_a_new_frame.md index d7528cc6fb..98f1f6869d 100644 --- a/docs/ko/dev_airframes/adding_a_new_frame.md +++ b/docs/ko/dev_airframes/adding_a_new_frame.md @@ -37,8 +37,8 @@ Alternatively you can just append the modified parameters to the startup configu To add a frame configuration to firmware: 1. Create a new config file in the [init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) folder. - - Give it a short descriptive filename and prepend the filename with an unused autostart ID (for example, `1033092_superfast_vtol`). - - Update the file with configuration parameters and apps (see section above). + - Give it a short descriptive filename and prepend the filename with an unused autostart ID (for example, `1033092_superfast_vtol`). + - Update the file with configuration parameters and apps (see section above). 2. Add the name of the new frame config file to the [CMakeLists.txt](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt) in the relevant section for the type of vehicle. 3. [Build and upload](../dev_setup/building_px4.md) the software. @@ -292,37 +292,37 @@ If the airframe is for a **new group** you additionally need to: 2. Add a mapping between the new group name and image filename in the [srcparser.py](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/px4airframes/srcparser.py) method `GetImageName()` (follow the pattern below): - ```python - def GetImageName(self): - """ - Get parameter group image base name (w/o extension) - """ - if (self.name == "Standard Plane"): - return "Plane" - elif (self.name == "Flying Wing"): - return "FlyingWing" - ... - ... - return "AirframeUnknown" - ``` + ```python + def GetImageName(self): + """ + Get parameter group image base name (w/o extension) + """ + if (self.name == "Standard Plane"): + return "Plane" + elif (self.name == "Flying Wing"): + return "FlyingWing" + ... + ... + return "AirframeUnknown" + ``` 3. Update _QGroundControl_: - - Add the svg image for the group into: [src/AutopilotPlugins/Common/images](https://github.com/mavlink/qgroundcontrol/tree/master/src/AutoPilotPlugins/Common/Images) - - Add reference to the svg image into [qgcimages.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcimages.qrc), following the pattern below: + - Add the svg image for the group into: [src/AutopilotPlugins/Common/images](https://github.com/mavlink/qgroundcontrol/tree/master/src/AutoPilotPlugins/Common/Images) + - Add reference to the svg image into [qgcimages.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcimages.qrc), following the pattern below: - ```xml - - ... - src/AutoPilotPlugins/Common/Images/AirframeSimulation.svg - src/AutoPilotPlugins/Common/Images/AirframeUnknown.svg - src/AutoPilotPlugins/Common/Images/Boat.svg - src/AutoPilotPlugins/Common/Images/FlyingWing.svg - ... - ``` + ```xml + + ... + src/AutoPilotPlugins/Common/Images/AirframeSimulation.svg + src/AutoPilotPlugins/Common/Images/AirframeUnknown.svg + src/AutoPilotPlugins/Common/Images/Boat.svg + src/AutoPilotPlugins/Common/Images/FlyingWing.svg + ... + ``` - ::: info - The remaining airframe metadata should be automatically included in the firmware (once **srcparser.py** is updated). + ::: info + The remaining airframe metadata should be automatically included in the firmware (once **srcparser.py** is updated). ::: diff --git a/docs/ko/dev_log/log_encryption.md b/docs/ko/dev_log/log_encryption.md index 4af14b648e..e8a9a04267 100644 --- a/docs/ko/dev_log/log_encryption.md +++ b/docs/ko/dev_log/log_encryption.md @@ -30,7 +30,7 @@ If another algorithm is supported in future, the process is _likely_ to remain t The encryption process for each new ULog is: 1. A XChaCha20 symmetric key is generated and encrypted using an RSA2048 public key. - This wrapped (encrypted) key is stored on the SD card in the beginning of a file that has the suffix `.ulge` ("ulog encrypted"). + This wrapped (encrypted) key is stored on the SD card in the beginning of a file that has the suffix `.ulge` ("ulog encrypted"). 2. When a log is captured, the ULog data is encrypted with the unwrapped symmetric key and the resulting data is appended into the end of the `.ulge` file immediately after the wrapped key data. After the flight, the `.ulge` file containing both the wrapped symmetric key and the encrypted log data can be found on the SD card. @@ -356,26 +356,26 @@ This section explains how you might manually run the same steps as the script (s 2. Use OpenSSL to generate a RSA2048 private and public key: - ```sh - openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 - ``` + ```sh + openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 + ``` 3. Create a public key from this private key: - ```sh - # Convert private_key.pem to a DER file - openssl rsa -pubout -in private_key.pem -outform DER -out public_key.der - # From the DER file, generate a public key in hex format, separated by commas - xxd -p public_key.der | tr -d '\n' | sed 's/\(..\)/0x\1, /g' > public_key.pub - ``` + ```sh + # Convert private_key.pem to a DER file + openssl rsa -pubout -in private_key.pem -outform DER -out public_key.der + # From the DER file, generate a public key in hex format, separated by commas + xxd -p public_key.der | tr -d '\n' | sed 's/\(..\)/0x\1, /g' > public_key.pub + ``` 4. Copy the keys into the appropriate locations expected by the rest of the toolchain (as shown in previous section). 5. To use this key, modify your `.px4board` file to point `CONFIG_PUBLIC_KEY1` to the file location of `public_key.pub`. - ```sh - CONFIG_PUBLIC_KEY1="../../../keys/public/public_key.pub" - ``` + ```sh + CONFIG_PUBLIC_KEY1="../../../keys/public/public_key.pub" + ``` ## Flight Review & Encrypted logs @@ -397,10 +397,10 @@ This can use logs that you have downloaded and decrypted yourself, or you can in 3. Add this key location into the server config file: `flight_review/app/config_default.ini`. - The line to add should look something like this (for the file above): + The line to add should look something like this (for the file above): - ```sh - ulge_private_key = ../private_key/private_key.pem - ``` + ```sh + ulge_private_key = ../private_key/private_key.pem + ``` 4. Follow the Flight Review Instructions to start your server. diff --git a/docs/ko/dev_setup/dev_env_linux_ubuntu.md b/docs/ko/dev_setup/dev_env_linux_ubuntu.md index 0da5fb51b3..f9602445b4 100644 --- a/docs/ko/dev_setup/dev_env_linux_ubuntu.md +++ b/docs/ko/dev_setup/dev_env_linux_ubuntu.md @@ -33,24 +33,24 @@ The script is intended to be run on _clean_ Ubuntu LTS installations, and may no 1. [Download PX4 Source Code](../dev_setup/building_px4.md): - ```sh - git clone https://github.com/PX4/PX4-Autopilot.git --recursive - ``` + ```sh + git clone https://github.com/PX4/PX4-Autopilot.git --recursive + ``` - ::: info - The environment setup scripts in the source usually work for recent PX4 releases. - If working with an older version of PX4 you may need to [get the source code specific to your release](../contribute/git_examples.md#get-a-specific-release). + ::: info + The environment setup scripts in the source usually work for recent PX4 releases. + If working with an older version of PX4 you may need to [get the source code specific to your release](../contribute/git_examples.md#get-a-specific-release). ::: 2. Run the **ubuntu.sh** with no arguments (in a bash shell) to install everything: - ```sh - bash ./PX4-Autopilot/Tools/setup/ubuntu.sh - ``` + ```sh + bash ./PX4-Autopilot/Tools/setup/ubuntu.sh + ``` - - 스크립트가 진행되는 동안 모든 프롬프트를 확인합니다. - - You can use the `--no-nuttx` and `--no-sim-tools` options to omit the NuttX and/or simulation tools. + - 스크립트가 진행되는 동안 모든 프롬프트를 확인합니다. + - You can use the `--no-nuttx` and `--no-sim-tools` options to omit the NuttX and/or simulation tools. 3. If you need Gazebo Classic (Ubuntu 22.04 only) then you can manually remove Gazebo and install it by following the instructions in [Gazebo Classic > Installation](../sim_gazebo_classic/index.md#installation). diff --git a/docs/ko/dev_setup/dev_env_windows_cygwin_packager_setup.md b/docs/ko/dev_setup/dev_env_windows_cygwin_packager_setup.md index eeb68a0c98..24d5c91c24 100644 --- a/docs/ko/dev_setup/dev_env_windows_cygwin_packager_setup.md +++ b/docs/ko/dev_setup/dev_env_windows_cygwin_packager_setup.md @@ -135,31 +135,31 @@ The toolchain gets maintained and hence these instructions might not cover every 10. Download [**Apache Ant**](https://ant.apache.org/bindownload.cgi) as zip archive of the binaries for Windows and unpack the content to the folder `C:\PX4\toolchain\apache-ant`. - :::tip - Make sure you don't have an additional folder layer from the folder which is inside the downloaded archive. + :::tip + Make sure you don't have an additional folder layer from the folder which is inside the downloaded archive. ::: - ::: info - This is what the toolchain does in: [apache-ant/install-apache-ant.bat](https://github.com/PX4/PX4-windows-toolchain/blob/master/toolchain/apache-ant/install-apache-ant.bat). + ::: info + This is what the toolchain does in: [apache-ant/install-apache-ant.bat](https://github.com/PX4/PX4-windows-toolchain/blob/master/toolchain/apache-ant/install-apache-ant.bat). ::: 11. Download, build and add _genromfs_ to the path: - - Clone the source code to the folder **C:\PX4\toolchain\genromfs\genromfs-src** with + - Clone the source code to the folder **C:\PX4\toolchain\genromfs\genromfs-src** with ```sh cd /c/toolchain/genromfs git clone https://github.com/chexum/genromfs.git genromfs-src ``` - - Compile it with: + - Compile it with: ```sh cd genromfs-src make all ``` - - Copy the resulting binary **genromfs.exe** one folder level out to: **C:\PX4\toolchain\genromfs** + - Copy the resulting binary **genromfs.exe** one folder level out to: **C:\PX4\toolchain\genromfs** 12. Make sure all the binary folders of all the installed components are correctly listed in the `PATH` variable configured by [**setup-environment.bat**](https://github.com/PX4/PX4-windows-toolchain/blob/master/toolchain/scripts/setup-environment.bat). diff --git a/docs/ko/dev_setup/dev_env_windows_vm.md b/docs/ko/dev_setup/dev_env_windows_vm.md index 53106360c7..8d4c829fb7 100644 --- a/docs/ko/dev_setup/dev_env_windows_vm.md +++ b/docs/ko/dev_setup/dev_env_windows_vm.md @@ -57,12 +57,12 @@ VMWare performance is acceptable for basic usage (building Firmware) but not for 모든 설정은 호스트 운영 체제에서 사용하기 위한 것이므로, 네트워크 공격의 위험을 증가시키지 않는 화면 보호기 및 로컬 워크스테이션 보안 기능을 비활성화할 수 있습니다. 10. Once the new VM is booted up make sure you install _VMWare tools drivers and tools extension_ inside your guest system. - 이렇게 하면 다음과 같은 VM 사용의 성능과 유용성들이 향상됩니다. - - 크게 향상된 그래픽 성능 - - Proper support for hardware device usage like USB port allocation (important for target upload), proper mouse wheel scrolling, sound support - - 창 크기에 따른 게스트 디스플레이 해상도 조정 - - 호스트 시스템 클립보드 공유 - - 호스트 시스템 파일 공유 + 이렇게 하면 다음과 같은 VM 사용의 성능과 유용성들이 향상됩니다. + - 크게 향상된 그래픽 성능 + - Proper support for hardware device usage like USB port allocation (important for target upload), proper mouse wheel scrolling, sound support + - 창 크기에 따른 게스트 디스플레이 해상도 조정 + - 호스트 시스템 클립보드 공유 + - 호스트 시스템 파일 공유 11. Continue with [PX4 environment setup for Linux](../dev_setup/dev_env_linux.md) @@ -96,11 +96,11 @@ To allow this, you need to configure USB passthrough settings: 4. Add USB filters for the bootloader in VM: **VirtualBox > Settings > USB > Add new USB filter**. - Open the menu and plug in the USB cable connected to your autopilot. - Select the `...Bootloader` device when it appears in the UI. + Select the `...Bootloader` device when it appears in the UI. - ::: info - The bootloader device only appears for a few seconds after connecting USB. - If it disappears before you can select it, disconnect and then reconnect USB. + ::: info + The bootloader device only appears for a few seconds after connecting USB. + If it disappears before you can select it, disconnect and then reconnect USB. ::: diff --git a/docs/ko/dev_setup/vscode.md b/docs/ko/dev_setup/vscode.md index cea5748cab..75ac6d2cdd 100644 --- a/docs/ko/dev_setup/vscode.md +++ b/docs/ko/dev_setup/vscode.md @@ -27,10 +27,10 @@ You must already have installed the command line [PX4 developer environment](../ - Select _Open folder ..._ option on the welcome page (or using the menu: **File > Open Folder**): - ![Open Folder](../../assets/toolchain/vscode/welcome_open_folder.jpg) + ![Open Folder](../../assets/toolchain/vscode/welcome_open_folder.jpg) - A file selection dialog will appear. - Select the **PX4-Autopilot** directory and then press **OK**. + Select the **PX4-Autopilot** directory and then press **OK**. The project files and configuration will then load into _VSCode_. @@ -49,9 +49,9 @@ You must already have installed the command line [PX4 developer environment](../ ::: - If prompted to install a new version of _cmake_: - - Say **No** (the right version is installed with the [PX4 developer environment](../dev_setup/dev_env.md)). + - Say **No** (the right version is installed with the [PX4 developer environment](../dev_setup/dev_env.md)). - If prompted to sign into _github.com_ and add your credentials: - - 이것은 당신에게 달려 있습니다! Github와 IDE 간의 긴밀한 통합을 제공하여 워크플로를 단순화할 수 있습니다. + - 이것은 당신에게 달려 있습니다! Github와 IDE 간의 긴밀한 통합을 제공하여 워크플로를 단순화할 수 있습니다. - Other prompts are optional, and may be installed if they seem useful. @@ -63,21 +63,21 @@ You must already have installed the command line [PX4 developer environment](../ 1. Select your build target ("cmake build config"): - The current _cmake build target_ is shown on the blue _config_ bar at the bottom (if this is already your desired target, skip to next step). - ![Select Cmake build target](../../assets/toolchain/vscode/cmake_build_config.jpg) + ![Select Cmake build target](../../assets/toolchain/vscode/cmake_build_config.jpg) - ::: info - The cmake target you select affects the targets offered for when [building/debugging](#debugging) (i.e. for hardware debugging you must select a hardware target like `px4_fmu-v6`). + ::: info + The cmake target you select affects the targets offered for when [building/debugging](#debugging) (i.e. for hardware debugging you must select a hardware target like `px4_fmu-v6`). ::: - Click the target on the config bar to display other options, and select the one you want (this will replace any selected target). - _Cmake_ will then configure your project (see notification in bottom right). - ![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project.jpg) + ![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project.jpg) - Wait until configuration completes. - When this is done the notification will disappear and you'll be shown the build location: - ![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project_done.jpg). + When this is done the notification will disappear and you'll be shown the build location: + ![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project_done.jpg). 2. You can then kick off a build from the config bar (select either **Build** or **Debug**). ![Run debug or build](../../assets/toolchain/vscode/run_debug_build.jpg) diff --git a/docs/ko/dronecan/ark_dist.md b/docs/ko/dronecan/ark_dist.md new file mode 100644 index 0000000000..090ce27960 --- /dev/null +++ b/docs/ko/dronecan/ark_dist.md @@ -0,0 +1,98 @@ +# ARK DIST SR + +ARK DIST SR is a low range, open source [DroneCAN](index.md) [distance sensor](../sensor/rangefinders.md). +It has an approximate range of between 8cm to 30m. + +![ARK DIST SR](../../assets/hardware/sensors/optical_flow/ark_dist.jpg) + +## 구매처 + +Order this module from: + +- [ARK Electronics](https://arkelectron.com/product/ark-dist-sr/) (US) + +## Hardware Specifications + +- [Open Source Schematic and BOM](https://github.com/ARK-Electronics/ARK_DIST) +- 센서 + - [Broadcom AFBR-S50LV85D Time-of-Flight Distance Sensor](https://www.broadcom.com/products/optical-sensors/time-of-flight-3d-sensors/afbr-s50lv85d) + - Typical distance range up to 30m + - Integrated 850 nm laser light source + - Field-of-View (FoV) of 12.4° x 6.2° with 32 pixels + - Operation of up to 200k Lux ambient light + - Reference Pixel for system health monitoring + - Works well on all surface conditions + - Transmitter beam of 2° x 2° to illuminate between 1 and 3 pixels +- Two Pixhawk Standard CAN Connectors (4 Pin JST GH) +- Pixhawk Standard UART Connector (6 Pin JST SH) +- Pixhawk Standard Debug Connector (6 Pin JST SH) +- Small Form Factor + - 2.0cm x 2.8cm x 1.4cm + - 4g +- LED Indicators +- USA Built +- NDAA Compliant +- Power Requirements + - 5v + - 84mA Average + - 86mA Max + +## 하드웨어 설정 + +### 배선 + +The ARK DIST is connected to the CAN bus using a Pixhawk standard 4 pin JST GH cable. +For more information, refer to the [CAN Wiring](../can/index.md#wiring) instructions. + +The ARK DIST can also be connected with UART and communicates over MAVLink sending the [DISTANCE_SENSOR](https://mavlink.io/en/messages/common.html#DISTANCE_SENSOR) message. + +## Firmware Setup + +ARK DIST SR runs the [PX4 DroneCAN Firmware](px4_cannode_fw.md). +As such, it supports firmware update over the CAN bus and [dynamic node allocation](index.md#node-id-allocation). + +## PX4 설정 + +### DroneCAN + +#### Enable DroneCAN + +단계는 다음과 같습니다: + +- In _QGroundControl_ set the parameter [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to `2` for dynamic node allocation (or `3` if using [DroneCAN ESCs](../dronecan/escs.md)) and reboot (see [Finding/Updating Parameters](../advanced_config/parameters.md)). +- Connect ARK DIST SR CAN to the Pixhawk CAN. + +Once enabled, the module will be detected on boot. +Distance sensor data should arrive at 40Hz. + +DroneCAN configuration in PX4 is explained in more detail in [DroneCAN > Enabling DroneCAN](../dronecan/index.md#enabling-dronecan). + +#### CAN Configuration + +First set the parameters to [Enable DroneCAN](#enable-dronecan) (as shown above). + +Set the following parameters in _QGroundControl_: + +- Enable [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to 2 for dynamic node allocation. +- Enable [UAVCAN_SUB_RNG](../advanced_config/parameter_reference.md#UAVCAN_SUB_RNG). +- Set [EKF2_RNG_A_HMAX](../advanced_config/parameter_reference.md#EKF2_RNG_A_HMAX) to `30`. +- Set [EKF2_RNG_QLTY_T](../advanced_config/parameter_reference.md#EKF2_RNG_QLTY_T) to `0.2`. +- Set [UAVCAN_RNG_MIN](../advanced_config/parameter_reference.md#UAVCAN_RNG_MIN) to `0.08`. +- Set [UAVCAN_RNG_MAX](../advanced_config/parameter_reference.md#UAVCAN_RNG_MAX) to `30`. + +See also [Distance Sensor/Range Finder in _DroneCAN > Subscriptions and Publications_](../dronecan/#distance-sensor-range-finder). + +### UART/MAVLink Configuration + +If connecting via a UART set the following parameters in _QGroundControl_: + +- Set [MAV_X_CONFIG](../advanced_config/parameter_reference.md#MAV_0_CONFIG) to the port the sensor is connected to. +- Set [MAV_X_FORWARD](../advanced_config/parameter_reference.md#MAV_0_FORWARD) to `0` (off). +- Set [MAV_X_MODE](../advanced_config/parameter_reference.md#MAV_0_MODE) to `7` or `13` to (Minimal or Low Bandwidth) to reduce memory usage. +- Set `SER_XXX_BAUD` to `115200`, where `XXX` is specific to the port you are using (such as [SER_GPS2_BAUD](../advanced_config/parameter_reference.md#SER_GPS2_BAUD)). +- Set [EKF2_RNG_A_HMAX](../advanced_config/parameter_reference.md#EKF2_RNG_A_HMAX) to `30`. +- Set [EKF2_RNG_QLTY_T](../advanced_config/parameter_reference.md#EKF2_RNG_QLTY_T) to `0.2`. + +## See Also + +- [ARK DIST SR](https://docs.arkelectron.com/sensor/ark-dist) (ARK Docs) diff --git a/docs/ko/dronecan/ark_dist_mr.md b/docs/ko/dronecan/ark_dist_mr.md new file mode 100644 index 0000000000..a65866d1bf --- /dev/null +++ b/docs/ko/dronecan/ark_dist_mr.md @@ -0,0 +1,97 @@ +# ARK DIST MR + +ARK DIST MR is a mid range, open source [DroneCAN](index.md) [distance sensor](../sensor/rangefinders.md). + +![ARK DIST MR](../../assets/hardware/sensors/optical_flow/ark_dist.jpg) + +## 구매처 + +Order this module from: + +- [ARK Electronics](https://arkelectron.com/product/ark-dist-mr/) (US) + +## Hardware Specifications + +- [Open Source Schematic and BOM](https://github.com/ARK-Electronics/ARK_DIST) +- 센서 + - [Broadcom AFBR-S50LX85D Time-of-Flight Distance Sensor](https://www.broadcom.com/products/optical-sensors/time-of-flight-3d-sensors/afbr-s50lx85d) + - Typical distance range up to 50m + - Integrated 850 nm laser light source + - Field-of-View (FoV) of 12.4° x 6.2° with 32 pixels + - Operation of up to 200k Lux ambient light + - Reference Pixel for system health monitoring + - Works well on all surface conditions + - Transmitter beam of 2° x 2° to illuminate between 1 and 3 pixels +- Two Pixhawk Standard CAN Connectors (4 Pin JST GH) +- Pixhawk Standard UART Connector (6 Pin JST SH) +- Pixhawk Standard Debug Connector (6 Pin JST SH) +- Small Form Factor + - 2.0cm x 2.8cm x 1.4cm + - 4g +- LED Indicators +- USA Built +- NDAA Compliant +- Power Requirements + - 5v + - 78mA Average + - 84mA Max + +## 하드웨어 설정 + +### 배선 + +The ARK DIST is connected to the CAN bus using a Pixhawk standard 4 pin JST GH cable. +For more information, refer to the [CAN Wiring](../can/index.md#wiring) instructions. + +The ARK DIST can also be connected with UART and communicates over MAVLink sending the [DISTANCE_SENSOR](https://mavlink.io/en/messages/common.html#DISTANCE_SENSOR) message. + +## Firmware Setup + +ARK DIST MR runs the [PX4 DroneCAN Firmware](px4_cannode_fw.md). +As such, it supports firmware update over the CAN bus and [dynamic node allocation](index.md#node-id-allocation). + +## PX4 설정 + +### DroneCAN + +#### Enable DroneCAN + +단계는 다음과 같습니다: + +- In _QGroundControl_ set the parameter [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to `2` for dynamic node allocation (or `3` if using [DroneCAN ESCs](../dronecan/escs.md)) and reboot (see [Finding/Updating Parameters](../advanced_config/parameters.md)). +- Connect ARK DIST SR CAN to the Pixhawk CAN. + +Once enabled, the module will be detected on boot. +Distance sensor data should arrive at 40Hz. + +DroneCAN configuration in PX4 is explained in more detail in [DroneCAN > Enabling DroneCAN](../dronecan/index.md#enabling-dronecan). + +#### CAN Configuration + +First set the parameters to [Enable DroneCAN](#enable-dronecan) (as shown above). + +Set the following parameters in _QGroundControl_: + +- Enable [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to 2 for dynamic node allocation. +- Enable [UAVCAN_SUB_RNG](../advanced_config/parameter_reference.md#UAVCAN_SUB_RNG). +- Set [EKF2_RNG_A_HMAX](../advanced_config/parameter_reference.md#EKF2_RNG_A_HMAX) to `50`. +- Set [EKF2_RNG_QLTY_T](../advanced_config/parameter_reference.md#EKF2_RNG_QLTY_T) to `0.2`. +- Set [UAVCAN_RNG_MIN](../advanced_config/parameter_reference.md#UAVCAN_RNG_MIN) to `0.08`. +- Set [UAVCAN_RNG_MAX](../advanced_config/parameter_reference.md#UAVCAN_RNG_MAX) to `50`. + +See also [Distance Sensor/Range Finder in _DroneCAN > Subscriptions and Publications_](../dronecan/#distance-sensor-range-finder). + +### UART/MAVLink Configuration + +If connecting via a UART set the following parameters in _QGroundControl_: + +- Set [MAV_X_CONFIG](../advanced_config/parameter_reference.md#MAV_0_CONFIG) to the port the sensor is connected to. +- Set [MAV_X_FORWARD](../advanced_config/parameter_reference.md#MAV_0_FORWARD) to `0` (off). +- Set [MAV_X_MODE](../advanced_config/parameter_reference.md#MAV_0_MODE) to `7` or `13` to (Minimal or Low Bandwidth) to reduce memory usage. +- Set `SER_XXX_BAUD` to `115200`, where `XXX` is specific to the port you are using (such as [SER_GPS2_BAUD](../advanced_config/parameter_reference.md#SER_GPS2_BAUD)). +- Set [EKF2_RNG_A_HMAX](../advanced_config/parameter_reference.md#EKF2_RNG_A_HMAX) to `50`. +- Set [EKF2_RNG_QLTY_T](../advanced_config/parameter_reference.md#EKF2_RNG_QLTY_T) to `0.2`. + +## See Also + +- [ARK DIST MR](https://docs.arkelectron.com/sensor/ark-dist) (ARK Docs) diff --git a/docs/ko/dronecan/ark_rtk_gps.md b/docs/ko/dronecan/ark_rtk_gps.md index c8e8a5ce5e..e66dfbbcb6 100644 --- a/docs/ko/dronecan/ark_rtk_gps.md +++ b/docs/ko/dronecan/ark_rtk_gps.md @@ -20,6 +20,7 @@ Order this module from: - Multi-band RTK with fast convergence times and reliable performance - High update rate for highly dynamic applications - Centimetre accuracy in a small and energy efficient module + - Moving Base for Heading - Bosch BMM150 Magnetometer - Bosch BMP388 Barometer - Invensense ICM-42688-P 6-Axis IMU diff --git a/docs/ko/dronecan/ark_rtk_gps_l1_l2.md b/docs/ko/dronecan/ark_rtk_gps_l1_l2.md new file mode 100644 index 0000000000..de5de1a5eb --- /dev/null +++ b/docs/ko/dronecan/ark_rtk_gps_l1_l2.md @@ -0,0 +1,163 @@ +# ARK RTK GPS L1 L5 + +[ARK RTK GPS L1 L5](https://arkelectron.gitbook.io/ark-documentation/sensors/ark-rtk-gps) is an open source [DroneCAN](index.md) [RTK GPS](../gps_compass/rtk_gps.md), [u-blox F9P](https://www.u-blox.com/en/product/zed-f9p-module), magnetometer, barometer, IMU, buzzer, and safety switch module. + +![ARK RTK GPS L1 L5](../../assets/hardware/gps/ark/ark_rtk_gps_l1_l5.jpg) + +## 구매처 + +Order this module from: + +- [ARK Electronics](https://arkelectron.com/product/ark-rtk-gps-l1-l5/) (US) + +## Hardware Specifications + +- [Open Source Schematic and BOM](https://github.com/ARK-Electronics/ARK_RTK_GPS) +- 센서 + - Ublox F9P GPS + - Multi-band GNSS receiver delivers centimetre level accuracy in seconds + - Concurrent reception of GPS, GLONASS, Galileo and BeiDou + - Multi-band RTK with fast convergence times and reliable performance + - High update rate for highly dynamic applications + - Centimetre accuracy in a small and energy efficient module + - Does not Support Moving Base for Heading + - Bosch BMM150 Magnetometer + - Bosch BMP388 Barometer + - Invensense ICM-42688-P 6-Axis IMU +- STM32F412CEU6 MCU +- Safety Button +- 부저 +- Two Pixhawk Standard CAN Connectors (4 Pin JST GH) +- F9P `UART 2` Connector + - 3 Pin JST GH + - TX, RX, GND +- Pixhawk Standard Debug Connector (6 Pin JST SH) +- LED Indicators + - Safety LED + - GPS Fix + - RTK Status + - RGB system status +- USA Built +- Power Requirements + - 5V + - 170mA Average + - 180mA Max + +## 하드웨어 설정 + +### 배선 + +The ARK RTK GPS L1 L5 is connected to the CAN bus using a Pixhawk standard 4 pin JST GH cable. For more information, refer to the [CAN Wiring](../can/index.md#wiring) instructions. + +### 장착 + +The recommended mounting orientation is with the connectors on the board pointing towards the **back of vehicle**. + +The sensor can be mounted anywhere on the frame, but you will need to specify its position, relative to vehicle centre of gravity, during [PX4 configuration](#px4-configuration). + +## Firmware Setup + +ARK RTK GPS L1 L5 runs the [PX4 cannode firmware](px4_cannode_fw.md). As such, it supports firmware update over the CAN bus and [dynamic node allocation](index.md#node-id-allocation). + +ARK RTK GPS L1 L5 boards ship with recent firmware pre-installed, but if you want to build and flash the latest firmware yourself, refer to the [cannode firmware build instructions](px4_cannode_fw.md#building-the-firmware). + +Firmware target: `ark_can-rtk-gps_default` +Bootloader target: `ark_can-rtk-gps_canbootloader` + +## Flight Controller Setup + +### Enabling DroneCAN + +In order to use the ARK RTK GPS L1 L5, connect it to the Pixhawk CAN bus and enable the DroneCAN driver by setting parameter [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to `2` for dynamic node allocation (or `3` if using [DroneCAN ESCs](../dronecan/escs.md)). + +단계는 다음과 같습니다: + +- In _QGroundControl_ set the parameter [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to `2` or `3` and reboot (see [Finding/Updating Parameters](../advanced_config/parameters.md)). +- Connect ARK RTK GPS L1 L5 CAN to the Pixhawk CAN. + +Once enabled, the module will be detected on boot. +GPS data should arrive at 10Hz. + +### PX4 설정 + +You need to set necessary [DroneCAN](index.md) parameters and define offsets if the sensor is not centred within the vehicle: + +- Enable GPS yaw fusion by setting bit 3 of [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) to true. +- Enable GPS blending to ensure the heading is always published by setting [SENS_GPS_MASK](../advanced_config/parameter_reference.md#SENS_GPS_MASK) to 7 (all three bits checked). +- Enable [UAVCAN_SUB_GPS](../advanced_config/parameter_reference.md#UAVCAN_SUB_GPS), [UAVCAN_SUB_MAG](../advanced_config/parameter_reference.md#UAVCAN_SUB_MAG), and [UAVCAN_SUB_BARO](../advanced_config/parameter_reference.md#UAVCAN_SUB_BARO). +- The parameters [EKF2_GPS_POS_X](../advanced_config/parameter_reference.md#EKF2_GPS_POS_X), [EKF2_GPS_POS_Y](../advanced_config/parameter_reference.md#EKF2_GPS_POS_Y) and [EKF2_GPS_POS_Z](../advanced_config/parameter_reference.md#EKF2_GPS_POS_Z) can be set to account for the offset of the ARK RTK GPS L1 L5 from the vehicles centre of gravity. + +### ARK RTK GPS L1 L5 Configuration + +You may need to [configure the following parameters](../dronecan/index.md#qgc-cannode-parameter-configuration) on the ARK RTK GPS L1 L5 itself: + +| 매개변수 | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. | +| [CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | CAN built-in bus termination. Set to `1` if this is the last node on the CAN bus. | + +### Setting Up Rover and Fixed Base + +Position of the rover is established using RTCM messages from the RTK base module (the base module is connected to QGC, which sends the RTCM information to PX4 via MAVLink). + +PX4 DroneCAN parameters: + +- [UAVCAN_PUB_RTCM](../advanced_config/parameter_reference.md#UAVCAN_PUB_RTCM): + - Makes PX4 publish RTCM messages ([RTCMStream](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#rtcmstream)) to the bus (which it gets from the RTK base module via QGC). + +Rover module parameters (also [set using QGC](../dronecan/index.md#qgc-cannode-parameter-configuration)): + +- [CANNODE_SUB_RTCM](../advanced_config/parameter_reference.md#CANNODE_SUB_RTCM) tells the rover that it should subscribe to [RTCMStream](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#rtcmstream) RTCM messages on the bus (from the moving base). + +:::info +Use [UAVCAN_PUB_MBD](../advanced_config/parameter_reference.md#UAVCAN_PUB_MBD) and [CANNODE_SUB_MBD](../advanced_config/parameter_reference.md#CANNODE_SUB_MBD) instead if you want to implement moving base (see below) at the same time. +::: + +For more information see [Rover and Fixed Base](../dronecan/index.md#rover-and-fixed-base) in the DroneCAN guide. + +## LED 신호의 의미 + +- The GPS status lights are located to the right of the connectors + - Blinking green is GPS fix + - Blinking blue is received corrections and RTK Float + - Solid blue is RTK Fixed + +- The CAN status lights are located top the left of the connectors + - Slow blinking green is waiting for CAN connection + - Fast blinking green is normal operation + - Slow blinking green and blue is CAN enumeration + - Fast blinking blue and red is firmware update in progress + - Blinking red is error + - If you see a red LED there is an error and you should check the following + - Make sure the flight controller has an SD card installed + - Make sure the ARK RTK GPS L1 L5 has `ark_can-rtk-gps_canbootloader` installed prior to flashing `ark_can-rtk-gps_default` + - Remove binaries from the root and ufw directories of the SD card and try to build and flash again + +### Updating Ublox F9P Module + +ARK RTK GPS L1 L5 comes with the Ublox F9P module up to date with version 1.13 or newer. However, you can check the version and update the firmware if desired. + +단계는 다음과 같습니다: + +1. [Download u-center from u-blox.com](https://www.u-blox.com/en/product/u-center) and install on your PC (Windows only) +2. Open the [u-blox ZED-F9P website](https://www.u-blox.com/en/product/zed-f9p-module#tab-documentation-resources) +3. Scroll down and click on the "Show Legacy Documents" box +4. Scroll down again to Firmware Update and download your desired firmware (at least version 1.13 is needed) +5. While holding down the safety switch on the ARK RTK GPS L1 L5, connect it to power via one of its CAN ports and hold until all 3 LEDs blink rapidly +6. Connect the ARK RTK GPS L1 L5 to your PC via its debug port with a cable such as the Black Magic Probe or an FTDI +7. Open u-center, select the COM port for the ARK RTK GPS L1 L5 and connect + ![U-Center Connect](../../assets/hardware/gps/ark/ark_rtk_gps_ucenter_connect.png) +8. Check the current firmware version by selecting View, Messages View, UBX, MON, VER + ![Check Version](../../assets/hardware/gps/ark/ark_rtk_gps_ublox_version.png) +9. To update the firmware: + 1. Select Tools, Firmware Update + 2. The Firmware image field should be the .bin file downloaded from the u-blox ZED-F9P website + 3. Check the "Use this baudrate for update" checkbox and select 115200 from the drop-down + 4. Ensure the other checkboxes are as shown below + 5. Push the green GO button on the bottom left + 6. "Firmware Update SUCCESS" should be displayed if it updated successfully + ![Firmware Update](../../assets/hardware/gps/ark/ark_rtk_gps_ublox_f9p_firmware_update.png) + +## See Also + +- [ARK RTK GPS L1 L5 Documentation](https://arkelectron.gitbook.io/ark-documentation/sensors/ark-rtk-gps) (ARK Docs) diff --git a/docs/ko/dronecan/ark_x20_rtk_gps.md b/docs/ko/dronecan/ark_x20_rtk_gps.md new file mode 100644 index 0000000000..6473bae5db --- /dev/null +++ b/docs/ko/dronecan/ark_x20_rtk_gps.md @@ -0,0 +1,141 @@ +# ARK X20 RTK GPS + +[ARK X20 RTK GPS](https://docs.arkelectron.com/gps/ark-x20-rtk-gps) is an open source [DroneCAN](index.md) [RTK GPS](../gps_compass/rtk_gps.md), [u-blox ZED-X20P all-band high precision GNSS module](https://www.u-blox.com/en/product/zed-x20p-module), magnetometer, barometer, IMU, buzzer, and safety switch module. + +![ARK X20 RTK GPS](../../assets/hardware/gps/ark/ark_x20_rtk_gps.jpg) + +## 구매처 + +Order this module from: + +- [ARK Electronics](https://arkelectron.com/product/ark-x20-rtk-gps/) (US) + +## Hardware Specifications + +- [Open Source Schematic and BOM](https://github.com/ARK-Electronics/ARK_RTK_GPS) +- 센서 + - Ublox ZED-X20P + - All-band all constellation GNSS receiver + - Best position accuracy and availability in different environments + - RTK, PPP-RTK and PPP algorithms expanding the limits of performance + - Highest quality GNSS raw data + - u-blox end-to-end hardened security + - 25Hz update rate + - ST IIS2MDC Magnetometer + - Bosch BMP390 Barometer + - Invensense ICM-42688-P 6-Axis IMU +- STM32F412VGH6 MCU +- Safety Button +- 부저 +- Two Pixhawk Standard CAN Connectors (4 Pin JST GH) +- X20 “UART 2” Connector + - 4 Pin JST GH + - TX, RX, PPS, GND +- I2C Expansion Connector + - 4 Pin JST-GH + - 5.0V, SCL, SDA, GND +- Pixhawk Standard Debug Connector (6 Pin JST SH) +- LED Indicators + - Safety LED + - GPS Fix + - RTK Status + - RGB system status +- USA Built +- Power Requirements + - 5V + - 144mA Average + - 157mA Max + +## 하드웨어 설정 + +### 배선 + +The ARK X20 RTK GPS is connected to the CAN bus using a Pixhawk standard 4 pin JST GH cable. For more information, refer to the [CAN Wiring](../can/index.md#wiring) instructions. + +### 장착 + +The recommended mounting orientation is with the connectors on the board pointing towards the **back of vehicle**. + +The sensor can be mounted anywhere on the frame, but you will need to specify its position, relative to vehicle centre of gravity, during [PX4 configuration](#px4-configuration). + +## Firmware Setup + +ARK X20 RTK GPS runs the [PX4 cannode firmware](px4_cannode_fw.md). As such, it supports firmware update over the CAN bus and [dynamic node allocation](index.md#node-id-allocation). + +ARK X20 RTK GPS boards ship with recent firmware pre-installed, but if you want to build and flash the latest firmware yourself, refer to the [cannode firmware build instructions](px4_cannode_fw.md#building-the-firmware). + +Firmware target: `ark_can-rtk-gps_default` +Bootloader target: `ark_can-rtk-gps_canbootloader` + +## Flight Controller Setup + +### Enabling DroneCAN + +In order to use the ARK X20 RTK GPS, connect it to the Pixhawk CAN bus and enable the DroneCAN driver by setting parameter [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to `2` for dynamic node allocation (or `3` if using [DroneCAN ESCs](../dronecan/escs.md)). + +단계는 다음과 같습니다: + +- In _QGroundControl_ set the parameter [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to `2` or `3` and reboot (see [Finding/Updating Parameters](../advanced_config/parameters.md)). +- Connect ARK X20 RTK GPS CAN to the Pixhawk CAN. + +Once enabled, the module will be detected on boot. +GPS data should arrive at 10Hz. + +### PX4 설정 + +You need to set necessary [DroneCAN](index.md) parameters and define offsets if the sensor is not centred within the vehicle: + +- Enable GPS yaw fusion by setting bit 3 of [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) to true. +- Enable GPS blending to ensure the heading is always published by setting [SENS_GPS_MASK](../advanced_config/parameter_reference.md#SENS_GPS_MASK) to 7 (all three bits checked). +- Enable [UAVCAN_SUB_GPS](../advanced_config/parameter_reference.md#UAVCAN_SUB_GPS), [UAVCAN_SUB_MAG](../advanced_config/parameter_reference.md#UAVCAN_SUB_MAG), and [UAVCAN_SUB_BARO](../advanced_config/parameter_reference.md#UAVCAN_SUB_BARO). +- The parameters [EKF2_GPS_POS_X](../advanced_config/parameter_reference.md#EKF2_GPS_POS_X), [EKF2_GPS_POS_Y](../advanced_config/parameter_reference.md#EKF2_GPS_POS_Y) and [EKF2_GPS_POS_Z](../advanced_config/parameter_reference.md#EKF2_GPS_POS_Z) can be set to account for the offset of the ARK X20 RTK GPS from the vehicles centre of gravity. + +### ARK X20 RTK GPS Configuration + +You may need to [configure the following parameters](../dronecan/index.md#qgc-cannode-parameter-configuration) on the ARK X20 RTK GPS itself: + +| 매개변수 | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. | +| [CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | CAN built-in bus termination. Set to `1` if this is the last node on the CAN bus. | + +### Setting Up Rover and Fixed Base + +Position of the rover is established using RTCM messages from the RTK base module (the base module is connected to QGC, which sends the RTCM information to PX4 via MAVLink). + +PX4 DroneCAN parameters: + +- [UAVCAN_PUB_RTCM](../advanced_config/parameter_reference.md#UAVCAN_PUB_RTCM): + - Makes PX4 publish RTCM messages ([RTCMStream](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#rtcmstream)) to the bus (which it gets from the RTK base module via QGC). + +Rover module parameters (also [set using QGC](../dronecan/index.md#qgc-cannode-parameter-configuration)): + +- [CANNODE_SUB_RTCM](../advanced_config/parameter_reference.md#CANNODE_SUB_RTCM) tells the rover that it should subscribe to [RTCMStream](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#rtcmstream) RTCM messages on the bus (from the moving base). + +:::info +Use [UAVCAN_PUB_MBD](../advanced_config/parameter_reference.md#UAVCAN_PUB_MBD) and [CANNODE_SUB_MBD](../advanced_config/parameter_reference.md#CANNODE_SUB_MBD) instead if you want to implement moving base (see below) at the same time. +::: + +For more information see [Rover and Fixed Base](../dronecan/index.md#rover-and-fixed-base) in the DroneCAN guide. + +## LED 신호의 의미 + +- The GPS status lights are located to the right of the connectors + - Blinking green is GPS fix + - Blinking blue is received corrections and RTK Float + - Solid blue is RTK Fixed + +- The CAN status lights are located top the left of the connectors + - Slow blinking green is waiting for CAN connection + - Fast blinking green is normal operation + - Slow blinking green and blue is CAN enumeration + - Fast blinking blue and red is firmware update in progress + - Blinking red is error + - If you see a red LED there is an error and you should check the following + - Make sure the flight controller has an SD card installed + - Make sure the ARK X20 RTK GPS has `ark_can-rtk-gps_canbootloader` installed prior to flashing `ark_can-rtk-gps_default` + - Remove binaries from the root and ufw directories of the SD card and try to build and flash again + +## See Also + +- [ARK X20 RTK GPS Documentation](https://docs.arkelectron.com/gps/ark-x20-rtk-gps) (ARK Docs) diff --git a/docs/ko/dronecan/holybro_h_rtk_zed_f9p_gps.md b/docs/ko/dronecan/holybro_h_rtk_zed_f9p_gps.md index 2bc989c83c..41302b0a1d 100644 --- a/docs/ko/dronecan/holybro_h_rtk_zed_f9p_gps.md +++ b/docs/ko/dronecan/holybro_h_rtk_zed_f9p_gps.md @@ -64,10 +64,10 @@ To update the "AP Periph" firmware to the latest version: 1. [Download the latest binary](https://firmware.ardupilot.org/AP_Periph/latest/HolybroG4_GPS/). 2. Update the firmware using either of the following approaches: - - Using ArduPilot: - 1. Install _Ardupilot_ firmware on your flight controller and the Mission Planner GCS on your computer. - 2. Update the binary by following the instructions in the [DroneCAN FW Upgrade](https://docs.holybro.com/gps-and-rtk-system/zed-f9p-h-rtk-series/dronecan-fw-upgrade) guide. - - Use a serial-to-can converter (such as the [Zubax Babel](https://github.com/Zubax/canface_cf1?tab=readme-ov-file)) and the [DroneCAN GUI Tool](https://dronecan.github.io/Implementations/Libuavcan/Tutorials/11._Firmware_update/). + - Using ArduPilot: + 1. Install _Ardupilot_ firmware on your flight controller and the Mission Planner GCS on your computer. + 2. Update the binary by following the instructions in the [DroneCAN FW Upgrade](https://docs.holybro.com/gps-and-rtk-system/zed-f9p-h-rtk-series/dronecan-fw-upgrade) guide. + - Use a serial-to-can converter (such as the [Zubax Babel](https://github.com/Zubax/canface_cf1?tab=readme-ov-file)) and the [DroneCAN GUI Tool](https://dronecan.github.io/Implementations/Libuavcan/Tutorials/11._Firmware_update/). Remember to change the firmware on the flight controller back to PX4 afterwards. @@ -98,14 +98,14 @@ In order to use dual ZED-F9P GPS heading in PX4, follow these steps: 1. Open the QGroundControl parameters page. 2. On the left side next to the parameters list, double-click on the _System_ section (this hides the section). 3. Components should be visible on the left panel. - Click on the first `_Component_` that maps to the ZED-F9P DroneCAN node (below shown as _Component 124_). + Click on the first `_Component_` that maps to the ZED-F9P DroneCAN node (below shown as _Component 124_). 4. Click on the _GPS_ subsection and configure the parameters listed below: - - `GPS_TYPE`: Either set to `17` for moving baseline _base_, or set to `18` to be the moving baseline _rover_. - One F9P MUST be _rover_, and the other MUST be _base_. - - `GPS_AUTO_CONFIG`: set to 1 for both the rover and base - - `GPS_POS_X`, `GPS_POS_Y`, `GPS_POS_Z`: This is the antenna placement, which for the F9P is internal to the module. - This is the local offset (FRD) with respect to the autopilot. + - `GPS_TYPE`: Either set to `17` for moving baseline _base_, or set to `18` to be the moving baseline _rover_. + One F9P MUST be _rover_, and the other MUST be _base_. + - `GPS_AUTO_CONFIG`: set to 1 for both the rover and base + - `GPS_POS_X`, `GPS_POS_Y`, `GPS_POS_Z`: This is the antenna placement, which for the F9P is internal to the module. + This is the local offset (FRD) with respect to the autopilot. ![QGC Setup](../../assets/hardware/gps/holybro_h_rtk_zed_f9p_rover/holybro_f9p_gps_qgc_setup.png) diff --git a/docs/ko/dronecan/index.md b/docs/ko/dronecan/index.md index 975a7762fa..1ce5c098a7 100644 --- a/docs/ko/dronecan/index.md +++ b/docs/ko/dronecan/index.md @@ -67,6 +67,8 @@ Supported hardware includes (this is not an exhaustive list): - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html) - Distance sensors + - [ARK Dist](ark_dist.md) + - [Ark Dist MR](ark_dist_mr.md) - [ARK Flow](ark_flow.md) - [Ark Flow MR](ark_flow_mr.md) - [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md) diff --git a/docs/ko/dronecan/pomegranate_systems_pm.md b/docs/ko/dronecan/pomegranate_systems_pm.md index d63d011d6c..3550f395b3 100644 --- a/docs/ko/dronecan/pomegranate_systems_pm.md +++ b/docs/ko/dronecan/pomegranate_systems_pm.md @@ -45,11 +45,11 @@ Source code and build instructions can be found on [the bitbucket](https://bitbu 1. Enable DroneCAN by setting the [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) parameter to `2` (Sensors Automatic Config) or `3`. 2. Enable DroneCAN battery monitoring by setting [UAVCAN_SUB_BAT](../advanced_config/parameter_reference.md#UAVCAN_SUB_BAT) to `1` or `2` ( depending on your battery). 3. Set the following module parameters using the [MAVLink console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html): - - Battery capacity in mAh: `battery_capacity_mAh` - - Battery voltage when _full_: `battery_full_V`, - - Battery voltage when _empty_: `battery_empty_V` - - Turn on current integration: `enable_current_track` - - (optional) Turn Off CANbus termination resistor :`enable_can_term` + - Battery capacity in mAh: `battery_capacity_mAh` + - Battery voltage when _full_: `battery_full_V`, + - Battery voltage when _empty_: `battery_empty_V` + - Turn on current integration: `enable_current_track` + - (optional) Turn Off CANbus termination resistor :`enable_can_term` **Example:** A Power Module with UAVCAN node id `125` connected to a `3S` LiPo with capacity of `5000mAh` can be configured with the following commands: diff --git a/docs/ko/dronecan/raccoonlab_power.md b/docs/ko/dronecan/raccoonlab_power.md index 89bbc203cb..7b62f10d27 100644 --- a/docs/ko/dronecan/raccoonlab_power.md +++ b/docs/ko/dronecan/raccoonlab_power.md @@ -7,9 +7,9 @@ CAN power connectors are designed for light unmanned aerial (UAV) and other vehi There are two types of devices: 1. `CAN-MUX` devices provide power from XT30 connector to CAN. - There are 2 variation of this type of the device with different number of connectors. + There are 2 variation of this type of the device with different number of connectors. 2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load. - It behaves as Cyphal/DroneCAN node. + It behaves as Cyphal/DroneCAN node. Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page. diff --git a/docs/ko/flight_controller/autopilot_manufacturer_supported.md b/docs/ko/flight_controller/autopilot_manufacturer_supported.md index 177c99d284..780c5bcf81 100644 --- a/docs/ko/flight_controller/autopilot_manufacturer_supported.md +++ b/docs/ko/flight_controller/autopilot_manufacturer_supported.md @@ -39,3 +39,4 @@ This category includes boards that are not fully compliant with the pixhawk stan - [Svehicle E2](../flight_controller/svehicle_e2.md) - [ThePeach FCC-K1](../flight_controller/thepeach_k1.md) - [ThePeach FCC-R1](../flight_controller/thepeach_r1.md) +- [X-MAV AP-H743-R1](../flight_controller/x-mav_ap-h743r1.md) diff --git a/docs/ko/flight_controller/modalai_voxl_2.md b/docs/ko/flight_controller/modalai_voxl_2.md index f5d2c367d3..51a37f1928 100644 --- a/docs/ko/flight_controller/modalai_voxl_2.md +++ b/docs/ko/flight_controller/modalai_voxl_2.md @@ -74,7 +74,6 @@ PX4 mainline supports VOXL 2 (board documentation [here](https://github.com/PX4/ ## 구매처 -- [PX4 Autonomy Developer Kit](https://www.modalai.com/products/px4-autonomy-developer-kit) - [Starling 2](https://www.modalai.com/products/starling-2) - [Starling 2 MAX](https://www.modalai.com/products/starling-2-max) - [Sentinel Development Drone powered by VOXL 2](https://www.modalai.com/pages/sentinel) diff --git a/docs/ko/flight_controller/x-mav_ap-h743r1.md b/docs/ko/flight_controller/x-mav_ap-h743r1.md new file mode 100644 index 0000000000..58372bdd70 --- /dev/null +++ b/docs/ko/flight_controller/x-mav_ap-h743r1.md @@ -0,0 +1,148 @@ +# AP-H743-R1 + + + +:::warning +PX4 does not manufacture this (or any) autopilot. +::: + +The AP-H743-R1 is an advanced autopilot manufactured by X-MAV®. + +The autopilot is recommended for commercial system integration, but is also suitable for academic research and any other applications. +It brings you ultimate performance, stability, and reliability in every aspect. + +![AP-H743-R1](../../assets/flight_controller/x-mav_ap-h743r1/ap-h743r1-main.png) + +:::info +이 비행 컨트롤러는 [제조업체에서 지원](../flight_controller/autopilot_manufacturer_supported.md)합니다. +::: + +### Processors & Sensors + +- FMU Processor: STM32H743VIT6 + - 32 Bit Arm® Cortex®-M7, 480MHz, 2MB flash memory, 1MB RAM +- IO Processor: STM32F103 + - 32 Bit Arm® Cortex®-M3, 72MHz, 20KB SRAM +- 내장 센서 : + - Accel/Gyro: ICM-42688-P\*2(Version1), BMI270\*2(Version2) + - 자력계: IST8310 + - Barometer: DPS310(Version1),SPL06(Version2) + +### 인터페이스 + +- 15x PWM Servo Outputs +- 1x Dedicated S.Bus Input +- 3x TELEM Ports +- 1x SERIAL4 Port +- 2x GPS Ports +- 1x USB Port (TYPE-C) +- 3x I2C Bus Ports +- 2x CAN Ports +- 2x Power Input Ports + - ADC Power Input + - DroneCAN/UAVCAN Power Input +- 2x Dedicated Debug Port + - FMU Debug + - IO 디버그 + +## Purchase Channels + +Order from [X-MAV](https://www.x-mav.cn/). + +## 무선 조종 + +A Radio Control (RC) system is required if you want to manually control your vehicle (PX4 does not require a radio system for autonomous flight modes). + +기체와 조종자가 통신하기 위하여 송신기와 수신기를 바인딩하여야 합니다. +송신기와 수신기의 매뉴얼을 참고하십시오. + +SBUS receivers connect to the SBUS-IN input port. +CRSF receiver must be wired to a spare port (UART) on the Flight Controller. Then you can bind the transmitter and receiver together. + +## 시리얼 포트 매핑 + +| UART | 장치 | 포트 | +| ------ | ---------- | ------- | +| USART1 | /dev/ttyS0 | GPS | +| USART2 | /dev/ttyS1 | GPS2 | +| USART3 | /dev/ttyS2 | TELEM1 | +| UART4 | /dev/ttyS3 | TELEM2 | +| UART7 | /dev/ttyS4 | TELEM3 | +| UART8 | /dev/ttyS5 | SERIAL4 | + +## PWM Output + +The AP-H743-R1 flight controller supports up to 15 PWM outputs. +The first 8 outputs (labelled M1 to M8) are controlled by a dedicated STM32F103 IOMCU controller. +The remaining 7 outputs (labelled A1 to A7) are the "auxiliary" outputs. +These are directly attached to the STM32H743 FMU controller . + +The 15 PWM outputs are: + +M1 - M8 are connected to the IOMCU. +A1 - A7 are connected to the FMU. + +M1 - M8 support DShot and are in 3 groups: + +- M1, M2 in group 1 +- M3, M4 in group 2 +- M5, M6, M7, M8 in group 3 + +The 7 FMU PWM outputs are in 3 groups: + +- A1 - A4 are in one group. +- A5, A6 are in a 2nd group. +- A7 is in a 3nd group. + +Channels within the same group need to use the same output rate. +If any channel in a group uses DShot then all channels in the group need to use DShot. + +### Electrical data + +- Voltage Ratings: + - Max input voltage: 5.4V + - USB Power Input: 4.75\~5.25V + - Servo Rail Input: 0\~9.9V + +## Battery Monitoring + +The board has connectors for 2 power monitors. + +- POWER1 -- ADC +- POWER2 -- DroneCAN + +The board is configure by default for a analog power monitor, and also has DroneCAN power monitor configured which is enabled. + +## 펌웨어 빌드 + +To [build PX4](../dev_setup/building_px4.md) for this target, execute: + +```sh +make x-mav_ap-h743r1_default +``` + +## Pinouts and Size + +![AP-H743-R1 pinouts](../../assets/flight_controller/x-mav_ap-h743r1/ap-h743r1-pinouts.png) + +![AP-H743-R1](../../assets/flight_controller/x-mav_ap-h743r1/ap-h743r1-size.png) + +## 지원 플랫폼 및 기체 + +Any multirotor/airplane/rover or boat that can be controlled using normal RC servos or Futaba S-Bus servos. +The complete set of supported configurations can be found in the [Airframe Reference](../airframes/airframe_reference.md). + +## 디버그 포트 + +### SWD + +The [SWD interface](../debug/swd_debug.md) operate on the **FMU-DEBUG** port (`FMU-DEBUG`). + +The debug port (`FMU-DEBUG`) uses a [JST SM04B-GHS-TB](https://www.digikey.com/en/products/detail/jst-sales-america-inc/SM04B-GHS-TB/807788) connector and has the following pinout: + +| 핀 | 신호 | 전압 | +| ------------------------- | ------------------------------ | --------------------- | +| 1(red) | 5V+ | +5V | +| 2 (흑) | FMU_SWDIO | +3.3V | +| 3 (흑) | FMU_SWCLK | +3.3V | +| 4 (흑) | GND | GND | diff --git a/docs/ko/flight_modes_fw/mission.md b/docs/ko/flight_modes_fw/mission.md index 550cdd7630..5930bbf95f 100644 --- a/docs/ko/flight_modes_fw/mission.md +++ b/docs/ko/flight_modes_fw/mission.md @@ -29,32 +29,32 @@ At high level all vehicle types behave in the same way when MISSION mode is enga 1. If no mission is stored, or if PX4 has finished executing all mission commands, or if the [mission is not feasible](#mission-feasibility-checks): - - If flying the vehicle will loiter. - - If landed the vehicle will "wait". + - If flying the vehicle will loiter. + - If landed the vehicle will "wait". 2. If a mission is stored and PX4 is flying it will execute the [mission/flight plan](../flying/missions.md) from the current step. - - A takeoff mission item will be treated as a normal waypoint. + - A takeoff mission item will be treated as a normal waypoint. 3. If a mission is stored and the vehicle is landed it will only takeoff if the active waypoint is a `Takeoff`. - If configured for catapult launch, the vehicle must also be launched (see [FW Takeoff/Landing in Mission](#mission-takeoff)). + If configured for catapult launch, the vehicle must also be launched (see [FW Takeoff/Landing in Mission](#mission-takeoff)). 4. If no mission is stored, or if PX4 has finished executing all mission commands: - - If flying the vehicle will loiter. - - If landed the vehicle will "wait". + - If flying the vehicle will loiter. + - If landed the vehicle will "wait". 5. You can manually change the current mission command by selecting it in _QGroundControl_. - ::: info - If you have a _Jump to item_ command in the mission, moving to another item will **not** reset the loop counter. - One implication is that if you change the current mission command to 1 this will not "fully restart" the mission. + ::: info + If you have a _Jump to item_ command in the mission, moving to another item will **not** reset the loop counter. + One implication is that if you change the current mission command to 1 this will not "fully restart" the mission. ::: 6. The mission will only reset when the vehicle is disarmed or when a new mission is uploaded. - :::tip - To automatically disarm the vehicle after it lands, in _QGroundControl_ go to [Vehicle Setup > Safety](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), navigate to _Land Mode Settings_ and check the box labeled _Disarm after_. - Enter the time to wait after landing before disarming the vehicle. + :::tip + To automatically disarm the vehicle after it lands, in _QGroundControl_ go to [Vehicle Setup > Safety](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), navigate to _Land Mode Settings_ and check the box labeled _Disarm after_. + Enter the time to wait after landing before disarming the vehicle. ::: @@ -261,7 +261,7 @@ This pattern results in the following landing sequence: 1. **Fly to landing location**: The aircraft flies at its current altitude towards the loiter waypoint. 2. **Descending orbit to approach altitude**: On reaching the loiter radius of the waypoint, the vehicle performs a descending orbit until it reaches the "approach altitude" (the altitude of the loiter waypoint). - The vehicle continues to orbit at this altitude until it has a tanjential path towards the land waypoint, at which point the landing approach is initiated. + The vehicle continues to orbit at this altitude until it has a tanjential path towards the land waypoint, at which point the landing approach is initiated. 3. **Landing approach**: The aircraft follows the landing approach slope towards the land waypoint until the flare altitude is reached. 4. **Flare**: The vehicle flares until it touches down. diff --git a/docs/ko/flight_modes_fw/takeoff.md b/docs/ko/flight_modes_fw/takeoff.md index 23ded204ce..a9280230b2 100644 --- a/docs/ko/flight_modes_fw/takeoff.md +++ b/docs/ko/flight_modes_fw/takeoff.md @@ -93,7 +93,7 @@ To launch in this mode: 1. Arm the vehicle 2. Put the vehicle into _Takeoff mode_ 3. Launch/throw the vehicle (firmly) directly into the wind. - You can also shake the vehicle first, wait till the motor spins up and then throw it + You can also shake the vehicle first, wait till the motor spins up and then throw it ### Parameters (Launch Detector) diff --git a/docs/ko/flight_modes_mc/follow_me.md b/docs/ko/flight_modes_mc/follow_me.md index 09e5d2a7ee..c5ca434e6e 100644 --- a/docs/ko/flight_modes_mc/follow_me.md +++ b/docs/ko/flight_modes_mc/follow_me.md @@ -151,19 +151,19 @@ The follow-me behavior can be configured using the following parameters: 1. Set the [follow distance](#FLW_TGT_DST) to more than 12 meters (8 meters is a "recommended minimum"). - There is an inherent position bias (3 ~ 5 meters) between the target and the drone's GPS sensor, which makes the drone follow a 'ghost target' somewhere near the actual target. - This is more obvious when the follow distance is very small. - We recommend that the follow distance is set to be large enough such that the GPS bias is not significant. + There is an inherent position bias (3 ~ 5 meters) between the target and the drone's GPS sensor, which makes the drone follow a 'ghost target' somewhere near the actual target. + This is more obvious when the follow distance is very small. + We recommend that the follow distance is set to be large enough such that the GPS bias is not significant. 2. The speed at which you can change the follow angle depends on the [maximum tangential velocity](#FLW_TGT_MAX_VEL) setting. - Experimentation shows that values between `5 m/s` are `10 m/s` are usually suitable. + Experimentation shows that values between `5 m/s` are `10 m/s` are usually suitable. 3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots. - + - This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite. + This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite. ## 알려진 이슈들 diff --git a/docs/ko/flight_modes_mc/mission.md b/docs/ko/flight_modes_mc/mission.md index 915a7db55e..778c22f386 100644 --- a/docs/ko/flight_modes_mc/mission.md +++ b/docs/ko/flight_modes_mc/mission.md @@ -31,33 +31,33 @@ At high level all vehicle types behave in the same way when MISSION mode is enga 1. If no mission is stored, or if PX4 has finished executing all mission commands, or if the [mission is not feasible](#mission-feasibility-checks): - - If flying the vehicle will hold. - - If landed the vehicle will "wait". + - If flying the vehicle will hold. + - If landed the vehicle will "wait". 2. If a mission is stored and PX4 is flying it will execute the [mission/flight plan](../flying/missions.md) from the current step. - - A `TAKEOFF` item is treated as a normal waypoint. + - A `TAKEOFF` item is treated as a normal waypoint. 3. If a mission is stored and PX4 is landed: - - PX4 will execute the [mission/flight plan](../flying/missions.md). - - If the mission does not have a `TAKEOFF` item then PX4 will fly the vehicle to the minimum altitude before executing the remainder of the flight plan from the current step. + - PX4 will execute the [mission/flight plan](../flying/missions.md). + - If the mission does not have a `TAKEOFF` item then PX4 will fly the vehicle to the minimum altitude before executing the remainder of the flight plan from the current step. 4. If no mission is stored, or if PX4 has finished executing all mission commands: - - If flying the vehicle will hold. - - If landed the vehicle will "wait". + - If flying the vehicle will hold. + - If landed the vehicle will "wait". 5. You can manually change the current mission command by selecting it in _QGroundControl_. - ::: info - If you have a _Jump to item_ command in the mission, moving to another item will **not** reset the loop counter. - One implication is that if you change the current mission command to 1 this will not "fully restart" the mission. + ::: info + If you have a _Jump to item_ command in the mission, moving to another item will **not** reset the loop counter. + One implication is that if you change the current mission command to 1 this will not "fully restart" the mission. ::: 6. The mission will only reset when the vehicle is disarmed or when a new mission is uploaded. - :::tip - To automatically disarm the vehicle after it lands, in _QGroundControl_ go to [Vehicle Setup > Safety](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), navigate to _Land Mode Settings_ and check the box labeled _Disarm after_. - Enter the time to wait after landing before disarming the vehicle. + :::tip + To automatically disarm the vehicle after it lands, in _QGroundControl_ go to [Vehicle Setup > Safety](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), navigate to _Land Mode Settings_ and check the box labeled _Disarm after_. + Enter the time to wait after landing before disarming the vehicle. ::: diff --git a/docs/ko/flight_modes_mc/throw_launch.md b/docs/ko/flight_modes_mc/throw_launch.md index a6212c185a..5b4a197bc7 100644 --- a/docs/ko/flight_modes_mc/throw_launch.md +++ b/docs/ko/flight_modes_mc/throw_launch.md @@ -43,16 +43,16 @@ Also ensure that the propellers do not spin on arming after enabling the feature In addition: 1. Wear safety equipment. - Eye protection and work gloves are recommended. + Eye protection and work gloves are recommended. 2. Have an easily accessible and tested [kill switch](../config/safety.md#kill-switch). - Remind the operator to be attentive and use the kill switch if needed. - Pilots tend to forget that vehicles are replaceable, but they are not! + Remind the operator to be attentive and use the kill switch if needed. + Pilots tend to forget that vehicles are replaceable, but they are not! 3. Test as much as possible without propellers. - Keep the tools for removing propellers nearby/readily accessible. + Keep the tools for removing propellers nearby/readily accessible. 4. Test this feature with at least two people — one handling the aircraft, the other one the remote control. 5. Keep in mind that after the throw, the exact behavior of the aircraft might be hard to predict as it depends heavily on the way it is thrown. - Sometimes it will stay perfectly in place, but sometimes (e.g., due to extensive roll), it might drift to one side while stabilizing. - Keep a safe distance! + Sometimes it will stay perfectly in place, but sometimes (e.g., due to extensive roll), it might drift to one side while stabilizing. + Keep a safe distance! On first flight of a new vehicle we recommend performing a [Throw Launch test without propellers](#throw-launch-pretest) (see below). @@ -65,13 +65,13 @@ The steps for this test are: 1. Dismount the propellers. 2. Set [COM_THROW_EN](../advanced_config/parameter_reference.md#COM_THROW_EN) to `Enabled`. 3. Arm the aircraft. - The engines should not spin, but the vehicle should be armed and keep playing the arming tune. + The engines should not spin, but the vehicle should be armed and keep playing the arming tune. 4. Throw the aircraft about 2m into the air. - If the aircraft is not thrown high enough, the motors will not turn on. + If the aircraft is not thrown high enough, the motors will not turn on. 5. The engines should start just after crossing the apex. 6. Engage the kill switch (ideally a second person operating the RC should do this). 7. Catch the drone. - Remember to use safety gloves! + Remember to use safety gloves! ## Throw Launch @@ -79,12 +79,12 @@ The steps for a throw launch are: 1. Set [COM_THROW_EN](../advanced_config/parameter_reference.md#COM_THROW_EN) to `Enabled`. 2. Arm the aircraft. - The propellers should not spin, but the vehicle should be armed and keep playing the arming tune. + The propellers should not spin, but the vehicle should be armed and keep playing the arming tune. 3. Throw the aircraft away from you, forward and up (about 2m away and 2m up is recommended). - - The vehicle must reach the speed of [COM_THROW_SPEED](../advanced_config/parameter_reference.md#COM_THROW_SPEED) to detect launch, which by default is set to 5 m/s. - If this speed is not achieved, the motors will not start and the aircraft will fall to the ground. - - Try to avoid excessive rotation during the throw, as this might cause the drone to fail or behave unpredictably. - The exact meaning of "excessive rotation" depends on the platform: for instance, [PX4Vision](../complete_vehicles_mc/px4_vision_kit.md) used for the testing, still managed to recover after 2-3 full rotations. + - The vehicle must reach the speed of [COM_THROW_SPEED](../advanced_config/parameter_reference.md#COM_THROW_SPEED) to detect launch, which by default is set to 5 m/s. + If this speed is not achieved, the motors will not start and the aircraft will fall to the ground. + - Try to avoid excessive rotation during the throw, as this might cause the drone to fail or behave unpredictably. + The exact meaning of "excessive rotation" depends on the platform: for instance, [PX4Vision](../complete_vehicles_mc/px4_vision_kit.md) used for the testing, still managed to recover after 2-3 full rotations. 4. After a downward velocity is detected (the vehicle reaches its apex and starts falling down), the motors should turn on and the vehicle will start flying in the current mode. ## 매개변수 diff --git a/docs/ko/flying/geofence.md b/docs/ko/flying/geofence.md index 41058158ae..751e0da3d2 100644 --- a/docs/ko/flying/geofence.md +++ b/docs/ko/flying/geofence.md @@ -43,7 +43,7 @@ Geofence planning is fully documented in [Plan View > GeoFence](https://docs.qgr - 펜스 중앙 마커를 사용하여 펜스를 올바른 위치로 이동할 수 있습니다. - 원형 울타리 테두리의 마커를 사용하여 반경을 변경할 수 있습니다. - 모서리 (정점)의 마커를 사용하여 다각형의 형상을 변경할 수 있습니다. - 기존 마커 사이의 선을 따라 중간을 클릭하면 추가 정점이 생성됩니다. + 기존 마커 사이의 선을 따라 중간을 클릭하면 추가 정점이 생성됩니다. 5. Use the _Geofence Editor_ to set a fence as an inclusion or exclusion, and to select a fence to edit (**Edit** radio button) or Delete (**Del** button). 6. 필요한 만큼 울타리를 추가하십시오. 7. Once finished, click on the **Upload** button (top right) to send the fence (along with rally points and mission) to the vehicle. diff --git a/docs/ko/flying/package_delivery_mission.md b/docs/ko/flying/package_delivery_mission.md index 4571bcb1c7..3d1390abf5 100644 --- a/docs/ko/flying/package_delivery_mission.md +++ b/docs/ko/flying/package_delivery_mission.md @@ -37,9 +37,9 @@ To create a package delivery mission (with a Gripper): - To drop the package while flying set an appropriate altitude for the waypoint (and ensure the waypoint is at a safe location to drop the package). - If you'd like to land the vehicle to make the delivery you will need to change the `Waypoint` to a `Land` mission item. - Do this by selecting the mission item heading, then selecting `Land` in the popup dialog. + Do this by selecting the mission item heading, then selecting `Land` in the popup dialog. - ![Waypoint to Land mission item](../../assets/flying/package_delivery_land_waypoint.png) + ![Waypoint to Land mission item](../../assets/flying/package_delivery_land_waypoint.png) 3. Add a waypoint on the map (anywhere) for the gripper release. To change this to a `Gripper Mechanism` select the "Waypoint" heading, and in the popup changing the group to "Advanced", then selecting `Gripper Mechanism`. diff --git a/docs/ko/frames_multicopter/dji_f450_cuav_5nano.md b/docs/ko/frames_multicopter/dji_f450_cuav_5nano.md index 82c0b52ee5..aa3f163b60 100644 --- a/docs/ko/frames_multicopter/dji_f450_cuav_5nano.md +++ b/docs/ko/frames_multicopter/dji_f450_cuav_5nano.md @@ -106,52 +106,52 @@ FrSky Taranis 조종기를 사용할 수 있습니다. 1. 제공된 나사를 이용하여 하판에 팔 4개를 결합합니다. - ![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5nano/1_attach_arms_bottom_plate.jpg) + ![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5nano/1_attach_arms_bottom_plate.jpg) 2. ESC (변속기) 의 양극 (빨강)과 음극 (검정)을 보드에 납땜합니다. - ![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/2_solder_esc.jpg) + ![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/2_solder_esc.jpg) 3. 전원 모듈의 양극 (빨강)과 음극 (검정)을 납땜합니다. - ![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5nano/3_solder_power_module.jpg) + ![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5nano/3_solder_power_module.jpg) 4. 위치에 따라 모터를 ESC에 연결합니다. - ![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5nano/4_plug_in_motors.jpg) + ![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5nano/4_plug_in_motors.jpg) 5. 각각의 모터를 해당하는 팔에 고정합니다. - ![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5a_attach_motors_to_arms.jpg) - ![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5b_attach_motors_to_arms.jpg) + ![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5a_attach_motors_to_arms.jpg) + ![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5b_attach_motors_to_arms.jpg) 6. (다리의 윗부분과 나사로 결합하여) 상판을 장착합니다. - ![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5nano/6_add_top_board.jpg) + ![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5nano/6_add_top_board.jpg) 7. Add damping foam to the _CUAV V5 nano_ flight controller. - ![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7a_attach_cuav5nano.jpg) - ![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7b_attach_cuav5nano.jpg) + ![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7a_attach_cuav5nano.jpg) + ![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7b_attach_cuav5nano.jpg) 8. FrSky 수신기를 양면 테이프를 이용하여 하판에 부착합니다. - ![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5nano/8_attach_frsky.jpg) + ![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5nano/8_attach_frsky.jpg) 9. 텔레메트리 모듈을 기체의 아랫판에 양면테이프를 이용하여 부착합니다. - ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9a_telemtry_radio.jpg) - ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9b_telemtry_radio.jpg) + ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9a_telemtry_radio.jpg) + ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9b_telemtry_radio.jpg) 10. 알루미늄 GPS 지지대를 밑판에 추가한후 GPS를 부착합니다. - ![Aluminium standoffs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/10_aluminium_standoffs.jpg) + ![Aluminium standoffs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/10_aluminium_standoffs.jpg) 11. Plug in Telemetry (`TELEM1`), GPS module (`GPS/SAFETY`), RC receiver (`RC`), all 4 ESC’s (`M1-M4`), and the power module (`Power1`) into the flight controller. - ![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5nano/12_fc_attach_periperhals.jpg) + ![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5nano/12_fc_attach_periperhals.jpg) - ::: info - The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x) + ::: info + The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x) ::: diff --git a/docs/ko/frames_multicopter/dji_f450_cuav_5plus.md b/docs/ko/frames_multicopter/dji_f450_cuav_5plus.md index d4588205c8..d96964b607 100644 --- a/docs/ko/frames_multicopter/dji_f450_cuav_5plus.md +++ b/docs/ko/frames_multicopter/dji_f450_cuav_5plus.md @@ -108,53 +108,53 @@ FrSky Taranis 조종기를 사용할 수 있습니다. 1. 제공된 나사를 이용하여 하판에 팔 4개를 결합합니다. - ![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5plus/1_attach_arms_bottom_plate.jpg) + ![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5plus/1_attach_arms_bottom_plate.jpg) 2. ESC (변속기) 의 양극 (빨강)과 음극 (검정)을 보드에 납땜합니다. - ![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5plus/2_solder_esc.jpg) + ![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5plus/2_solder_esc.jpg) 3. 전원 모듈의 양극 (빨강)과 음극 (검정)을 납땜합니다. - ![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5plus/3_solder_power_module.jpg) + ![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5plus/3_solder_power_module.jpg) 4. 위치에 따라 모터를 ESC에 연결합니다. - ![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5plus/4_plug_in_motors.jpg) + ![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5plus/4_plug_in_motors.jpg) 5. 각각의 모터를 해당하는 팔에 고정합니다. - ![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5a_attach_motors_to_arms.jpg) - ![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5b_attach_motors_to_arms.jpg) + ![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5a_attach_motors_to_arms.jpg) + ![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5b_attach_motors_to_arms.jpg) 6. (다리의 윗부분과 나사로 결합하여) 상판을 장착합니다. - ![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5plus/6_add_top_board.jpg) + ![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5plus/6_add_top_board.jpg) 7. CUAV V5 + 비행 컨트롤러에 양면 테이프(3M)를 추가합니다 (내부 진동 감쇠 기능이있어 폼을 사용할 필요가 없음). - ![Tape CUAV v5+](../../assets/airframes/multicopter/dji_f450_cuav_5plus/7_attach_cuav5plus.jpg) + ![Tape CUAV v5+](../../assets/airframes/multicopter/dji_f450_cuav_5plus/7_attach_cuav5plus.jpg) 8. FrSky 수신기를 양면 테이프를 이용하여 하판에 부착합니다. - ![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5plus/8_attach_frsky.jpg) + ![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5plus/8_attach_frsky.jpg) 9. 텔레메트리 모듈을 기체의 아랫판에 양면테이프를 이용하여 부착합니다. - ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9a_telemtry_radio.jpg) - ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9b_telemtry_radio.jpg) + ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9a_telemtry_radio.jpg) + ![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9b_telemtry_radio.jpg) 10. 알루미늄 GPS 지지대를 밑판에 추가한후 GPS를 부착합니다. 11. Plug in Telemetry (`TELEM1`) and GPS module (`GPS/SAFETY`) to the flight controller. - ![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11a_gps.jpg) - ![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11b_gps.jpg) + ![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11a_gps.jpg) + ![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11b_gps.jpg) 12. Plug in the RC receiver (`RC`), all 4 ESC’s (`M1-M4`), and the power module (`Power1`) into the flight controller. - ![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5plus/12_fc_attach_periperhals.jpg) + ![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5plus/12_fc_attach_periperhals.jpg) - ::: info - The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x) + ::: info + The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x) ::: diff --git a/docs/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/docs/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md index 5677c2aac7..e8889c939f 100644 --- a/docs/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md +++ b/docs/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md @@ -103,79 +103,79 @@ Estimated time to assemble frame is 2 hours and 1.5 hours installing the autopil 1. 그림과 같이 15mm 나사를 사용하여 암을 버튼 플레이트에 부착합니다. - ![QAV250 Add arms to button plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/1_button_plate_add_arms.jpg) + ![QAV250 Add arms to button plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/1_button_plate_add_arms.jpg) 2. 짧은 판을 팔 위에 올려 놓습니다. - ![QAV250 Add short plate over arms](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/2_short_plate_over_arms.jpg) + ![QAV250 Add short plate over arms](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/2_short_plate_over_arms.jpg) 3. 15mm 나사에 너트를 끼웁니다 (다음 단계 참조). 4. Insert the plastic screws into the indicated holes (note that this part of the frame faces down when the vehicle is complete). - ![QAV250 Add nuts to 15mm screws and put plastic nuts in holes](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/3_nuts_screws_holes.jpg) + ![QAV250 Add nuts to 15mm screws and put plastic nuts in holes](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/3_nuts_screws_holes.jpg) 5. Add the plastic nuts to the screws (turn over, as shown) - ![QAV250 Plastic nuts onto screws](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/4_plastic_nuts_on_screws.jpg) + ![QAV250 Plastic nuts onto screws](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/4_plastic_nuts_on_screws.jpg) 6. Lower the power module over the plastic screws and then add the plastics standoffs - ![QAV250 Add power module and standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/5_power_module_on_screws.jpg) + ![QAV250 Add power module and standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/5_power_module_on_screws.jpg) 7. Put the flight controller plate on the standoffs (over the power module) - ![QAV250 Add flight controller plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/6_flight_controller_plate.jpg) + ![QAV250 Add flight controller plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/6_flight_controller_plate.jpg) 8. 모터를 부착합니다. 모터에는 회전 방향을 나타내는 화살표가 있습니다. - ![QAV250 Add motors](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/7_motors.jpg) + ![QAV250 Add motors](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/7_motors.jpg) 9. Use double sided tape from kit to attach the _Pixhawk 4 Mini_ to the flight controller plate. - ![QAV250 Add doublesided tape](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/8_double_sided_tape_controller.jpg) + ![QAV250 Add doublesided tape](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/8_double_sided_tape_controller.jpg) 10. Connect the power module's "power" cable to _Pixhawk 4 mini_. - ![QAV250 Power Pixhawk](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/9_power_module_power_pixhawk.jpg) + ![QAV250 Power Pixhawk](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/9_power_module_power_pixhawk.jpg) 11. Attach the aluminium standoffs to the button plate - ![QAV250 Aluminium standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/10_aluminium_standoffs.jpg) + ![QAV250 Aluminium standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/10_aluminium_standoffs.jpg) 12. Esc를 모터에 연결합니다. 이 이미지는 모터의 순서와 회전 방향을 나타냅니다. - ![QAV250 Connect ESCs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11_escs.jpg) + ![QAV250 Connect ESCs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11_escs.jpg) - ESC의 모터를 연결하고 모터가 올바른 방향으로회전하는 지 확인하십시오. - 모터가 반대쪽으로 회전하면 케이블 A를 패드 C로, C를 ESC의 패드 A로 변경하십시오. + ESC의 모터를 연결하고 모터가 올바른 방향으로회전하는 지 확인하십시오. + 모터가 반대쪽으로 회전하면 케이블 A를 패드 C로, C를 ESC의 패드 A로 변경하십시오. - :::warning - Test motor directions with propellers removed. + :::warning + Test motor directions with propellers removed. ::: - ![QAV250 Connect ESCs to Power](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11b_escs.jpg) + ![QAV250 Connect ESCs to Power](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11b_escs.jpg) 13. 신호 ESC 케이블을 Pixhawk의 PWM 출력에 올바른 순서로 연결합니다 (이전 이미지 참조). - ![QAV250 Connect ESCs to Pixhawk PWM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/12_escs_pixhawk.jpg) + ![QAV250 Connect ESCs to Pixhawk PWM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/12_escs_pixhawk.jpg) 14. 수신기 연결합니다. - - PPM 수신기를 사용하는 경우 PPM 포트에 연결하십시오. + - PPM 수신기를 사용하는 경우 PPM 포트에 연결하십시오. - ![QAV250 Connect Receiver PPM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_ppm.jpg) + ![QAV250 Connect Receiver PPM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_ppm.jpg) - - SBUS 수신기를 사용하는 경우 RC IN 포트에 연결합니다. + - SBUS 수신기를 사용하는 경우 RC IN 포트에 연결합니다. - ![QAV250 Connect Receiver SBUS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_sbus.jpg) + ![QAV250 Connect Receiver SBUS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_sbus.jpg) 15. 텔레메트리 모듈을 연결합니다. 이중 테이프로 모듈을 붙여넣고 텔레메트리 포트에 연결합니다. - ![QAV250 Telemetry module](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/14_telemetry.jpg) + ![QAV250 Telemetry module](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/14_telemetry.jpg) 16. GPS 모듈 연결 - ![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15a_connect_gps.jpg) + ![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15a_connect_gps.jpg) - 제공된 3M 테이프 또는 페이스트를 사용하여 상단 플레이트에 모듈을 부착합니다. 그런 다음 그림과 같이 스탠드오프에 상단 플레이트를 놓습니다. + 제공된 3M 테이프 또는 페이스트를 사용하여 상단 플레이트에 모듈을 부착합니다. 그런 다음 그림과 같이 스탠드오프에 상단 플레이트를 놓습니다. - ![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15b_attach_gps.jpg) + ![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15b_attach_gps.jpg) 17. 마지막 "필수"조립 단계는 배터리를 고정하기 위해 벨크로를 추가하는 것입니다. - ![QAV250 Velcro battery strap](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/16_velcro_strap.jpg) + ![QAV250 Velcro battery strap](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/16_velcro_strap.jpg) The "basic" frame build is now complete (though if you need them, you can find more information about connecting components in the [Pixhawk 4 Wiring Quickstart](../assembly/quick_start_pixhawk4.md)). @@ -190,17 +190,17 @@ If you have the "basic" version of the kit, you can now jump ahead to instructio 키트를 설치하는 단계는 다음과 같습니다. 1. Install the camera bracket on the frame - ![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_bracket.jpg) + ![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_bracket.jpg) 2. Install the camera on the bracket - ![Camera on Bracket](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_on_bracket.jpg) + ![Camera on Bracket](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_on_bracket.jpg) 3. The power module on the complete kit comes with wiring ready to connect the Video Transmitter and Camera: - ![Connecting FPV](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_connection_board.jpg) - - Attach the camera connector - ![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_connection.jpg) - The wires are: blue=voltage sensor, yellow=video out, black=ground, red=+voltage. - - Connect the Video Transmitter (VTX) connector - ![Video Transmitter Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_video_transmitter_connection.jpg) - The wires are: yellow=video out, black=ground, red=+voltage. + ![Connecting FPV](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_connection_board.jpg) + - Attach the camera connector + ![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_connection.jpg) + The wires are: blue=voltage sensor, yellow=video out, black=ground, red=+voltage. + - Connect the Video Transmitter (VTX) connector + ![Video Transmitter Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_video_transmitter_connection.jpg) + The wires are: yellow=video out, black=ground, red=+voltage. 4. 테이프를 사용하여 비디오 송신기와 OSD 보드를 프레임에 고정합니다. :::info diff --git a/docs/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md b/docs/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md index 1a2c8bc8f6..282a02a0d7 100644 --- a/docs/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md +++ b/docs/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md @@ -115,11 +115,11 @@ FrSky Taranis 무선 조종기를 사용하여 조립하는 경우를 예시로 조립 예상 시간은 90분 정도이며 프레임 조립에 약 45분과 QGroundControl의 자동조종장치 설정에 45분정도 걸립니다. 1. 랜딩 기어 조립. - 먼저 착륙 기어를 수직 기둥에 조립합니다. 랜딩 기어 나사를 풀고, 수직 기둥을 삽입합니다. + 먼저 착륙 기어를 수직 기둥에 조립합니다. 랜딩 기어 나사를 풀고, 수직 기둥을 삽입합니다. - ![Figure 1](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig1.jpg) + ![Figure 1](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig1.jpg) - ![Figure 2](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig2.jpg) + ![Figure 2](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig2.jpg) 2. 전원 관리 보드를 랜딩 기어에 조립합니다. 조립된 전원 관리 보드에 수직 기둥이 있는 랜딩 기어를 나사로 고정합니다. @@ -132,132 +132,132 @@ M3X8 나사 (총 8개, 각 측면에 4개)로 연결합니다. ![Figure 4](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig4.jpg) 1. 전원 관리 보드에 팔을 조립합니다. - 전원 관리 보드에 팔을 조립합니다. + 전원 관리 보드에 팔을 조립합니다. - ![Figure 6](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig7.jpg) + ![Figure 6](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig7.jpg) - ![Figure 7](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig8.jpg) + ![Figure 7](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig8.jpg) - 각 팔에 총 2개의 M2 5X6 나사를 사용합니다. - 플레이트 바닥에서 나사를 삽입합니다. + 각 팔에 총 2개의 M2 5X6 나사를 사용합니다. + 플레이트 바닥에서 나사를 삽입합니다. - ![Figure 8](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig9.jpg) + ![Figure 8](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig9.jpg) - ESC 케이블이 팔 중앙을 통과하는지 확인하십시오. + ESC 케이블이 팔 중앙을 통과하는지 확인하십시오. - ![Figure 9](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig91.jpg) + ![Figure 9](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig91.jpg) 2. Assemble the 8_3 2.54mm pitch Horizontal Pin to the 10 to 10 pin cable (PWM) to the Power Management Board. - Connect the 10 to 10 pin cable (PWM) to the 8_3 2.54mm pitch Horizontal Pin. + Connect the 10 to 10 pin cable (PWM) to the 8_3 2.54mm pitch Horizontal Pin. - ![Figure 10](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig10.jpg) + ![Figure 10](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig10.jpg) - 3M 테이프 조각을 잘라 수평 핀 하단에 부착합니다. + 3M 테이프 조각을 잘라 수평 핀 하단에 부착합니다. - ![Figure 11](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig11.jpg) + ![Figure 11](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig11.jpg) - 수평 핀을 전원 관리 보드에 고정 : + 수평 핀을 전원 관리 보드에 고정 : - ![Figure 12](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig12.jpg) + ![Figure 12](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig12.jpg) - ![Figure 13](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig13.jpg) + ![Figure 13](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig13.jpg) 3. 모터를 팔에 조립합니다. M3X7 나사 16개, 모터 4개, 팔 4개가 필요합니다. - 각 팔에 모터를 장착하고, 팔의 바닥을 통해 나사를 삽입합니다. + 각 팔에 모터를 장착하고, 팔의 바닥을 통해 나사를 삽입합니다. - ![Figure 14](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig14.jpg) + ![Figure 14](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig14.jpg) - ![Figure 15](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig15.jpg) + ![Figure 15](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig15.jpg) - 4개의 모터를 팔에 장착 한 후, 케이블 (빨간색, 파란색, 검은 색)을 잡고 팔 나사산에 끼웁니다. - 색상으로 구분된 3개의 케이블을 ESC에 연결합니다. + 4개의 모터를 팔에 장착 한 후, 케이블 (빨간색, 파란색, 검은 색)을 잡고 팔 나사산에 끼웁니다. + 색상으로 구분된 3개의 케이블을 ESC에 연결합니다. - ![Figure 16](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig16.jpg) + ![Figure 16](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig16.jpg) - ![Figure 17](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig17.jpg) + ![Figure 17](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig17.jpg) 4. 프레임에 GPS를 장착합니다. - Pixhawk 4 GPS와 마운팅된 플레이트가 필요합니다. + Pixhawk 4 GPS와 마운팅된 플레이트가 필요합니다. - ![GPS Parts](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_gpskit.png) + ![GPS Parts](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_gpskit.png) - 보드 뒷면에 GPS 마스트를 장착하고 4개의 나사를 사용합니다. + 보드 뒷면에 GPS 마스트를 장착하고 4개의 나사를 사용합니다. - ![Figure 18](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig18.jpg) + ![Figure 18](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig18.jpg) - ![Figure 19](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig19.jpg) + ![Figure 19](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig19.jpg) - 테이프를 사용하고, GPS를 GPS 마스트 상단에 붙입니다. + 테이프를 사용하고, GPS를 GPS 마스트 상단에 붙입니다. - ![Figure 20](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig20.jpg) + ![Figure 20](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig20.jpg) 5. FrSky를 보드에 붙여 넣습니다. 양면 테이프 (3M)로 FrSky를 하단 보드에 붙여 넣습니다. - FrSky를 프레임에 부착합니다. + FrSky를 프레임에 부착합니다. - ![Figure 21](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig21.jpg) + ![Figure 21](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig21.jpg) - ![Figure 22](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig22.jpg) + ![Figure 22](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig22.jpg) 6. 텔레메트리를 프레임에 부착합니다. - 다음 단계는 Holybro 텔레메트리를 프레임에 부착하고 3M 테이프를 사용합니다. + 다음 단계는 Holybro 텔레메트리를 프레임에 부착하고 3M 테이프를 사용합니다. - ![Figure 23](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig23.jpg) + ![Figure 23](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig23.jpg) - ![Figure 24](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig24.jpg) + ![Figure 24](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig24.jpg) - 차량 전방을 향하는 프레임 내부에 부착하였습니다. - 아래의 사진에는 프레임 하단에있는 라디오가 표시됩니다. + 차량 전방을 향하는 프레임 내부에 부착하였습니다. + 아래의 사진에는 프레임 하단에있는 라디오가 표시됩니다. - ![Figure 25](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig25.jpg) + ![Figure 25](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig25.jpg) 7. Pixhawk 4를 플레이트에 장착합니다. - 양면 테이프를 사용하여 Pixhawk 4를 중앙 플레이트에 부착합니다. + 양면 테이프를 사용하여 Pixhawk 4를 중앙 플레이트에 부착합니다. - ![Figure 26](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig26.jpg) + ![Figure 26](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig26.jpg) - ![Figure 27](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig27.jpg) + ![Figure 27](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig27.jpg) - ![Figure 28](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig28.jpg) + ![Figure 28](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig28.jpg) - 다음 단계는 플레이트와 함께 Pixhawk 4를 프레임에 장착하는 것입니다. - M2 5X6 나사가 필요합니다. - 플레이트를 프레임에 맞추고 나사를 삽입합니다. - 플레이트를 장착하기 전에 전원 모듈에 테이프를 붙이는 것이 좋습니다(단단하게 고정됨). + 다음 단계는 플레이트와 함께 Pixhawk 4를 프레임에 장착하는 것입니다. + M2 5X6 나사가 필요합니다. + 플레이트를 프레임에 맞추고 나사를 삽입합니다. + 플레이트를 장착하기 전에 전원 모듈에 테이프를 붙이는 것이 좋습니다(단단하게 고정됨). - ![Figure 29](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig29.jpg) + ![Figure 29](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig29.jpg) - ![Figure 30](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig30.jpg) + ![Figure 30](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig30.jpg) 8. 프레임에 배터리 마운트 조립. - M2 5X6 나사와 배터리 마운트가 필요합니다. + M2 5X6 나사와 배터리 마운트가 필요합니다. - ![Figure 31](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig31.jpg) + ![Figure 31](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig31.jpg) - 긴 막대를 작은 링에 삽입합니다. + 긴 막대를 작은 링에 삽입합니다. - ![Figure 32](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig32.png) + ![Figure 32](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig32.png) - ![Figure 33](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig33.png) + ![Figure 33](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig33.png) - 프레임에 부착하고, 나사를 삽입하기 위해 사면이 모두 정렬되어 있는 지 확인하십시오. + 프레임에 부착하고, 나사를 삽입하기 위해 사면이 모두 정렬되어 있는 지 확인하십시오. - ![Figure 34](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig34.jpg) + ![Figure 34](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig34.jpg) - 작은 판을 다리에 조립하고, 사면 모두에서 나사로 조입니다. + 작은 판을 다리에 조립하고, 사면 모두에서 나사로 조입니다. - ![Figure 35](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig35.jpg) + ![Figure 35](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig35.jpg) - 마지막 단계는 플레이트를 부착하는 것입니다. + 마지막 단계는 플레이트를 부착하는 것입니다. - ![Figure 36](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig36.jpg) + ![Figure 36](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig36.jpg) 9. Pixhawk 4 배선. Pixhawk 4의 배선 방법은 몇 가지 방법이 있습니다. - 아래에는 Pixhawk에 필요한 전선들과 연결된 모양이 설명되어 있습니다. + 아래에는 Pixhawk에 필요한 전선들과 연결된 모양이 설명되어 있습니다. 10. 플러그인 원격 측정 및 GPS 모듈을 비행 컨트롤러에 연결합니다 (그림 37 참조). RC 수신기, 4 개의 ESC 모두를 비행 컨트롤러와 전원 모듈에 연결합니다. - ![Figure 37](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig37.png) + ![Figure 37](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig37.png) 완전히 조립된 키트의 예는 아래와 같습니다. diff --git a/docs/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md b/docs/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md index 71b00944d1..ccd6859e9e 100644 --- a/docs/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md +++ b/docs/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md @@ -93,92 +93,92 @@ Tools are included to do the assembly, however you may need: Estimate time to assemble is 55 min (25 minutes for frame, 30 minutes for autopilot installation/configuration) 1. Start by assembling the payload & battery holder. - Push the rubbers into grippers (Do not use sharp items to push them in!). - Next, pass the holders through the holder bars with the battery holder bases as Figure 3. + Push the rubbers into grippers (Do not use sharp items to push them in!). + Next, pass the holders through the holder bars with the battery holder bases as Figure 3. - ![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_required_stuff.png) + ![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_required_stuff.png) - _Figure 2_: Payload holder components + _Figure 2_: Payload holder components - ![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_assembled.png) + ![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_assembled.png) - _Figure 3_: Payload holder assembled + _Figure 3_: Payload holder assembled 2. The next is to go for attaching the bottom plate to the payload holder. - You will need the parts as shown in Figure 4. - Then mount the base for power distribution board using nylon nuts as Figure 5. - Finally using 8 hex screws you can join the bottom plate to the payload holder (Figure 7) + You will need the parts as shown in Figure 4. + Then mount the base for power distribution board using nylon nuts as Figure 5. + Finally using 8 hex screws you can join the bottom plate to the payload holder (Figure 7) - ![Materials to attach bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/topplate_holder_stuff.png) + ![Materials to attach bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/topplate_holder_stuff.png) - _Figure 4_: Needed Materials + _Figure 4_: Needed Materials - ![PDB mountbase](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/powerboard-mountbase.png) + ![PDB mountbase](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/powerboard-mountbase.png) - _Figure 5_: PDB mount base + _Figure 5_: PDB mount base - ![PDB attachment](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pdb_bottom_plate.png) + ![PDB attachment](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pdb_bottom_plate.png) - _Figure 6_: Mounted pdb with nylon nuts + _Figure 6_: Mounted pdb with nylon nuts - ![Bottom plate Final](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/bottom_plate_holder_final.png) + ![Bottom plate Final](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/bottom_plate_holder_final.png) - _Figure 7_: Mounted Plate on payload holder + _Figure 7_: Mounted Plate on payload holder 3. Let's gather the stuff needed for mounting landing gear as Figure 8. - Use the hex screws to join landing gears to the bottom plate. - You also need to open three hex screws on each of the leg stands so you can push them into carbon fiber pipes. - Do not forget to tighten them back again. + Use the hex screws to join landing gears to the bottom plate. + You also need to open three hex screws on each of the leg stands so you can push them into carbon fiber pipes. + Do not forget to tighten them back again. - ![Attach Landing Gear Stuff](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/landing_gear_materials.png) + ![Attach Landing Gear Stuff](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/landing_gear_materials.png) - _Figure 8_: Required parts for landing gear attachment + _Figure 8_: Required parts for landing gear attachment - ![Lanfing great to bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/attached_landing_gear.png) + ![Lanfing great to bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/attached_landing_gear.png) - _Figure 9_: Landing gear attachment to the body + _Figure 9_: Landing gear attachment to the body 4. We will gather all the arms now to mount the top plate. - Please pay attention that the motor numbers on arms are a match with the ones mentioned on the top plate. - Fortunately, motors are mounted and ESCs have been connected in advance. - Start by passing through all the screws as you have the arms fixed in their own places (They have a guide as shown in Figure 11 to ensure they are in place) and tighten all nylon nuts a bit. - Then you can connect XT30 power connectors to the power board. - Please keep in mind that the signal wires have to be passed through the top plate such that we can connect them later to Pixhawk. + Please pay attention that the motor numbers on arms are a match with the ones mentioned on the top plate. + Fortunately, motors are mounted and ESCs have been connected in advance. + Start by passing through all the screws as you have the arms fixed in their own places (They have a guide as shown in Figure 11 to ensure they are in place) and tighten all nylon nuts a bit. + Then you can connect XT30 power connectors to the power board. + Please keep in mind that the signal wires have to be passed through the top plate such that we can connect them later to Pixhawk. - + - _Figure 10_: Connecting arms needed materials. + _Figure 10_: Connecting arms needed materials. - + - _Figure 11_: Guide for the arms mount + _Figure 11_: Guide for the arms mount 5. Tighten all 16 screws and nuts by using both hex wrench and nut driver. - ![Top plae mounted](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/finalized_top_plate.png) + ![Top plae mounted](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/finalized_top_plate.png) - _Figure 12_: Mounted top plate + _Figure 12_: Mounted top plate 6. Next you can mount your pixhawk on the top plate by using the stickers. - It is recommended to have the direction of your Pixhawk's arrow the same as the one mentioned on the top plate. + It is recommended to have the direction of your Pixhawk's arrow the same as the one mentioned on the top plate. - ![Flight controller mounting stickers](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pixhawk5x_stickertapes.png) + ![Flight controller mounting stickers](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pixhawk5x_stickertapes.png) - _Figure 13_: Sticker tapes on Pixhawk + _Figure 13_: Sticker tapes on Pixhawk 7. If you want to mount the GPS on the companion computer plate, you can now secure the GPS mount onto it using 4 screws and nuts. - + - _Figure 14_: Secure GPS mount onto companion plate + _Figure 14_: Secure GPS mount onto companion plate 8. 테이프를 사용하여 GPS를 GPS 마스트 상단에 붙이고 GPS 마스트를 장착합니다. - Make sure the arrow on the gps is pointing forward (Figure 15). + Make sure the arrow on the gps is pointing forward (Figure 15). - + - _Figure 15_: GPS and mast + _Figure 15_: GPS and mast 9. Finally, you can connect the Pixhawk interfaces such as telemetry radio to 'TELEM1' and motors signal cables accordingly. diff --git a/docs/ko/frames_multicopter/holybro_x500_pixhawk4.md b/docs/ko/frames_multicopter/holybro_x500_pixhawk4.md index 12b2c679bb..0e47b5149d 100644 --- a/docs/ko/frames_multicopter/holybro_x500_pixhawk4.md +++ b/docs/ko/frames_multicopter/holybro_x500_pixhawk4.md @@ -81,125 +81,125 @@ Additionally you will need a battery and receiver ([compatible radio system](../ 예상 조립 시간은 3.75시간(프레임은 180분, 오토파일럿 설치와 설정은 45분)입니다. 1. 랜딩기어 조립부터 시작합니다. - 랜딩 기어 나사를 풀고 수직 기둥을 삽입합니다(그림 1 및 2). + 랜딩 기어 나사를 풀고 수직 기둥을 삽입합니다(그림 1 및 2). - ![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig1.jpg) + ![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig1.jpg) - _Figure 2_: Landing gear components + _Figure 2_: Landing gear components - ![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig2.jpg) + ![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig2.jpg) - _Figure 2_: Landing gear assembled + _Figure 2_: Landing gear assembled 2. 그런 다음, 그림 3에 표시된 4개의 모터 베이스를 통해 4개의 암을 넣습니다. - 로드가 베이스를 약간 돌출시키고 4개의 암 전체에서 일관성이 있는 지 확인하고, 모터 와이어가 바깥쪽을 향하도록 합니다. + 로드가 베이스를 약간 돌출시키고 4개의 암 전체에서 일관성이 있는 지 확인하고, 모터 와이어가 바깥쪽을 향하도록 합니다. - ![Attach arms to motor bases](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_2_fig3.png) + ![Attach arms to motor bases](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_2_fig3.png) - _Figure 3_: Attach arms to motor bases + _Figure 3_: Attach arms to motor bases 3. 4개의 나일론 나사와 나일론 스탠드오프를 삽입하고, 그림 4와 같이 4개의 나일론 너트를 사용하여 전원 모듈 PM07을 하단 플레이트에 부착합니다. - ![Attach power module](../../assets/airframes/multicopter/x500_holybro_pixhawk4/power_module.jpg) + ![Attach power module](../../assets/airframes/multicopter/x500_holybro_pixhawk4/power_module.jpg) - _Figure 4_: Attach power module + _Figure 4_: Attach power module 4. 각 암을 통해 4개의 모터 ESC를 공급하고, 그림 5에 표시된 모터에 3선 끝을 연결합니다. - + - _Figure 5_: Connect motors + _Figure 5_: Connect motors 5. Connect the ESCs power wires onto the power module PM07, black->black and red->red, ESC PWM signal wires goes to "FMU-PWM-Out". - 모터 ESC PWM 와이어를 올바른 순서로 연결하였는 지 확인하십시오. - Refer to Figure 7 for airframe motor number and connect to the corresponding number on the PM07 board. + 모터 ESC PWM 와이어를 올바른 순서로 연결하였는 지 확인하십시오. + Refer to Figure 7 for airframe motor number and connect to the corresponding number on the PM07 board. - ![ESC power module and signal wiring](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_pwm.jpg) - _Figure 7_: ESC power module and signal wiring + ![ESC power module and signal wiring](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_pwm.jpg) + _Figure 7_: ESC power module and signal wiring - 모터 상단의 색상은 회전 방향(그림 7-1)을 나타내며, 검은색 끝은 시계 방향, 흰색 끝은 반시계 방향입니다. - 모터 방향은 px4 quadrotor x 기체 정의서를 따라야 합니다(그림 7-2). + 모터 상단의 색상은 회전 방향(그림 7-1)을 나타내며, 검은색 끝은 시계 방향, 흰색 끝은 반시계 방향입니다. + 모터 방향은 px4 quadrotor x 기체 정의서를 따라야 합니다(그림 7-2). - + - _Figure 7_: Motor order/direction diagram + _Figure 7_: Motor order/direction diagram - + - _Figure 7-1_: Motor direction + _Figure 7-1_: Motor direction 6. 10핀 케이블을 FMU-PWM-in에 연결하고, 6핀 케이블을 PM07 전원 모듈의 PWR1에 연결합니다. - ![Flight controller/Power module PWM and Power connections](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_cable.jpg) + ![Flight controller/Power module PWM and Power connections](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_cable.jpg) - _Figure 8_: Power module PWM and power wiring + _Figure 8_: Power module PWM and power wiring 7. GPS를 상판에 장착하는 경우에는 4개의 나사와 너트를 사용하여 GPS 장착을 상판에 고정합니다. - + - _Figure 9_: Secure GPS mount onto top plate + _Figure 9_: Secure GPS mount onto top plate 8. 상판을 통하여 PM07 케이블을 공급합니다. - 양쪽에 4개의 U자형 나일론 스트랩, 나사 및 너트를 사용하여 상단 및 하단 플레이트를 연결하고, 모터 ESC 케이블이 그림 10과 같이 U자형 나일론 스트랩 내부에 있는 지 확인하고 너트를 느슨하게 유지합니다. + 양쪽에 4개의 U자형 나일론 스트랩, 나사 및 너트를 사용하여 상단 및 하단 플레이트를 연결하고, 모터 ESC 케이블이 그림 10과 같이 U자형 나일론 스트랩 내부에 있는 지 확인하고 너트를 느슨하게 유지합니다. - + - _Figure 10-1_: Feed power module cables through top plate + _Figure 10-1_: Feed power module cables through top plate - + - _Figure 10-2_: Connecting top and bottom plate + _Figure 10-2_: Connecting top and bottom plate 9. 암 튜브를 프레임에 약간 밀어 넣고, 돌출 정도(그림 11의 빨간색 사각형)가 4개의 암 모두에서 일정한 지 확인합니다. - 모든 모터가 위를 향하고 있는 지 확인후, 모든 너트와 나사를 조입니다. + 모든 모터가 위를 향하고 있는 지 확인후, 모든 너트와 나사를 조입니다. - ![Arms 3](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig16.jpg) + ![Arms 3](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig16.jpg) 10. 행거 개스킷을 행거 4개에 넣고 육각 나사 8개를 사용하여 하단 플레이트에 장착합니다(그림 11). - 나사 구멍은 그림 12에서 흰색 화살표로 표시되어 있습니다. - 설치가 더 쉽도록 드론을 옆으로 기울이는 것이 좋습니다. + 나사 구멍은 그림 12에서 흰색 화살표로 표시되어 있습니다. + 설치가 더 쉽도록 드론을 옆으로 기울이는 것이 좋습니다. - + - _Figure 11_: Hanger gaskets + _Figure 11_: Hanger gaskets - ![Battery Mount 4](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig10.jpg) + ![Battery Mount 4](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig10.jpg) - _Figure 12_: Screw holes + _Figure 12_: Screw holes 11. 행거 링에 슬라이드 바를 삽입합니다(그림 13). - 배터리 마운트와 플랫폼 보드를 조립하고, 그림 14와 같이 슬라이드 바에 장착합니다. + 배터리 마운트와 플랫폼 보드를 조립하고, 그림 14와 같이 슬라이드 바에 장착합니다. - ![Battery Mount 2: Slide bars](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig8.png) + ![Battery Mount 2: Slide bars](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig8.png) - _Figure 13_: Slide bars + _Figure 13_: Slide bars - + - _Figure 14_: Battery mount on slide bars + _Figure 14_: Battery mount on slide bars 12. 랜딩 기어를 하판에 장착합니다. - 이 설치 과정을 더 쉽게 하려면 드론을 옆으로 기울이는 것이 좋습니다. + 이 설치 과정을 더 쉽게 하려면 드론을 옆으로 기울이는 것이 좋습니다. - ![Landing Gear](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig5.jpg) + ![Landing Gear](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig5.jpg) - _Figure 15_: Landing Gear + _Figure 15_: Landing Gear 13. 테이프를 사용하여 GPS를 GPS 마스트 상단에 붙이고 GPS 마스트를 장착합니다. - GPS의 화살표가 전방을 가리키는 지 확인하십시오(그림 16). + GPS의 화살표가 전방을 가리키는 지 확인하십시오(그림 16). - + - _Figure 16_: GPS and mast + _Figure 16_: GPS and mast 14. 상판에 텔레메트리를 장착합니다. - Plug the telemetry cable into `TELEM1` port and GPS module to `GPS MODULE` port on the flight controller. - Plug the cable from PM07 `FMU-PWM-in` to `I/O-PWM-out`on the FC and PM07 `PWR1` to `POWER1` on the FC, as shown in Figure 17. + Plug the telemetry cable into `TELEM1` port and GPS module to `GPS MODULE` port on the flight controller. + Plug the cable from PM07 `FMU-PWM-in` to `I/O-PWM-out`on the FC and PM07 `PWR1` to `POWER1` on the FC, as shown in Figure 17. - ![Pixhawk 4 wiring 1](../../assets/airframes/multicopter/x500_holybro_pixhawk4/fc_connections.jpg) + ![Pixhawk 4 wiring 1](../../assets/airframes/multicopter/x500_holybro_pixhawk4/fc_connections.jpg) - _Figure 17_: Mount telemetry radio/plug in PWM and Power cables to Flight controller. + _Figure 17_: Mount telemetry radio/plug in PWM and Power cables to Flight controller. Please refer to [Pixhawk 4 Quick Start](../assembly/quick_start_pixhawk4.md) for more information. diff --git a/docs/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md b/docs/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md index 86543b5e5f..bee5047840 100644 --- a/docs/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md +++ b/docs/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md @@ -18,21 +18,21 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit] **Screw**- Sunk Screw M2.5\*6 12pcs 1. Insert the hanger rubber ring gasket in each of their respective hangers. - Do not use sharp objects to press the rubbers inside. + Do not use sharp objects to press the rubbers inside. - [![Assembly1](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly1.png)](https://www.youtube.com/watch?v=4Tid-FCP_aI) + [![Assembly1](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly1.png)](https://www.youtube.com/watch?v=4Tid-FCP_aI) 2. Take the battery mounting board and screw it with the slide bar clip using the Sunk Screw M2.5\*6. - [![Assembly2](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly2.png)](https://youtu.be/9E-rld6tPWQ) + [![Assembly2](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly2.png)](https://youtu.be/9E-rld6tPWQ) 3. Screw 4 hangers to the Platform Board using Sunk Screw M2.5\*6. - [![Assembly3](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly3.png)](https://youtu.be/4qIBABc9KsY)) + [![Assembly3](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly3.png)](https://youtu.be/4qIBABc9KsY)) 4. Take the slide bar and insert 4 hangers to screw to the bottom plate later. - [![Assembly4](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly4.png)](https://youtu.be/CFx6Ct7FCIc)) + [![Assembly4](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly4.png)](https://youtu.be/CFx6Ct7FCIc)) 5. Now insert the battery holder and payload holders assembled in step 2 & 3 @@ -44,11 +44,11 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit] 1. Take the bottom plate and insert 4 M3\*14 screws and fasten the nylon standoffs on the same. - [![Assembly6](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly6.png)](https://youtu.be/IfsMXTr3Uy4) + [![Assembly6](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly6.png)](https://youtu.be/IfsMXTr3Uy4) 2. Place the Power distribution board and use the locknuts to assemble them. The power module PM02 (for Pixhawk 6C) would power this board - [![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY) + [![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY) 3. Use Socket Cap Screws M2.5\*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly) @@ -56,15 +56,15 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit] 1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same. - [![Assembly8](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly8.png)](https://youtu.be/mU4vm4zyjcY) + [![Assembly8](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly8.png)](https://youtu.be/mU4vm4zyjcY) - [![Assembly9](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly9.png)](https://youtu.be/7REaF3YAqLg) + [![Assembly9](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly9.png)](https://youtu.be/7REaF3YAqLg) 2. Use the Socket Cap Screw M3\*8 to screw the landing gears to the bottom plate - [![Assembly11](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly11.png)](https://youtu.be/iDxzWeyCN54) + [![Assembly11](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly11.png)](https://youtu.be/iDxzWeyCN54) - [![Assembly12](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly12.png)](https://youtu.be/3fNJQraCJx0) + [![Assembly12](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly12.png)](https://youtu.be/3fNJQraCJx0) Because it’s cumbersome to insert the wires once the top plate is assembled, do the wiring beforehand. Although the design is well built such that you can do this later as well. @@ -92,28 +92,28 @@ Note that the ESC connectors are color-coded and must be inserted in the PWM out 1. Putting the arms is quite simple as the motors come pre-assembled. - - Ensure that you have the right numbered arm with its motor on the respective side. + - Ensure that you have the right numbered arm with its motor on the respective side. - [![Assembly15](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly15.png)](https://youtu.be/45KCey3WiJ4) + [![Assembly15](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly15.png)](https://youtu.be/45KCey3WiJ4) - :::tip - Use your allen keys/ any elongated item and insert it on the opposite side of the bolt that you're trying to fasten. + :::tip + Use your allen keys/ any elongated item and insert it on the opposite side of the bolt that you're trying to fasten. ::: 2. Take one arm and insert the rectangle extrusion inside the rectangular hollow on the bottom plate. - [![Assembly16](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly16.png)](https://youtu.be/GOTqmjq9_3s) + [![Assembly16](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly16.png)](https://youtu.be/GOTqmjq9_3s) 3. While inserting the top plate on top of this the 3 piece assembly (bottom plate, top plate & arms) have to screwed using Socket Cap Screw M3\*38 and Flange Locknut M3. 4. Hold one side using the mini cross wrench provided in the developer kit. - [![Assembly17](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly17.png)](https://youtu.be/2rcNVekJQd0) + [![Assembly17](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly17.png)](https://youtu.be/2rcNVekJQd0) 5. Do not fasten any screws before all 3 motors are in place as this might make it difficult while you’re assembling the 3rd and 4th motor. - [![Assembly18](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly18.png)](https://youtu.be/SlKRuNoE_AY) + [![Assembly18](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly18.png)](https://youtu.be/SlKRuNoE_AY) ### Propellers @@ -132,13 +132,13 @@ The following parts can be placed as per usual. 1. Assemble the GPS by following the video. - [![Assembly20](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly20.png)](https://youtu.be/aiFxVJFjlos) + [![Assembly20](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly20.png)](https://youtu.be/aiFxVJFjlos) - This guide uses the GPS mount location suggested in Holybro’s guide. + This guide uses the GPS mount location suggested in Holybro’s guide. 2. Screw the GPS mount’s bottom end on the payload holder side using Locknut M3 & Screw M3\*10 - [![Assembly21](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly21.png)](https://youtu.be/uG5UKy3FrIc) + [![Assembly21](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly21.png)](https://youtu.be/uG5UKy3FrIc) ### Pixhawk 6C diff --git a/docs/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/docs/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md index a55b0116ab..2e390ce6dc 100644 --- a/docs/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md +++ b/docs/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md @@ -67,45 +67,45 @@ RTF 키트는 아래와 같이 조립하여야 합니다. 1. 그림과 같이 윙 브래킷 내부에 고릴라 접착제를 펴서 바릅니다. - ![Add glue on wing brackets](../../assets/airframes/vtol/falcon_vertigo/wing_brackets_glue.jpg) + ![Add glue on wing brackets](../../assets/airframes/vtol/falcon_vertigo/wing_brackets_glue.jpg) 2. 브래킷에 카본 튜브를 부착합니다. 브래킷과 튜브는 흰색 표시를 사용하여 정렬합니다 (그림 참조). - ::: info - This is very important because the white mark indicates the center of gravity. + ::: info + This is very important because the white mark indicates the center of gravity. ::: - + 3. 다음 이미지는 다른 관점에서 막대들의 정렬을 보여줍니다. - ![quad motor frame rod alignment from bottom](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_9_bottom_view_rod_alignment.jpg) - ![quad motor frame rod alignment schematic](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_11_rod_alignment_schamatic.jpg) + ![quad motor frame rod alignment from bottom](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_9_bottom_view_rod_alignment.jpg) + ![quad motor frame rod alignment schematic](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_11_rod_alignment_schamatic.jpg) ### 2 단계 : 날개 부착 1. 두 탄소 튜브를 동체에 삽입합니다. - + 2. 각 튜브에있는 두 개의 흰색 표시 사이에 고릴라 접착제를 바릅니다 (빨간색 화살표로 표시됨). 중앙의 흰색 표시 (파란색 화살표)는 동체 중앙에 배치되고, 다른 표시는 측면에 배치됩니다. - + 3. 탄소 튜브가 동체 내부에 있으면, 튜브의 나머지 부분에 고릴라 접착제를 바르고 날개를 부착하십시오. 4. 동체에는 모터와 서보 케이블을 위한 두 개의 구멍이 있습니다. 구멍으로 케이블을 통과시킨 다음 날개를 동체에 연결합니다. - + 5. 동체 내에 제공된 커넥터를 사용하여 방금 날개에서 ESC로 통과한 신호 케이블을 연결합니다. ESC는 이미 모터에 연결되어 있으며, 올바른 순서로 회전하도록 설정되어 있습니다 (나중 단계에서 ESC PDB를 전원 모듈에 연결해야 함). - + 6. ESC와 마찬가지로 서보는 이미 설치되어 있습니다. 날개 (동체를 통과)에서 비행 컨트롤러로 신호 케이블을 연결합니다. - + 7. 다른 날개에 이 단계를 반복합니다. @@ -123,11 +123,11 @@ General information about connecting Dropix can be found in [Dropix Flight Contr 1. XT60 커넥터를 사용하여 ESC를 전원 모듈에 연결합니다. - + 2. 신호 케이블을 비행 컨트롤러로 연결합니다. - + #### 모터 배선 @@ -162,7 +162,7 @@ For example, you might wire it up like this example (orientation as if "sitting 3. ESC의 스로틀 모터 신호 케이블을 적절한 비행 컨트롤러 보조 포트에 연결합니다. ESC를 스로틀 모터에 연결합니다. - + 4. 수신기를 RC IN에 연결합니다. @@ -176,7 +176,7 @@ For example, you might wire it up like this example (orientation as if "sitting 1. 그림과 같이 원격 측정, 대기 속도 센서, GPS, 부저 및 안전 스위치를 연결합니다. - + #### 비행 컨트롤러 : 전원 모듈 및 외부 USB 연결 @@ -184,7 +184,7 @@ USB 포트, 전원 모듈 및 외부 USB에 대한 입력은 비행 컨트롤러 1. 그림과 같이 전원과 USB를 연결합니다. - + :::tip The external USB is optional. @@ -201,27 +201,27 @@ It is important that nothing obstructs airflow to the Pitot tube. 이것은 고 1. 비행기 전면에 피토 튜브를 설치합니다 - + 2. 연결 튜브를 고정하고 구부러 지거나 꼬이지 않았는 지 확인합니다. - + 3. 튜브를 대기 속도 센서에 연결합니다. - + #### 수신기 및 원격 측정 모듈 설치 / 연결 1. 수신기와 원격 측정 모듈을 차량 프레임 외부에 붙여 넣습니다. - + 2. Connect the receiver to the RC IN port on the _back_ of the dropix, as shown above (also see the [flight controller instructions](#dropix_back)). 3. Connect the telemetry module to the _front_ of the flight controller as shown below (see the [flight controller instructions](#dropix_front) for more detail on the pins). - + @@ -237,7 +237,7 @@ GPS / 나침반 모듈은 기본 방향으로 날개에 이미 장착되어 있 1. 비행 컨트롤러 방향을 270도로 설정합니다. - + 2. 진동 감쇠폼을 사용하여 컨트롤러를 제자리에 고정합니다. @@ -247,21 +247,21 @@ GPS / 나침반 모듈은 기본 방향으로 날개에 이미 장착되어 있 1. 모터가 올바른 방향으로 회전하는지 확인하십시오 (아래 QuadX 다이어그램 참조). - + - ::: info - If necessary the servo direction can be reversed using the `Rev Range (for servos)` checkbox associated with each servo output in the QGroundControl [Actuator Output](../config/actuators.md#actuator-outputs) configuration (for servos only) (this sets the [PWM_AUX_REV](../advanced_config/parameter_reference.md#PWM_AUX_REV) or [PWM_AUX_MAIN](../advanced_config/parameter_reference.md#PWM_MAIN_REV) parameter). + ::: info + If necessary the servo direction can be reversed using the `Rev Range (for servos)` checkbox associated with each servo output in the QGroundControl [Actuator Output](../config/actuators.md#actuator-outputs) configuration (for servos only) (this sets the [PWM_AUX_REV](../advanced_config/parameter_reference.md#PWM_AUX_REV) or [PWM_AUX_MAIN](../advanced_config/parameter_reference.md#PWM_MAIN_REV) parameter). ::: 2. 차량이 예상 무게 중심 주변에서 균형을 이루는 지 확인하십시오. - - 손가락으로 기체의 무게 중심을 잡고 차량이 안정적인지 확인하십시오. + - 손가락으로 기체의 무게 중심을 잡고 차량이 안정적인지 확인하십시오. - ![Level Centre of Gravity](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_57_level_centre_of_gravity.jpg) + ![Level Centre of Gravity](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_57_level_centre_of_gravity.jpg) - - 차량이 앞이나 뒤로 기울면 모터를 움직여 균형을 잡으십시오. + - 차량이 앞이나 뒤로 기울면 모터를 움직여 균형을 잡으십시오. - ![Level Motors](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_55_level_motors.jpg) + ![Level Motors](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_55_level_motors.jpg) ## 설정 @@ -271,7 +271,7 @@ Perform the normal [Basic Configuration](../config/index.md). 1. For [Airframe](../config/airframe.md) select the vehicle group/type as _Standard VTOL_ and the specific vehicle as [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) as shown below. - ![QCG - Select Generic Standard VTOL](../../assets/qgc/setup/airframe/px4_frame_generic_standard_vtol.png) + ![QCG - Select Generic Standard VTOL](../../assets/qgc/setup/airframe/px4_frame_generic_standard_vtol.png) 2. Set the [Autopilot Orientation](../config/flight_controller_orientation.md) to `ROTATION_YAW_270` as the autopilot is mounted [sideways](#flight_controller_orientation) with respect to the front of the vehicle. The compass is oriented forward, so you can leave that at the default (`ROTATION_NONE`). diff --git a/docs/ko/frames_vtol/vtol_quadplane_foxtech_loong_2160.md b/docs/ko/frames_vtol/vtol_quadplane_foxtech_loong_2160.md index 9decf9821c..ad64afc43e 100644 --- a/docs/ko/frames_vtol/vtol_quadplane_foxtech_loong_2160.md +++ b/docs/ko/frames_vtol/vtol_quadplane_foxtech_loong_2160.md @@ -99,33 +99,33 @@ Use a soldering iron to press the threaded inserts into the 3D-Printed parts. 1. Insert 10x M3 threaded inserts into the baseplate as shown in the picture: - ![Baseplate with threaded inserts](../../assets/airframes/vtol/foxtech_loong_2160/03-baseplate.jpg) + ![Baseplate with threaded inserts](../../assets/airframes/vtol/foxtech_loong_2160/03-baseplate.jpg) 2. Insert 2x M3 threaded inserts into the stack fixture as shown in the picture below: - ![Stack fixture with threaded inserts](../../assets/airframes/vtol/foxtech_loong_2160/04-stack-fixture.jpg) + ![Stack fixture with threaded inserts](../../assets/airframes/vtol/foxtech_loong_2160/04-stack-fixture.jpg) 3. Insert 2x M4 threaded inserts into the fan mount and radio mount as shown in the picture below. - ![Radio-mount](../../assets/airframes/vtol/foxtech_loong_2160/05-radio-mount.jpg) + ![Radio-mount](../../assets/airframes/vtol/foxtech_loong_2160/05-radio-mount.jpg) - If you would like to add a 40mm 5V fan to the fan mount, insert 4x M3 inserts. + If you would like to add a 40mm 5V fan to the fan mount, insert 4x M3 inserts. - ![Fan-mount](../../assets/airframes/vtol/foxtech_loong_2160/06-fan-mount.jpg) + ![Fan-mount](../../assets/airframes/vtol/foxtech_loong_2160/06-fan-mount.jpg) 4. Change the cable connector to a servo connector so it can be plugged into the servo rail to be powered. - ::: info - A fan might be needed if a powerful radio is used. + ::: info + A fan might be needed if a powerful radio is used. ::: - ![Fan-mount with fan](../../assets/airframes/vtol/foxtech_loong_2160/07-fan-mount.jpg) + ![Fan-mount with fan](../../assets/airframes/vtol/foxtech_loong_2160/07-fan-mount.jpg) 5. Remove the original mounting plate from the vehicle. - Tape the cables to the outside of the fuselage. + Tape the cables to the outside of the fuselage. - ![Empty fuselage](../../assets/airframes/vtol/foxtech_loong_2160/08-preparations.jpg) + ![Empty fuselage](../../assets/airframes/vtol/foxtech_loong_2160/08-preparations.jpg) 6. Slide the baseplate into the vehicle. @@ -142,9 +142,9 @@ The 40A power module provides power for the avionics when using Skynode (and com 1. Remove the case from the 40A PM. 2. Screw the PM with 2x M2x6mm to the bottom of the baseplate. 3. Create a cable to extend the XT60 connector to an XT30 that is mounted on the baseplate. - With that, the 6S battery power can be directly plugged into the XT30 connector with the pre-configured cable that comes with the vehicle. + With that, the 6S battery power can be directly plugged into the XT30 connector with the pre-configured cable that comes with the vehicle. - ![40A Power Module installation](../../assets/airframes/vtol/foxtech_loong_2160/10-40a-power-module.jpg) + ![40A Power Module installation](../../assets/airframes/vtol/foxtech_loong_2160/10-40a-power-module.jpg) If necessary, the 10V output of the radio port on the PM can also be exposed via an XT30 that can be mounted next to the 6S battery input XT60. @@ -153,17 +153,17 @@ If necessary, the 10V output of the radio port on the PM can also be exposed via #### Pitot Tube 1. The sensor can be installed with 2x M3x16mm screws in the front right corner of the baseplate. - Take care that the connector is facing the center of the fuselage. + Take care that the connector is facing the center of the fuselage. - ![Mounted airspeed sensor](../../assets/airframes/vtol/foxtech_loong_2160/11-airspeed-sensor.jpg) + ![Mounted airspeed sensor](../../assets/airframes/vtol/foxtech_loong_2160/11-airspeed-sensor.jpg) - Only the front tube (not as shown in the picture) is used; the other tube can be removed since our experience showed that the pressure inside the fuselage is sufficient as static pressure. + Only the front tube (not as shown in the picture) is used; the other tube can be removed since our experience showed that the pressure inside the fuselage is sufficient as static pressure. 2. When the stack is mounted inside the fuselage, the tube coming from the wing and the one from the airspeed sensor need to be spliced together. - Use some spit (that's the easiest way) to push them together and afterward use a heat shrink tube to reinforce the connection. + Use some spit (that's the easiest way) to push them together and afterward use a heat shrink tube to reinforce the connection. - :::warning - Use a heat source carefully since the foam starts to melt at high temperatures. + :::warning + Use a heat source carefully since the foam starts to melt at high temperatures. ::: @@ -175,22 +175,22 @@ If no lidar is mounted you should disable using fixed-wing actuation in hover to ::: 1. Mark the location to install the lidar with some tape or a pen. - Cut a hole inside the PVC shell and the foam, so that the lidar fits in place. + Cut a hole inside the PVC shell and the foam, so that the lidar fits in place. - ![Prepared lidar hole](../../assets/airframes/vtol/foxtech_loong_2160/12-lidar-01.jpg) + ![Prepared lidar hole](../../assets/airframes/vtol/foxtech_loong_2160/12-lidar-01.jpg) 2. Secure the lidar with hot glue. - ![Installed lidar](../../assets/airframes/vtol/foxtech_loong_2160/13-lidar-02.jpg) + ![Installed lidar](../../assets/airframes/vtol/foxtech_loong_2160/13-lidar-02.jpg) #### GPS/나침반 1. Use double sided tape to mount the GPS in the rear of the vehicle underneath the rear latch. - ![Installed GPS](../../assets/airframes//vtol/foxtech_loong_2160/14-gps.jpg) + ![Installed GPS](../../assets/airframes//vtol/foxtech_loong_2160/14-gps.jpg) - The arrow on the GPS for the orientation can be ignored. - The orientation will be detected by the flight controller during the calibration. + The arrow on the GPS for the orientation can be ignored. + The orientation will be detected by the flight controller during the calibration. ### 비행 콘트롤러 @@ -203,15 +203,15 @@ Install either the Pixhawk or Skynode onto the baseplate. #### Skynode 1. Use 4x M3x8 screws to mount the Skynode to the baseplate. - Make sure that the top of the "A" is facing to the front of the vehicle. + Make sure that the top of the "A" is facing to the front of the vehicle. 2. Plug the 40A Power Module into the upper one of the two power connectors. 3. Plug one (or if needed two) USB adapters into the 4-pin JST-GH connectors into the back of the Skynode and feed them to the front of the plate. - Fix the cables with zip ties in place. + Fix the cables with zip ties in place. 4. Tape a I2C splitter to the front right side of the baseplate (The splitter can be used to plug in ETH devices such as a radio link.) 5. Connect the I2C splitter with the ETH port in the back of the Skynode. 6. Plug in the two 40-pin cables into the front of the Skynode. 7. Plug in the USB-C extension cable and bend it over to the front. - The bend needs to be very tight, so that the plate will fit into the vehicle. + The bend needs to be very tight, so that the plate will fit into the vehicle. ![Installed Skynode](../../assets/airframes/vtol/foxtech_loong_2160/15-skynode.jpg) @@ -223,17 +223,17 @@ Install either the Pixhawk or Skynode onto the baseplate. 1. Tape the Skynode LTE antennas to the side of the fuselage as shown in the picture: - ![LTE-Antennas](../../assets/airframes/vtol/foxtech_loong_2160/16-lte-antennas.jpg) + ![LTE-Antennas](../../assets/airframes/vtol/foxtech_loong_2160/16-lte-antennas.jpg) 2. If you are using a radio telemetry module you can mount the antennas to the top of the fuselage. - In the front you can mount the antenna extension cable directly. + In the front you can mount the antenna extension cable directly. - ![WIFI-Antennas-Front](../../assets/airframes/vtol/foxtech_loong_2160/17-antenna-front.jpg) + ![WIFI-Antennas-Front](../../assets/airframes/vtol/foxtech_loong_2160/17-antenna-front.jpg) - In the back you can use the 3D-Printed antenna adapter. - The adapter can be glued in place with hot glue. + In the back you can use the 3D-Printed antenna adapter. + The adapter can be glued in place with hot glue. - ![WIFI-Antenna-Back](../../assets/airframes/vtol/foxtech_loong_2160/19-rear-antenna.jpg) + ![WIFI-Antenna-Back](../../assets/airframes/vtol/foxtech_loong_2160/19-rear-antenna.jpg) ### 12S Power Module diff --git a/docs/ko/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md b/docs/ko/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md index 9bb916d719..f8f16bf6d9 100644 --- a/docs/ko/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md +++ b/docs/ko/frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md @@ -93,7 +93,7 @@ Flight controller and wing connectors removed from the vehicle. ### ESC 1. Unsolder the ESC PWM-signal and ground pins and solder some servo extension wire to the pins. - The cable should be long enough to connect the wire to the FMU pins of the flight controller. + The cable should be long enough to connect the wire to the FMU pins of the flight controller. 2. Unsolder the 3 female banana plug connectors of the rear motor (might not be necessary for the Pixhawk 6 integration). @@ -103,17 +103,17 @@ Flight controller and wing connectors removed from the vehicle. 5. Solder signal and GND wires to the PWM input ot the ESC. - ![ESC 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-01.jpg) + ![ESC 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-01.jpg) 6. Remove the female banana plug on the ESC. - This will give you more space to install the flight controller. + This will give you more space to install the flight controller. - ![ESC 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-02.jpg) + ![ESC 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-02.jpg) 7. Solder the rear motor wires to the ESC. - Make sure to connect such that the motor spins in the correct direction. + Make sure to connect such that the motor spins in the correct direction. - ![ESC 03](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-03.jpg) + ![ESC 03](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-03.jpg) ### Wing Connector @@ -122,9 +122,9 @@ This step is not essential, but makes the handling much easier and there is one 1. Glue the wing connectors into the 3D-Printed part with hot-glue or 5 min epoxy. 2. Glue the 3D-printed part with the connector in to the fuselage. - Make sure to properly align the connector while the glue cures. + Make sure to properly align the connector while the glue cures. - The easiest way to align the connector is to mount the wing while the glue is curing, but make sure that no glue is between the fuselage and the wing, otherwise the wing might get stuck. + The easiest way to align the connector is to mount the wing while the glue is curing, but make sure that no glue is between the fuselage and the wing, otherwise the wing might get stuck. The connector glued into the 3D-Printed part @@ -137,58 +137,58 @@ The connector glued into the fuselage. Make sure to properly align the connector ### Pixhawk Adapter Boards and BEC 1. Cut the foam as shown in the pictures to create space to mount the Pixhawk adapter boards and BEC with double sided tape. - The FMU board is placed on the left side (in flight direction) of the fuselage. - Solder a servo connector and a cable for the battery voltage to the BEC. + The FMU board is placed on the left side (in flight direction) of the fuselage. + Solder a servo connector and a cable for the battery voltage to the BEC. - ![Foam cutout 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/foam-cut-01.png) - ![Pixhawk adapter board mount 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pixhawk-adapter-01.jpg) + ![Foam cutout 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/foam-cut-01.png) + ![Pixhawk adapter board mount 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pixhawk-adapter-01.jpg) 2. Prepare the BEC to connect to the IO board and to the battery. - The BEC can also be soldered directly to the battery pads of the ESC. + The BEC can also be soldered directly to the battery pads of the ESC. - ![BEC preparation](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-01.jpg) + ![BEC preparation](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-01.jpg) 3. Mount the BEC with double sided tape. - ![BEC mounting](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-02.jpg) + ![BEC mounting](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-02.jpg) ### Cables 1. Cut the connectors off the servos and solder the servo extension cables to the cables. - Make sure that the cables are long enough to reach the Pixhawk adapter board. - If you own a crimp tool, then you can also directly add the connectors without soldering. + Make sure that the cables are long enough to reach the Pixhawk adapter board. + If you own a crimp tool, then you can also directly add the connectors without soldering. 2. Plug the servo cables into the adapter IO board in the following order: - - 1 - Aileron left - - 2 - Aileron right - - 3 - V-Tail left - - 4 - V-Tail right - - 5 - Tilt left - - 6 - Tilt right + - 1 - Aileron left + - 2 - Aileron right + - 3 - V-Tail left + - 4 - V-Tail right + - 5 - Tilt left + - 6 - Tilt right 3. Plug in the motor signal cables into the FMU adapter board in the following order: - - 1 - Front left - - 2 - Front right - - 3 - Rear + - 1 - Front left + - 2 - Front right + - 3 - Rear ### 센서 #### Pitot Tube 1. First check if the pitot tube fits into the 3D-Printed mount. - If this is the case, glue the pitot tube mount into place. + If this is the case, glue the pitot tube mount into place. - To align the tube feed it through the second hole from the right of the FPV front plate. - The mount will enable you to push the tube back into the fuselage to protect it during transportation and handling. - The sensor unit can be mounted on top of the 3D-Printed mount with double sided tape. + To align the tube feed it through the second hole from the right of the FPV front plate. + The mount will enable you to push the tube back into the fuselage to protect it during transportation and handling. + The sensor unit can be mounted on top of the 3D-Printed mount with double sided tape. 2. Glue the 3D-Printed mount into place. - ![Pitot tube 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-01.png) + ![Pitot tube 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-01.png) 3. The sensor can be mounted on top of the 3D-Printed mount. - ![Pitot tube 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-02.png) + ![Pitot tube 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-02.png) #### Lidar @@ -209,9 +209,9 @@ To mount the GPS: 2. Take the GPS out of the plastic case and unplug the connector. 3. Feed the cable through the carbon spar. 4. Glue the 3D-Printed part with 5 min epoxy in place. - ![Glue the GPS mount into place](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-01.jpg) + ![Glue the GPS mount into place](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-01.jpg) 5. After the glue has cured, screw the GPS with 4x M2.5x10 screws to the plate. - ![Screw the GPS to the mount2](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-02.jpg) + ![Screw the GPS to the mount2](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-02.jpg) #### USB Camera @@ -219,9 +219,9 @@ To mount the GPS: 2. Cut the USB-Adapter cable to be 25 cm and solder the two cables together. 3. To install the camera you need to cut a hole into the foam of the wall. - ![USB Camera 01: Hole to feed the USB cable through the wall.](../../assets/airframes/vtol/omp_hobby_zmo_fpv/camera-01.jpg) + ![USB Camera 01: Hole to feed the USB cable through the wall.](../../assets/airframes/vtol/omp_hobby_zmo_fpv/camera-01.jpg) - Then you can mount the camera with double sided tape to the wall. + Then you can mount the camera with double sided tape to the wall. ### 비행 콘트롤러 @@ -237,7 +237,7 @@ If a Skynode is used: 1. Place it at the on top of the ESCs and mark the 2 rear mounting locations on the injection molded plastic part of the ZMO. 2. Remove the Skynode from the vehicle and drill 2 holes with a 2.8 mm drill bit into the plastic part. - ![Mounting holes for the Skynode in the back](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-01.jpg) + ![Mounting holes for the Skynode in the back](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-01.jpg) 3. Put the Skynode back into place and screw it down with 2x M3x10 screws. Another option is to add some threaded inserts into the holes. @@ -245,9 +245,9 @@ Since the injection molded part of the ZMO is very thin, they need to be glued i 1. Screw the front Skynode mount with 2x M3x10 screws at the Skynode. 2. Then add some 5 min epoxy at the bottom of the mount and put a weight on top of the Skynode until the glue is cured. - To access the 2 mounting screws at the front, poke 2 holes from the top through the foam. + To access the 2 mounting screws at the front, poke 2 holes from the top through the foam. - ![Skynode mount in the front](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-02.jpg) + ![Skynode mount in the front](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-02.jpg) ### Antennas and RC Receiver @@ -258,14 +258,14 @@ An inexpensive example would be a [SiK Telemetry Radio](../telemetry/sik_radio.m ::: 1. One LTE antenna can be installed on the bottom of the vehicle. - For that you can feed the antenna wire through the opening for the ESC heat-sink. + For that you can feed the antenna wire through the opening for the ESC heat-sink. - ![LTE antenna 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-01.jpg) + ![LTE antenna 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-01.jpg) 2. The second antenna can be installed on the inside of the vehicle on the left side of the battery compartment. - The RC receiver can also be placed at the left side of the battery compartment. + The RC receiver can also be placed at the left side of the battery compartment. - ![LTE antenna 2 and RC receiver](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-02.jpg) + ![LTE antenna 2 and RC receiver](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-02.jpg) ## 소프트웨어 설정 @@ -332,9 +332,9 @@ If motors/servos were connected to different outputs than suggested, you will ne 1. Switch the vehicle into manual mode (either via the flight mode switch or type `commander mode manual` into the MAVLink shell). 2. Check if the motors point upwards. - If the motors point forwards then their associated Tilt servos need to be reversed (selecting the checkbox next to each servo). + If the motors point forwards then their associated Tilt servos need to be reversed (selecting the checkbox next to each servo). - ![Tilt Servo adjustment](../../assets/airframes/vtol/omp_hobby_zmo_fpv/tilt-limits-01.jpg) + ![Tilt Servo adjustment](../../assets/airframes/vtol/omp_hobby_zmo_fpv/tilt-limits-01.jpg) 3. Adjust the minimum (or, if revesed: maximum) value such that the rotor thrust can point backward (needed for proper yaw allocation in Multicopter mode). diff --git a/docs/ko/getting_started/px4_basic_concepts.md b/docs/ko/getting_started/px4_basic_concepts.md index c775392b81..228ddc5b50 100644 --- a/docs/ko/getting_started/px4_basic_concepts.md +++ b/docs/ko/getting_started/px4_basic_concepts.md @@ -3,7 +3,7 @@ 이 주제는 드론과 PX4 사용에 대한 기본적인 소개를 제공합니다 (주로 초보자를 위한 내용이지만, 경험이 있는 사용자에게도 좋은 입문 자료가 될 수 있습니다). 기본 개념에 이미 익숙하다면, [기본 조립](../assembly/index.md) 섹션으로 넘어가서 사용 중인 오토파일럿 하드웨어의 배선 방법을 배우실 수 있습니다. -펌웨어를 설치하고 _QGroundControl_을 사용해 비행체를 설정하려면\ +펌웨어를 설치하고 _QGroundControl_을 사용해 비행체를 설정하려면 [기본 설정](../config/index.md) 섹션을 참조하세요. ## 드론의 정의 @@ -26,7 +26,7 @@ 이들은 가장 인기 있는 비행체 유형 중 하나로, 조립이 쉽고 PX4가 제공하는 다양한 비행 모드를 통해 조종이 간편하며, 카메라 플랫폼으로도 매우 적합하기 때문입니다. - [헬리콥터](../frames_helicopter/index.md) — 헬리콥터는 멀티콥터와 유사한 이점을 제공하지만, 기계적으로 더 복잡하고 더 효율적입니다. 이들은 또한 조종이 훨씬 더 어렵습니다. -- [비행기 (고정익)](../frames_plane/index.md) — 고정익 기체는 멀티콥터보다 더 오래, 더 빠르게 비행할 수 있어 지상 조사 등에서 더 넓은 범위를 커버할 수 있습니다.\ +- [비행기 (고정익)](../frames_plane/index.md) — 고정익 기체는 멀티콥터보다 더 오래, 더 빠르게 비행할 수 있어 지상 조사 등에서 더 넓은 범위를 커버할 수 있습니다. 하지만 멀티콥터보다 조종과 착륙이 더 어렵고, 공중에 머무르거나 아주 느리게 비행해야 하는 경우(예: 수직 구조물 조사)에는 적합하지 않습니다. - [VTOL](../frames_vtol/index.md) (수직 이착륙) — 고정익/멀티콥터 하이브리드 기체는 두 가지 방식의 장점을 모두 제공합니다. 멀티콥터처럼 수직으로 이륙하고 호버링할 수 있으며, 비행 중에는 비행기처럼 전진 비행으로 전환해 더 넓은 지역을 커버할 수 있습니다. VTOL은 일반적으로 멀티콥터나 고정익 항공기보다 더 비싸며, 제작과 튜닝도 더 어렵습니다. diff --git a/docs/ko/gps_compass/ark_dan_gps.md b/docs/ko/gps_compass/ark_dan_gps.md new file mode 100644 index 0000000000..5ca819bd0c --- /dev/null +++ b/docs/ko/gps_compass/ark_dan_gps.md @@ -0,0 +1,62 @@ +# ARK DAN GPS + +[ARK DAN GPS](https://arkelectron.gitbook.io/ark-documentation/gps/ark-dan-gps) is a made in the USA and NDAA-compliant [GNSS/GPS](../gps_compass/index.md) u-blox DAN-F10N GPS and industrial magnetometer. + +![ARK DAN GPS](../../assets/hardware/gps/ark/ark_dan_gps.jpg) + +## 구매처 + +Order this module from: + +- [ARK Electronics](https://arkelectron.com/product/ark-dan-gps/) (US) + +## Hardware Specifications + +- [Open Source Schematic and BOM](https://github.com/ARK-Electronics/ARK_DAN_GPS) +- 센서 + - [u-blox DAN-F10N](https://www.u-blox.com/en/product/dan-f10n-module) + - L1/L5/E5a/B2a bands + - Consistently strong performance regardless of installation + - Integrated SAW-LNA-SAW for exceptional out-of-band jamming immunity + - u-blox F10 proprietary dual-band multipath mitigation technology + - [ST IIS2MDC Magnetometer](https://www.st.com/en/mems-and-sensors/iis2mdc.html) +- Pixhawk Standard UART/I2C Connector (6 Pin JST SH) +- Power Requirements + - 5V + - 25mA Average + - 44mA Max +- LED Indicators + - GPS Fix +- USA Built +- NDAA Compliant +- 6 Pin Pixhawk Standard UART/I2C Cable + +## 하드웨어 설정 + +The module comes with a Pixhawk-standard 6pin connector that will plug into the `GPS2` port on recent Pixhawk flight controllers. +It should be mounted front facing, as far away from the flight controller and other electronics as possible. + +For more information see [Mounting the GNSS/Compass](../gps_compass/index.md#mounting-the-gnss-compass) and [Hardware Setup](../gps_compass/index.md#hardware-setup). + +## PX4 설정 + +The module should be plug-n-play when used with the `GPS2` port on most flight controllers. + +[Secondary GPS Configuration (UART)](../gps_compass/index.md#secondary-gps-configuration-uart) explains how you can configure the port if the GPS is not detected (note, that the configuration is the same, even if you are using GPS 2 as the primary compass). + +## 핀배열 + +### Pixhawk Standard UART/I2C Connector - 6 Pin JST-SH + +| Pin Number | Signal Name | 전압 | +| ---------- | ----------- | -------------------- | +| 1 | 5V | 5.0V | +| 2 | RX | 3.3V | +| 3 | TX | 3.3V | +| 4 | SCL | 3.3V | +| 5 | SDA | 3.3V | +| 6 | GND | GND | + +## See Also + +- [ARK DAN GPS Documentation](https://arkelectron.gitbook.io/ark-documentation/gps/ark-dan-gps) (ARK Docs) diff --git a/docs/ko/gps_compass/ark_sam_gps.md b/docs/ko/gps_compass/ark_sam_gps.md index c45b9d8bfc..b9b51b1236 100644 --- a/docs/ko/gps_compass/ark_sam_gps.md +++ b/docs/ko/gps_compass/ark_sam_gps.md @@ -1,6 +1,6 @@ # ARK SAM GPS -[ARK SAM GPS](https://arkelectron.gitbook.io/ark-documentation/gps/ark-sam-gps>) is a made in the USA and NDAA-compliant [GNSS/GPS](../gps_compass/index.md) u-blox SAM-M10Q GPS and industrial magnetometer. +[ARK SAM GPS](https://arkelectron.gitbook.io/ark-documentation/gps/ark-sam-gps) is a made in the USA and NDAA-compliant [GNSS/GPS](../gps_compass/index.md) u-blox SAM-M10Q GPS and industrial magnetometer. ![ARK SAM GPS](../../assets/hardware/gps/ark/ark_sam_gps.jpg) diff --git a/docs/ko/gps_compass/ark_sam_gps_mini.md b/docs/ko/gps_compass/ark_sam_gps_mini.md new file mode 100644 index 0000000000..a2b92ab5e0 --- /dev/null +++ b/docs/ko/gps_compass/ark_sam_gps_mini.md @@ -0,0 +1,61 @@ +# ARK SAM GPS MINI + +[ARK SAM GPS MINI](https://arkelectron.gitbook.io/ark-documentation/gps/ark-sam-gps) is a made in the USA and NDAA-compliant [GNSS/GPS](../gps_compass/index.md) u-blox SAM-M10Q GPS and industrial magnetometer. + +![ARK SAM GPS MINI](../../assets/hardware/gps/ark/ark_sam_gps_mini.jpg) + +## 구매처 + +Order this module from: + +- [ARK Electronics](https://arkelectron.com/product/ark-sam-gps-mini/) (US) + +## Hardware Specifications + +- [Open Source Schematic and BOM](https://github.com/ARK-Electronics/ARK_SAM_GPS/tree/main) +- 센서 + - [u-blox SAM-M10Q](https://www.u-blox.com/en/product/sam-m10q-module) + - Less than 38 mW power consumption without compromising GNSS performance + - Maximum position availability with 4 concurrent GNSS reception + - Advanced spoofing and jamming detection + - [ST IIS2MDC Magnetometer](https://www.st.com/en/mems-and-sensors/iis2mdc.html) +- Pixhawk Standard UART/I2C Connector (6 Pin JST SH) +- Power Requirements + - 5V + - 15mA Average + - 20mA Max +- LED Indicators + - GPS Fix +- USA Built +- NDAA Compliant +- 6 Pin Pixhawk Standard UART/I2C Cable + +## 하드웨어 설정 + +The module comes with a Pixhawk-standard 6pin connector that will plug into the `GPS2` port on recent Pixhawk flight controllers. +It should be mounted front facing, as far away from the flight controller and other electronics as possible. + +For more information see [Mounting the GNSS/Compass](../gps_compass/index.md#mounting-the-gnss-compass) and [Hardware Setup](../gps_compass/index.md#hardware-setup). + +## PX4 설정 + +The module should be plug-n-play when used with the `GPS2` port on most flight controllers. + +[Secondary GPS Configuration (UART)](../gps_compass/index.md#secondary-gps-configuration-uart) explains how you can configure the port if the GPS is not detected (note, that the configuration is the same, even if you are using GPS 2 as the primary compass). + +## 핀배열 + +### Pixhawk Standard UART/I2C Connector - 6 Pin JST-SH + +| Pin Number | Signal Name | 전압 | +| ---------- | ----------- | -------------------- | +| 1 | 5V | 5.0V | +| 2 | RX | 3.3V | +| 3 | TX | 3.3V | +| 4 | SCL | 3.3V | +| 5 | SDA | 3.3V | +| 6 | GND | GND | + +## See Also + +- [ARK SAM GPS MINI Documentation](https://arkelectron.gitbook.io/ark-documentation/gps/ark-sam-gps) (ARK Docs) diff --git a/docs/ko/gps_compass/index.md b/docs/ko/gps_compass/index.md index e7150d8383..d6afb08543 100644 --- a/docs/ko/gps_compass/index.md +++ b/docs/ko/gps_compass/index.md @@ -25,7 +25,9 @@ These have been tested by the PX4 dev team, or which are popular within the PX4 | 장치 | GPS | 나침반 | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | 참고 | | :----------------------------------------------------------- | :---------: | :-----------------------: | :-------------------------: | :-------------------: | :---------------------------------------------------------- | | [ARK GPS](../dronecan/ark_gps.md) | M9N | BMM150 | ✓ | ✓ | + Baro, IMU | +| [ARK DAN GPS](../gps_compass/ark_dan_gps.md) | DAN-F10N | IIS2MDC | | ✓ | | | [ARK SAM GPS](../gps_compass/ark_sam_gps.md) | SAM-M10Q | IIS2MDC | | ✓ | | +| [ARK SAM GPS MINI ](../gps_compass/ark_sam_gps_mini.md) | SAM-M10Q | IIS2MDC | | ✓ | | | [ARK TESEO GPS](../dronecan/ark_teseo_gps.md) | Teseo-LIV4F | BMM150 | ✓ | ✓ | + Baro, IMU | | [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✘ | | | [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | | diff --git a/docs/ko/gps_compass/rtk_gps.md b/docs/ko/gps_compass/rtk_gps.md index 279173c618..4f2c78ef57 100644 --- a/docs/ko/gps_compass/rtk_gps.md +++ b/docs/ko/gps_compass/rtk_gps.md @@ -24,7 +24,9 @@ It also highlights devices that connect via the CAN bus, and those which support | 장치 | GPS | 나침반 | [DroneCAN](../dronecan/index.md) | [GPS Yaw](#configuring-gps-as-yaw-heading-source) | PPK | | :------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------: | :------: | :------------------------------: | :-----------------------------------------------: | :-: | | [ARK RTK GPS](../dronecan/ark_rtk_gps.md) | F9P | BMM150 | ✓ | [Dual F9P][DualF9P] | | +| [ARK RTK GPS L1 L5](../dronecan/ark_rtk_gps_l1_l2.md) | F9P | BMM150 | ✓ | | | | [ARK MOSAIC-X5 RTK GPS](../dronecan/ark_mosaic__rtk_gps.md) | Mosaic-X5 | IIS2MDC | ✓ | [Septentrio Dual Antenna][SeptDualAnt] | | +| [ARK X20 RTK GPS](../dronecan/ark_x20_rtk_gps.md) | X20P | BMP390 | ✓ | | | | [CUAV C-RTK GPS](../gps_compass/rtk_gps_cuav_c-rtk.md) | M8P/M8N | ✓ | | | | | [CUAV C-RTK2](../gps_compass/rtk_gps_cuav_c-rtk2.md) | F9P | ✓ | | [Dual F9P][DualF9P] | | | [CUAV C-RTK 9Ps GPS](../gps_compass/rtk_gps_cuav_c-rtk-9ps.md) | F9P | RM3100 | | [Dual F9P][DualF9P] | | diff --git a/docs/ko/hardware/board_support_guide.md b/docs/ko/hardware/board_support_guide.md index 74026b2fc6..ad5dec6778 100644 --- a/docs/ko/hardware/board_support_guide.md +++ b/docs/ko/hardware/board_support_guide.md @@ -33,8 +33,8 @@ Boards that are not compliant with the requirements are [unsupported](#unsupport 6. 다음 내용을 포함하는 적절한 문서: - PX4 핀 정의를 아래에 매핑하는 완전한 핀배열 공개: - 1. 마이크로컨트롤러 핀 - 2. 물리적 외부 커넥터 + 1. 마이크로컨트롤러 핀 + 2. 물리적 외부 커넥터 - A block diagram or full schematic of the main components (sensors, power supply, etc.) that allows to infer software requirements and boot order - A manual of the finished product detailing its use diff --git a/docs/ko/hardware/porting_guide_nuttx.md b/docs/ko/hardware/porting_guide_nuttx.md index 5b46be49b3..4e0c325667 100644 --- a/docs/ko/hardware/porting_guide_nuttx.md +++ b/docs/ko/hardware/porting_guide_nuttx.md @@ -62,30 +62,30 @@ To run `qconfig` you may need to install additional Qt dependencies. 2. 소스 코드를 다운로드하고 기존 대상을 빌드할 수 있는 지 확인합니다. - ```sh - git clone --recursive https://github.com/PX4/PX4-Autopilot.git - cd PX4-Autopilot - make px4_fmu-v5 - ``` + ```sh + git clone --recursive https://github.com/PX4/PX4-Autopilot.git + cd PX4-Autopilot + make px4_fmu-v5 + ``` 3. 동일한(또는 유사한) CPU 유형을 사용하는 기존 대상을 복사합니다. - 예: STM32F7의 경우 + 예: STM32F7의 경우 - ```sh - mkdir boards/manufacturer - cp -r boards/px4/fmu-v5 boards/manufacturer/my-target-v1 - ``` + ```sh + mkdir boards/manufacturer + cp -r boards/px4/fmu-v5 boards/manufacturer/my-target-v1 + ``` - Change **manufacturer** to the manufacturer name and **my-target-v1** to your board name. + Change **manufacturer** to the manufacturer name and **my-target-v1** to your board name. Next you need to go through all files under **boards/manufacturer/my-target-v1** and update them according to your board. 1. **firmware.prototype**: update the board ID and name 2. **default.px4board**: update the **VENDOR** and **MODEL** to match the directory names (**my-target-v1**). - 직렬 포트를 설정합니다. + 직렬 포트를 설정합니다. 3. Configure NuttX (**defconfig**) via `make manufacturer_my-target-v1 menuconfig`: Adjust the CPU and chip, configure the peripherals (UART's, SPI, I2C, ADC). 4. **nuttx-config/include/board.h**: Configure the NuttX pins. - 여러 가지 핀 옵션이 있는 주변 장치에서는 NuttX는 핀 정보을 알아야 합니다. - They are defined in the chip-specific pinmap header file, for example [stm32f74xx75xx_pinmap.h](https://github.com/PX4/NuttX/blob/px4_firmware_nuttx-8.2/arch/arm/src/stm32f7/hardware/stm32f74xx75xx_pinmap.h). + 여러 가지 핀 옵션이 있는 주변 장치에서는 NuttX는 핀 정보을 알아야 합니다. + They are defined in the chip-specific pinmap header file, for example [stm32f74xx75xx_pinmap.h](https://github.com/PX4/NuttX/blob/px4_firmware_nuttx-8.2/arch/arm/src/stm32f7/hardware/stm32f74xx75xx_pinmap.h). 5. **src**: go through all files under **src** and update them as needed, in particular **board_config.h**. 6. **init/rc.board_sensors**: start the sensors that are attached to the board. diff --git a/docs/ko/middleware/uxrce_dds.md b/docs/ko/middleware/uxrce_dds.md index ecbaa8a8b7..4609549b66 100644 --- a/docs/ko/middleware/uxrce_dds.md +++ b/docs/ko/middleware/uxrce_dds.md @@ -332,7 +332,7 @@ The configuration can be done using the [UXRCE-DDS parameters](../advanced_confi - [UXRCE_DDS_SYNCT](../advanced_config/parameter_reference.md#UXRCE_DDS_SYNCT): Bridge time synchronization enable. The uXRCE-DDS client module can synchronize the timestamp of the messages exchanged over the bridge. This is the default configuration. In certain situations, for example during [simulations](../ros2/user_guide.md#ros-gazebo-and-px4-time-synchronization), this feature may be disabled. - - [`UXRCE_DDS_NS_IDX`](../advanced_config/parameter_reference.md#UXRCE_DDS_NS_IDX): Index-based namespace definition + - [`UXRCE_DDS_NS_IDX`](../advanced_config/parameter_reference.md#UXRCE_DDS_NS_IDX): Index-based namespace definition Setting this parameter to any value other than `-1` creates a namespace with the prefix `uav_` and the specified value, e.g. `uav_0`, `uav_1`, etc. See [namespace](#customizing-the-namespace) for methods to define richer or arbitrary namespaces. @@ -553,7 +553,7 @@ Each (`topic`,`type`) pairs defines: 4. The message type (`VehicleOdometry`, `VehicleStatus`, `OffboardControlMode`, etc.) and the ROS 2 package (`px4_msgs`) that is expected to provide the message definition. 5. **(Optional)**: An additional `rate_limit` field (only for publication entries), which specifies the maximum rate (Hz) at which messages will be published on this topic by PX4 to ROS 2. If left unspecified, the maximum publication rate limit is set to 100 Hz. -6. **(Optional)**: An additional `instance` field (only for publication entries), which lets you select which instance of a [multi-instance topic](./uorb.md#multi-instance) you want to be published to ROS 2. +6. **(Optional)**: An additional `instance` field (only for publication entries), which lets you select which instance of a [multi-instance topic](./uorb.md#multi-instance) you want to be published to ROS 2. If provided, this option changes the ROS 2 topic name of the advertised uORB topic appending the instance number: `fmu/out/[uorb topic name][instance]` (plus eventual namespace and message version). In the example above the final topic name would be `/fmu/out/vehicle_imu1`. diff --git a/docs/ko/modules/module_template.md b/docs/ko/modules/module_template.md index 67d029f407..761257acc6 100644 --- a/docs/ko/modules/module_template.md +++ b/docs/ko/modules/module_template.md @@ -22,27 +22,27 @@ PX4-Autopilot contains a template for writing a new application (module) that ru 요약 1. Specify the dependency on the work queue library in the cmake definition file ([CMakeLists.txt](https://github.com/PX4/PX4-Autopilot/blob/main/src/examples/work_item/CMakeLists.txt)): - ``` - ... - DEPENDS - px4_work_queue - ``` + ``` + ... + DEPENDS + px4_work_queue + ``` 2. In addition to `ModuleBase`, the task should also derive from `ScheduledWorkItem` (included from [ScheduledWorkItem.hpp](https://github.com/PX4/PX4-Autopilot/blob/main/platforms/common/include/px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp)) 3. 생성자 초기화에서 작업을 추가할 대기열을 지정합니다. - The [work_item](https://github.com/PX4/PX4-Autopilot/blob/main/src/examples/work_item/WorkItemExample.cpp#L42) example adds itself to the `wq_configurations::test1` work queue as shown below: + The [work_item](https://github.com/PX4/PX4-Autopilot/blob/main/src/examples/work_item/WorkItemExample.cpp#L42) example adds itself to the `wq_configurations::test1` work queue as shown below: - ```cpp - WorkItemExample::WorkItemExample() : - ModuleParams(nullptr), - ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::test1) - { - } - ``` + ```cpp + WorkItemExample::WorkItemExample() : + ModuleParams(nullptr), + ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::test1) + { + } + ``` - ::: info - The available work queues (`wq_configurations`) are listed in [WorkQueueManager.hpp](https://github.com/PX4/PX4-Autopilot/blob/main/platforms/common/include/px4_platform_common/px4_work_queue/WorkQueueManager.hpp#L49). + ::: info + The available work queues (`wq_configurations`) are listed in [WorkQueueManager.hpp](https://github.com/PX4/PX4-Autopilot/blob/main/platforms/common/include/px4_platform_common/px4_work_queue/WorkQueueManager.hpp#L49). ::: diff --git a/docs/ko/modules/modules_driver_radio_control.md b/docs/ko/modules/modules_driver_radio_control.md index 8b964de282..90ce2f7b85 100644 --- a/docs/ko/modules/modules_driver_radio_control.md +++ b/docs/ko/modules/modules_driver_radio_control.md @@ -16,8 +16,6 @@ crsf_rc [arguments...] start [-d ] RC device values: , default: /dev/ttyS3 - [-b ] RC baudrate - default: 420000 inject Inject frame data bytes (for testing) diff --git a/docs/ko/msg_docs/ConfigOverrides.md b/docs/ko/msg_docs/ConfigOverrides.md index 37f88d4923..caa4d0816b 100644 --- a/docs/ko/msg_docs/ConfigOverrides.md +++ b/docs/ko/msg_docs/ConfigOverrides.md @@ -7,7 +7,7 @@ Configurable overrides by (external) modes or mode executors ```c # Configurable overrides by (external) modes or mode executors -uint32 MESSAGE_VERSION = 0 +uint32 MESSAGE_VERSION = 1 uint64 timestamp # time since system start (microseconds) @@ -15,7 +15,7 @@ bool disable_auto_disarm # Prevent the drone from automatically disarmin bool defer_failsafes # Defer all failsafes that can be deferred (until the flag is cleared) int16 defer_failsafes_timeout_s # Maximum time a failsafe can be deferred. 0 = system default, -1 = no timeout - +bool disable_auto_set_home # Prevent the drone from automatically setting the home position on arm or takeoff int8 SOURCE_TYPE_MODE = 0 int8 SOURCE_TYPE_MODE_EXECUTOR = 1 diff --git a/docs/ko/msg_docs/ConfigOverridesV0.md b/docs/ko/msg_docs/ConfigOverridesV0.md new file mode 100644 index 0000000000..91e2cf5b48 --- /dev/null +++ b/docs/ko/msg_docs/ConfigOverridesV0.md @@ -0,0 +1,30 @@ +# ConfigOverridesV0 (UORB message) + +Configurable overrides by (external) modes or mode executors + +[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/ConfigOverridesV0.msg) + +```c +# Configurable overrides by (external) modes or mode executors + +uint32 MESSAGE_VERSION = 0 + +uint64 timestamp # time since system start (microseconds) + +bool disable_auto_disarm # Prevent the drone from automatically disarming after landing (if configured) + +bool defer_failsafes # Defer all failsafes that can be deferred (until the flag is cleared) +int16 defer_failsafes_timeout_s # Maximum time a failsafe can be deferred. 0 = system default, -1 = no timeout + + +int8 SOURCE_TYPE_MODE = 0 +int8 SOURCE_TYPE_MODE_EXECUTOR = 1 +int8 source_type + +uint8 source_id # ID depending on source_type + +uint8 ORB_QUEUE_LENGTH = 4 + +# TOPICS config_overrides config_overrides_request + +``` diff --git a/docs/ko/msg_docs/GainCompression.md b/docs/ko/msg_docs/GainCompression.md new file mode 100644 index 0000000000..e26c1e8fcc --- /dev/null +++ b/docs/ko/msg_docs/GainCompression.md @@ -0,0 +1,12 @@ +# GainCompression (UORB message) + +[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/GainCompression.msg) + +```c +uint64 timestamp # Time since system start (microseconds) + +float32[3] compression_gains # [-] [@frame FRD] [@range 0, 1] Multiplicative gain to modify the output of the controller per axis +float32[3] spectral_damper_hpf # [-] [@frame FRD] Squared output of spectral damper high-pass filter +float32[3] spectral_damper_out # [-] [@frame FRD] Spectral damper output squared + +``` diff --git a/docs/ko/msg_docs/RegisterExtComponentReply.md b/docs/ko/msg_docs/RegisterExtComponentReply.md index 860fa6ecb5..119703472a 100644 --- a/docs/ko/msg_docs/RegisterExtComponentReply.md +++ b/docs/ko/msg_docs/RegisterExtComponentReply.md @@ -3,7 +3,7 @@ [source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/RegisterExtComponentReply.msg) ```c -uint32 MESSAGE_VERSION = 0 +uint32 MESSAGE_VERSION = 1 uint64 timestamp # time since system start (microseconds) @@ -17,6 +17,8 @@ int8 arming_check_id # arming check registration ID (-1 if invalid) int8 mode_id # assigned mode ID (-1 if invalid) int8 mode_executor_id # assigned mode executor ID (-1 if invalid) +bool not_user_selectable # mode cannot be selected by the user + uint8 ORB_QUEUE_LENGTH = 2 ``` diff --git a/docs/ko/msg_docs/RegisterExtComponentReplyV0.md b/docs/ko/msg_docs/RegisterExtComponentReplyV0.md new file mode 100644 index 0000000000..cceec88d5c --- /dev/null +++ b/docs/ko/msg_docs/RegisterExtComponentReplyV0.md @@ -0,0 +1,22 @@ +# RegisterExtComponentReplyV0 (UORB message) + +[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/RegisterExtComponentReplyV0.msg) + +```c +uint32 MESSAGE_VERSION = 0 + +uint64 timestamp # time since system start (microseconds) + +uint64 request_id # ID from the request +char[25] name # name from the request + +uint16 px4_ros2_api_version + +bool success +int8 arming_check_id # arming check registration ID (-1 if invalid) +int8 mode_id # assigned mode ID (-1 if invalid) +int8 mode_executor_id # assigned mode executor ID (-1 if invalid) + +uint8 ORB_QUEUE_LENGTH = 2 + +``` diff --git a/docs/ko/msg_docs/RegisterExtComponentRequest.md b/docs/ko/msg_docs/RegisterExtComponentRequest.md index 545737c64a..814ea6e51b 100644 --- a/docs/ko/msg_docs/RegisterExtComponentRequest.md +++ b/docs/ko/msg_docs/RegisterExtComponentRequest.md @@ -7,7 +7,7 @@ Request to register an external component ```c # Request to register an external component -uint32 MESSAGE_VERSION = 0 +uint32 MESSAGE_VERSION = 1 uint64 timestamp # time since system start (microseconds) @@ -26,7 +26,7 @@ bool register_mode_executor # registering an executor also requires a mod bool enable_replace_internal_mode # set to true if an internal mode should be replaced uint8 replace_internal_mode # vehicle_status::NAVIGATION_STATE_* bool activate_mode_immediately # switch to the registered mode (can only be set in combination with an executor) - +bool not_user_selectable # mode cannot be selected by the user uint8 ORB_QUEUE_LENGTH = 2 diff --git a/docs/ko/msg_docs/RegisterExtComponentRequestV0.md b/docs/ko/msg_docs/RegisterExtComponentRequestV0.md new file mode 100644 index 0000000000..58e99a484e --- /dev/null +++ b/docs/ko/msg_docs/RegisterExtComponentRequestV0.md @@ -0,0 +1,33 @@ +# RegisterExtComponentRequestV0 (UORB message) + +Request to register an external component + +[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/RegisterExtComponentRequestV0.msg) + +```c +# Request to register an external component + +uint32 MESSAGE_VERSION = 0 + +uint64 timestamp # time since system start (microseconds) + +uint64 request_id # ID, set this to a random value +char[25] name # either the requested mode name, or component name + +uint16 LATEST_PX4_ROS2_API_VERSION = 1 # API version compatibility. Increase this on a breaking semantic change. Changes to any message field are detected separately and do not require an API version change. + +uint16 px4_ros2_api_version # Set to LATEST_PX4_ROS2_API_VERSION + +# Components to be registered +bool register_arming_check +bool register_mode # registering a mode also requires arming_check to be set +bool register_mode_executor # registering an executor also requires a mode to be registered (which is the owned mode by the executor) + +bool enable_replace_internal_mode # set to true if an internal mode should be replaced +uint8 replace_internal_mode # vehicle_status::NAVIGATION_STATE_* +bool activate_mode_immediately # switch to the registered mode (can only be set in combination with an executor) + + +uint8 ORB_QUEUE_LENGTH = 2 + +``` diff --git a/docs/ko/msg_docs/index.md b/docs/ko/msg_docs/index.md index 7b56de7a92..6b377bf072 100644 --- a/docs/ko/msg_docs/index.md +++ b/docs/ko/msg_docs/index.md @@ -140,6 +140,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [FollowTargetEstimator](FollowTargetEstimator.md) - [FollowTargetStatus](FollowTargetStatus.md) - [FuelTankStatus](FuelTankStatus.md) +- [GainCompression](GainCompression.md) - [GeneratorStatus](GeneratorStatus.md) - [GeofenceResult](GeofenceResult.md) - [GeofenceStatus](GeofenceStatus.md) @@ -305,9 +306,12 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [ArmingCheckReplyV0](ArmingCheckReplyV0.md) - [ArmingCheckRequestV0](ArmingCheckRequestV0.md) — Arming check request. - [BatteryStatusV0](BatteryStatusV0.md) — Battery status +- [ConfigOverridesV0](ConfigOverridesV0.md) — Configurable overrides by (external) modes or mode executors - [EventV0](EventV0.md) — this message is required here in the msg_old folder because other msg are depending on it Events interface - [HomePositionV0](HomePositionV0.md) — GPS home position in WGS84 coordinates. +- [RegisterExtComponentReplyV0](RegisterExtComponentReplyV0.md) +- [RegisterExtComponentRequestV0](RegisterExtComponentRequestV0.md) — Request to register an external component - [VehicleAttitudeSetpointV0](VehicleAttitudeSetpointV0.md) - [VehicleLocalPositionV0](VehicleLocalPositionV0.md) — Fused local position in NED. The coordinate system origin is the vehicle position at the time when the EKF2-module was started. diff --git a/docs/ko/payloads/generic_actuator_control.md b/docs/ko/payloads/generic_actuator_control.md index 9bb2ba56fd..a2132bd7bd 100644 --- a/docs/ko/payloads/generic_actuator_control.md +++ b/docs/ko/payloads/generic_actuator_control.md @@ -60,7 +60,7 @@ To use a generic actuator in a mission: - Select the header on the waypoint mission editor to open the **Select Mission Command** editor. - Select the category **Advanced**, and then the **Set actuator** item (if the item is not present, try a more recent version of _QGroundControl_ or a daily build). - This will change the mission item type to "Set actuator". + This will change the mission item type to "Set actuator". 3. Select the actuators that are connected and set their values (these are normalized between -1 and 1). diff --git a/docs/ko/peripherals/gripper.md b/docs/ko/peripherals/gripper.md index 8f2612d328..895a5fa865 100644 --- a/docs/ko/peripherals/gripper.md +++ b/docs/ko/peripherals/gripper.md @@ -75,13 +75,13 @@ To set the actuation timeout: - Run the `payload_deliverer` test in the QGC [MAVLink Shell](../debug/mavlink_shell.md): - ```sh - > payload_deliverer gripper_test - ``` + ```sh + > payload_deliverer gripper_test + ``` - ::: info - If you get an error message like "[payload_deliverer] not running", repeat the setup procedures above. - You might also run the `payload_deliverer start` command in the Nuttx shell. + ::: info + If you get an error message like "[payload_deliverer] not running", repeat the setup procedures above. + You might also run the `payload_deliverer start` command in the Nuttx shell. ::: diff --git a/docs/ko/peripherals/remote_id.md b/docs/ko/peripherals/remote_id.md index 5b242f847f..9e9d1f2e5e 100644 --- a/docs/ko/peripherals/remote_id.md +++ b/docs/ko/peripherals/remote_id.md @@ -245,11 +245,11 @@ If the Remote ID CAN node is present and the messages are not being received, th 2. Navigate to the [Application settings](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/settings_view/general.html): **Application Settings > General > Miscellaneous**. 3. Select `Enable Remote ID`. - The Remote ID tab should appear. + The Remote ID tab should appear. - ::: info - If this option is not present you may be in a very recent version of QGC. - In that case, open the view at: **Application Settings > Remote ID**. + ::: info + If this option is not present you may be in a very recent version of QGC. + In that case, open the view at: **Application Settings > Remote ID**. ::: diff --git a/docs/ko/power_module/ark_12s_payload_power_module.md b/docs/ko/power_module/ark_12s_payload_power_module.md new file mode 100644 index 0000000000..e2cee5d122 --- /dev/null +++ b/docs/ko/power_module/ark_12s_payload_power_module.md @@ -0,0 +1,56 @@ +# ARK 12S Payload Power Module + +The [ARK 12S Payload Power Module](https://arkelectron.com/product/ark-12s-payload-power-module/) is a dual 5V 6A and 12V 6A power supply and digital power monitor designed for the Pixhawk Autopilot Bus Carrier boards. + +This is similar to the [ARK 12S PAB Power Module](../power_module/ark_12s_pab_power_module.md) except that the additional 12V 6A supply allows easier powering of a payload. + +![ARK 12S Payload Power Module](../../assets/hardware/power_module/ark_power_modules//ark_12s_payload_power.jpg) + +## 구매처 + +Order this module from: + +- [ARK Electronics](https://arkelectron.com/product/ark-12s-payload-power-module/) (US) + +## Hardware Specifications + +- **TI INA238 Digital Power Monitor** + - 0.0001 Ohm Shunt + - I2C Interface + +- **5.2V 6A Step-Down Regulator** + - 10V Minimum Input Voltage at 6A Out + - Output Over-Current Protection + +- **12.0V 6A Step-Down Regulator** + - 15V Minimum Input Voltage at 6A Out + - Output Over-Current Protection + +- **75V Maximum Input Voltage** + +- **Connections** + - Solder Pads Battery Input + - Solder Pads Battery Output + - 6 Pin Molex CLIK-Mate Output + - [Matches ARK PAB Carrier Power Pinout](https://arkelectron.gitbook.io/ark-documentation/flight-controllers/ark-pixhawk-autopilot-bus-carrier/pinout) + - 4 Pin Molex CLIK-Mate 12V Output + +- **Other** + - USA Built + - Includes 6 Pin Molex CLIK-Mate Cable + +- **Additional Information** + - Weight: 20.5 g + - Dimensions: 3.7 cm x 3.5 cm x 1.3 cm + +## PX4 Setup + +- Disable the `SENS_EN_INA226` parameter if it is enabled. +- Enable the `SENS_EN_INA238` parameter. +- Reboot the flight controller. +- Set the `INA238_SHUNT` parameter to 0.0001. +- Reboot the flight controller. + +## See Also + +- [ARK 12S Payload Power Module Documentation](https://docs.arkelectron.com/power/ark-12s-payload-power-module) (ARK Docs) diff --git a/docs/ko/power_module/ark_pab_power_module.md b/docs/ko/power_module/ark_pab_power_module.md index 923c921816..f8de846243 100644 --- a/docs/ko/power_module/ark_pab_power_module.md +++ b/docs/ko/power_module/ark_pab_power_module.md @@ -6,35 +6,36 @@ Note that at 60A and 20°C without cooling, the 5V regulator is de-rated to a 3A ![ARK PAB Power Module](../../assets/hardware/power_module/ark_power_modules//ark_pab_power_module.jpg) +This power module is also available without connectors: + +![ARK PAB Power Module No Connector](../../assets/hardware/power_module/ark_power_modules//ark_pab_power_no_connector.jpg) + ## 구매처 Order this module from: -- [ARK Electronics](https://arkelectron.com/product/ark-pab-power-module/) (US) +- [ARK Electronics - ARK PAB Power Module](https://arkelectron.com/product/ark-pab-power-module/) (US) +- [ARK Electronics - ARK PAB Power Module No Connector](https://arkelectron.com/product/ark-pab-power-module-no-connector/) (US) ## Hardware Specifications - **TI INA226 Digital Power Monitor** - - 0.0005 Ohm Shunt - I2C Interface - **5.2V 6A Step-Down Regulator** - - 33V Maximum Input Voltage - 5.8V Minimum Input Voltage at 6A Out - Output Over-Voltage Protection - Output Over-Current Protection - **Connections** - - - XT60 Battery Input - - XT60 Battery Output + - XT60 Battery Input / Solder Pad Battery Input (No Connector version) + - XT60 Battery Output / Solder Pad Battery Output (No Connector version) - 6 Pin Molex CLIK-Mate Output - [Matches ARK PAB Carrier Power Pinout](https://arkelectron.gitbook.io/ark-documentation/flight-controllers/ark-pixhawk-autopilot-bus-carrier/pinout) - **Other** - - USA Built - FCC Compliant - Includes 6 Pin Molex CLIK-Mate Cable diff --git a/docs/ko/power_module/index.md b/docs/ko/power_module/index.md index 86d6aa1c63..7fceb5e8ac 100644 --- a/docs/ko/power_module/index.md +++ b/docs/ko/power_module/index.md @@ -27,6 +27,7 @@ This section provides information about a number of power modules and power dist - Digital (I2C) voltage and current power modules (for Pixhawk FMUv6X and FMUv5X derived controllers): - [ARK PAB Power Module](../power_module/ark_pab_power_module.md) - [ARK 12S PAB Power Module](../power_module/ark_12s_pab_power_module.md) + - [ARK 12S Payload Power Module](../power_module/ark_12s_payload_power_module.md) - [Holybro PM02D](../power_module/holybro_pm02d.md) - [Holybro PM03D](../power_module/holybro_pm03d.md) - [DroneCAN](../dronecan/index.md) power modules diff --git a/docs/ko/releases/1.14.md b/docs/ko/releases/1.14.md index 7d931c6d47..b93a593b00 100644 --- a/docs/ko/releases/1.14.md +++ b/docs/ko/releases/1.14.md @@ -72,18 +72,18 @@ For users upgrading from previous versions, please take a moment to review the f 1. The actuator changes require you to verify vehicle geometry and motors/servos mappings match your vehicle. In QGC, find the [Actuator Configuration Dashboard](../config/actuators.md), and make sure to confirm the airframe geometry matches actuals from your vehicle, as well as update motor and ensure motors and servos are mapped to outputs as they are wired to the frame and with the correct ESC type specified. Note: take advantage of the sliders in the UI. They can be used to confirm motor wiring. - We highly recommend running an [ESC Calibration](../advanced_config/esc_calibration.md) if using PWM ESC motors and then setting appropriate disarmed minimum and maximum values for the motors (in the actuator UI). + We highly recommend running an [ESC Calibration](../advanced_config/esc_calibration.md) if using PWM ESC motors and then setting appropriate disarmed minimum and maximum values for the motors (in the actuator UI). - The calibration is critical if you are using a custom mixer file or the airframe you assigned in an earlier version is not present in PX4 v1.14. + The calibration is critical if you are using a custom mixer file or the airframe you assigned in an earlier version is not present in PX4 v1.14. - However, an ESC Calibration is still recommended **even if** you are using an airframe that precisely matches a specific vehicle in the [Airframe Reference](../airframes/airframe_reference.md) (such as the [Holybro X500 V2](../airframes/airframe_reference.md#copter_quadrotor_x_holybro_x500_v2)) as your wiring and ESCs calibration may not match the defaults. + However, an ESC Calibration is still recommended **even if** you are using an airframe that precisely matches a specific vehicle in the [Airframe Reference](../airframes/airframe_reference.md) (such as the [Holybro X500 V2](../airframes/airframe_reference.md#copter_quadrotor_x_holybro_x500_v2)) as your wiring and ESCs calibration may not match the defaults. 2. Default disarmed PWM was changed from 900us to 1000us. - Verify if you previously used the default PWM disarmed values and if the changes impact your setup. - For details, you can find related information in the [step 7 of ESC calibration](../advanced_config/esc_calibration.md#steps) document. + Verify if you previously used the default PWM disarmed values and if the changes impact your setup. + For details, you can find related information in the [step 7 of ESC calibration](../advanced_config/esc_calibration.md#steps) document. 3. Fast-RTPS users must port their code to the new uXRCE-DDS interface. - Application code should only require minor modifications. These include (minimally): + Application code should only require minor modifications. These include (minimally): Modifying topic names to match the new naming pattern, which changed from `fmu//out` to `fmu/out/`, and [Adusting the QoS settings](../ros2/user_guide.md#ros-2-subscriber-qos-settings). diff --git a/docs/ko/ros/mavros_custom_messages.md b/docs/ko/ros/mavros_custom_messages.md index 5cefc4644e..ecc129c4bd 100644 --- a/docs/ko/ros/mavros_custom_messages.md +++ b/docs/ko/ros/mavros_custom_messages.md @@ -110,7 +110,7 @@ Follow _Source Installation_ instructions from [mavlink/mavros](https://github.c - `PX4-Autopilot/src/modules/mavlink/mavlink/message_definitions/v1.0` - `workspace/src/mavlink/message_definitions/v1.0` - are exactly the same. + are exactly the same. ::: diff --git a/docs/ko/ros/mavros_installation.md b/docs/ko/ros/mavros_installation.md index a049519917..5d7dd2eb68 100644 --- a/docs/ko/ros/mavros_installation.md +++ b/docs/ko/ros/mavros_installation.md @@ -148,21 +148,21 @@ Now you are ready to do the build: 2. 릴리스 또는 최신 버전을 사용하여 소스에서 MAVROS를 설치합니다. - 출시/안정 - ```sh - rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall - ``` + ```sh + rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall + ``` - 최신 소스 - ```sh - rosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall - ``` + ```sh + rosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall + ``` - ```sh - # For fetching all the dependencies into your catkin_ws, - # just add '--deps' to the above scripts, E.g.: - # rosinstall_generator --upstream mavros --deps | tee -a /tmp/mavros.rosinstall - ``` + ```sh + # For fetching all the dependencies into your catkin_ws, + # just add '--deps' to the above scripts, E.g.: + # rosinstall_generator --upstream mavros --deps | tee -a /tmp/mavros.rosinstall + ``` 3. Create workspace & deps diff --git a/docs/ko/ros/offboard_control.md b/docs/ko/ros/offboard_control.md index b17b96abe7..878d32bc68 100644 --- a/docs/ko/ros/offboard_control.md +++ b/docs/ko/ros/offboard_control.md @@ -38,9 +38,9 @@ Enable MAVLink on the serial port that you connect to the companion computer (se 1. 하나는 자동조종장치의 UART 포트에 연결합니다. 2. One connected to a ground station computer - Example radios include: + Example radios include: - - [Digi International XBee Pro](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/sub-1-ghz-rf-modules) + - [Digi International XBee Pro](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/sub-1-ghz-rf-modules) [![Mermaid graph: mavlink channel](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggVEQ7XG4gIGduZFtHcm91bmQgU3RhdGlvbl0gLS1NQVZMaW5rLS0-IHJhZDFbR3JvdW5kIFJhZGlvXTtcbiAgcmFkMSAtLVJhZGlvUHJvdG9jb2wtLT4gcmFkMltWZWhpY2xlIFJhZGlvXTtcbiAgcmFkMiAtLU1BVkxpbmstLT4gYVtBdXRvcGlsb3RdOyIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggVEQ7XG4gIGduZFtHcm91bmQgU3RhdGlvbl0gLS1NQVZMaW5rLS0-IHJhZDFbR3JvdW5kIFJhZGlvXTtcbiAgcmFkMSAtLVJhZGlvUHJvdG9jb2wtLT4gcmFkMltWZWhpY2xlIFJhZGlvXTtcbiAgcmFkMiAtLU1BVkxpbmstLT4gYVtBdXRvcGlsb3RdOyIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9) diff --git a/docs/ko/ros2/px4_ros2_msg_translation_node.md b/docs/ko/ros2/px4_ros2_msg_translation_node.md index 0bb22c79c1..9ba03f22e5 100644 --- a/docs/ko/ros2/px4_ros2_msg_translation_node.md +++ b/docs/ko/ros2/px4_ros2_msg_translation_node.md @@ -27,36 +27,36 @@ The following steps describe how to install and run the translation node on your 1. (Optional) Create a new ROS 2 workspace in which to build the message translation node and its dependencies: - ```sh - mkdir -p /path/to/ros_ws/src - ``` + ```sh + mkdir -p /path/to/ros_ws/src + ``` 2. Run the following helper script to copy the message definitions and translation node into your ROS workspace directory. - ```sh - cd /path/to/ros_ws - /path/to/PX4-Autopilot/Tools/copy_to_ros_ws.sh . - ``` + ```sh + cd /path/to/ros_ws + /path/to/PX4-Autopilot/Tools/copy_to_ros_ws.sh . + ``` 3. Build and source the workspace. - ```sh - colcon build - source /path/to/ros_ws/install/setup.bash - ``` + ```sh + colcon build + source /path/to/ros_ws/install/setup.bash + ``` 4. Finally, run the translation node. - ```sh - ros2 run translation_node translation_node_bin - ``` + ```sh + ros2 run translation_node translation_node_bin + ``` - You should see an output similar to: + You should see an output similar to: - ```sh - [INFO] [1734525720.729530513] [translation_node]: Registered pub/sub topics and versions: - [INFO] [1734525720.729594413] [translation_node]: Registered services and versions: - ``` + ```sh + [INFO] [1734525720.729530513] [translation_node]: Registered pub/sub topics and versions: + [INFO] [1734525720.729594413] [translation_node]: Registered services and versions: + ``` With the translation node running, any simultaneously running ROS 2 application designed to communicate with PX4 can do so, as long as it uses message versions recognized by the node. The translation node will print a warning if it encounters an unknown topic version. @@ -295,111 +295,111 @@ The example describes the process of updating the `VehicleAttitude` message defi 1. **Create an Archived Definition of the Current Versioned Message** - Copy the versioned `.msg` topic message file (or `.srv` service message file) to `px4_msgs_old/msg/` (or `px4_msgs_old/srv/`), and append its message version to the file name. + Copy the versioned `.msg` topic message file (or `.srv` service message file) to `px4_msgs_old/msg/` (or `px4_msgs_old/srv/`), and append its message version to the file name. - For example:
- Copy `msg/versioned/VehicleAttitude.msg` → `msg/versioned/px4_msgs_old/msg/VehicleAttitudeV3.msg` + For example:
+ Copy `msg/versioned/VehicleAttitude.msg` → `msg/versioned/px4_msgs_old/msg/VehicleAttitudeV3.msg` 2. **Update Translation References to the Archived Definition** - Update the existing translations header files `msg/translation_node/translations/*.h` to reference the newly archived message definition. + Update the existing translations header files `msg/translation_node/translations/*.h` to reference the newly archived message definition. - For example, update references in those files:
+ For example, update references in those files:
- - Replace `px4_msgs::msg::VehicleAttitude` → `px4_msgs_old::msg::VehicleAttitudeV3` - - Replace `#include ` → `#include ` + - Replace `px4_msgs::msg::VehicleAttitude` → `px4_msgs_old::msg::VehicleAttitudeV3` + - Replace `#include ` → `#include ` 3. **Update the Versioned Definition** - Update the versioned `.msg` topic message file (or `.srv` service message file) with required changes. + Update the versioned `.msg` topic message file (or `.srv` service message file) with required changes. - First increment the `MESSAGE_VERSION` field. - Then update the message fields that prompted the version change. + First increment the `MESSAGE_VERSION` field. + Then update the message fields that prompted the version change. - For example, update `msg/versioned/VehicleAttitude.msg` from: + For example, update `msg/versioned/VehicleAttitude.msg` from: - ```txt - uint32 MESSAGE_VERSION = 3 - uint64 timestamp - ... - ``` + ```txt + uint32 MESSAGE_VERSION = 3 + uint64 timestamp + ... + ``` - to + to - ```txt - uint32 MESSAGE_VERSION = 4 # Increment - uint64 timestamp - float32 new_field # Make definition changes - ... - ``` + ```txt + uint32 MESSAGE_VERSION = 4 # Increment + uint64 timestamp + float32 new_field # Make definition changes + ... + ``` 4. **Add a New Translation Header** - Add a new version translation to bridge the archived version and the updated current version, by creating a new translation header. + Add a new version translation to bridge the archived version and the updated current version, by creating a new translation header. - For example, create a direct translation header `translation_node/translations/translation_vehicle_attitude_v4.h`: + For example, create a direct translation header `translation_node/translations/translation_vehicle_attitude_v4.h`: - ```c++ - // Translate VehicleAttitude v3 <--> v4 - #include - #include + ```c++ + // Translate VehicleAttitude v3 <--> v4 + #include + #include - class VehicleAttitudeV4Translation { - public: - using MessageOlder = px4_msgs_old::msg::VehicleAttitudeV3; - static_assert(MessageOlder::MESSAGE_VERSION == 3); + class VehicleAttitudeV4Translation { + public: + using MessageOlder = px4_msgs_old::msg::VehicleAttitudeV3; + static_assert(MessageOlder::MESSAGE_VERSION == 3); - using MessageNewer = px4_msgs::msg::VehicleAttitude; - static_assert(MessageNewer::MESSAGE_VERSION == 4); + using MessageNewer = px4_msgs::msg::VehicleAttitude; + static_assert(MessageNewer::MESSAGE_VERSION == 4); - static constexpr const char* kTopic = "fmu/out/vehicle_attitude"; + static constexpr const char* kTopic = "fmu/out/vehicle_attitude"; - static void fromOlder(const MessageOlder &msg_older, MessageNewer &msg_newer) { - msg_newer.timestamp = msg_older.timestamp; - msg_newer.timestamp_sample = msg_older.timestamp_sample; - msg_newer.q[0] = msg_older.q[0]; - msg_newer.q[1] = msg_older.q[1]; - msg_newer.q[2] = msg_older.q[2]; - msg_newer.q[3] = msg_older.q[3]; - msg_newer.delta_q_reset = msg_older.delta_q_reset; - msg_newer.quat_reset_counter = msg_older.quat_reset_counter; + static void fromOlder(const MessageOlder &msg_older, MessageNewer &msg_newer) { + msg_newer.timestamp = msg_older.timestamp; + msg_newer.timestamp_sample = msg_older.timestamp_sample; + msg_newer.q[0] = msg_older.q[0]; + msg_newer.q[1] = msg_older.q[1]; + msg_newer.q[2] = msg_older.q[2]; + msg_newer.q[3] = msg_older.q[3]; + msg_newer.delta_q_reset = msg_older.delta_q_reset; + msg_newer.quat_reset_counter = msg_older.quat_reset_counter; - // Populate `new_field` with some value - msg_newer.new_field = -1; - } + // Populate `new_field` with some value + msg_newer.new_field = -1; + } - static void toOlder(const MessageNewer &msg_newer, MessageOlder &msg_older) { - msg_older.timestamp = msg_newer.timestamp; - msg_older.timestamp_sample = msg_newer.timestamp_sample; - msg_older.q[0] = msg_newer.q[0]; - msg_older.q[1] = msg_newer.q[1]; - msg_older.q[2] = msg_newer.q[2]; - msg_older.q[3] = msg_newer.q[3]; - msg_older.delta_q_reset = msg_newer.delta_q_reset; - msg_older.quat_reset_counter = msg_newer.quat_reset_counter; + static void toOlder(const MessageNewer &msg_newer, MessageOlder &msg_older) { + msg_older.timestamp = msg_newer.timestamp; + msg_older.timestamp_sample = msg_newer.timestamp_sample; + msg_older.q[0] = msg_newer.q[0]; + msg_older.q[1] = msg_newer.q[1]; + msg_older.q[2] = msg_newer.q[2]; + msg_older.q[3] = msg_newer.q[3]; + msg_older.delta_q_reset = msg_newer.delta_q_reset; + msg_older.quat_reset_counter = msg_newer.quat_reset_counter; - // Discards `new_field` from MessageNewer - } - }; + // Discards `new_field` from MessageNewer + } + }; - REGISTER_TOPIC_TRANSLATION_DIRECT(VehicleAttitudeV4Translation); - ``` + REGISTER_TOPIC_TRANSLATION_DIRECT(VehicleAttitudeV4Translation); + ``` - Version translation templates are provided here: + Version translation templates are provided here: - - [Direct Topic Message Translation Template](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/example_translation_direct_v1.h) - - [Generic Topic Message Translation Template](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/example_translation_multi_v2.h) - - [Direct Service Message Translation Template](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/example_translation_service_v1.h) + - [Direct Topic Message Translation Template](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/example_translation_direct_v1.h) + - [Generic Topic Message Translation Template](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/example_translation_multi_v2.h) + - [Direct Service Message Translation Template](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/example_translation_service_v1.h) 5. **Include New Headers in `all_translations.h`** - Add all newly created headers to [`translations/all_translations.h`](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/all_translations.h) so that the translation node can find them. + Add all newly created headers to [`translations/all_translations.h`](https://github.com/PX4/PX4-Autopilot/blob/main/msg/translation_node/translations/all_translations.h) so that the translation node can find them. - For example, append the following line to `all_translation.h`: + For example, append the following line to `all_translation.h`: - ```c++ - #include "translation_vehicle_attitude_v4.h" - ``` + ```c++ + #include "translation_vehicle_attitude_v4.h" + ``` Note that in the example above and in most cases, step 4 only requires the developer to create a direct translation for the definition change. This is because the changes only involved a single message. diff --git a/docs/ko/ros2/px4_ros2_navigation_interface.md b/docs/ko/ros2/px4_ros2_navigation_interface.md index d6a2bd6b80..fd625d7331 100644 --- a/docs/ko/ros2/px4_ros2_navigation_interface.md +++ b/docs/ko/ros2/px4_ros2_navigation_interface.md @@ -22,80 +22,80 @@ The following steps are required to get started: 2. Clone the repository into the workspace: - ```sh - cd $ros_workspace/src - git clone --recursive https://github.com/Auterion/px4-ros2-interface-lib - ``` + ```sh + cd $ros_workspace/src + git clone --recursive https://github.com/Auterion/px4-ros2-interface-lib + ``` - ::: info - To ensure compatibility, use the latest _main_ branches for PX4, _px4_msgs_ and the library. - See also [here](https://github.com/Auterion/px4-ros2-interface-lib#compatibility-with-px4). + ::: info + To ensure compatibility, use the latest _main_ branches for PX4, _px4_msgs_ and the library. + See also [here](https://github.com/Auterion/px4-ros2-interface-lib#compatibility-with-px4). ::: 3. Build the workspace: - ```sh - cd .. - colcon build - ``` + ```sh + cd .. + colcon build + ``` 4. In a different shell, start PX4 SITL: - ```sh - cd $px4-autopilot - make px4_sitl gazebo-classic - ``` + ```sh + cd $px4-autopilot + make px4_sitl gazebo-classic + ``` - (here we use Gazebo-Classic, but you can use any model or simulator) + (here we use Gazebo-Classic, but you can use any model or simulator) 5. In yet a different shell, run the micro XRCE agent (you can keep it running afterward): - ```sh - MicroXRCEAgent udp4 -p 8888 - ``` + ```sh + MicroXRCEAgent udp4 -p 8888 + ``` 6. Back in the ROS 2 terminal, source the workspace you just built (in step 3) and run the [global_navigation](https://github.com/Auterion/px4-ros2-interface-lib/tree/main/examples/cpp/navigation/global_navigation) example, which periodically sends dummy global position updates: - ```sh - source install/setup.bash - ros2 run example_global_navigation_cpp example_global_navigation - ``` + ```sh + source install/setup.bash + ros2 run example_global_navigation_cpp example_global_navigation + ``` - You should get an output like this showing that the global interface is successfully sending position updates: + You should get an output like this showing that the global interface is successfully sending position updates: - ```sh - [INFO] [1702030701.836897756] [example_global_navigation_node]: example_global_navigation_node running! - [DEBUG] [1702030702.837279784] [example_global_navigation_node]: Successfully sent position update to navigation interface. - [DEBUG] [1702030703.837223884] [example_global_navigation_node]: Successfully sent position update to navigation interface. - ``` + ```sh + [INFO] [1702030701.836897756] [example_global_navigation_node]: example_global_navigation_node running! + [DEBUG] [1702030702.837279784] [example_global_navigation_node]: Successfully sent position update to navigation interface. + [DEBUG] [1702030703.837223884] [example_global_navigation_node]: Successfully sent position update to navigation interface. + ``` 7. In the PX4 shell, you can check that PX4 receives global position updates: - ```sh - listener aux_global_position - ``` + ```sh + listener aux_global_position + ``` - The output should look like: + The output should look like: - ```sh - TOPIC: aux_global_position - aux_global_position - timestamp: 46916000 (0.528000 seconds ago) - timestamp_sample: 46916000 (0 us before timestamp) - lat: 12.343210 - lon: 23.454320 - alt: 12.40000 - alt_ellipsoid: 0.00000 - delta_alt: 0.00000 - eph: 0.31623 - epv: 0.44721 - terrain_alt: 0.00000 - lat_lon_reset_counter: 0 - alt_reset_counter: 0 - terrain_alt_valid: False - dead_reckoning: False - ``` + ```sh + TOPIC: aux_global_position + aux_global_position + timestamp: 46916000 (0.528000 seconds ago) + timestamp_sample: 46916000 (0 us before timestamp) + lat: 12.343210 + lon: 23.454320 + alt: 12.40000 + alt_ellipsoid: 0.00000 + delta_alt: 0.00000 + eph: 0.31623 + epv: 0.44721 + terrain_alt: 0.00000 + lat_lon_reset_counter: 0 + alt_reset_counter: 0 + terrain_alt_valid: False + dead_reckoning: False + ``` 8. Now you are ready to use the navigation interface to send your own position updates. diff --git a/docs/ko/sensor/inertiallabs.md b/docs/ko/sensor/inertiallabs.md index 63c9718c3b..b748a2fee3 100644 --- a/docs/ko/sensor/inertiallabs.md +++ b/docs/ko/sensor/inertiallabs.md @@ -57,11 +57,11 @@ To use the Inertial Labs driver: - For external INS, set [ILABS_MODE](../advanced_config/parameter_reference.md#ILABS_MODE) to `INS`. - For raw inertial sensors, set [ILABS_MODE](../advanced_config/parameter_reference.md#ILABS_MODE) to `Sensors Only`. - You can then prioritize inertial labs sensors using [CAL_GYROn_PRIO](../advanced_config/parameter_reference.md#CAL_GYRO0_PRIO), [CAL_ACCn_PRIO](../advanced_config/parameter_reference.md#CAL_ACC0_PRIO), [CAL_BAROn_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO), [CAL_MAGn_PRIO](../advanced_config/parameter_reference.md#CAL_MAG0_PRIO), where `n` is the instance number of the IMU component (0, 1, etc.). + You can then prioritize inertial labs sensors using [CAL_GYROn_PRIO](../advanced_config/parameter_reference.md#CAL_GYRO0_PRIO), [CAL_ACCn_PRIO](../advanced_config/parameter_reference.md#CAL_ACC0_PRIO), [CAL_BAROn_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO), [CAL_MAGn_PRIO](../advanced_config/parameter_reference.md#CAL_MAG0_PRIO), where `n` is the instance number of the IMU component (0, 1, etc.). - ::: tip - In most cases the external IMU is the highest-numbered. - You can get a list of the IMU components available using [`uorb top -1`](../middleware/uorb.md#uorb-top-command), you can differentiate between them using the [`listener`](../modules/modules_command.md#listener) command and looking through the data, or just the rates. + ::: tip + In most cases the external IMU is the highest-numbered. + You can get a list of the IMU components available using [`uorb top -1`](../middleware/uorb.md#uorb-top-command), you can differentiate between them using the [`listener`](../modules/modules_command.md#listener) command and looking through the data, or just the rates. ::: diff --git a/docs/ko/sensor/rangefinders.md b/docs/ko/sensor/rangefinders.md index a587ddd6c6..067cc0431e 100644 --- a/docs/ko/sensor/rangefinders.md +++ b/docs/ko/sensor/rangefinders.md @@ -15,11 +15,69 @@ This is a subset of the rangefinders that can be used with PX4. There may also be other DroneCAN rangefinders than those listed here. ::: -### ARK Flow & AKR Flow MR +| Rangefinder | Technology | Range (min – max) | 연결 | NDAA | 참고 | +| ------------------------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------- | ----------------- | ------------------------------------------------------ | +| [Ainstein US-D1 Standard Radar Altimeter] | Microwave radar | ~50 m | UART | ✔️ | | +| [ARK DIST SR] | ToF (850 nm IR) | 8 cm to ~30 m | DroneCAN, UART | ✔️ | | +| [ARK DIST MR] | ToF (IR) | 8 cm to ~50 m | DroneCAN, UART | ✔️ | | +| [Benewake TFmini] | ToF (IR laser) | ~12 m | UART | ~ | | +| [Holybro ST VL53L1X Lidar] | ToF (IR) | up to ~4 m | I2C | ~ | | +| [LeddarOne] | ToF (IR) | 1 cm – 40 m | UART | ~ | | +| [Lidar-Lite] | ToF (IR laser) | 5 cm – 40 m | I2C, PWM | ~ | | +| [LightWare SF11/C] | ToF (IR laser) | up to ~120 m | UART, I2C | ~ | | +| [LightWare LW20/C] | ToF (IR laser) | up to ~100 m | I2C | ~ | Waterproof (IP67) + servo | +| [LightWare SF45/B] | ToF (IR laser) | ~50 m | UART | ~ | Rotary lidar (collision prevention) | +| [MaxBotix I2CXL-MaxSonar-EZ] | Ultrasonic | | I2C | ~ | | +| [RaccoonLab Cyphal & DroneCAN µRANGEFINDER] | ToF (IR) | ~0.1 m – ~8 m | DroneCAN, Cyphal | ~ | | +| [TeraRanger Evo 60 m] | ToF (IR) | 0.5 m – 60 m | I2C | ~ | | +| [TeraRanger Evo 600Hz] | ToF (IR) | 0.75 m – 8 m | I2C | ~ | High update rate (600 Hz) | +| [LightWare SF02] _(disc.)_ | ToF (IR laser) | ~50 m | UART | ~ | Discontinued | +| [LightWare SF10/A] _(disc.)_ | ToF (IR laser) | ~25 m | UART, I2C | ~ | Discontinued | +| [LightWare SF10/B] _(disc.)_ | ToF (IR laser) | ~50 m | UART, I2C | ~ | Discontinued | +| [LightWare SF10/C] _(disc.)_ | ToF (IR laser) | ~100 m | UART, I2C | ~ | Discontinued | +| [Lanbao PSK-CM8JL65-CC5] _(disc.)_ | ToF (IR) | 0.17 m – 8 m | UART | ✖️ | Discontinued | +| [TeraRanger One] _(disc.)_ | ToF (IR) | ~0.2 m – ~14 m (typical) | I2C (adapter required) | ~ | Discontinued | -[ARK Flow](../dronecan/ark_flow.md) and [ARK Flow MR](../dronecan/ark_flow_mr.md) are open-source Time-of-Flight (ToF) and optical flow sensor modules, which are capable of measuring distances from 8cm to 30m and from 8cm to 50m, respectively. -CAN1 포트를 통해 비행 콘트롤러에 연결할 수 있으므로, CAN2 포트를 통해 추가 센서를 연결할 수 있습니다. -It supports [DroneCAN](../dronecan/index.md), runs [PX4 DroneCAN Firmware](../dronecan/px4_cannode_fw.md), and is packed into a tiny form factor. +[Ainstein US-D1 Standard Radar Altimeter]: ../sensor/ulanding_radar.md +[ARK DIST SR]: ../dronecan/ark_dist.md +[ARK DIST MR]: ../dronecan/ark_dist_mr.md +[Benewake TFmini]: ../sensor/tfmini.md +[Holybro ST VL53L1X Lidar]: #holybro-st-vl53l1x-lidar +[Lanbao PSK-CM8JL65-CC5]: ../sensor/cm8jl65_ir_distance_sensor.md +[LeddarOne]: ../sensor/leddar_one.md +[Lidar-Lite]: ../sensor/lidar_lite.md +[LightWare Lidar]: ../sensor/sfxx_lidar.md +[LightWare SF11/C]: ../sensor/sfxx_lidar.md +[LightWare LW20/C]: ../sensor/sfxx_lidar.md +[LightWare SF45/B]: ../sensor/sfxx_lidar.md +[LightWare SF02]: ../sensor/sfxx_lidar.md +[LightWare SF10/A]: ../sensor/sfxx_lidar.md +[LightWare SF10/B]: ../sensor/sfxx_lidar.md +[LightWare SF10/C]: ../sensor/sfxx_lidar.md +[MaxBotix I2CXL-MaxSonar-EZ]: #maxbotix-i2cxl-maxsonar-ez +[TeraRanger Evo 60 m]: ../sensor/teraranger.md +[TeraRanger Evo 600Hz]: ../sensor/teraranger.md +[TeraRanger One]: ../sensor/teraranger.md + +These adaptors allows you to connect a non-CAN rangefinder via the CAN interface. +Note that the range depends on the connected rangefinder + +| Adaptor | 연결 | NDAA | +| ------------------------------------------------------- | ---------------- | ----------------- | +| **Avionics Anonymous UAVCAN Laser Altimeter Interface** | DroneCAN | ~ | +| [RaccoonLab Cyphal & DroneCAN Rangefinder Adapter] | DroneCAN, Cyphal | ~ | + +[RaccoonLab Cyphal & DroneCAN µRANGEFINDER]: #raccoonlab-cyphal-and-dronecan-μrangefinder +[RaccoonLab Cyphal & DroneCAN Rangefinder Adapter]: #raccoonlab-cyphal-and-dronecan-rangefinder-adapter + +Note that some [Optical Flow](../sensor/optical_flow.md) sensors also include a rangefinder, such as [ARK Flow](../dronecan/ark_flow.md) and [ARK Flow MR](../dronecan/ark_flow_mr.md). + +### ARK DIST SR & ARK DIST MR + +[ARK DIST SR](../dronecan/ark_dist.md) and [ARK DIST MR](../dronecan/ark_dist_mr.md) are open-source Time-of-Flight (ToF) rangefinder modules, which are capable of measuring distances from 8cm to 30m and from 8cm to 50m, respectively. + +The sensors support [DroneCAN](../dronecan/index.md), run [PX4 DroneCAN Firmware](../dronecan/px4_cannode_fw.md), and are packed into a tiny form factor. +They can be connected to a flight controller via its `CAN1` port, allowing additional sensors to connected through the `CAN2` port. ### Holybro ST VL53L1X Lidar @@ -146,11 +204,11 @@ To view the rangefinder output: 1. Open the menu **Q > Select Tool > Analyze Tools**: - ![Menu for QGC Analyze Tool](../../assets/qgc/analyze/menu_analyze_tool.png) + ![Menu for QGC Analyze Tool](../../assets/qgc/analyze/menu_analyze_tool.png) 2. Select the message `DISTANCE_SENSOR`, and then check the plot checkbox against `current_distance`. - The tool will then plot the result: - ![QGC Analyze DISTANCE_SENSOR value](../../assets/qgc/analyze/qgc_analyze_tool_distance_sensor.png) + The tool will then plot the result: + ![QGC Analyze DISTANCE_SENSOR value](../../assets/qgc/analyze/qgc_analyze_tool_distance_sensor.png) ### QGroundControl MAVLink Console diff --git a/docs/ko/sensor/vectornav.md b/docs/ko/sensor/vectornav.md index 2f3c405750..dc8941aebc 100644 --- a/docs/ko/sensor/vectornav.md +++ b/docs/ko/sensor/vectornav.md @@ -61,18 +61,18 @@ To use the VectorNav driver: 5. Configure driver as either an external INS or to provide raw data: - If using the VectorNav as an external INS, set [VN_MODE](../advanced_config/parameter_reference.md#VN_MODE) to `INS`. - This disables EKF2. + This disables EKF2. - If using the VectorNav as external inertial sensors: - 1. Set [VN_MODE](../advanced_config/parameter_reference.md#VN_MODE) to `Sensors Only` - 2. If internal sensors are enabled, prioritize VectorNav sensors using [CAL_GYROn_PRIO](../advanced_config/parameter_reference.md#CAL_GYRO0_PRIO), [CAL_ACCn_PRIO](../advanced_config/parameter_reference.md#CAL_ACC0_PRIO), [CAL_BAROn_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO), [CAL_MAGn_PRIO](../advanced_config/parameter_reference.md#CAL_MAG0_PRIO), where _n_ is the instance number of the IMU component (0, 1, etc.). + 1. Set [VN_MODE](../advanced_config/parameter_reference.md#VN_MODE) to `Sensors Only` + 2. If internal sensors are enabled, prioritize VectorNav sensors using [CAL_GYROn_PRIO](../advanced_config/parameter_reference.md#CAL_GYRO0_PRIO), [CAL_ACCn_PRIO](../advanced_config/parameter_reference.md#CAL_ACC0_PRIO), [CAL_BAROn_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO), [CAL_MAGn_PRIO](../advanced_config/parameter_reference.md#CAL_MAG0_PRIO), where _n_ is the instance number of the IMU component (0, 1, etc.). - ::: tip - In most cases the external IMU (VN) is the highest-numbered. - You can get a list of the IMU components available using [`uorb top -1`](../middleware/uorb.md#uorb-top-command), you can differentiate between them using the [`listener`](../modules/modules_command.md#listener) command and looking through the data, or just the rates. + ::: tip + In most cases the external IMU (VN) is the highest-numbered. + You can get a list of the IMU components available using [`uorb top -1`](../middleware/uorb.md#uorb-top-command), you can differentiate between them using the [`listener`](../modules/modules_command.md#listener) command and looking through the data, or just the rates. - Alternatively, you can check [CAL_GYROn_ID](../advanced_config/parameter_reference.md#CAL_GYRO0_ID) to see the device id. - The priority is 0-255, where 0 is entirely disabled and 255 is highest priority. + Alternatively, you can check [CAL_GYROn_ID](../advanced_config/parameter_reference.md#CAL_GYRO0_ID) to see the device id. + The priority is 0-255, where 0 is entirely disabled and 255 is highest priority. ::: diff --git a/docs/ko/sim_flightgear/index.md b/docs/ko/sim_flightgear/index.md index 18cf1ec945..db28a98dd7 100644 --- a/docs/ko/sim_flightgear/index.md +++ b/docs/ko/sim_flightgear/index.md @@ -40,33 +40,33 @@ These instructions were tested on Ubuntu 18.04 2. Install FlightGear: - ```sh - sudo add-apt-repository ppa:saiarcot895/flightgear - sudo apt update - sudo apt install flightgear - ``` + ```sh + sudo add-apt-repository ppa:saiarcot895/flightgear + sudo apt update + sudo apt install flightgear + ``` - This installs the latest stable FlightGear version from the PAA repository along with the FGdata package. + This installs the latest stable FlightGear version from the PAA repository along with the FGdata package. - :::tip - For some models (e.g. those with electric engines) the daily build with the newest features may be necessary. - Install this using the [daily build PPA](https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-edge). + :::tip + For some models (e.g. those with electric engines) the daily build with the newest features may be necessary. + Install this using the [daily build PPA](https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-edge). ::: 3. Check that you are able to run FlightGear: - ```sh - fgfs --launcher - ``` + ```sh + fgfs --launcher + ``` 4. Set write permissions to the **Protocols** folder in the FlightGear installation directory: - ```sh - sudo chmod a+w /usr/share/games/flightgear/Protocol - ``` + ```sh + sudo chmod a+w /usr/share/games/flightgear/Protocol + ``` - Setting the permissions is required because the PX4-FlightGear-Bridge puts the communication definition file here. + Setting the permissions is required because the PX4-FlightGear-Bridge puts the communication definition file here. Additional installation instructions can be found on [FlightGear wiki](https://wiki.flightgear.org/Howto:Install_Flightgear_from_a_PPA). diff --git a/docs/ko/sim_gazebo_classic/index.md b/docs/ko/sim_gazebo_classic/index.md index 4d0a1784e4..7b95cd2961 100644 --- a/docs/ko/sim_gazebo_classic/index.md +++ b/docs/ko/sim_gazebo_classic/index.md @@ -249,14 +249,14 @@ It is enabled by default in many vehicle SDF files: **solo.sdf**, **iris.sdf**, To enable/disable GPS noise: 1. Build any gazebo target in order to generate SDF files (for all vehicles). - 예: + 예: - ```sh - make px4_sitl gazebo-classic_iris - ``` + ```sh + make px4_sitl gazebo-classic_iris + ``` - :::tip - The SDF files are not overwritten on subsequent builds. + :::tip + The SDF files are not overwritten on subsequent builds. ::: @@ -264,17 +264,17 @@ To enable/disable GPS noise: 3. Search for the `gpsNoise` element: - ```xml - - - true - - ``` + ```xml + + + true + + ``` - - If it is present, GPS is enabled. - You can disable it by deleting the line: `true` - - If it is not present, GPS is disabled. - You can enable it by adding the `gpsNoise` element to the `gps_plugin` section (as shown above). + - If it is present, GPS is enabled. + You can disable it by deleting the line: `true` + - If it is not present, GPS is disabled. + You can enable it by adding the `gpsNoise` element to the `gps_plugin` section (as shown above). The next time you build/restart Gazebo Classic it will use the new GPS noise setting. diff --git a/docs/ko/sim_gazebo_classic/multi_vehicle_simulation.md b/docs/ko/sim_gazebo_classic/multi_vehicle_simulation.md index 1a53ef0973..01d1ba4493 100644 --- a/docs/ko/sim_gazebo_classic/multi_vehicle_simulation.md +++ b/docs/ko/sim_gazebo_classic/multi_vehicle_simulation.md @@ -68,36 +68,36 @@ To build an example setup, follow the steps below: 1. Clone the PX4/Firmware code, then build the SITL code: - ```sh - cd Firmware_clone - git submodule update --init --recursive - DONT_RUN=1 make px4_sitl gazebo-classic - ``` + ```sh + cd Firmware_clone + git submodule update --init --recursive + DONT_RUN=1 make px4_sitl gazebo-classic + ``` 2. Build the `micro xrce-dds agent` and the interface package following the [instructions here](../ros2/user_guide.md). 3. Run `Tools/simulation/gazebo-classic/sitl_multiple_run.sh`. - For example, to spawn 4 vehicles, run: + For example, to spawn 4 vehicles, run: - ```sh - ./Tools/simulation/gazebo-classic/sitl_multiple_run.sh -m iris -n 4 - ``` + ```sh + ./Tools/simulation/gazebo-classic/sitl_multiple_run.sh -m iris -n 4 + ``` - ::: info - Each vehicle instance is allocated a unique MAVLink system id (2, 3, 4, etc.). - MAVLink system id 1 is skipped. + ::: info + Each vehicle instance is allocated a unique MAVLink system id (2, 3, 4, etc.). + MAVLink system id 1 is skipped. ::: 4. Run `MicroXRCEAgent`. - It will automatically connect to all four vehicles: + It will automatically connect to all four vehicles: - ```sh - MicroXRCEAgent udp4 -p 8888 - ``` + ```sh + MicroXRCEAgent udp4 -p 8888 + ``` - ::: info - The simulator startup script automatically assigns a [unique namespace](../ros2/multi_vehicle.md) to each vehicle. + ::: info + The simulator startup script automatically assigns a [unique namespace](../ros2/multi_vehicle.md) to each vehicle. ::: @@ -117,27 +117,27 @@ To build an example setup, follow the step below: 1. Clone the PX4/PX4-Autopilot code, then build the SITL code - ```sh - cd Firmware_clone - git submodule update --init --recursive - DONT_RUN=1 make px4_sitl_default gazebo-classic - ``` + ```sh + cd Firmware_clone + git submodule update --init --recursive + DONT_RUN=1 make px4_sitl_default gazebo-classic + ``` 2. Source your environment: - ```sh - source Tools/simulation/gazebo-classic/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default - export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd):$(pwd)/Tools/simulation/gazebo-classic/sitl_gazebo - ``` + ```sh + source Tools/simulation/gazebo-classic/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default + export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd):$(pwd)/Tools/simulation/gazebo-classic/sitl_gazebo + ``` 3. Run launch file: - ```sh - roslaunch px4 multi_uav_mavros_sitl.launch - ``` + ```sh + roslaunch px4 multi_uav_mavros_sitl.launch + ``` - ::: info - You can specify `gui:=false` in the above _roslaunch_ to launch Gazebo Classic without its UI. + ::: info + You can specify `gui:=false` in the above _roslaunch_ to launch Gazebo Classic without its UI. ::: @@ -253,45 +253,45 @@ This section shows how developers can simulate multiple vehicles using vehicle m 1. Install _xmlstarlet_ from your Linux terminal: - ```sh - sudo apt install xmlstarlet - ``` + ```sh + sudo apt install xmlstarlet + ``` 2. Use _roslaunch_ with the **multi_uav_mavros_sitl_sdf.launch** launch file: - ````sh - roslaunch multi_uav_mavros_sitl_sdf.launch vehicle:= - ``` + ````sh + roslaunch multi_uav_mavros_sitl_sdf.launch vehicle:= + ``` - ::: info - Note that the vehicle model file name argument is optional (`vehicle:=`); if omitted the [plane model](https://github.com/PX4/PX4-SITL_gazebo-classic/tree/master/models/plane) will be used by default. + ::: info + Note that the vehicle model file name argument is optional (`vehicle:=`); if omitted the [plane model](https://github.com/PX4/PX4-SITL_gazebo-classic/tree/master/models/plane) will be used by default. ::: - ```` + ```` This method is similar to using the xacro except that the SITL/Gazebo Classic port number is automatically inserted by _xmstarlet_ for each spawned vehicle, and does not need to be specified in the SDF file. To add a new vehicle, you need to make sure the model can be found (in order to spawn it in Gazebo Classic), and PX4 needs to have an appropriate corresponding startup script. 1. You can choose to do either of: - - modify the **single_vehicle_spawn_sdf.launch** file to point to the location of your model by changing the line below to point to your model: + - modify the **single_vehicle_spawn_sdf.launch** file to point to the location of your model by changing the line below to point to your model: - ```sh - $(find px4)/Tools/simulation/gazebo/sitl_gazebo-classic/models/$(arg vehicle)/$(arg vehicle).sdf - ``` + ```sh + $(find px4)/Tools/simulation/gazebo/sitl_gazebo-classic/models/$(arg vehicle)/$(arg vehicle).sdf + ``` - ::: info - Ensure you set the `vehicle` argument even if you hardcode the path to your model. + ::: info + Ensure you set the `vehicle` argument even if you hardcode the path to your model. ::: - - copy your model into the folder indicated above (following the same path convention). + - copy your model into the folder indicated above (following the same path convention). 2. The `vehicle` argument is used to set the `PX4_SIM_MODEL` environment variable, which is used by the default rcS (startup script) to find the corresponding startup settings file for the model. - Within PX4 these startup files can be found in the **PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/** directory. - For example, here is the plane model's [startup script](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/airframes/1030_gazebo-classic_plane). - For this to work, the PX4 node in the launch file is passed arguments that specify the _rcS_ file (**etc/init.d/rcS**) and the location of the rootfs etc directory (`$(find px4)/build_px4_sitl_default/etc`). - For simplicity, it is suggested that the startup file for the model be placed alongside PX4's in **PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/**. + Within PX4 these startup files can be found in the **PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/** directory. + For example, here is the plane model's [startup script](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/airframes/1030_gazebo-classic_plane). + For this to work, the PX4 node in the launch file is passed arguments that specify the _rcS_ file (**etc/init.d/rcS**) and the location of the rootfs etc directory (`$(find px4)/build_px4_sitl_default/etc`). + For simplicity, it is suggested that the startup file for the model be placed alongside PX4's in **PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/**. ## Additional Resources diff --git a/docs/ko/sim_gazebo_gz/gazebo_models.md b/docs/ko/sim_gazebo_gz/gazebo_models.md index 8d01f8e58b..880a74758e 100644 --- a/docs/ko/sim_gazebo_gz/gazebo_models.md +++ b/docs/ko/sim_gazebo_gz/gazebo_models.md @@ -101,15 +101,15 @@ This example explains how you can run standalone mode PX4 via two terminals on o 1. In one terminal run - ```sh - PX4_GZ_STANDALONE=1 PX4_SYS_AUTOSTART=4001 PX4_SIM_MODEL=gz_x500 PX4_GZ_WORLD=windy ./build/px4_sitl_default/bin/px4 - ``` + ```sh + PX4_GZ_STANDALONE=1 PX4_SYS_AUTOSTART=4001 PX4_SIM_MODEL=gz_x500 PX4_GZ_WORLD=windy ./build/px4_sitl_default/bin/px4 + ``` 2. In a second terminal window run: - ```sh - python3 /path/to/simulation-gazebo --world windy - ``` + ```sh + python3 /path/to/simulation-gazebo --world windy + ``` No additional parameters have to be passed to the simulation-gazebo script in order for this example to work, as all Gazebo nodes run on the same host. See the example below for a more involved scenario with different hosts. diff --git a/docs/ko/sim_gazebo_gz/plugins.md b/docs/ko/sim_gazebo_gz/plugins.md index 9723f44177..0f48c53db8 100644 --- a/docs/ko/sim_gazebo_gz/plugins.md +++ b/docs/ko/sim_gazebo_gz/plugins.md @@ -43,8 +43,8 @@ When developing new plugins: 1. **Follow the plugin architecture** - Implement desired interfaces. - You can start by copying the [Template plugin](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/simulation/gz_plugins/template_plugin) which is a simple example that only implements `ISystemPreUpdate` and `ISystemPostUpdate`. - The interfaces are specified in the official [Gazebo documentation](https://gazebosim.org/api/sim/9/createsystemplugins.html). + You can start by copying the [Template plugin](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/simulation/gz_plugins/template_plugin) which is a simple example that only implements `ISystemPreUpdate` and `ISystemPostUpdate`. + The interfaces are specified in the official [Gazebo documentation](https://gazebosim.org/api/sim/9/createsystemplugins.html). 2. **Register your plugin** - Add it to [server.config](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/simulation/gz_bridge/server.config) for discovery. diff --git a/docs/ko/sim_gazebo_gz/tools_avl_automation.md b/docs/ko/sim_gazebo_gz/tools_avl_automation.md index 69f513013e..d25780226b 100644 --- a/docs/ko/sim_gazebo_gz/tools_avl_automation.md +++ b/docs/ko/sim_gazebo_gz/tools_avl_automation.md @@ -11,26 +11,26 @@ The results will then automatically be written into a provided plugin template t To setup the tool: 1. Download AVL 3.36 from . - The file for AVL version 3.36 can be found about halfway down the page. + The file for AVL version 3.36 can be found about halfway down the page. 2. After downloading, extract AVL and move it to the home directory using: - ```sh - sudo tar -xf avl3.36.tgz - mv ./Avl /home/ - ``` + ```sh + sudo tar -xf avl3.36.tgz + mv ./Avl /home/ + ``` 3. Follow the **index.md** found in `./Avl` to finish the setup process for AVL (this requires that you set up `plotlib` and `eispack` libraries). - We recommend using the `gfortran` compile option, which might further require that you to install `gfortran`. - On Ubuntu can be done by running: + We recommend using the `gfortran` compile option, which might further require that you to install `gfortran`. + On Ubuntu can be done by running: - ```sh - sudo apt update - sudo apt install gfortran - ``` + ```sh + sudo apt update + sudo apt install gfortran + ``` - When running the Makefile for AVL, you might encounter an `Error 1` message stating that there is a directory missing. - This does not prevent AVL from working for our purposes. + When running the Makefile for AVL, you might encounter an `Error 1` message stating that there is a directory missing. + This does not prevent AVL from working for our purposes. Once the process described in the AVL README is completed, AVL is ready to be used. No further set up is required on the side of the AVL or the tool. @@ -49,16 +49,16 @@ To run the tool for your plane: 2. Run the tool on your yml file: - ```sh - python input_avl.py .yml - ``` + ```sh + python input_avl.py .yml + ``` - Note that the `yaml` and `argparse` packages must be present in your Python environment. + Note that the `yaml` and `argparse` packages must be present in your Python environment. 3. The tool prompts for a range of vehicle specific parameters that are needed in order to specify the geometry and physical properties of the plane. - You can either: - - select a predefined model template (such as a Cessna or a VTOL), which has a known number of control surfaces, and just modify some physical properties, or - - define a completely custom model + You can either: + - select a predefined model template (such as a Cessna or a VTOL), which has a known number of control surfaces, and just modify some physical properties, or + - define a completely custom model Once the script has been executed, the generated `.avl`, `.sdf` and a plot of the proposed control surfaces can be found in `` directory. The sdf file is the generated Advanced Lift Drag Plugin that can be copied and pasted into a model.sdf file, which can then be run in Gazebo. diff --git a/docs/ko/sim_jmavsim/index.md b/docs/ko/sim_jmavsim/index.md index e64a540c29..5e1a543f4c 100644 --- a/docs/ko/sim_jmavsim/index.md +++ b/docs/ko/sim_jmavsim/index.md @@ -30,23 +30,23 @@ Follow the instructions below to install jMAVSim on macOS. To setup the environment for [jMAVSim](../sim_jmavsim/index.md) simulation: 1. Install a recent version of Java (e.g. Java 15). - You can download [Java 15 (or later) from Oracle](https://www.oracle.com/java/technologies/downloads/?er=221886) or use [Eclipse Temurin](https://adoptium.net): + You can download [Java 15 (or later) from Oracle](https://www.oracle.com/java/technologies/downloads/?er=221886) or use [Eclipse Temurin](https://adoptium.net): - ```sh - brew install --cask temurin - ``` + ```sh + brew install --cask temurin + ``` 2. Install jMAVSim: - ```sh - brew install px4-sim-jmavsim - ``` + ```sh + brew install px4-sim-jmavsim + ``` - :::warning - PX4 v1.11 and beyond require at least JDK 15 for jMAVSim simulation. + :::warning + PX4 v1.11 and beyond require at least JDK 15 for jMAVSim simulation. - For earlier versions, macOS users might see the error `Exception in thread "main" java.lang.UnsupportedClassVersionError:`. - You can find the fix in the [jMAVSim with SITL > Troubleshooting](../sim_jmavsim/index.md#troubleshooting)). + For earlier versions, macOS users might see the error `Exception in thread "main" java.lang.UnsupportedClassVersionError:`. + You can find the fix in the [jMAVSim with SITL > Troubleshooting](../sim_jmavsim/index.md#troubleshooting)). ::: diff --git a/docs/ko/simulation/index.md b/docs/ko/simulation/index.md index 0ad31c3091..aee31288f8 100644 --- a/docs/ko/simulation/index.md +++ b/docs/ko/simulation/index.md @@ -217,20 +217,20 @@ The simulated camera is a gazebo classic plugin that implements the [MAVLink Cam PX4 connects/integrates with this camera in _exactly the same way_ as it would with any other MAVLink camera: 1. [TRIG_INTERFACE](../advanced_config/parameter_reference.md#TRIG_INTERFACE) must be set to `3` to configure the camera trigger driver for use with a MAVLink camera - :::tip - In this mode the driver just sends a [CAMERA_TRIGGER](https://mavlink.io/en/messages/common.html#CAMERA_TRIGGER) message whenever an image capture is requested. - For more information see [Cameras Connected to Flight Controller Outputs](../camera/fc_connected_camera.md). + :::tip + In this mode the driver just sends a [CAMERA_TRIGGER](https://mavlink.io/en/messages/common.html#CAMERA_TRIGGER) message whenever an image capture is requested. + For more information see [Cameras Connected to Flight Controller Outputs](../camera/fc_connected_camera.md). ::: 2. PX4는 GCS와 (시뮬레이터) MAVLink 카메라 사이의 모든 카메라 명령을 전달하여야 합니다. - You can do this by starting [MAVLink](../modules/modules_communication.md#mavlink) with the `-f` flag as shown, specifying the UDP ports for the new connection. + You can do this by starting [MAVLink](../modules/modules_communication.md#mavlink) with the `-f` flag as shown, specifying the UDP ports for the new connection. - ```sh - mavlink start -u 14558 -o 14530 -r 4000 -f -m camera - ``` + ```sh + mavlink start -u 14558 -o 14530 -r 4000 -f -m camera + ``` - ::: info - More than just the camera MAVLink messages will be forwarded, but the camera will ignore those that it doesn't consider relevant. + ::: info + More than just the camera MAVLink messages will be forwarded, but the camera will ignore those that it doesn't consider relevant. ::: diff --git a/docs/ko/telemetry/crsf_telemetry.md b/docs/ko/telemetry/crsf_telemetry.md index b34c670497..ee024e976d 100644 --- a/docs/ko/telemetry/crsf_telemetry.md +++ b/docs/ko/telemetry/crsf_telemetry.md @@ -77,36 +77,36 @@ To use this feature you must build and upload custom firmware that includes [crs 1. [Setup a development environment](../dev_setup/dev_env.md) for building PX4. - As part of this process you will have used `git` to fetch source code into the **PX4-Autopilot** directory. + As part of this process you will have used `git` to fetch source code into the **PX4-Autopilot** directory. 2. Open a terminal and `cd` into the `PX4-Autopilot` directory. - ```sh - cd PX4-Autopilot - ``` + ```sh + cd PX4-Autopilot + ``` 3. Launch the [PX4 board config tool (`menuconfig`)](../hardware/porting_guide_config.md#px4-menuconfig-setup) for your `make` target using the `boardconfig` option (here the target is the [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) flight controller): - ```sh - make ark_fmu-v6x_default boardconfig - ``` + ```sh + make ark_fmu-v6x_default boardconfig + ``` 4. In the PX4 board config tool: - - Disable the default `rc_input` module - 1. Navigate to the `drivers` submenu, then scroll down to highlight `rc_input`. - 2. Use the enter key to remove the `*` from `rc_input` checkbox. - - Enable the `crsf_rc` module - 1. Scroll to highlight the `RC` submenu, then press enter to open it. - 2. Scroll to highlight `crsf_rc` and press enter to enable it. + - Disable the default `rc_input` module + 1. Navigate to the `drivers` submenu, then scroll down to highlight `rc_input`. + 2. Use the enter key to remove the `*` from `rc_input` checkbox. + - Enable the `crsf_rc` module + 1. Scroll to highlight the `RC` submenu, then press enter to open it. + 2. Scroll to highlight `crsf_rc` and press enter to enable it. - Save and exit the PX4 board config tool. + Save and exit the PX4 board config tool. 5. [Build the PX4 source code](../dev_setup/building_px4.md) with your changes (again assuming you are using ARKV6X): - ```sh - make ark_fmu-v6x_default - ``` + ```sh + make ark_fmu-v6x_default + ``` This will build your custom firmware, which must now be uploaded to your flight controller. @@ -128,11 +128,11 @@ Alternatively you can use QGroundControl to install the firmware, as described i 1. [RC_CRSF_PRT_CFG](../advanced_config/parameter_reference.md#RC_CRSF_PRT_CFG) — Set to the port that is connected to the CRSF receiver (such as `TELEM1`). - This [configures the serial port](../peripherals/serial_configuration.md) to use the CRSF protocol. - Note that some serial ports may already have a [default serial port mapping](../peripherals/serial_configuration.md#default-serial-port-configuration) or [default MAVLink serial port mapping](../peripherals/mavlink_peripherals.md#default-mavlink-ports) that you will have to un-map before you can assign the port to CRSF. - For example, if you want to use `TELEM1` or `TELEM2` you first need to modify [MAV_0_CONFIG](../advanced_config/parameter_reference.md#MAV_0_CONFIG) or [MAV_1_CONFIG](../advanced_config/parameter_reference.md#MAV_1_CONFIG) to stop setting those ports. + This [configures the serial port](../peripherals/serial_configuration.md) to use the CRSF protocol. + Note that some serial ports may already have a [default serial port mapping](../peripherals/serial_configuration.md#default-serial-port-configuration) or [default MAVLink serial port mapping](../peripherals/mavlink_peripherals.md#default-mavlink-ports) that you will have to un-map before you can assign the port to CRSF. + For example, if you want to use `TELEM1` or `TELEM2` you first need to modify [MAV_0_CONFIG](../advanced_config/parameter_reference.md#MAV_0_CONFIG) or [MAV_1_CONFIG](../advanced_config/parameter_reference.md#MAV_1_CONFIG) to stop setting those ports. - 포트 전송속도는 드라이버에 의해 설정되므로, 추가로 설정하지 않아도 됩니다. + 포트 전송속도는 드라이버에 의해 설정되므로, 추가로 설정하지 않아도 됩니다. 2. [RC_CRSF_TEL_EN](../advanced_config/parameter_reference.md#RC_CRSF_TEL_EN) — Enable to activate Crossfire telemetry. diff --git a/docs/ko/telemetry/jfi_telemetry.md b/docs/ko/telemetry/jfi_telemetry.md index 9fbd07f31d..4f7847e4a8 100644 --- a/docs/ko/telemetry/jfi_telemetry.md +++ b/docs/ko/telemetry/jfi_telemetry.md @@ -111,9 +111,9 @@ However if you change the baud rate from 57600 you will need to create and use a 1. Disable SiK Radio in QGC (**Application Settings → General → AutoConnect**). 2. Create a new link configuration: - - Go to **Application Settings → Comms Links**. - - Click **Add**. - - Set **Type** to **Serial**, configure the **Serial Port** and **Baud Rate** to match the J.Fi device. + - Go to **Application Settings → Comms Links**. + - Click **Add**. + - Set **Type** to **Serial**, configure the **Serial Port** and **Baud Rate** to match the J.Fi device. 3. Select **Connect** to connect with the new configuration. ## J.Fi Configuration diff --git a/docs/ko/telemetry/telemetry_wifi.md b/docs/ko/telemetry/telemetry_wifi.md index a1dbdc3693..41ec3d3827 100644 --- a/docs/ko/telemetry/telemetry_wifi.md +++ b/docs/ko/telemetry/telemetry_wifi.md @@ -1,6 +1,6 @@ # WiFi 텔레메트리 라디오 -WiFi telemetry enables MAVLink communication between a WiFi radio on a vehicle and a GCS.\ +WiFi telemetry enables MAVLink communication between a WiFi radio on a vehicle and a GCS. WiFi typically offers shorter range than a normal telemetry radio, but supports higher data rates, and makes it easier to support FPV/video feeds. 일반적으로 차량용 라디오 장치 하나만 필요합니다 (지상국에 이미 WiFi가 있다고 가정). diff --git a/docs/ko/test_and_ci/fuzz_tests.md b/docs/ko/test_and_ci/fuzz_tests.md index 5afba73dd8..d6f87791bb 100644 --- a/docs/ko/test_and_ci/fuzz_tests.md +++ b/docs/ko/test_and_ci/fuzz_tests.md @@ -15,14 +15,14 @@ To write a fuzz test: 1. Start by writing a "normal" [functional test](../test_and_ci/unit_tests.md#functional-test). 2. Make sure the file name contains `fuzz` (lower case). - For example `my_driver_fuzz_tests.cpp`. + For example `my_driver_fuzz_tests.cpp`. 3. Add one or more fuzz tests to the file. - 예: + 예: ```cpp #include #include - + void myDriverNeverCrashes(const std::string& s) { MyDriver driver; driver.handleInput(s); diff --git a/docs/ko/test_and_ci/index.md b/docs/ko/test_and_ci/index.md index bfe2a5af38..88754b19d7 100644 --- a/docs/ko/test_and_ci/index.md +++ b/docs/ko/test_and_ci/index.md @@ -9,8 +9,8 @@ Test topics include: - [Unit Tests](../test_and_ci/unit_tests.md) - [Continuous Integration (CI)](../test_and_ci/continous_integration.md) - [Integration Testing](../test_and_ci/integration_testing.md) - - [MAVSDK Integration Testing](../test_and_ci/integration_testing_mavsdk.md) - - [PX4 ROS2 Interface Library Integration Testing](../test_and_ci/integration_testing_px4_ros2_interface.md) - - [ROS 1 Integration Testing](../test_and_ci/integration_testing_ros1_mavros.md) (Deprecated) + - [MAVSDK Integration Testing](../test_and_ci/integration_testing_mavsdk.md) + - [PX4 ROS2 Interface Library Integration Testing](../test_and_ci/integration_testing_px4_ros2_interface.md) + - [ROS 1 Integration Testing](../test_and_ci/integration_testing_ros1_mavros.md) (Deprecated) - [Docker](../test_and_ci/docker.md) - [Maintenance](../test_and_ci/maintenance.md) diff --git a/docs/ko/test_and_ci/integration_testing_ros1_mavros.md b/docs/ko/test_and_ci/integration_testing_ros1_mavros.md index 1097c246fb..02882687a5 100644 --- a/docs/ko/test_and_ci/integration_testing_ros1_mavros.md +++ b/docs/ko/test_and_ci/integration_testing_ros1_mavros.md @@ -65,73 +65,73 @@ To write a new test: 1. Create a new test script by copying the empty test skeleton below: - ```python - #!/usr/bin/env python - # [... LICENSE ...] - - # - # @author Example Author - # - PKG = 'px4' - - import unittest - import rospy - import rosbag - - from sensor_msgs.msg import NavSatFix - - class MavrosNewTest(unittest.TestCase): - """ - Test description - """ - - def setUp(self): - rospy.init_node('test_node', anonymous=True) - rospy.wait_for_service('mavros/cmd/arming', 30) - - rospy.Subscriber("mavros/global_position/global", NavSatFix, self.global_position_callback) - self.rate = rospy.Rate(10) # 10hz - self.has_global_pos = False - - def tearDown(self): - pass - - # - # General callback functions used in tests - # - def global_position_callback(self, data): - self.has_global_pos = True - - def test_method(self): - """Test method description""" - - # FIXME: hack to wait for simulation to be ready - while not self.has_global_pos: - self.rate.sleep() - - # TODO: execute test - - if __name__ == '__main__': - import rostest - rostest.rosrun(PKG, 'mavros_new_test', MavrosNewTest) - ``` + ```python + #!/usr/bin/env python + # [... LICENSE ...] + + # + # @author Example Author + # + PKG = 'px4' + + import unittest + import rospy + import rosbag + + from sensor_msgs.msg import NavSatFix + + class MavrosNewTest(unittest.TestCase): + """ + Test description + """ + + def setUp(self): + rospy.init_node('test_node', anonymous=True) + rospy.wait_for_service('mavros/cmd/arming', 30) + + rospy.Subscriber("mavros/global_position/global", NavSatFix, self.global_position_callback) + self.rate = rospy.Rate(10) # 10hz + self.has_global_pos = False + + def tearDown(self): + pass + + # + # General callback functions used in tests + # + def global_position_callback(self, data): + self.has_global_pos = True + + def test_method(self): + """Test method description""" + + # FIXME: hack to wait for simulation to be ready + while not self.has_global_pos: + self.rate.sleep() + + # TODO: execute test + + if __name__ == '__main__': + import rostest + rostest.rosrun(PKG, 'mavros_new_test', MavrosNewTest) + ``` 2. Run the new test only - Start the simulator: - ```sh - cd - source Tools/simulation/gazebo/setup_gazebo.bash - roslaunch launch/mavros_posix_sitl.launch - ``` + ```sh + cd + source Tools/simulation/gazebo/setup_gazebo.bash + roslaunch launch/mavros_posix_sitl.launch + ``` - Run test (in a new shell): - ```sh - cd - source Tools/simulation/gazebo/setup_gazebo.bash - rosrun px4 mavros_new_test.py - ``` + ```sh + cd + source Tools/simulation/gazebo/setup_gazebo.bash + rosrun px4 mavros_new_test.py + ``` 3. Add new test node to a launch file - In `test/` create a new `.test` ROS launch file. @@ -145,9 +145,9 @@ To write a new test: 예: - ```sh - tests_: rostest - @"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_.test - ``` + ```sh + tests_: rostest + @"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_.test + ``` Run the tests as described above. diff --git a/docs/ko/test_and_ci/unit_tests.md b/docs/ko/test_and_ci/unit_tests.md index a4eb12d9fd..77a39b777b 100644 --- a/docs/ko/test_and_ci/unit_tests.md +++ b/docs/ko/test_and_ci/unit_tests.md @@ -126,34 +126,34 @@ It can be run directly in a debugger, however be careful to only run one test pe 10. Within [tests_main.h](https://github.com/PX4/PX4-Autopilot/blob/main/src/systemcmds/tests/tests_main.h) define the new test: - ```cpp - extern int test_[description](int argc, char *argv[]); - ``` + ```cpp + extern int test_[description](int argc, char *argv[]); + ``` 11. Within [tests_main.c](https://github.com/PX4/PX4-Autopilot/blob/main/src/systemcmds/tests/tests_main.c) add description name, test function and option: - ```cpp - ... - } tests[] = { - {... - {"[description]", test_[description], OPTION}, - ... - } - ``` + ```cpp + ... + } tests[] = { + {... + {"[description]", test_[description], OPTION}, + ... + } + ``` - `OPTION` can be `OPT_NOALLTEST`,`OPT_NOJIGTEST` or `0` and is considered if within px4 shell one of the two commands are called: + `OPTION` can be `OPT_NOALLTEST`,`OPT_NOJIGTEST` or `0` and is considered if within px4 shell one of the two commands are called: - ```sh - pxh> tests all - ``` + ```sh + pxh> tests all + ``` - 또는 + 또는 - ```sh - pxh> tests jig - ``` + ```sh + pxh> tests jig + ``` - If a test has option `OPT_NOALLTEST`, then that test will be excluded when calling `tests all`. The same is true for `OPT_NOJITEST` when command `test jig` is called. Option `0` means that the test is never excluded, which is what most developer want to use. + If a test has option `OPT_NOALLTEST`, then that test will be excluded when calling `tests all`. The same is true for `OPT_NOJITEST` when command `test jig` is called. Option `0` means that the test is never excluded, which is what most developer want to use. 12. Add the test `test_[description].cpp` to the [CMakeLists.txt](https://github.com/PX4/PX4-Autopilot/blob/main/src/systemcmds/tests/CMakeLists.txt). diff --git a/docs/ko/test_cards/mc_04_failsafe_testing.md b/docs/ko/test_cards/mc_04_failsafe_testing.md index 4ee46e5f3b..81915c1e58 100644 --- a/docs/ko/test_cards/mc_04_failsafe_testing.md +++ b/docs/ko/test_cards/mc_04_failsafe_testing.md @@ -9,10 +9,10 @@ Test RC loss, data link loss, and low battery failsafes. - Verify RC Loss action is Return to Land - Verify Data Link Loss action is Return to Land and the timeout is 10 seconds - Verify Battery failsafe - - Action is Return to Land - - Battery Warn Level is 25% - - Battery Failsafe Level is 20% - - Battery Emergency Level is 15% + - Action is Return to Land + - Battery Warn Level is 25% + - Battery Failsafe Level is 20% + - Battery Emergency Level is 15% ## Flight Tests diff --git a/docs/ko/uart/user_configurable_serial_driver.md b/docs/ko/uart/user_configurable_serial_driver.md index ec6b2c2370..3a5b9b65cf 100644 --- a/docs/ko/uart/user_configurable_serial_driver.md +++ b/docs/ko/uart/user_configurable_serial_driver.md @@ -26,33 +26,33 @@ 1. Create a YAML module configuration file: - - Add a new file in the driver's source directory named **module.yaml** - - Insert the following text and adjust as needed: + - Add a new file in the driver's source directory named **module.yaml** + - Insert the following text and adjust as needed: - ```cmake - module_name: uLanding Radar - serial_config: - - command: ulanding_radar start -d ${SERIAL_DEV} -b p:${BAUD_PARAM} - port_config_param: - name: SENS_ULAND_CFG - group: Sensors - ``` + ```cmake + module_name: uLanding Radar + serial_config: + - command: ulanding_radar start -d ${SERIAL_DEV} -b p:${BAUD_PARAM} + port_config_param: + name: SENS_ULAND_CFG + group: Sensors + ``` - ::: info - The full documentation of the module configuration file can be found in the [validation/module_schema.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/validation/module_schema.yaml) file. - This is also used to validate all configuration files in CI. + ::: info + The full documentation of the module configuration file can be found in the [validation/module_schema.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/validation/module_schema.yaml) file. + This is also used to validate all configuration files in CI. ::: 2. Add the module configuration to the **CMakeLists.txt** file for the driver module: - ```cmake - px4_add_module( - MODULE drivers__ulanding - MAIN ulanding_radar - SRCS - ulanding.cpp - MODULE_CONFIG - module.yaml - ) - ``` + ```cmake + px4_add_module( + MODULE drivers__ulanding + MAIN ulanding_radar + SRCS + ulanding.cpp + MODULE_CONFIG + module.yaml + ) + ```