Compare commits
96 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b6df1c6388 | |||
| 6fc9720e25 | |||
| 569849665f | |||
| db8a1f11a7 | |||
| 8669947bcb | |||
| 1aad8b6ec9 | |||
| 7b68c5dbfc | |||
| b2672910da | |||
| 05394162ce | |||
| d1da30911e | |||
| 264b8fe277 | |||
| 47c0fef8c8 | |||
| ae60c66613 | |||
| a20afc88c8 | |||
| 2e84e55d93 | |||
| 472e0657b5 | |||
| b4395d5960 | |||
| 63ec2f0406 | |||
| e0cdcdb436 | |||
| 3962419669 | |||
| 63e257782a | |||
| fd2b7cbea4 | |||
| 5f5a1aa4ab | |||
| 1840c0db48 | |||
| 89c6d24946 | |||
| af6bf931c1 | |||
| fc8e2021e7 | |||
| e6f60ef403 | |||
| 944b3e763a | |||
| 271cb49597 | |||
| 9015001b42 | |||
| ce207837cf | |||
| 3a734bc846 | |||
| 9062d0cc7d | |||
| b2b80e8075 | |||
| 2eac6cca38 | |||
| fe1abb5b92 | |||
| 073013cf85 | |||
| 547582b16b | |||
| 8f2c36689d | |||
| 30fcb4fcb1 | |||
| ec436d3be3 | |||
| 6ec8dec63a | |||
| edfcdaa008 | |||
| a1ee9eb2c4 | |||
| 4a697d0191 | |||
| db3f33760e | |||
| dd09cdf986 | |||
| 4a5eabb61e | |||
| 248f113141 | |||
| c1d15d0e09 | |||
| 8689c00be7 | |||
| 17e843a985 | |||
| 44ff6d9c62 | |||
| 747bcc9db5 | |||
| c41216376a | |||
| 88c1412d25 | |||
| 01bf700f3d | |||
| 0bb9e5952a | |||
| 70054fc567 | |||
| 7a98c87fcb | |||
| 80b5cf2ed7 | |||
| 9ffd31097d | |||
| f99759db87 | |||
| 231128c68e | |||
| 5622565eea | |||
| 7887f16daa | |||
| 0763bbe2cf | |||
| bac009c2b8 | |||
| ac2627cca9 | |||
| 61e2f566ca | |||
| 3d30eaae5f | |||
| e052f35664 | |||
| 2bc9cb4ead | |||
| 5211d9c92e | |||
| 575923b534 | |||
| e37f20e94d | |||
| cb74cee970 | |||
| 70536766db | |||
| 40bba0069d | |||
| 35004e357c | |||
| 923257779a | |||
| a24b3a121c | |||
| 85cab5a4db | |||
| 859ba81e33 | |||
| 4aff095f9b | |||
| 796efeebe7 | |||
| 9d02698987 | |||
| e1a7fbce71 | |||
| a87456b38b | |||
| 33a5122916 | |||
| b53ecf7f68 | |||
| 138427b3a8 | |||
| 785ea1a137 | |||
| 8e5cd59502 | |||
| df11aa1d69 |
@@ -100,3 +100,6 @@
|
||||
[submodule "src/drivers/ins/microstrain/mip_sdk"]
|
||||
path = src/drivers/ins/microstrain/mip_sdk
|
||||
url = https://github.com/PX4/LORD-MicroStrain_mip_sdk.git
|
||||
[submodule "src/drivers/ins/sbgecom/sbgECom"]
|
||||
path = src/drivers/ins/sbgecom/sbgECom
|
||||
url = https://github.com/PX4/sbgECom.git
|
||||
|
||||
@@ -36,6 +36,11 @@ CONFIG:
|
||||
buildType: RelWithDebInfo
|
||||
settings:
|
||||
CONFIG: px4_sitl_test
|
||||
px4_sitl_zenoh:
|
||||
short: px4_sitl_zenoh
|
||||
buildType: RelWithDebInfo
|
||||
settings:
|
||||
CONFIG: px4_sitl_test
|
||||
px4_io-v2_default:
|
||||
short: px4_io-v2
|
||||
buildType: MinSizeRel
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
"files.watcherExclude": {
|
||||
"**/build/**": true
|
||||
},
|
||||
"git.detectSubmodulesLimit": 20,
|
||||
"git.detectSubmodulesLimit": 25,
|
||||
"git.ignoreLimitWarning": true,
|
||||
"githubPullRequests.defaultMergeMethod": "squash",
|
||||
"githubPullRequests.telemetry.enabled": false,
|
||||
|
||||
@@ -73,6 +73,11 @@ menu "Toolchain"
|
||||
help
|
||||
relative path to the ROMFS root directory
|
||||
|
||||
config BOARD_ADDITIONAL_INIT
|
||||
string "Additional init file"
|
||||
help
|
||||
additional configurable init file to include in the ROMFS
|
||||
|
||||
config BOARD_IO
|
||||
string "IO board name"
|
||||
default "px4_io-v2_default"
|
||||
|
||||
@@ -19,7 +19,7 @@ See [the documentation on Maintainers](https://docs.px4.io/main/en/contribute/ma
|
||||
| Matthias Grob | Multirotor | [@MaEtUgR](https://github.com/MaEtUgR) | maetugr |
|
||||
| Silvan Fuhrer | Fixed-Wing / VTOL | [@sfuhrer](https://github.com/sfuhrer) | sfuhrer |
|
||||
| Christian Friedrich | Rover | [@chfriedrich98](https://github.com/chfriedrich98) | christian982564 |
|
||||
| Pedro Roque | Spacecraft | [@Pedro-Roque](https://github.com/Pedro-Roque) | .pedroroque | <padr@kth.se>
|
||||
| Pedro Roque | Spacecraft | [@Pedro-Roque](https://github.com/Pedro-Roque) | .pedroroque | <roque@caltech.edu>
|
||||
| Jacob Dahl | Simulation | [@dakejahl](https://github.com/dakejahl) | dakejahl | <dahl.jakejacob@gmail.com>
|
||||
|
||||
|
||||
|
||||
@@ -511,6 +511,7 @@ validate_module_configs:
|
||||
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \
|
||||
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" \
|
||||
-not -path "$(SRC_DIR)/src/modules/uxrce_dds_client/dds_topics.yaml" \
|
||||
-not -path "$(SRC_DIR)/src/modules/zenoh/dds_topics.yaml" \
|
||||
-not -path "$(SRC_DIR)/src/modules/zenoh/zenoh-pico/*" \
|
||||
-not -path "$(SRC_DIR)/src/lib/events/libevents/*" \
|
||||
-not -path "$(SRC_DIR)/src/lib/cdrstream/*" \
|
||||
|
||||
@@ -202,6 +202,31 @@ foreach(board_rc_file ${OPTIONAL_BOARD_RC})
|
||||
|
||||
endforeach()
|
||||
|
||||
if(config_additional_init)
|
||||
if(EXISTS "${PX4_BOARD_DIR}/init/${config_additional_init}")
|
||||
file(RELATIVE_PATH rc_file_relative ${PX4_SOURCE_DIR} ${PX4_BOARD_DIR}/init/${config_additional_init})
|
||||
message(STATUS "ROMFS: Adding ${rc_file_relative} -> /etc/init.d/rc.additional_init")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${romfs_gen_root_dir}/init.d/rc.additional_init
|
||||
${config_additional_init}.stamp
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PX4_BOARD_DIR}/init/${config_additional_init} ${romfs_gen_root_dir}/init.d/rc.additional_init
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${config_additional_init}.stamp
|
||||
DEPENDS
|
||||
${PX4_BOARD_DIR}/init/${config_additional_init}
|
||||
romfs_copy.stamp
|
||||
COMMENT "ROMFS: copying ${config_additional_init}"
|
||||
)
|
||||
|
||||
list(APPEND extras_dependencies
|
||||
${config_additional_init}.stamp
|
||||
)
|
||||
else()
|
||||
message(FATAL_ERROR "BOARD_ADDITIONAL_INIT file not found at: ${PX4_BOARD_DIR}/init/${config_additional_init}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# board extras
|
||||
set(OPTIONAL_BOARD_EXTRAS)
|
||||
|
||||
@@ -56,6 +56,17 @@ then
|
||||
fi
|
||||
unset BOARD_RC_DEFAULTS
|
||||
|
||||
#
|
||||
# Optional additional init file: rc.additional_init
|
||||
#
|
||||
set BOARD_RC_ADDITIONAL_INIT ${R}etc/init.d/rc.additional_init
|
||||
if [ -f $BOARD_RC_ADDITIONAL_INIT ]
|
||||
then
|
||||
echo "Board additional init: ${BOARD_RC_ADDITIONAL_INIT}"
|
||||
. $BOARD_RC_ADDITIONAL_INIT
|
||||
fi
|
||||
unset BOARD_RC_ADDITIONAL_INIT
|
||||
|
||||
#
|
||||
# Start system state indicator.
|
||||
#
|
||||
|
||||
@@ -34,7 +34,6 @@ param set-default COM_LOW_BAT_ACT 0
|
||||
param set-default NAV_DLL_ACT 0
|
||||
param set-default GF_ACTION 1
|
||||
param set-default NAV_RCL_ACT 1
|
||||
param set-default COM_POSCTL_NAVL 2
|
||||
|
||||
# disable attitude failure detection
|
||||
param set-default FD_FAIL_P 0
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DoF Spacecraft Model
|
||||
# @name KTH-ATMOS
|
||||
#
|
||||
# @type 2D Freeflyer with 8 thrusters - Planar motion
|
||||
# @type Free-Flyer
|
||||
# @class Spacecraft
|
||||
#
|
||||
# @maintainer Pedro Roque <padr@kth.se>
|
||||
# @output Motor1 back left thruster, +x thrust
|
||||
# @output Motor2 front left thruster, -x thrust
|
||||
# @output Motor3 back right thruster, +x thrust
|
||||
# @output Motor4 front right thruster, -x thrust
|
||||
# @output Motor5 front left thruster, +y thrust
|
||||
# @output Motor6 front right thruster, -y thrust
|
||||
# @output Motor7 back left thruster, +y thrust
|
||||
# @output Motor8 back right thruster, -y thrust
|
||||
#
|
||||
# @maintainer discower-io
|
||||
# @url https://atmos.discower.io
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.sc_defaults
|
||||
@@ -34,7 +45,6 @@ param set-default COM_LOW_BAT_ACT 0
|
||||
param set-default NAV_DLL_ACT 0
|
||||
param set-default GF_ACTION 1
|
||||
param set-default NAV_RCL_ACT 1
|
||||
param set-default COM_POSCTL_NAVL 2
|
||||
|
||||
# disable attitude failure detection
|
||||
param set-default FD_FAIL_P 0
|
||||
|
||||
@@ -324,6 +324,11 @@ fi
|
||||
|
||||
uxrce_dds_client start -t udp -p $uxrce_dds_port $uxrce_dds_ns
|
||||
|
||||
if param greater -s ZENOH_ENABLE 0
|
||||
then
|
||||
zenoh start
|
||||
fi
|
||||
|
||||
if param greater -s MNT_MODE_IN -1
|
||||
then
|
||||
gimbal start
|
||||
|
||||
@@ -45,7 +45,6 @@ param set-default COM_LOW_BAT_ACT 0
|
||||
param set-default NAV_DLL_ACT 0
|
||||
param set-default GF_ACTION 1
|
||||
param set-default NAV_RCL_ACT 1
|
||||
param set-default COM_POSCTL_NAVL 2
|
||||
|
||||
# disable attitude failure detection
|
||||
param set-default FD_FAIL_P 0
|
||||
|
||||
@@ -5,7 +5,17 @@
|
||||
# @type Free-Flyer
|
||||
# @class Spacecraft
|
||||
#
|
||||
# @output Motor1 back left thruster, +x thrust
|
||||
# @output Motor2 front left thruster, -x thrust
|
||||
# @output Motor3 back right thruster, +x thrust
|
||||
# @output Motor4 front right thruster, -x thrust
|
||||
# @output Motor5 front left thruster, +y thrust
|
||||
# @output Motor6 front right thruster, -y thrust
|
||||
# @output Motor7 back left thruster, +y thrust
|
||||
# @output Motor8 back right thruster, -y thrust
|
||||
#
|
||||
# @maintainer DISCOWER
|
||||
# @url https://atmos.discower.io
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.sc_defaults
|
||||
@@ -25,7 +35,6 @@ param set-default COM_LOW_BAT_ACT 0
|
||||
param set-default NAV_DLL_ACT 0
|
||||
param set-default GF_ACTION 1
|
||||
param set-default NAV_RCL_ACT 1
|
||||
param set-default COM_POSCTL_NAVL 2
|
||||
|
||||
# Set Mocap Vision frame
|
||||
param set EKF2_EV_CTRL 15
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
# End Setup for board specific configurations. #
|
||||
###############################################################################
|
||||
|
||||
#
|
||||
# Set SD logging mode
|
||||
#
|
||||
if param compare SDLOG_MODE 1
|
||||
then
|
||||
set LOGGER_ARGS "${LOGGER_ARGS} -e"
|
||||
@@ -28,8 +31,28 @@ then
|
||||
set LOGGER_ARGS "${LOGGER_ARGS} -a"
|
||||
fi
|
||||
|
||||
#
|
||||
# Set logging backend
|
||||
#
|
||||
if param compare SDLOG_BACKEND 1
|
||||
then
|
||||
set LOGGER_ARGS "${LOGGER_ARGS} -m file"
|
||||
fi
|
||||
|
||||
if ! param compare SDLOG_MODE -1
|
||||
if param compare SDLOG_BACKEND 2
|
||||
then
|
||||
set LOGGER_ARGS "${LOGGER_ARGS} -m mavlink"
|
||||
fi
|
||||
|
||||
if param compare SDLOG_BACKEND 3
|
||||
then
|
||||
set LOGGER_ARGS "${LOGGER_ARGS} -m all"
|
||||
fi
|
||||
|
||||
#
|
||||
# Start logger if any logging backend is enabled
|
||||
#
|
||||
if ! param compare SDLOG_BACKEND 0
|
||||
then
|
||||
logger start -b ${LOGGER_BUF} -t ${LOGGER_ARGS}
|
||||
fi
|
||||
|
||||
@@ -237,6 +237,7 @@ then
|
||||
qmc5883p -X -q start
|
||||
rm3100 -X -q start
|
||||
bmm350 -X -q start
|
||||
iis2mdc -X -q start
|
||||
|
||||
# start last (wait for possible icm20948 passthrough mode)
|
||||
ak09916 -X -q start
|
||||
|
||||
@@ -217,6 +217,17 @@ else
|
||||
fi
|
||||
unset BOARD_RC_DEFAULTS
|
||||
|
||||
#
|
||||
# Optional additional init file: rc.additional_init
|
||||
#
|
||||
set BOARD_RC_ADDITIONAL_INIT ${R}etc/init.d/rc.additional_init
|
||||
if [ -f $BOARD_RC_ADDITIONAL_INIT ]
|
||||
then
|
||||
echo "Board additional init: ${BOARD_RC_ADDITIONAL_INIT}"
|
||||
. $BOARD_RC_ADDITIONAL_INIT
|
||||
fi
|
||||
unset BOARD_RC_ADDITIONAL_INIT
|
||||
|
||||
# Load airframe configuration based on SYS_AUTOSTART parameter
|
||||
if ! param compare SYS_AUTOSTART 0
|
||||
then
|
||||
|
||||
@@ -49,14 +49,14 @@ for field in spec.parsed_fields():
|
||||
(package, name) = genmsg.names.package_resource_name(field.base_type)
|
||||
package = package or spec.package # convert '' to package
|
||||
|
||||
print('typedef px4_msg_%s px4_msg_px4__msg__%s;' % (name,name))
|
||||
print('typedef px4_msgs_msg_%s px4_msgs_msg_px4_msgs__msg__%s;' % (name,name))
|
||||
}@
|
||||
|
||||
|
||||
|
||||
typedef struct @uorb_struct px4_msg_@(file_base_name);
|
||||
typedef struct @uorb_struct px4_msgs_msg_@(file_base_name);
|
||||
|
||||
extern const struct dds_cdrstream_desc px4_msg_@(file_base_name)_cdrstream_desc;
|
||||
extern const struct dds_cdrstream_desc px4_msgs_msg_@(file_base_name)_cdrstream_desc;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ class AirframeGroup(object):
|
||||
self.af_class = af_class
|
||||
self.airframes = []
|
||||
|
||||
|
||||
def AddAirframe(self, airframe):
|
||||
"""
|
||||
Add airframe to the airframe group
|
||||
@@ -107,6 +106,8 @@ class AirframeGroup(object):
|
||||
return "Balloon"
|
||||
elif (self.type == "Vectored 6 DOF UUV"):
|
||||
return "Vectored6DofUUV"
|
||||
elif self.type == "Free-Flyer":
|
||||
return "FreeFlyer"
|
||||
return "AirframeUnknown"
|
||||
|
||||
def GetAirframes(self):
|
||||
|
||||
@@ -54,6 +54,22 @@ if [[ ! -f "${DIR}/${REQUIREMENTS_FILE}" ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Linux Mint compatibility: use upstream Ubuntu values
|
||||
if [ -r /etc/upstream-release/lsb-release ]; then
|
||||
. /etc/upstream-release/lsb-release
|
||||
UBUNTU_CODENAME="${DISTRIB_CODENAME:-${UBUNTU_CODENAME:-}}"
|
||||
UBUNTU_RELEASE="${DISTRIB_RELEASE:-${UBUNTU_RELEASE:-}}"
|
||||
|
||||
lsb_release() {
|
||||
if [ "$1" = "-cs" ]; then
|
||||
printf '%s' "$UBUNTU_CODENAME"
|
||||
elif [ "$1" = "-rs" ]; then
|
||||
printf '%s' "$UBUNTU_RELEASE"
|
||||
else
|
||||
command lsb_release "$@"
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
# check ubuntu version
|
||||
# otherwise warn and point to docker?
|
||||
|
||||
@@ -42,6 +42,7 @@ import os
|
||||
import argparse
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
|
||||
try:
|
||||
import em
|
||||
@@ -124,7 +125,7 @@ def generate_by_template(output_file, template_file, em_globals):
|
||||
return True
|
||||
|
||||
|
||||
def generate_topics_list_file_from_files(files, outputdir, template_filename, templatedir):
|
||||
def generate_topics_list_file_from_files(files, outputdir, template_filename, templatedir, rihs_path):
|
||||
# generate cpp file with topics list
|
||||
filenames = []
|
||||
for filename in [os.path.basename(p) for p in files if os.path.basename(p).endswith(".msg")]:
|
||||
@@ -138,11 +139,27 @@ def generate_topics_list_file_from_files(files, outputdir, template_filename, te
|
||||
for filename in [os.path.basename(p) for p in files if os.path.basename(p).endswith(".msg")]:
|
||||
full_base_names.append(filename.replace(".msg",""))
|
||||
|
||||
topics = []
|
||||
for msg_filename in files:
|
||||
topics.extend(get_topics(msg_filename))
|
||||
rihs01_hashes = dict()
|
||||
if rihs_path != '':
|
||||
for topic in full_base_names:
|
||||
with open(rihs_path + "/msg/" + topic + ".json") as f:
|
||||
d = json.load(f)
|
||||
assert d['type_hashes'][0]['hash_string'][:7] == 'RIHS01_'
|
||||
|
||||
tl_globals = {"msgs": filenames, "topics": topics, "datatypes": datatypes, "full_base_names": full_base_names}
|
||||
rihs01_hash = d['type_hashes'][0]['hash_string'][7:]
|
||||
|
||||
byte_array = [f"0x{rihs01_hash[i:i+2]}" for i in range(0, len(rihs01_hash), 2)]
|
||||
c_code = f"{{ {', '.join(byte_array)} }};"
|
||||
rihs01_hashes[topic] = c_code
|
||||
|
||||
topics = []
|
||||
datatypes_with_topics = dict()
|
||||
for msg_filename in files:
|
||||
datatype = re.sub(r'(?<!^)(?=[A-Z])', '_', os.path.basename(msg_filename)).lower().replace(".msg","")
|
||||
datatypes_with_topics[datatype] = get_topics(msg_filename)
|
||||
topics.extend(datatypes_with_topics[datatype])
|
||||
|
||||
tl_globals = {"msgs": filenames, "topics": topics, "datatypes": datatypes, "full_base_names": full_base_names, "rihs01_hashes": rihs01_hashes, "datatypes_with_topics": datatypes_with_topics}
|
||||
tl_template_file = os.path.join(templatedir, template_filename)
|
||||
tl_out_file = os.path.join(outputdir, template_filename.replace(".em", ""))
|
||||
|
||||
@@ -162,13 +179,15 @@ if __name__ == "__main__":
|
||||
parser.add_argument('-p', dest='prefix', default='',
|
||||
help='string added as prefix to the output file '
|
||||
' name when converting directories')
|
||||
parser.add_argument('--rihs', dest='rihs', default='',
|
||||
help='path where rihs01 json files located')
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.zenoh_config:
|
||||
generate_topics_list_file_from_files(args.file, args.outputdir, ZENOH_TEMPLATE_FILE[0], args.templatedir)
|
||||
generate_topics_list_file_from_files(args.file, args.outputdir, ZENOH_TEMPLATE_FILE[0], args.templatedir, args.rihs)
|
||||
exit(0)
|
||||
elif args.zenoh_pub_sub:
|
||||
generate_topics_list_file_from_files(args.file, args.outputdir, ZENOH_TEMPLATE_FILE[1], args.templatedir)
|
||||
generate_topics_list_file_from_files(args.file, args.outputdir, ZENOH_TEMPLATE_FILE[1], args.templatedir, args.rihs)
|
||||
exit(0)
|
||||
else:
|
||||
print('Error: either --headers or --sources must be specified')
|
||||
|
||||
@@ -74,7 +74,7 @@ full_base_names.sort()
|
||||
|
||||
@[for idx, topic_name in enumerate(datatypes)]@
|
||||
@{
|
||||
type_topic_count = len([e for e in topic_names_all if e.startswith(topic_name)])
|
||||
type_topic_count = len(datatypes_with_topics[topic_name])
|
||||
}@
|
||||
#ifdef CONFIG_ZENOH_PUBSUB_@(topic_name.upper())
|
||||
# define CONFIG_ZENOH_PUBSUB_@(topic_name.upper())_COUNT @(type_topic_count)
|
||||
@@ -88,9 +88,28 @@ type_topic_count = len([e for e in topic_names_all if e.startswith(topic_name)])
|
||||
CONFIG_ZENOH_PUBSUB_@(topic_name.upper())_COUNT + \
|
||||
@[end for] 0
|
||||
|
||||
@[for topic_name, rihs01_hash in rihs01_hashes.items()]@
|
||||
const uint8_t @(topic_name)_hash[32] = @(rihs01_hash)
|
||||
@[end for]
|
||||
|
||||
@[for idx, topic_name in enumerate(datatypes)]@
|
||||
#ifdef CONFIG_ZENOH_PUBSUB_@(topic_name.upper())
|
||||
@{
|
||||
topic_names = datatypes_with_topics[topic_name]
|
||||
}@
|
||||
const orb_metadata* @(topic_name)_topic_meta[@(len(topic_names))] = {
|
||||
@[for topic_name_inst in topic_names]@
|
||||
ORB_ID(@(topic_name_inst)),
|
||||
@[end for]};
|
||||
#endif
|
||||
@[end for]
|
||||
|
||||
typedef struct {
|
||||
const char *data_type_name;
|
||||
const uint32_t *ops;
|
||||
const orb_metadata* orb_meta;
|
||||
const uint8_t *hash;
|
||||
const orb_metadata** orb_topic;
|
||||
const uint8_t orb_topics_size;
|
||||
} UorbPubSubTopicBinder;
|
||||
|
||||
const UorbPubSubTopicBinder _topics[ZENOH_PUBSUB_COUNT] {
|
||||
@@ -100,54 +119,95 @@ uorb_id_idx = 0
|
||||
@[for idx, topic_name in enumerate(datatypes)]@
|
||||
#ifdef CONFIG_ZENOH_PUBSUB_@(topic_name.upper())
|
||||
@{
|
||||
topic_names = [e for e in topic_names_all if e.startswith(topic_name)]
|
||||
topic_names = datatypes_with_topics[topic_name]
|
||||
}@
|
||||
@[for topic_name_inst in topic_names]@
|
||||
{
|
||||
px4_msg_@(topic_dict[topic_name])_cdrstream_desc.ops.ops,
|
||||
ORB_ID(@(topic_name_inst))
|
||||
"@(topic_name)",
|
||||
px4_msgs_msg_@(topic_dict[topic_name])_cdrstream_desc.ops.ops,
|
||||
@(topic_dict[topic_name])_hash,
|
||||
@(topic_name)_topic_meta,
|
||||
@(len(topic_names)),
|
||||
},
|
||||
@{
|
||||
uorb_id_idx += 1
|
||||
}@
|
||||
@[end for]#endif
|
||||
#endif
|
||||
@[end for]
|
||||
};
|
||||
|
||||
uORB_Zenoh_Publisher* genPublisher(const orb_metadata *meta) {
|
||||
uORB_Zenoh_Publisher* genPublisher(const orb_metadata *meta, int instance) {
|
||||
for (auto &pub : _topics) {
|
||||
if(pub.orb_meta->o_id == meta->o_id) {
|
||||
return new uORB_Zenoh_Publisher(meta, pub.ops);
|
||||
for(int i = 0; i < pub.orb_topics_size; i++) {
|
||||
if(pub.orb_topic[i]->o_id == meta->o_id) {
|
||||
return new uORB_Zenoh_Publisher(meta, pub.ops, instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
uORB_Zenoh_Publisher* genPublisher(const char *name) {
|
||||
uORB_Zenoh_Publisher* genPublisher(const char *name, int instance) {
|
||||
for (auto &pub : _topics) {
|
||||
if(strcmp(pub.orb_meta->o_name, name) == 0) {
|
||||
return new uORB_Zenoh_Publisher(pub.orb_meta, pub.ops);
|
||||
for(int i = 0; i < pub.orb_topics_size; i++) {
|
||||
if(strcmp(pub.orb_topic[i]->o_name, name) == 0) {
|
||||
return new uORB_Zenoh_Publisher(pub.orb_topic[i], pub.ops, instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Zenoh_Subscriber* genSubscriber(const orb_metadata *meta) {
|
||||
Zenoh_Subscriber* genSubscriber(const orb_metadata *meta, int instance) {
|
||||
for (auto &sub : _topics) {
|
||||
if(sub.orb_meta->o_id == meta->o_id) {
|
||||
return new uORB_Zenoh_Subscriber(meta, sub.ops);
|
||||
for(int i = 0; i < sub.orb_topics_size; i++) {
|
||||
if(sub.orb_topic[i]->o_id == meta->o_id) {
|
||||
return new uORB_Zenoh_Subscriber(meta, sub.ops, instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Zenoh_Subscriber* genSubscriber(const char *name) {
|
||||
Zenoh_Subscriber* genSubscriber(const char *name, int instance) {
|
||||
for (auto &sub : _topics) {
|
||||
if(strcmp(sub.orb_meta->o_name, name) == 0) {
|
||||
return new uORB_Zenoh_Subscriber(sub.orb_meta, sub.ops);
|
||||
for(int i = 0; i < sub.orb_topics_size; i++) {
|
||||
if(strcmp(sub.orb_topic[i]->o_name, name) == 0) {
|
||||
return new uORB_Zenoh_Subscriber(sub.orb_topic[i], sub.ops, instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char* getTypeName(const char *name) {
|
||||
for (auto &sub : _topics) {
|
||||
for(int i = 0; i < sub.orb_topics_size; i++) {
|
||||
if(strcmp(sub.orb_topic[i]->o_name, name) == 0) {
|
||||
return sub.data_type_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
const uint8_t* getRIHS01_Hash(const orb_metadata *meta) {
|
||||
for (auto &sub : _topics) {
|
||||
for(int i = 0; i < sub.orb_topics_size; i++) {
|
||||
if(sub.orb_topic[i]->o_id == meta->o_id) {
|
||||
return sub.hash;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const uint8_t* getRIHS01_Hash(const char *name) {
|
||||
for (auto &sub : _topics) {
|
||||
for(int i = 0; i < sub.orb_topics_size; i++) {
|
||||
if(strcmp(sub.orb_topic[i]->o_name, name) == 0) {
|
||||
return sub.hash;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
|
||||
@@ -36,7 +36,6 @@ param set-default EKF2_MULTI_IMU 0
|
||||
param set-default EKF2_OF_CTRL 1
|
||||
param set-default EKF2_OF_N_MIN 0.05
|
||||
param set-default EKF2_RNG_A_HMAX 25
|
||||
param set-default EKF2_RNG_QLTY_T 0.1
|
||||
|
||||
param set-default SENS_FLOW_RATE 150
|
||||
param set-default SENS_IMU_MODE 1
|
||||
|
||||
@@ -21,6 +21,7 @@ CONFIG_COMMON_MAGNETOMETER=y
|
||||
CONFIG_DATAMAN_PERSISTENT_STORAGE=n
|
||||
CONFIG_DRIVERS_PWM_OUT=y
|
||||
CONFIG_COMMON_RC=y
|
||||
CONFIG_DRIVERS_PCA9685_PWM_OUT=y
|
||||
CONFIG_DRIVERS_POWER_MONITOR_INA226=y
|
||||
CONFIG_DRIVERS_POWER_MONITOR_INA228=y
|
||||
CONFIG_DRIVERS_POWER_MONITOR_INA238=y
|
||||
|
||||
@@ -14,7 +14,7 @@ param set-default SYS_DM_BACKEND 1
|
||||
# Set TELEM1 as default mavlink connection
|
||||
param set-default MAV_0_CONFIG 0
|
||||
# Disable logger writing to FRAM, only stream over MAVLINK
|
||||
set LOGGER_ARGS "-m mavlink"
|
||||
param set-default SDLOG_BACKEND 2
|
||||
|
||||
# 200kOhm/10kOhm voltage divider on V_BAT
|
||||
param set-default BAT1_V_DIV 21
|
||||
|
||||
@@ -12,17 +12,20 @@ board_adc start
|
||||
bmi088 -A -R 0 -s start
|
||||
bmi088 -G -R 0 -s start
|
||||
|
||||
# MAG on I2C4, ROTATION_ROLL_180=8
|
||||
if ver hwtypecmp V6S013 V6S015
|
||||
then
|
||||
# Revision(s) with BMM150
|
||||
# MAG on I2C4, ROTATION_ROLL_180=8
|
||||
bmm150 -I -R 8 start
|
||||
else
|
||||
# Revision(s) with BMM350
|
||||
# MAG on I2C4, ROTATION_ROLL_180=8
|
||||
bmm350 -I -R 8 start
|
||||
fi
|
||||
|
||||
# BARO on I2C4
|
||||
bmp388 -I -b 4 -a 0x77 start
|
||||
|
||||
|
||||
# External sensors on I2C1
|
||||
|
||||
if param compare SENS_EN_INA226 1
|
||||
then
|
||||
# Start Digital power monitors
|
||||
@@ -59,14 +62,17 @@ fi
|
||||
|
||||
if param compare BAT1_V_CHANNEL -2
|
||||
then
|
||||
if [ "$INA_CONFIGURED" != "yes" ]
|
||||
then
|
||||
param set BAT1_V_CHANNEL -1
|
||||
fi
|
||||
if [ "$INA_CONFIGURED" != "yes" ]
|
||||
then
|
||||
param set BAT1_V_CHANNEL -1
|
||||
fi
|
||||
fi
|
||||
|
||||
# External compass on GPS1/I2C1 (the 3rd external bus): standard Holybro Pixhawk 4 or CUAV V5 GPS/compass puck (with lights, safety button, and buzzer)
|
||||
# External compass IST8310 on I2C1
|
||||
ist8310 -X -b 1 -R 10 start
|
||||
|
||||
# BARO on I2C4
|
||||
bmp388 -I -b 4 -a 0x77 start
|
||||
# Start an external PWM generator
|
||||
if param greater PCA9685_EN_BUS 0
|
||||
then
|
||||
pca9685_pwm_out start -b 1
|
||||
fi
|
||||
|
||||
@@ -38,5 +38,5 @@ param set-default SYS_DM_BACKEND 1
|
||||
# Ignore that there is no SD card
|
||||
param set-default COM_ARM_SDCARD 0
|
||||
|
||||
# Don't try to log onto SD card
|
||||
param set-default SDLOG_MODE -1
|
||||
# Disable logging
|
||||
param set-default SDLOG_BACKEND 0
|
||||
|
||||
@@ -38,5 +38,5 @@ param set-default SYS_DM_BACKEND 1
|
||||
# Ignore that there is no SD card
|
||||
param set-default COM_ARM_SDCARD 0
|
||||
|
||||
# Don't try to log onto SD card
|
||||
param set-default SDLOG_MODE -1
|
||||
# Disable logging
|
||||
param set-default SDLOG_BACKEND 0
|
||||
|
||||
@@ -14,6 +14,7 @@ CONFIG_MODULES_EKF2=y
|
||||
CONFIG_MODULES_MAVLINK=y
|
||||
CONFIG_MODULES_NAVIGATOR=y
|
||||
CONFIG_MODULES_SENSORS=y
|
||||
CONFIG_MODULES_ZENOH=y
|
||||
CONFIG_SYSTEMCMDS_I2CDETECT=y
|
||||
CONFIG_SYSTEMCMDS_LED_CONTROL=y
|
||||
CONFIG_SYSTEMCMDS_MFT=y
|
||||
|
||||
@@ -182,6 +182,7 @@ CONFIG_NET_SOLINGER=y
|
||||
CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
CONFIG_NET_TCP_DELAYED_ACK=y
|
||||
CONFIG_NET_TCP_KEEPALIVE=y
|
||||
CONFIG_NET_TCP_WRITE_BUFFERS=y
|
||||
CONFIG_NET_TIMESTAMP=y
|
||||
CONFIG_NET_UDP=y
|
||||
@@ -207,6 +208,7 @@ CONFIG_PIPES=y
|
||||
CONFIG_PREALLOC_TIMERS=50
|
||||
CONFIG_PRIORITY_INHERITANCE=y
|
||||
CONFIG_PTHREAD_MUTEX_ROBUST=y
|
||||
CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_PTHREAD_STACK_MIN=512
|
||||
CONFIG_RAM_SIZE=272000
|
||||
CONFIG_RAM_START=0x20400000
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
# CONFIG_BOARD_ROMFSROOT is not set
|
||||
CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS1"
|
||||
CONFIG_BOARD_SERIAL_GPS2="/dev/ttyS4"
|
||||
CONFIG_BOARD_SERIAL_RC="/dev/ttyS5"
|
||||
CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS2"
|
||||
CONFIG_BOARD_SERIAL_TEL4="/dev/ttyS3"
|
||||
CONFIG_BOARD_UAVCAN_INTERFACES=1
|
||||
CONFIG_COMMON_LIGHT=y
|
||||
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
||||
CONFIG_DRIVERS_GPS=y
|
||||
CONFIG_DRIVERS_IRLOCK=y
|
||||
CONFIG_DRIVERS_MAGNETOMETER_ISENTEK_IST8310=y
|
||||
CONFIG_DRIVERS_MAGNETOMETER_LIS3MDL=y
|
||||
CONFIG_DRIVERS_RC_INPUT=y
|
||||
CONFIG_DRIVERS_SAFETY_BUTTON=y
|
||||
CONFIG_DRIVERS_UAVCAN=y
|
||||
CONFIG_EXAMPLES_FAKE_GPS=y
|
||||
CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
||||
CONFIG_MODULES_BATTERY_STATUS=y
|
||||
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
||||
CONFIG_MODULES_COMMANDER=y
|
||||
CONFIG_MODULES_ESC_BATTERY=y
|
||||
CONFIG_MODULES_EVENTS=y
|
||||
CONFIG_MODULES_FW_ATT_CONTROL=y
|
||||
CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||
CONFIG_MODULES_FW_MODE_MANAGER=y
|
||||
CONFIG_MODULES_FW_LATERAL_LONGITUDINAL_CONTROL=y
|
||||
CONFIG_MODULES_FW_RATE_CONTROL=y
|
||||
CONFIG_MODULES_GYRO_CALIBRATION=y
|
||||
CONFIG_MODULES_GYRO_FFT=y
|
||||
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
|
||||
CONFIG_MODULES_LAND_DETECTOR=y
|
||||
CONFIG_MODULES_LOAD_MON=y
|
||||
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=y
|
||||
CONFIG_MODULES_LOGGER=y
|
||||
CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y
|
||||
CONFIG_MODULES_MANUAL_CONTROL=y
|
||||
CONFIG_MODULES_MC_ATT_CONTROL=y
|
||||
CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
|
||||
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
|
||||
CONFIG_MODULES_MC_POS_CONTROL=y
|
||||
CONFIG_MODULES_MC_RATE_CONTROL=y
|
||||
CONFIG_MODULES_NAVIGATOR=y
|
||||
CONFIG_MODULES_RC_UPDATE=y
|
||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
|
||||
CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
||||
CONFIG_MODULES_ZENOH=y
|
||||
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
|
||||
CONFIG_SYSTEMCMDS_DMESG=y
|
||||
CONFIG_SYSTEMCMDS_DUMPFILE=y
|
||||
CONFIG_SYSTEMCMDS_HARDFAULT_LOG=y
|
||||
CONFIG_SYSTEMCMDS_NSHTERM=y
|
||||
CONFIG_SYSTEMCMDS_PERF=y
|
||||
CONFIG_SYSTEMCMDS_REFLECT=y
|
||||
CONFIG_SYSTEMCMDS_SERIAL_TEST=y
|
||||
CONFIG_SYSTEMCMDS_TUNE_CONTROL=y
|
||||
@@ -75,6 +75,7 @@ CONFIG_MODULES_SENSORS=y
|
||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
|
||||
CONFIG_MODULES_UXRCE_DDS_CLIENT=y
|
||||
CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
||||
CONFIG_MODULES_ZENOH=y
|
||||
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
|
||||
CONFIG_SYSTEMCMDS_BSONDUMP=y
|
||||
CONFIG_SYSTEMCMDS_DMESG=y
|
||||
|
||||
@@ -49,6 +49,7 @@ CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DEBUG_TCBINFO=y
|
||||
CONFIG_DEV_FIFO_SIZE=0
|
||||
CONFIG_DEV_PIPE_SIZE=70
|
||||
CONFIG_DEV_URANDOM=y
|
||||
CONFIG_ETH0_PHY_DP83825I=y
|
||||
CONFIG_FAT_DMAMEMORY=y
|
||||
CONFIG_FAT_LCNAMES=y
|
||||
@@ -155,8 +156,8 @@ CONFIG_NETDEV_LATEINIT=y
|
||||
CONFIG_NETDEV_PHY_IOCTL=y
|
||||
CONFIG_NETINIT_DHCPC=y
|
||||
CONFIG_NETINIT_DNS=y
|
||||
CONFIG_NETINIT_DNSIPADDR=0XC0A800FE
|
||||
CONFIG_NETINIT_DRIPADDR=0XC0A800FE
|
||||
CONFIG_NETINIT_DNSIPADDR=0xA290AFE
|
||||
CONFIG_NETINIT_DRIPADDR=0xA290AFE
|
||||
CONFIG_NETINIT_RETRY_MOUNTPATH=10
|
||||
CONFIG_NETINIT_THREAD=y
|
||||
CONFIG_NETINIT_THREAD_PRIORITY=49
|
||||
@@ -167,15 +168,18 @@ CONFIG_NET_BROADCAST=y
|
||||
CONFIG_NET_CAN=y
|
||||
CONFIG_NET_CAN_EXTID=y
|
||||
CONFIG_NET_CAN_NOTIFIER=y
|
||||
CONFIG_NET_CAN_RAW_FILTER_MAX=1
|
||||
CONFIG_NET_CAN_RAW_TX_DEADLINE=y
|
||||
CONFIG_NET_CAN_SOCK_OPTS=y
|
||||
CONFIG_NET_ETH_PKTSIZE=1518
|
||||
CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_ICMP_SOCKET=y
|
||||
CONFIG_NET_IGMP=y
|
||||
CONFIG_NET_SOLINGER=y
|
||||
CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
CONFIG_NET_TCP_DELAYED_ACK=y
|
||||
CONFIG_NET_TCP_KEEPALIVE=y
|
||||
CONFIG_NET_TCP_WRITE_BUFFERS=y
|
||||
CONFIG_NET_TIMESTAMP=y
|
||||
CONFIG_NET_UDP=y
|
||||
@@ -196,6 +200,7 @@ CONFIG_NSH_VARS=y
|
||||
CONFIG_PIPES=y
|
||||
CONFIG_PREALLOC_TIMERS=50
|
||||
CONFIG_PRIORITY_INHERITANCE=y
|
||||
CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_PTHREAD_STACK_MIN=512
|
||||
CONFIG_RAM_SIZE=1048576
|
||||
CONFIG_RAM_START=0x20200000
|
||||
|
||||
@@ -89,6 +89,7 @@ CONFIG_MODULES_SENSORS=y
|
||||
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
|
||||
CONFIG_MODULES_UXRCE_DDS_CLIENT=y
|
||||
CONFIG_MODULES_VTOL_ATT_CONTROL=y
|
||||
CONFIG_MODULES_ZENOH=y
|
||||
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
|
||||
CONFIG_SYSTEMCMDS_BSONDUMP=y
|
||||
CONFIG_SYSTEMCMDS_DMESG=y
|
||||
|
||||
@@ -55,6 +55,7 @@ CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DEBUG_TCBINFO=y
|
||||
CONFIG_DEV_FIFO_SIZE=0
|
||||
CONFIG_DEV_PIPE_SIZE=70
|
||||
CONFIG_DEV_URANDOM=y
|
||||
CONFIG_ETH0_PHY_MULTI=y
|
||||
CONFIG_FAT_DMAMEMORY=y
|
||||
CONFIG_FAT_LCNAMES=y
|
||||
@@ -214,15 +215,18 @@ CONFIG_NET_BROADCAST=y
|
||||
CONFIG_NET_CAN=y
|
||||
CONFIG_NET_CAN_EXTID=y
|
||||
CONFIG_NET_CAN_NOTIFIER=y
|
||||
CONFIG_NET_CAN_RAW_FILTER_MAX=1
|
||||
CONFIG_NET_CAN_RAW_TX_DEADLINE=y
|
||||
CONFIG_NET_CAN_SOCK_OPTS=y
|
||||
CONFIG_NET_ETH_PKTSIZE=1518
|
||||
CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_ICMP_SOCKET=y
|
||||
CONFIG_NET_IGMP=y
|
||||
CONFIG_NET_SOLINGER=y
|
||||
CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
CONFIG_NET_TCP_DELAYED_ACK=y
|
||||
CONFIG_NET_TCP_KEEPALIVE=y
|
||||
CONFIG_NET_TCP_WRITE_BUFFERS=y
|
||||
CONFIG_NET_TIMESTAMP=y
|
||||
CONFIG_NET_UDP=y
|
||||
@@ -243,6 +247,7 @@ CONFIG_NSH_VARS=y
|
||||
CONFIG_PIPES=y
|
||||
CONFIG_PREALLOC_TIMERS=50
|
||||
CONFIG_PRIORITY_INHERITANCE=y
|
||||
CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_PTHREAD_STACK_MIN=512
|
||||
CONFIG_RAMTRON_SETSPEED=y
|
||||
CONFIG_RAM_SIZE=1835008
|
||||
|
||||
@@ -339,6 +339,11 @@ if(EXISTS ${BOARD_DEFCONFIG})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# ADDITIONAL INIT
|
||||
if(ADDITIONAL_INIT)
|
||||
set(config_additional_init ${ADDITIONAL_INIT} CACHE INTERNAL "additional init" FORCE)
|
||||
endif()
|
||||
|
||||
if(UAVCAN_INTERFACES)
|
||||
set(config_uavcan_num_ifaces ${UAVCAN_INTERFACES} CACHE INTERNAL "UAVCAN interfaces" FORCE)
|
||||
endif()
|
||||
|
||||
@@ -71,18 +71,15 @@ add_custom_target(metadata_parameters
|
||||
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/src/lib/parameters/px_process_params.py
|
||||
--src-path `find ${PX4_SOURCE_DIR}/src -maxdepth 4 -type d` ${generated_params_dir}
|
||||
--inject-xml ${PX4_SOURCE_DIR}/src/lib/parameters/parameters_injected.xml
|
||||
--markdown ${PX4_BINARY_DIR}/docs/parameters.md
|
||||
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/src/lib/parameters/px_process_params.py
|
||||
--src-path `find ${PX4_SOURCE_DIR}/src -maxdepth 4 -type d` ${generated_params_dir}
|
||||
--inject-xml ${PX4_SOURCE_DIR}/src/lib/parameters/parameters_injected.xml
|
||||
--json ${PX4_BINARY_DIR}/docs/parameters.json
|
||||
--compress
|
||||
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/src/lib/parameters/px_process_params.py
|
||||
--src-path `find ${PX4_SOURCE_DIR}/src -maxdepth 4 -type d` ${generated_params_dir}
|
||||
--inject-xml ${PX4_SOURCE_DIR}/src/lib/parameters/parameters_injected.xml
|
||||
--xml ${PX4_BINARY_DIR}/docs/parameters.xml
|
||||
|
||||
COMMENT "Generating full parameter metadata (markdown, xml, and json)"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Onboard parameters for Vehicle 1
|
||||
#
|
||||
# Stack: PX4 Pro
|
||||
# Vehicle: śŕĐýŇí
|
||||
# Version: 1.15.4
|
||||
# Vehicle: Multi-Rotor
|
||||
# Version: 1.15.4
|
||||
# Git Revision: 99c40407ff000000
|
||||
#
|
||||
# Vehicle-Id Component-Id Name Value Type
|
||||
@@ -318,7 +318,6 @@
|
||||
1 1 COM_OBS_AVOID 0 6
|
||||
1 1 COM_OF_LOSS_T 1.000000000000000000 9
|
||||
1 1 COM_PARACHUTE 0 6
|
||||
1 1 COM_POSCTL_NAVL 0 6
|
||||
1 1 COM_POS_FS_DELAY 1 6
|
||||
1 1 COM_POS_FS_EPH 5.000000000000000000 9
|
||||
1 1 COM_POS_LOW_EPH -1.000000000000000000 9
|
||||
|
||||
@@ -0,0 +1,197 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="draw"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 291.424 291.77"
|
||||
enable-background="new 0 0 291.424 291.77"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="FreeFlyer.svg"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
|
||||
id="metadata13908"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>QuadRotorX</dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs13906"><rect
|
||||
x="64.295094"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434001"
|
||||
id="rect1674" /><rect
|
||||
x="57.181928"
|
||||
y="12.768183"
|
||||
width="21.455602"
|
||||
height="14.069247"
|
||||
id="rect1668" /><rect
|
||||
x="64.295097"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434002"
|
||||
id="rect1674-3" /><rect
|
||||
x="64.295097"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434002"
|
||||
id="rect1674-6" /><rect
|
||||
x="64.295097"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434002"
|
||||
id="rect1674-8" /><rect
|
||||
x="64.295097"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434002"
|
||||
id="rect1674-9" /><rect
|
||||
x="64.295097"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434002"
|
||||
id="rect1674-9-0" /><rect
|
||||
x="64.295097"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434002"
|
||||
id="rect1674-9-0-3" /><rect
|
||||
x="64.295097"
|
||||
y="257.16159"
|
||||
width="20.004284"
|
||||
height="19.434002"
|
||||
id="rect1674-9-0-5" /></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1131"
|
||||
id="namedview13904"
|
||||
showgrid="true"
|
||||
showguides="false"
|
||||
inkscape:zoom="2"
|
||||
inkscape:cx="37"
|
||||
inkscape:cy="143.75"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="draw"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"><inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid14610" /></sodipodi:namedview><title
|
||||
id="title13869">QuadRotorX</title>
|
||||
<rect
|
||||
style="fill:#4ec3e8;fill-opacity:0.8;stroke-width:0.703099"
|
||||
id="rect866"
|
||||
width="182.87863"
|
||||
height="182.87863"
|
||||
x="54.336742"
|
||||
y="54.008221" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="m 41.75804,283.31181 64.75142,-0.1091 -34.35904,-46.53234"
|
||||
id="path978" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="m 8.0625538,189.05596 0.1091,64.75142 46.5323452,-34.35904"
|
||||
id="path978-3" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="m 7.6111718,42.233006 0.1091,64.751414 46.5323442,-34.359034"
|
||||
id="path978-3-5" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="M 283.3143,102.92315 283.2052,38.171731 236.67284,72.530766"
|
||||
id="path978-3-0" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="m 283.76568,249.7461 -0.1091,-64.75142 -46.53235,34.35904"
|
||||
id="path978-3-5-9" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="m 186.0159,282.76127 64.75142,-0.1091 -34.35904,-46.53235"
|
||||
id="path978-5" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="m 249.48837,7.3723165 -64.75142,0.1091 34.35904,46.5323455"
|
||||
id="path978-6" /><path
|
||||
style="fill:#159e1f;fill-opacity:0.8;stroke-width:1.32638"
|
||||
d="M 105.23051,7.9228645 40.479095,8.0319644 74.838131,54.56431"
|
||||
id="path978-5-2" /><path
|
||||
fill="#ffffff"
|
||||
stroke="#000000"
|
||||
stroke-miterlimit="10"
|
||||
d="m 177.46535,152.08429 -25.44869,25.44869 c -2.72029,2.72029 -7.13013,2.72029 -9.84972,0 l -25.44868,-25.44869 c -2.7203,-2.72029 -2.7203,-7.13013 0,-9.84972 l 25.44868,-25.44868 c 2.72029,-2.72029 7.13013,-2.72029 9.84972,0 l 25.44869,25.44868 c 2.72029,2.72029 2.72029,7.13013 0,9.84972 z"
|
||||
id="path13875-2"
|
||||
style="stroke-width:0.703099" /><polygon
|
||||
fill="#ff442b"
|
||||
stroke="#000000"
|
||||
stroke-miterlimit="10"
|
||||
points="145.645,117.211 163.823,168.211 127.468,168.211 "
|
||||
id="polygon13877-7"
|
||||
transform="matrix(0.70309945,0,0,0.70309945,44.68853,44.358917)" /><text
|
||||
xml:space="preserve"
|
||||
id="text1666"
|
||||
style="fill:#ffffff;fill-opacity:0.80000001;white-space:pre;shape-inside:url(#rect1668)" /><text
|
||||
xml:space="preserve"
|
||||
id="text1672"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674);fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,-56.149908,-232.98716)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2022">1</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1672-6"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674-3);display:inline;fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,-54.90599,-471.96664)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2024">2</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1672-1"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674-6);display:inline;fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,88.181331,-233.48182)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2026">3</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1672-7"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674-8);display:inline;fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,89.923516,-472.9994)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2028">4</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1672-2"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674-9);display:inline;fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,-107.88311,-425.85878)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2030">5</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1672-2-2"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674-9-0);display:inline;fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,140.31603,-426.60417)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2032">6</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1672-2-2-7"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674-9-0-3);display:inline;fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,-106.57328,-277.85487)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2034">7</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1672-2-2-9"
|
||||
style="font-size:16px;white-space:pre;shape-inside:url(#rect1674-9-0-5);display:inline;fill:#ffffff;fill-opacity:0.8"
|
||||
transform="matrix(1.8712033,0,0,1.8712033,140.59859,-279.63807)"><tspan
|
||||
x="64.294922"
|
||||
y="271.72011"
|
||||
id="tspan2036">8</tspan></text></svg>
|
||||
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 45 KiB |
@@ -157,6 +157,7 @@
|
||||
- [mRo (3DR) Pixhawk Wiring Quickstart](assembly/quick_start_pixhawk.md)
|
||||
- [Holybro Pixhawk Mini (FMUv3) - Discontinued](flight_controller/pixhawk_mini.md)
|
||||
- [Manufacturer-Supported Autopilots](flight_controller/autopilot_manufacturer_supported.md)
|
||||
- [Accton Godwit GA1](flight_controller/accton-godwit_ga1.md)
|
||||
- [AirMind MindPX](flight_controller/mindpx.md)
|
||||
- [AirMind MindRacer](flight_controller/mindracer.md)
|
||||
- [ARK Electronics ARKV6X](flight_controller/ark_v6x.md)
|
||||
@@ -281,6 +282,7 @@
|
||||
- [CubePilot Here+ (Discontined)](gps_compass/rtk_gps_hex_hereplus.md)
|
||||
- [INS (Inertial Navigation/GNSS)](sensor/inertial_navigation_systems.md)
|
||||
- [InertialLabs](sensor/inertiallabs.md)
|
||||
- [sbgECom](sensor/sbgecom.md)
|
||||
- [VectorNav](sensor/vectornav.md)
|
||||
- [Optical Flow](sensor/optical_flow.md)
|
||||
- [ARK Flow](dronecan/ark_flow.md)
|
||||
@@ -659,6 +661,8 @@
|
||||
- [RoverPositionSetpoint](msg_docs/RoverPositionSetpoint.md)
|
||||
- [RoverRateSetpoint](msg_docs/RoverRateSetpoint.md)
|
||||
- [RoverRateStatus](msg_docs/RoverRateStatus.md)
|
||||
- [RoverSpeedSetpoint](msg_docs/RoverSpeedSetpoint.md)
|
||||
- [RoverSpeedStatus](msg_docs/RoverSpeedStatus.md)
|
||||
- [RoverSteeringSetpoint](msg_docs/RoverSteeringSetpoint.md)
|
||||
- [RoverThrottleSetpoint](msg_docs/RoverThrottleSetpoint.md)
|
||||
- [RoverVelocitySetpoint](msg_docs/RoverVelocitySetpoint.md)
|
||||
@@ -719,6 +723,7 @@
|
||||
- [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md)
|
||||
- [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md)
|
||||
- [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md)
|
||||
- [ArmingCheckRequestV0](msg_docs/ArmingCheckRequestV0.md)
|
||||
- [BatteryStatusV0](msg_docs/BatteryStatusV0.md)
|
||||
- [EventV0](msg_docs/EventV0.md)
|
||||
- [HomePositionV0](msg_docs/HomePositionV0.md)
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
<!-- GENERATED CONTENT: DO NOT EDIT -->
|
||||
- [Introduction](/index.md)
|
||||
|
||||
- [Introduction](/index.md)
|
||||
- [Basic Concepts](/getting_started/px4_basic_concepts.md)
|
||||
|
||||
- [Multicopters](/frames_multicopter/index.md)
|
||||
|
||||
- [Features](/features_mc/index.md)
|
||||
- [Flight Modes](/flight_modes_mc/index.md)
|
||||
- [Position Mode (MC)](/flight_modes_mc/position.md)
|
||||
@@ -37,7 +36,7 @@
|
||||
- [Static Pressure Buildup](/advanced_config/static_pressure_buildup.md)
|
||||
- [Flying (Basics)](/flying/basic_flying_mc.md)
|
||||
- [Complete Vehicles](/complete_vehicles_mc/index.md)
|
||||
- [ModalAI Starling](/complete_vehicles_mc/modalai_starling.md)
|
||||
- [ModalAI Starling (PX4 Dev Kit)](/complete_vehicles_mc/modalai_starling.md)
|
||||
- [PX4 Vision Kit](/complete_vehicles_mc/px4_vision_kit.md)
|
||||
- [MindRacer BNF & RTF](/complete_vehicles_mc/mindracer_BNF_RTF.md)
|
||||
- [MindRacer 210](/complete_vehicles_mc/mindracer210.md)
|
||||
@@ -58,7 +57,6 @@
|
||||
- [DJI F450 (CUAV v5 nano)](/frames_multicopter/dji_f450_cuav_5nano.md)
|
||||
|
||||
- [Planes (Fixed-Wing)](/frames_plane/index.md)
|
||||
|
||||
- [Assembly](/assembly/assembly_fw.md)
|
||||
- [Config/Tuning](/config_fw/index.md)
|
||||
- [Auto-tune](/config/autotune_fw.md)
|
||||
@@ -86,7 +84,6 @@
|
||||
- [Wing Wing Z84 (Pixracer)](/frames_plane/wing_wing_z84.md)
|
||||
|
||||
- [VTOL](/frames_vtol/index.md)
|
||||
|
||||
- [Assembly](/assembly/assembly_vtol.md)
|
||||
- [VTOL Config/Tuning](/config_vtol/index.md)
|
||||
- [Auto-tune](/config/autotune_vtol.md)
|
||||
@@ -111,7 +108,6 @@
|
||||
- [Complete Vehicles](/complete_vehicles_vtol/index.md)
|
||||
|
||||
- [Operations](/config/operations.md)
|
||||
|
||||
- [Safety](/config/safety_intro.md)
|
||||
- [Safety Configuration (Failsafes)](/config/safety.md)
|
||||
- [Failsafe Simulation](/config/safety_simulation.md)
|
||||
@@ -132,7 +128,6 @@
|
||||
- [QGroundControl Flight-Readiness Status](/flying/pre_flight_checks.md)
|
||||
|
||||
- [Hardware Selection & Setup](/hardware/drone_parts.md)
|
||||
|
||||
- [Flight Controllers (Autopilots)](/flight_controller/index.md)
|
||||
- [Flight Controller Selection](/getting_started/flight_controller_selection.md)
|
||||
- [Pixhawk Series](/flight_controller/pixhawk_series.md)
|
||||
@@ -164,18 +159,18 @@
|
||||
- [mRo (3DR) Pixhawk Wiring Quickstart](/assembly/quick_start_pixhawk.md)
|
||||
- [Holybro Pixhawk Mini (FMUv3) - Discontinued](/flight_controller/pixhawk_mini.md)
|
||||
- [Manufacturer-Supported Autopilots](/flight_controller/autopilot_manufacturer_supported.md)
|
||||
- [Accton Godwit GA1](/flight_controller/accton-godwit_ga1.md)
|
||||
- [AirMind MindPX](/flight_controller/mindpx.md)
|
||||
- [AirMind MindRacer](/flight_controller/mindracer.md)
|
||||
- [ARK Electronics ARKV6X](/flight_controller/ark_v6x.md)
|
||||
- [ARK FPV Flight Controller](/flight_controller/ark_fpv.md)
|
||||
- [ARK Pi6X Flow Flight Controller](/flight_controller/ark_pi6x.md)
|
||||
- [CUAV X7](/flight_controller/cuav_x7.md)
|
||||
- [CUAV Nora](/flight_controller/cuav_nora.md)
|
||||
- [CUAV V5+ (FMUv5)](/flight_controller/cuav_v5_plus.md)
|
||||
- [Wiring Quickstart](/assembly/quick_start_cuav_v5_plus.md)
|
||||
- [CUAV V5 nano (FMUv5)](/flight_controller/cuav_v5_nano.md)
|
||||
- [CUAV V5 nano Wiring Quickstart](/assembly/quick_start_cuav_v5_nano.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](/flight_controller/pixhack_v3.md)
|
||||
- [CUAV X25 EVO](/flight_controller/cuav_x25-evo.md)
|
||||
- [CubePilot Cube Orange+ (CubePilot)](/flight_controller/cubepilot_cube_orangeplus.md)
|
||||
- [CubePilot Cube Orange (CubePilot)](/flight_controller/cubepilot_cube_orange.md)
|
||||
- [CubePilot Cube Yellow (CubePilot)](/flight_controller/cubepilot_cube_yellow.md)
|
||||
@@ -188,11 +183,8 @@
|
||||
- [Wiring Quickstart](/assembly/quick_start_durandal.md)
|
||||
- [Holybro Pix32 v5](/flight_controller/holybro_pix32_v5.md)
|
||||
- [Wiring Quickstart](/assembly/quick_start_holybro_pix32_v5.md)
|
||||
- [ModalAI Flight Core v1](/flight_controller/modalai_fc_v1.md)
|
||||
- [ModalAI VOXL Flight](/flight_controller/modalai_voxl_flight.md)
|
||||
- [ModalAI VOXL 2](/flight_controller/modalai_voxl_2.md)
|
||||
- [mRobotics-X2.1 (FMUv2)](/flight_controller/mro_x2.1.md)
|
||||
- [mRo Control Zero F7)](/flight_controller/mro_control_zero_f7.md)
|
||||
- [mRo Control Zero F7](/flight_controller/mro_control_zero_f7.md)
|
||||
- [Sky-Drones AIRLink](/flight_controller/airlink.md)
|
||||
- [SPRacing SPRacingH7EXTREME](/flight_controller/spracingh7extreme.md)
|
||||
- [ThePeach FCC-K1](/flight_controller/thepeach_k1.md)
|
||||
@@ -206,18 +198,20 @@
|
||||
- [Discontinued Autopilots/Vehicles](/flight_controller/autopilot_discontinued.md)
|
||||
- [Drotek Dropix (FMUv2)](/flight_controller/dropix.md)
|
||||
- [Omnibus F4 SD](/flight_controller/omnibus_f4_sd.md)
|
||||
- [BetaFPV Beta75X 2S Brushless Whoop](/complete_vehicles_mc/betafpv_beta75x.md)
|
||||
- [Bitcraze Crazyflie 2.0 ](/complete_vehicles_mc/crazyflie2.md)
|
||||
- [Aerotenna OcPoC-Zynq Mini](/flight_controller/ocpoc_zynq.md)
|
||||
- [CUAV X7](/flight_controller/cuav_x7.md)
|
||||
- [CUAV v5](/flight_controller/cuav_v5.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](/flight_controller/pixhack_v3.md)
|
||||
- [Holybro Kakute F7](/flight_controller/kakutef7.md)
|
||||
- [Holybro Pixfalcon](/flight_controller/pixfalcon.md)
|
||||
- [Holybro pix32 (FMUv2)](/flight_controller/holybro_pix32.md)
|
||||
- [ModalAI Flight Core v1](/flight_controller/modalai_fc_v1.md)
|
||||
- [ModalAI VOXL Flight](/flight_controller/modalai_voxl_flight.md)
|
||||
- [mRo X2.1 (FMUv2)](/flight_controller/mro_x2.1.md)
|
||||
- [mRo AUAV-X2](/flight_controller/auav_x2.md)
|
||||
- [NXP RDDRONE-FMUK66 FMU](/flight_controller/nxp_rddrone_fmuk66.md)
|
||||
- [3DR Pixhawk 1](/flight_controller/pixhawk.md)
|
||||
- [Snapdragon Flight](/flight_controller/snapdragon_flight.md)
|
||||
- [Intel® Aero RTF Drone](/complete_vehicles_mc/intel_aero.md)
|
||||
- [Pixhawk Autopilot Bus (PAB) & Carriers](/flight_controller/pixhawk_autopilot_bus.md)
|
||||
- [ARK Electronics Pixhawk Autopilot Bus Carrier](/flight_controller/ark_pab.md)
|
||||
- [Mounting the Flight Controller](/assembly/mount_and_orient_controller.md)
|
||||
@@ -241,6 +235,7 @@
|
||||
- [Compass Power Compensation](/advanced_config/compass_power_compensation.md)
|
||||
- [Airspeed Sensors](/sensor/airspeed.md)
|
||||
- [Calibration](/config/airspeed.md)
|
||||
- [Airspeed Validation](/advanced_config/airspeed_validation.md)
|
||||
- [TFSlot Airspeed Sensor](/sensor/airspeed_tfslot.md)
|
||||
- [Barometers](/sensor/barometer.md)
|
||||
- [Distance Sensors \(Rangefinders\)](/sensor/rangefinders.md)
|
||||
@@ -272,6 +267,7 @@
|
||||
- [CUAV C-RTK](/gps_compass/rtk_gps_cuav_c-rtk.md)
|
||||
- [CUAV C-RTK2 PPK/RTK GNSS](/gps_compass/rtk_gps_cuav_c-rtk2.md)
|
||||
- [CUAV C-RTK 9Ps](/gps_compass/rtk_gps_cuav_c-rtk-9ps.md)
|
||||
- [DATAGNSS NANO HRTK GNSS](/gps_compass/rtk_gps_datagnss_nano_hrtk.md)
|
||||
- [DATAGNSS GEM1305 RTK GNSS](/gps_compass/rtk_gps_gem1305.md)
|
||||
- [Femtones MINI2 Receiver](/gps_compass/rtk_gps_fem_mini2.md)
|
||||
- [Freefly RTK GPS](/gps_compass/rtk_gps_freefly.md)
|
||||
@@ -287,6 +283,7 @@
|
||||
- [Trimble MB-Two](/gps_compass/rtk_gps_trimble_mb_two.md)
|
||||
- [CubePilot Here+ (Discontined)](/gps_compass/rtk_gps_hex_hereplus.md)
|
||||
- [INS (Inertial Navigation/GNSS)](/sensor/inertial_navigation_systems.md)
|
||||
- [InertialLabs](/sensor/inertiallabs.md)
|
||||
- [VectorNav](/sensor/vectornav.md)
|
||||
- [Optical Flow](/sensor/optical_flow.md)
|
||||
- [ARK Flow](/dronecan/ark_flow.md)
|
||||
@@ -308,7 +305,6 @@
|
||||
- [Zubax Telega](/dronecan/zubax_telega.md)
|
||||
- [PX4 Sapog ESC Firmware](/dronecan/sapog.md)
|
||||
- [Holybro Kotleta](/dronecan/holybro_kotleta.md)
|
||||
- [Zubax Orel](/dronecan/zubax_orel.md)
|
||||
- [Vertiq](/peripherals/vertiq.md)
|
||||
- [VESC](/peripherals/vesc.md)
|
||||
- [Radio Control (RC)](/getting_started/rc_transmitter_receiver.md)
|
||||
@@ -320,6 +316,7 @@
|
||||
- [Telemetry Radios](/telemetry/index.md)
|
||||
- [SiK Radio](/telemetry/sik_radio.md)
|
||||
- [RFD900 (SiK) Telemetry Radio](/telemetry/rfd900_telemetry.md)
|
||||
- [ThunderFly TFSIK01 Telemetry Radio](/telemetry/tfsik_telemetry.md)
|
||||
- [HolyBro (SIK) Telemetry Radio](/telemetry/holybro_sik_radio.md)
|
||||
- [Telemetry Wifi](/telemetry/telemetry_wifi.md)
|
||||
- [ESP8266 WiFi Module](/telemetry/esp8266_wifi_module.md)
|
||||
@@ -335,6 +332,7 @@
|
||||
- [FrSky Telemetry](/peripherals/frsky_telemetry.md)
|
||||
- [TBS Crossfire (CRSF) Telemetry](/telemetry/crsf_telemetry.md)
|
||||
- [Satellite Comms (Iridium/RockBlock)](/advanced_features/satcom_roadblock.md)
|
||||
|
||||
- [Power Systems](/power_systems/index.md)
|
||||
- [Battery Estimation Tuning](/config/battery.md)
|
||||
- [Battery Chemistry Overview](/power_systems/battery_chemistry.md)
|
||||
@@ -401,7 +399,6 @@
|
||||
- [Full Parameter Reference](/advanced_config/parameter_reference.md)
|
||||
|
||||
- [Other Vehicles](/airframes/index.md)
|
||||
|
||||
- [Airships (experimental)](/frames_airship/index.md)
|
||||
- [Autogyros (experimental)](/frames_autogyro/index.md)
|
||||
- [ThunderFly Auto-G2 (Holybro pix32)](/frames_autogyro/thunderfly_auto_g2.md)
|
||||
@@ -409,17 +406,17 @@
|
||||
- [Helicopter (experimental)](/frames_helicopter/index.md)
|
||||
- [Helicopter Config/Tuning](/config_heli/index.md)
|
||||
- [Rovers (experimental)](/frames_rover/index.md)
|
||||
- [Ackermann Rovers](/frames_rover/ackermann.md)
|
||||
- [Drive Modes](/flight_modes_rover/ackermann.md)
|
||||
- [Configuration/Tuning](/config_rover/ackermann.md)
|
||||
- [Differential Rovers](/frames_rover/differential.md)
|
||||
- [Drive Modes](/flight_modes_rover/differential.md)
|
||||
- [Configuration/Tuning](/config_rover/differential.md)
|
||||
- [Aion Robotics R1](/frames_rover/aion_r1.md)
|
||||
- [Mecanum Rovers](/frames_rover/mecanum.md)
|
||||
- [Drive Modes](/flight_modes_rover/mecanum.md)
|
||||
- [Configuration/Tuning](/config_rover/mecanum.md)
|
||||
- [(Deprecated) Rover Position Control](/frames_rover/rover_position_control.md)
|
||||
- [Drive Modes](/flight_modes_rover/index.md)
|
||||
- [Manual](/flight_modes_rover/manual.md)
|
||||
- [Auto](/flight_modes_rover/auto.md)
|
||||
- [Configuration/Tuning](/config_rover/index.md)
|
||||
- [Basic Setup](/config_rover/basic_setup.md)
|
||||
- [Rate Tuning](/config_rover/rate_tuning.md)
|
||||
- [Attitude Tuning](/config_rover/attitude_tuning.md)
|
||||
- [Velocity Tuning](/config_rover/velocity_tuning.md)
|
||||
- [Position Tuning](/config_rover/position_tuning.md)
|
||||
- [Complete Vehicles](/complete_vehicles_rover/index.md)
|
||||
- [Aion Robotics R1](/complete_vehicles_rover/aion_r1.md)
|
||||
- [Submarines (experimental)](/frames_sub/index.md)
|
||||
- [BlueROV2](/frames_sub/bluerov2.md)
|
||||
- [Airframes Reference](/airframes/airframe_reference.md)
|
||||
@@ -531,6 +528,7 @@
|
||||
- [Airspeed](/msg_docs/Airspeed.md)
|
||||
- [AirspeedWind](/msg_docs/AirspeedWind.md)
|
||||
- [AutotuneAttitudeControlStatus](/msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [BatteryInfo](/msg_docs/BatteryInfo.md)
|
||||
- [ButtonEvent](/msg_docs/ButtonEvent.md)
|
||||
- [CameraCapture](/msg_docs/CameraCapture.md)
|
||||
- [CameraStatus](/msg_docs/CameraStatus.md)
|
||||
@@ -549,6 +547,7 @@
|
||||
- [DifferentialPressure](/msg_docs/DifferentialPressure.md)
|
||||
- [DistanceSensor](/msg_docs/DistanceSensor.md)
|
||||
- [DistanceSensorModeChangeRequest](/msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [DronecanNodeStatus](/msg_docs/DronecanNodeStatus.md)
|
||||
- [Ekf2Timestamps](/msg_docs/Ekf2Timestamps.md)
|
||||
- [EscReport](/msg_docs/EscReport.md)
|
||||
- [EscStatus](/msg_docs/EscStatus.md)
|
||||
@@ -623,6 +622,7 @@
|
||||
- [MountOrientation](/msg_docs/MountOrientation.md)
|
||||
- [NavigatorMissionItem](/msg_docs/NavigatorMissionItem.md)
|
||||
- [NavigatorStatus](/msg_docs/NavigatorStatus.md)
|
||||
- [NeuralControl](/msg_docs/NeuralControl.md)
|
||||
- [NormalizedUnsignedSetpoint](/msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [ObstacleDistance](/msg_docs/ObstacleDistance.md)
|
||||
- [OffboardControlMode](/msg_docs/OffboardControlMode.md)
|
||||
@@ -662,6 +662,8 @@
|
||||
- [RoverPositionSetpoint](/msg_docs/RoverPositionSetpoint.md)
|
||||
- [RoverRateSetpoint](/msg_docs/RoverRateSetpoint.md)
|
||||
- [RoverRateStatus](/msg_docs/RoverRateStatus.md)
|
||||
- [RoverSpeedSetpoint](/msg_docs/RoverSpeedSetpoint.md)
|
||||
- [RoverSpeedStatus](/msg_docs/RoverSpeedStatus.md)
|
||||
- [RoverSteeringSetpoint](/msg_docs/RoverSteeringSetpoint.md)
|
||||
- [RoverThrottleSetpoint](/msg_docs/RoverThrottleSetpoint.md)
|
||||
- [RoverVelocitySetpoint](/msg_docs/RoverVelocitySetpoint.md)
|
||||
@@ -721,7 +723,13 @@
|
||||
- [Wind](/msg_docs/Wind.md)
|
||||
- [YawEstimatorStatus](/msg_docs/YawEstimatorStatus.md)
|
||||
- [AirspeedValidatedV0](/msg_docs/AirspeedValidatedV0.md)
|
||||
- [ArmingCheckReplyV0](/msg_docs/ArmingCheckReplyV0.md)
|
||||
- [ArmingCheckRequestV0](/msg_docs/ArmingCheckRequestV0.md)
|
||||
- [BatteryStatusV0](/msg_docs/BatteryStatusV0.md)
|
||||
- [EventV0](/msg_docs/EventV0.md)
|
||||
- [HomePositionV0](/msg_docs/HomePositionV0.md)
|
||||
- [VehicleAttitudeSetpointV0](/msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleLocalPositionV0](/msg_docs/VehicleLocalPositionV0.md)
|
||||
- [VehicleStatusV0](/msg_docs/VehicleStatusV0.md)
|
||||
- [MAVLink Messaging](/mavlink/index.md)
|
||||
- [Adding Messages](/mavlink/adding_messages.md)
|
||||
@@ -761,7 +769,7 @@
|
||||
- [Debugging with GDB](/debug/gdb_debugging.md)
|
||||
- [SWD Debug Port](/debug/swd_debug.md)
|
||||
- [JLink Probe](/debug/probe_jlink.md)
|
||||
- [Black Magic/DroneCode Probe](/debug/probe_bmp.md)
|
||||
- [Black Magic/Zubax BugFace BF1 Probe](/debug/probe_bmp.md)
|
||||
- [STLink Probe](/debug/probe_stlink.md)
|
||||
- [MCU-Link Probe](/debug/probe_mculink.md)
|
||||
- [Hardfault Debugging](/debug/gdb_hardfault.md)
|
||||
@@ -785,6 +793,9 @@
|
||||
- [Camera Integration/Architecture](/camera/camera_architecture.md)
|
||||
- [Computer Vision](/advanced/computer_vision.md)
|
||||
- [Motion Capture (VICON, Optitrack, NOKOV)](/tutorials/motion-capture.md)
|
||||
- [Neural Networks](/advanced/neural_networks.md)
|
||||
- [Neural Network Module Utilities](/advanced/nn_module_utilities.md)
|
||||
- [TensorFlow Lite Micro (TFLM)](/advanced/tflm.md)
|
||||
- [Installing driver for Intel RealSense R200](/advanced/realsense_intel_driver.md)
|
||||
- [Switching State Estimators](/advanced/switching_state_estimators.md)
|
||||
- [Out-of-Tree Modules](/advanced/out_of_tree_modules.md)
|
||||
@@ -816,8 +827,12 @@
|
||||
- [Test MC_02 - Full Autonomous](/test_cards/mc_02_full_autonomous.md)
|
||||
- [Test MC_03 - Auto Manual Mix](/test_cards/mc_03_auto_manual_mix.md)
|
||||
- [Test MC_04 - Failsafe Testing](/test_cards/mc_04_failsafe_testing.md)
|
||||
- [Test MC_05 - Indoor Flight (Manual Modes)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_05 - Manual Modes (Inside)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](/test_cards/mc_06_optical_flow.md)
|
||||
- [Test MC_07 - VIO (Inside)](/test_cards/mc_07_vio.md)
|
||||
- [Test MC_08 - DSHOT ESC](/test_cards/mc_08_dshot.md)
|
||||
- [Unit Tests](/test_and_ci/unit_tests.md)
|
||||
- [Fuzz Tests](/test_and_ci/fuzz_tests.md)
|
||||
- [Continuous Integration](/test_and_ci/continous_integration.md)
|
||||
- [Integration Testing](/test_and_ci/integration_testing.md)
|
||||
- [MAVSDK Integration Testing](/test_and_ci/integration_testing_mavsdk.md)
|
||||
|
||||
@@ -692,6 +692,16 @@ to 0 and 4096. Other standard params follows the same rule.
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 65535 | | 0 |
|
||||
|
||||
### PCA9685_EN_BUS (`INT32`) {#PCA9685_EN_BUS}
|
||||
|
||||
Enable the PCA9685 output driver.
|
||||
|
||||
The integer refers to the I2C bus number where PCA9685 is connected.
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 10 | | 0 |
|
||||
|
||||
### PCA9685_FAIL1 (`INT32`) {#PCA9685_FAIL1}
|
||||
|
||||
PCA9685 Output Channel 1 Failsafe Value.
|
||||
@@ -14435,9 +14445,9 @@ Set bits in the following positions to enable:
|
||||
|
||||
### FW_AT_MAN_AUX (`INT32`) {#FW_AT_MAN_AUX}
|
||||
|
||||
Enable/disable auto tuning using an RC AUX input.
|
||||
Enable/disable auto tuning using a manual control AUX input.
|
||||
|
||||
Defines which RC_MAP_AUXn parameter maps the RC channel used to enable/disable auto tuning.
|
||||
Defines which RC_MAP_AUXn parameter maps the manual control channel used to enable/disable auto tuning.
|
||||
|
||||
**Values:**
|
||||
|
||||
@@ -16242,21 +16252,6 @@ Expect and require a healthy MAVLink parachute system.
|
||||
| ------ | -------- | -------- | --------- | ------------ | ---- |
|
||||
| | | | | Disabled (0) |
|
||||
|
||||
### COM_POSCTL_NAVL (`INT32`) {#COM_POSCTL_NAVL}
|
||||
|
||||
Position mode navigation loss response.
|
||||
|
||||
This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control in manual Position mode.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Altitude mode
|
||||
- `1`: Land mode (descend)
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0 |
|
||||
|
||||
### COM_POS_FS_EPH (`FLOAT`) {#COM_POS_FS_EPH}
|
||||
|
||||
Horizontal position error threshold for hovering systems.
|
||||
@@ -16363,7 +16358,7 @@ A negative value disables the check.
|
||||
|
||||
### COM_RCL_EXCEPT (`INT32`) {#COM_RCL_EXCEPT}
|
||||
|
||||
RC loss exceptions.
|
||||
Manual control loss exceptions.
|
||||
|
||||
Specify modes where manual control loss is ignored and no failsafe is triggered.
|
||||
External modes requiring stick input will still failsafe.
|
||||
@@ -16381,7 +16376,7 @@ External modes requiring stick input will still failsafe.
|
||||
|
||||
### COM_RC_ARM_HYST (`INT32`) {#COM_RC_ARM_HYST}
|
||||
|
||||
RC input arm/disarm command duration.
|
||||
Manual control input arm/disarm command duration.
|
||||
|
||||
The default value of 1000 requires the stick to be held in the arm or disarm position for 1 second.
|
||||
|
||||
@@ -16429,9 +16424,9 @@ Ensure the value is not set lower than the update interval of the RC or Joystick
|
||||
|
||||
### COM_RC_OVERRIDE (`INT32`) {#COM_RC_OVERRIDE}
|
||||
|
||||
Enable RC stick override of auto and/or offboard modes.
|
||||
Enable manual control stick override.
|
||||
|
||||
When RC stick override is enabled, moving the RC sticks more than COM_RC_STICK_OV
|
||||
When enabled, moving the sticks more than COM_RC_STICK_OV
|
||||
immediately gives control back to the pilot by switching to Position mode and
|
||||
if position is unavailable Altitude mode.
|
||||
Note: Only has an effect on multicopters, and VTOLs in multicopter mode.
|
||||
@@ -16447,7 +16442,7 @@ Note: Only has an effect on multicopters, and VTOLs in multicopter mode.
|
||||
|
||||
### COM_RC_STICK_OV (`FLOAT`) {#COM_RC_STICK_OV}
|
||||
|
||||
RC stick override threshold.
|
||||
Stick override threshold.
|
||||
|
||||
If COM_RC_OVERRIDE is enabled and the joystick input is moved more than this threshold
|
||||
the autopilot the pilot takes over control.
|
||||
@@ -16591,11 +16586,10 @@ action will be executed.
|
||||
|
||||
### NAV_RCL_ACT (`INT32`) {#NAV_RCL_ACT}
|
||||
|
||||
Set RC loss failsafe mode.
|
||||
Set manual control loss failsafe mode.
|
||||
|
||||
The RC loss failsafe will only be entered after a timeout,
|
||||
set by COM_RC_LOSS_T in seconds. If RC input checks have been disabled
|
||||
by setting the COM_RC_IN_MODE param it will not be triggered.
|
||||
The manual control loss failsafe will only be entered after a timeout,
|
||||
set by COM_RC_LOSS_T in seconds.
|
||||
|
||||
**Values:**
|
||||
|
||||
@@ -16876,7 +16870,7 @@ armed.
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 1 | 0.01 | 0.055 | % |
|
||||
| | 0 | 1 | 0.01 | 0.055 | norm |
|
||||
|
||||
### DSHOT_TEL_CFG (`INT32`) {#DSHOT_TEL_CFG}
|
||||
|
||||
@@ -19929,7 +19923,7 @@ Yaw behaviour during orbit flight.
|
||||
- `1`: Hold Initial Heading
|
||||
- `2`: Uncontrolled
|
||||
- `3`: Hold Front Tangent to Circle
|
||||
- `4`: RC Controlled
|
||||
- `4`: Manually (yaw stick) Controlled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
@@ -20268,6 +20262,7 @@ Modes 1 and 2 require each F9P UART1 to be connected to the Autopilot. In additi
|
||||
F9P units are connected to each other.
|
||||
Modes 3 and 4 only require UART1 on each F9P connected to the Autopilot or Can Node. UART RX DMA is required.
|
||||
RTK is still possible with this setup.
|
||||
Mode 6 is intended for use with a ground control station (not necessarily an RTK correction base).
|
||||
|
||||
**Values:**
|
||||
|
||||
@@ -20277,6 +20272,7 @@ RTK is still possible with this setup.
|
||||
- `3`: Heading (Rover With Moving Base UART1 Connected to Autopilot Or Can Node At 921600)
|
||||
- `4`: Moving Base (Moving Base UART1 Connected to Autopilot Or Can Node At 921600)
|
||||
- `5`: Rover with Static Base on UART2 (similar to Default, except coming in on UART2)
|
||||
- `6`: Ground Control Station (UART2 outputs NMEA)
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ------- | ---- |
|
||||
@@ -29542,6 +29538,16 @@ Distance from the center of the right wheel to the center of the left wheel.
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 100 | 0.001 | 0 | m |
|
||||
|
||||
### RD_YAW_STK_GAIN (`FLOAT`) {#RD_YAW_STK_GAIN}
|
||||
|
||||
Yaw stick gain for Manual mode.
|
||||
|
||||
Assign value <1.0 to decrease stick response for yaw control.
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0.1 | 1 | 0.01 | 1 |
|
||||
|
||||
## Rover Mecanum
|
||||
|
||||
### RM_COURSE_CTL_TH (`FLOAT`) {#RM_COURSE_CTL_TH}
|
||||
@@ -29567,6 +29573,16 @@ Distance from the center of the right wheel to the center of the left wheel.
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 100 | 0.001 | 0 | m |
|
||||
|
||||
### RM_YAW_STK_GAIN (`FLOAT`) {#RM_YAW_STK_GAIN}
|
||||
|
||||
Yaw stick gain for Manual mode.
|
||||
|
||||
Assign value <1.0 to decrease stick response for yaw control.
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0.1 | 1 | 0.01 | 1 |
|
||||
|
||||
## Rover Rate Control
|
||||
|
||||
### RO_YAW_ACCEL_LIM (`FLOAT`) {#RO_YAW_ACCEL_LIM}
|
||||
@@ -29591,6 +29607,18 @@ Set to -1 to disable.
|
||||
| ------ | -------- | -------- | --------- | ------- | ------- |
|
||||
| | -1 | 10000 | 0.01 | -1. | deg/s^2 |
|
||||
|
||||
### RO_YAW_EXPO (`FLOAT`) {#RO_YAW_EXPO}
|
||||
|
||||
Yaw rate expo factor.
|
||||
|
||||
Exponential factor for tuning the input curve shape.
|
||||
0 Purely linear input curve
|
||||
1 Purely cubic input curve
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 1 | | 0. |
|
||||
|
||||
### RO_YAW_RATE_CORR (`FLOAT`) {#RO_YAW_RATE_CORR}
|
||||
|
||||
Yaw rate correction factor.
|
||||
@@ -29651,6 +29679,19 @@ Percentage of stick input range that will be interpreted as zero around the stic
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 1 | 0.01 | 0.1 |
|
||||
|
||||
### RO_YAW_SUPEXPO (`FLOAT`) {#RO_YAW_SUPEXPO}
|
||||
|
||||
Yaw rate super expo factor.
|
||||
|
||||
"Superexponential" factor for refining the input curve shape tuned using RO_YAW_EXPO.
|
||||
0 Pure Expo function
|
||||
0.7 reasonable shape enhancement for intuitive stick feel
|
||||
0.95 very strong bent input curve only near maxima have effect
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 0.95 | | 0. |
|
||||
|
||||
## Rover Velocity Control
|
||||
|
||||
### RO_ACCEL_LIM (`FLOAT`) {#RO_ACCEL_LIM}
|
||||
@@ -29838,6 +29879,24 @@ Selects the algorithm used for logfile encryption
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 2 |
|
||||
|
||||
### SDLOG_BACKEND (`INT32`) {#SDLOG_BACKEND}
|
||||
|
||||
Logging Backend (integer bitmask).
|
||||
|
||||
If no logging is set the logger will not be started.
|
||||
Set bits true to enable:
|
||||
0: SD card logging
|
||||
1: Mavlink logging
|
||||
|
||||
**Bitmask:**
|
||||
|
||||
- `0`: SD card logging
|
||||
- `1`: Mavlink logging
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ------- | ---- |
|
||||
| ✓ | 0 | 3 | | 3 |
|
||||
|
||||
### SDLOG_BOOT_BAT (`INT32`) {#SDLOG_BOOT_BAT}
|
||||
|
||||
Battery-only Logging.
|
||||
@@ -29924,10 +29983,12 @@ Logging Mode.
|
||||
|
||||
Determines when to start and stop logging. By default, logging is started
|
||||
when arming the system, and stopped when disarming.
|
||||
Note: The logging start/end points that can be configured here only apply to
|
||||
SD logging. The mavlink backend is started/stopped independently
|
||||
of these points.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `-1`: disabled
|
||||
- `0`: when armed until disarm (default)
|
||||
- `1`: from boot until disarm
|
||||
- `2`: from boot until shutdown
|
||||
@@ -33018,6 +33079,31 @@ The mode will switch from long to short range when the distance is less than the
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 1 | 50 | | 4 | m |
|
||||
|
||||
### SENS_BAHRS_CFG (`INT32`) {#SENS_BAHRS_CFG}
|
||||
|
||||
Serial Configuration for EULER-NAV BAHRS.
|
||||
|
||||
Configure on which serial port to run EULER-NAV BAHRS.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `6`: UART 6
|
||||
- `101`: TELEM 1
|
||||
- `102`: TELEM 2
|
||||
- `103`: TELEM 3
|
||||
- `104`: TELEM/SERIAL 4
|
||||
- `201`: GPS 1
|
||||
- `202`: GPS 2
|
||||
- `203`: GPS 3
|
||||
- `300`: Radio Controller
|
||||
- `301`: Wifi Port
|
||||
- `401`: EXT2
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ------- | ---- |
|
||||
| ✓ | | | | 0 |
|
||||
|
||||
### SENS_BARO_QNH (`FLOAT`) {#SENS_BARO_QNH}
|
||||
|
||||
QNH for barometer.
|
||||
@@ -35562,6 +35648,86 @@ Note: certain drivers such as the GPS can determine the Baudrate automatically.
|
||||
| ------- | -------- | -------- | --------- | ------- | ---- |
|
||||
| ✓ | | | | 1 |
|
||||
|
||||
## Simulation
|
||||
|
||||
### SIM_GZ_EN_ASPD (`INT32`) {#SIM_GZ_EN_ASPD}
|
||||
|
||||
Enable airspeed sensor in Gazebo bridge.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Enabled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ----------- | ---- |
|
||||
| ✓ | | | | Enabled (1) |
|
||||
|
||||
### SIM_GZ_EN_BARO (`INT32`) {#SIM_GZ_EN_BARO}
|
||||
|
||||
Enable barometer/air pressure sensor in Gazebo bridge.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Enabled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ----------- | ---- |
|
||||
| ✓ | | | | Enabled (1) |
|
||||
|
||||
### SIM_GZ_EN_FLOW (`INT32`) {#SIM_GZ_EN_FLOW}
|
||||
|
||||
Enable optical flow sensor in Gazebo bridge.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Enabled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ----------- | ---- |
|
||||
| ✓ | | | | Enabled (1) |
|
||||
|
||||
### SIM_GZ_EN_GPS (`INT32`) {#SIM_GZ_EN_GPS}
|
||||
|
||||
Enable GPS/NavSat sensor in Gazebo bridge.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Enabled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ----------- | ---- |
|
||||
| ✓ | | | | Enabled (1) |
|
||||
|
||||
### SIM_GZ_EN_LIDAR (`INT32`) {#SIM_GZ_EN_LIDAR}
|
||||
|
||||
Enable laser/lidar sensors in Gazebo bridge.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Enabled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ----------- | ---- |
|
||||
| ✓ | | | | Enabled (1) |
|
||||
|
||||
### SIM_GZ_EN_ODOM (`INT32`) {#SIM_GZ_EN_ODOM}
|
||||
|
||||
Enable odometry in Gazebo bridge.
|
||||
|
||||
**Values:**
|
||||
|
||||
- `0`: Disabled
|
||||
- `1`: Enabled
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------- | -------- | -------- | --------- | ----------- | ---- |
|
||||
| ✓ | | | | Enabled (1) |
|
||||
|
||||
## Simulation In Hardware
|
||||
|
||||
### SIH_DISTSNSR_MAX (`FLOAT`) {#SIH_DISTSNSR_MAX}
|
||||
@@ -41075,3 +41241,11 @@ SPC_VEHICLE_RESP.
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | | | | 0.5 |
|
||||
|
||||
### ZENOH_DOMAIN_ID (`INT32`) {#ZENOH_DOMAIN_ID}
|
||||
|
||||
ROS2 RMW_ZENOH_CPP Domain id.
|
||||
|
||||
| Reboot | minValue | maxValue | increment | default | unit |
|
||||
| ------ | -------- | -------- | --------- | ------- | ---- |
|
||||
| | 0 | 232 | | 0 |
|
||||
|
||||
@@ -628,7 +628,16 @@ div.frame_variant td, div.frame_variant th {
|
||||
### Free-Flyer
|
||||
|
||||
<div class="frame_common">
|
||||
<img src="../../assets/airframes/types/AirframeUnknown.svg"/>
|
||||
<img src="../../assets/airframes/types/FreeFlyer.svg"/>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Common Outputs</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><ul><li><b>Motor1</b>: back left thruster, +x thrust</li><li><b>Motor2</b>: front left thruster, -x thrust</li><li><b>Motor3</b>: back right thruster, +x thrust</li><li><b>Motor4</b>: front right thruster, -x thrust</li><li><b>Motor5</b>: front left thruster, +y thrust</li><li><b>Motor6</b>: front right thruster, -y thrust</li><li><b>Motor7</b>: back left thruster, +y thrust</li><li><b>Motor8</b>: back right thruster, -y thrust</li></ul></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</div>
|
||||
|
||||
<div class="frame_variant">
|
||||
@@ -638,7 +647,7 @@ div.frame_variant td, div.frame_variant th {
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="spacecraft_free-flyer_kth-atmos">
|
||||
<td>KTH-ATMOS</td>
|
||||
<td><a href="https://atmos.discower.io">KTH-ATMOS</a></td>
|
||||
<td>Maintainer: DISCOWER<p><code>SYS_AUTOSTART</code> = 70000</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -290,7 +290,7 @@ If you're using [DroneCAN ESC](../peripherals/esc_motors.md#dronecan) the contro
|
||||
### Flight Controller Power
|
||||
|
||||
Pixhawk FCs require a regulated power supply that can supply at around 5V/3A continuous (check your specific FC)!
|
||||
This is sufficient to power the controller itself and a few low-power peripherals, such as a GNSS module, RC transmitter, and low power telemetry radio, but not for motors, actuators, and other peripherals.
|
||||
This is sufficient to power the controller itself and a few low-power peripherals, such as a GNSS module, RC receiver, and low power telemetry radio, but not for motors, actuators, and other peripherals.
|
||||
|
||||
[Power modules](../power_module/index.md) are commonly used to "split off" this regulated power supply for the FC and also to provide measurements of the battery voltage and total current to the whole system — which PX4 can use to estimate power levels.
|
||||
The power module is connected to the FC power port, which is normally labeled `POWER` (or `POWER 1` or `POWER 2` for FCs that have redundant power supply).
|
||||
|
||||
@@ -13,9 +13,9 @@ The first executed file is the [init.d/rcS](https://github.com/PX4/PX4-Autopilot
|
||||
|
||||
The following sections are split according to the operating system that PX4 runs on.
|
||||
|
||||
## Posix (Linux/MacOS)
|
||||
## POSIX (Linux/MacOS)
|
||||
|
||||
On Posix, the system shell is used as script interpreter (e.g. /bin/sh, being symlinked to dash on Ubuntu).
|
||||
On POSIX, the system shell is used as script interpreter (e.g. /bin/sh, being symlinked to dash on Ubuntu).
|
||||
For that to work, a few things are required:
|
||||
|
||||
- PX4 modules need to look like individual executables to the system.
|
||||
@@ -54,7 +54,7 @@ cd <PX4-Autopilot>/build/px4_sitl_default/bin
|
||||
### Dynamic Modules
|
||||
|
||||
Normally, all modules are compiled into a single PX4 executable.
|
||||
However, on Posix, there's the option of compiling a module into a separate file, which can be loaded into PX4 using the `dyn` command.
|
||||
However, on POSIX, there's the option of compiling a module into a separate file, which can be loaded into PX4 using the `dyn` command.
|
||||
|
||||
```sh
|
||||
dyn ./test.px4mod
|
||||
@@ -90,6 +90,8 @@ This is documented below.
|
||||
The best way to customize the system startup is to introduce a [new frame configuration](../dev_airframes/adding_a_new_frame.md).
|
||||
The frame configuration file can be included in the firmware or on an SD Card.
|
||||
|
||||
#### Dynamic Customization
|
||||
|
||||
If you only need to "tweak" the existing configuration, such as starting one more application or setting the value of a few parameters, you can specify these by creating two files in the `/etc/` directory of the SD Card:
|
||||
|
||||
- [/etc/config.txt](#customizing-the-configuration-config-txt): modify parameter values
|
||||
@@ -106,7 +108,7 @@ If editing on Windows use a suitable editor.
|
||||
These files are referenced in PX4 code as `/fs/microsd/etc/config.txt` and `/fs/microsd/etc/extras.txt`, where the root folder of the microsd card is identified by the path `/fs/microsd`.
|
||||
:::
|
||||
|
||||
#### Customizing the Configuration (config.txt)
|
||||
##### Customizing the Configuration (config.txt)
|
||||
|
||||
The `config.txt` file can be used to modify parameters.
|
||||
It is loaded after the main system has been configured and _before_ it is booted.
|
||||
@@ -118,7 +120,7 @@ param set-default PWM_MAIN_DIS3 1000
|
||||
param set-default PWM_MAIN_MIN3 1120
|
||||
```
|
||||
|
||||
#### Starting Additional Applications (extras.txt)
|
||||
##### Starting Additional Applications (extras.txt)
|
||||
|
||||
The `extras.txt` can be used to start additional applications after the main system boot.
|
||||
Typically these would be payload controllers or similar optional custom components.
|
||||
@@ -145,3 +147,37 @@ The following example shows how to start custom applications:
|
||||
|
||||
mandatory_app start # Will abort boot if mandatory_app is unknown or fails
|
||||
```
|
||||
|
||||
#### Additional Init-File Customization
|
||||
|
||||
In rare cases where the desired setup cannot be achieved through frame configuration or dynamic customization, you can add a script that will be compiled into the binary for a particular `make` target build variant.
|
||||
|
||||
::: warning
|
||||
In almost all cases, you should use a frame configuration.
|
||||
This method should only be used for edge-cases such as customizing `cannode` based boards.
|
||||
:::
|
||||
|
||||
The steps are:
|
||||
|
||||
- Add a new init script in `boards/<vendor>/<board>/init` that will run during board startup.
|
||||
For example:
|
||||
|
||||
```sh
|
||||
# File: boards/<vendor>/<board>/init/rc.additional
|
||||
param set-default <param> <value>
|
||||
```
|
||||
|
||||
- Add a new board variant in `boards/<vendor>/<board>/<variant>.px4board` that includes the additional script.
|
||||
For example:
|
||||
|
||||
```sh
|
||||
# File: boards/<vendor>/<board>/var.px4board
|
||||
CONFIG_BOARD_ADDITIONAL_INIT="rc.additional"
|
||||
```
|
||||
|
||||
- Compile the firmware with your new variant by appending the variant name to the compile target.
|
||||
For example:
|
||||
|
||||
```sh
|
||||
make <target>_var
|
||||
```
|
||||
|
||||
@@ -206,23 +206,13 @@ The relevant parameters shown below.
|
||||
|
||||
### Position Loss Failsafe Action
|
||||
|
||||
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
|
||||
|
||||
- `0`: Remote control available.
|
||||
Switch to _Altitude mode_ if a height estimate is available, otherwise _Stabilized mode_.
|
||||
- `1`: Remote control _not_ available.
|
||||
Switch to _Descend mode_ if a height estimate is available, otherwise enter flight termination.
|
||||
_Descend mode_ is a landing mode that does not require a position estimate.
|
||||
|
||||
Multicopters will switch to [Altitude mode](../flight_modes_mc/altitude.md) if a height estimate is available, otherwise [Stabilized mode](../flight_modes_mc/manual_stabilized.md).
|
||||
|
||||
Fixed-wing planes, and VTOLs not configured to land in hover ([NAV_FORCE_VT](../advanced_config/parameter_reference.md#NAV_FORCE_VT)), have a parameter ([FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT)) that defines how long they will loiter (circle with a constant roll angle ([FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R)) at the current altitude) after losing position before attempting to land.
|
||||
If VTOLs have are configured to switch to hover for landing ([NAV_FORCE_VT](../advanced_config/parameter_reference.md#NAV_FORCE_VT)) then they will first transition and then descend.
|
||||
|
||||
The relevant parameters for all vehicles shown below.
|
||||
|
||||
| Parameter | Description |
|
||||
| -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="COM_POSCTL_NAVL"></a>[COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL) | Position control navigation loss response during mission. Values: `0` - assume use of RC, `1` - Assume no RC. |
|
||||
|
||||
Parameters that only affect Fixed-wing vehicles:
|
||||
|
||||
| Parameter | Description |
|
||||
|
||||
@@ -35,14 +35,15 @@ The parameters you are most likely to change are listed below.
|
||||
|
||||
| Parameter | Description |
|
||||
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [SDLOG_MODE](../advanced_config/parameter_reference.md#SDLOG_MODE) | Logging Mode. Defines when logging starts and stops.<br />- `-1`: Logging disabled.<br />- `0`: Log when armed until disarm (default).<br />- `1`: Log from boot until disarm.<br />- `2`: Log from boot until shutdown.<br />- `3`: Log based on the [AUX1 RC channel](../advanced_config/parameter_reference.md#RC_MAP_AUX1).<br />- `4`: Log from first armed until shutdown. |
|
||||
| [SDLOG_MODE](../advanced_config/parameter_reference.md#SDLOG_MODE) | Logging Mode. Defines when logging starts and stops.<br />- `0`: Log when armed until disarm (default).<br />- `1`: Log from boot until disarm.<br />- `2`: Log from boot until shutdown.<br />- `3`: Log based on the [AUX1 RC channel](../advanced_config/parameter_reference.md#RC_MAP_AUX1).<br />- `4`: Log from first armed until shutdown. |
|
||||
| [SDLOG_BACKEND](../advanced_config/parameter_reference.md#SDLOG_BACKEND) | Logging Backend (bitmask). Setting a bit enables the corresponding backend. If no backend is selected, the logger is disabled.<br />- bit `0`: SD card logging.</br >- bit `1`: Mavlink logging.
|
||||
| [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) | Logging profile. Use this to enable less common logging/analysis (e.g. for EKF2 replay, high rate logging for PID & filter tuning, thermal temperature calibration). |
|
||||
| [SDLOG_MISSION](../advanced_config/parameter_reference.md#SDLOG_MISSION) | Create very small additional "Mission Log".<br>This log can _not_ be used with [Flight Review](../log/flight_log_analysis.md#flight-review-online-tool), but is useful when you need a small log for geotagging or regulatory compliance. |
|
||||
|
||||
Useful settings for specific cases:
|
||||
|
||||
- Raw sensor data for comparison: [SDLOG_MODE=1](../advanced_config/parameter_reference.md#SDLOG_MODE) and [SDLOG_PROFILE=64](../advanced_config/parameter_reference.md#SDLOG_PROFILE).
|
||||
- Disabling logging altogether: [SDLOG_MODE=`-1`](../advanced_config/parameter_reference.md#SDLOG_MODE)
|
||||
- Disabling logging altogether: [SDLOG_BACKEND=`0`](../advanced_config/parameter_reference.md#SDLOG_BACKEND)
|
||||
|
||||
### Logger module
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ _QGroundControl for Windows_ is additionally required if you need to:
|
||||
Note that you can also use it to monitor a simulation, but you must manually [connect to the simulation running in WSL](#qgroundcontrol-on-windows).
|
||||
|
||||
::: info
|
||||
Connecting to an USB device from within WSL is not natively supported, however it can still be achieved by using the [USBIPD-WIN](https://learn.microsoft.com/en-us/windows/wsl/connect-usb) project. With this you can automatically upload firmware from the command line in WSL using the [`upload`](../dev_setup/building_px4.md#uploading-firmware-flashing-the-board) function.
|
||||
Connecting to an USB device from within WSL is not natively supported, however it can still be achieved by using the [USBIPD-WIN](https://learn.microsoft.com/en-us/windows/wsl/connect-usb) project. With this you can automatically upload firmware from the command line in WSL using the [`upload`](../dev_setup/building_px4.md#uploading-firmware-flashing-the-board) function.
|
||||
:::
|
||||
|
||||
::: info
|
||||
@@ -325,3 +325,9 @@ sudo add-apt-repository ppa:kisak/kisak-mesa
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
```
|
||||
|
||||
### QGroundControl not connecting to PX4 SITL
|
||||
|
||||
- The connection between PX4 SITL on WSL2 and QGroundControl on Windows requires [broadcasting](../simulation/index.md#enable-udp-broadcasting) or [streaming to a specific address](../simulation/index.md#enable-streaming-to-specific-address) to be enabled.
|
||||
Streaming to a specific address should be enabled by default, but is something to check if a connection can't be established.
|
||||
- Network traffic might be blocked by firewall or antivirus on you system.
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
# Accton Godwit G-A1
|
||||
|
||||
:::warning
|
||||
PX4 does not manufacture this (or any) autopilot.
|
||||
Contact the [manufacturer](https://cubepilot.org/#/home) for hardware support or compliance issues.
|
||||
:::
|
||||
|
||||
The G-A1 is a state-of-the-art flight controller developed derived from the [Pixhawk Autopilot v6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf).
|
||||
|
||||
It includes an STM32H753 double-precision floating-point FMU processor and an STM32F103 IO coprocessor, multiple IMUs with 6-axis inertial sensors, two pressure/temperature sensors, and a geomagnetic sensor.
|
||||
It also has independent buses and power supplies, and is designed for safety and rich expansion capabilities.
|
||||
|
||||
With an integrated 10/100M Ethernet Physical Layer (PHY), the G-A1 can also communicate with a mission computer (airborne computer), high-end surveying and mapping cameras, and other UxV-mounted equipment for high-speed communications, meeting the needs of advanced UxV systems.
|
||||
|
||||
:::tip
|
||||
Visit [Accton-IoT Godwit](https://www.accton-iot.com/godwit/) for more information.
|
||||
:::
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
::: info
|
||||
This flight controller is [manufacturer supported](../flight_controller/autopilot_manufacturer_supported.md).
|
||||
:::
|
||||
|
||||
## Specifications
|
||||
|
||||
### Processor
|
||||
|
||||
- STM32H753IIK (Arm® Cortex®-M7 480MHz)
|
||||
- STM32F103 (Arm® Cortex®-M3, 72MHz)
|
||||
|
||||
### Sensors
|
||||
|
||||
- Bosch BMI088 (vibration isolated)
|
||||
- TDK InvenSense ICM-42688-P x 2 (one vibration isolated)
|
||||
- TDK Barometric Pressure and Temperature Sensor CP-20100 x 2 (one vibration isolated)
|
||||
- PNI RM3100 Geomagnetic Sensor (vibration isolated)
|
||||
|
||||
### Power
|
||||
|
||||
- 4.6V to 5.7V
|
||||
|
||||
### External ports
|
||||
|
||||
- 2 CAN Buses (CAN1 and CAN2)
|
||||
- 3 TELEM Ports (TELEM1, TELEM2 and TELEM3)
|
||||
- 2 GPS Ports (GPS1 with safety switch, LED, buzzer, and GPS2)
|
||||
- 1 PPM IN
|
||||
- 1 SBUS OUT
|
||||
- 2 USB Ports (1 TYPE-C and 1 JST GH1.25)
|
||||
- 1 10/100Base-T Ethernet Port
|
||||
- 1 DSM/SBUS RC
|
||||
- 1 UART 4
|
||||
- 1 AD&IO Port
|
||||
- 2 Debug Ports (1 IO Debug and 1 FMU Debug)
|
||||
- 1 SPI6 Bus
|
||||
- 4 Power Inputs (Power 1, Power 2, Power C1 and Power C2)
|
||||
- 16 PWM Servo Outputs (A1-A8 from FMU and M1-M8 from IO)
|
||||
- Micro SD Socket (supports SD 4.1 & SDIO 4.0 in two databus modes: 1 bit (default) and 4 bits)
|
||||
|
||||
### Size and Dimensions
|
||||
|
||||
- 92.2 (L) x 51.2 (W) x 28.3 (H) mm
|
||||
- 77.6g (carrier board with IMU)
|
||||
|
||||
## Where to Buy
|
||||
|
||||
- [Accton-IoT Godwit](https://www.accton-iot.com/godwit/)
|
||||
- [sales@accton-iot.com](sales@accton-iot.com)
|
||||
|
||||
## Pinout
|
||||
|
||||

|
||||
|
||||
## UART Mapping
|
||||
|
||||
| Serial# | Protocol | Port | Notes |
|
||||
| ------- | --------- | ------ | ---------- |
|
||||
| SERIAL1 | Telem1 | UART7 | /dev/ttyS6 |
|
||||
| SERIAL2 | Telem2 | UART5 | /dev/ttyS4 |
|
||||
| SERIAL3 | GPS1 | USART1 | /dev/ttyS0 |
|
||||
| SERIAL4 | GPS2 | UART8 | /dev/ttyS7 |
|
||||
| SERIAL5 | Telem3 | USART2 | /dev/ttyS1 |
|
||||
| SERIAL6 | UART4 | UART4 | /dev/ttyS3 |
|
||||
| SERIAL7 | FMU Debug | USART3 | |
|
||||
| SERIAL8 | OTG2 | USB | |
|
||||
|
||||
## Wiring Diagram
|
||||
|
||||

|
||||
|
||||
## PWM Output
|
||||
|
||||
PWM M1-M8 (IO Main PWM), A1-A8(FMU PWM).
|
||||
All these 16 support normal PWM output formats.
|
||||
FMU PWM A1-A6 can support DShot and B-Directional DShot.
|
||||
A1-A8(FMU PWM) are grouped as:
|
||||
|
||||
- Group 1: A1, A2, A3, A4
|
||||
- Group 2: A5, A6
|
||||
- Group 3: A7, A8
|
||||
|
||||
The motor and servo system should be connected to these ports according to the order outlined in the fuselage reference for your carrier.
|
||||
|
||||

|
||||
|
||||
## RC Input
|
||||
|
||||
For DSM/SBUS receivers, connect them to the DSM/SBUS interface which provides dedicated 3.3V and 5V power pins respectively, and check above "Pinout" for detailed pin definition.
|
||||
PPM receivers should be connected to the PPM interface. And other RC systems can be connected via other spare telemetry ports.
|
||||
|
||||

|
||||
|
||||
## GPS/Compass
|
||||
|
||||
The Godwit G-A1 has a built-in compass
|
||||
Due to potential interference, the autopilot is usually used with an external I2C compass as part of a GPS/Compass combination.
|
||||
|
||||

|
||||
|
||||
## Power Connection and Battery Monitor
|
||||
|
||||
This universal controller features a CAN PMU module that supports 3 to 14s lithium batteries.
|
||||
To ensure proper connection, attach the module's 6-pin connector to the flight control Power C1 and/or Power C2 interface.
|
||||
|
||||
This universal controller does not provide power to the servos.
|
||||
To power them, an external BEC must be connected to the positive and negative terminals of any A1–A8 or M1–M8 port.
|
||||
|
||||

|
||||
|
||||
## SD Card
|
||||
|
||||
The SD card is NOT included in the package, you need to prepare the SD card and insert it into the slot.
|
||||
|
||||

|
||||
|
||||
## Firmware
|
||||
|
||||
The autopilot is compatible with PX4 firmware. And G-A1 can be detected by QGroundControl automatically. Users can also build it with target "accton-godwit_ga1"
|
||||
|
||||
To [build PX4](../dev_setup/building_px4.md) for this target, open up the terminal and enter:
|
||||
|
||||
```sh
|
||||
make accton-godwit_ga1
|
||||
```
|
||||
|
||||
## More Information and Support
|
||||
|
||||
- [Accton-IoT Godwit](https://www.accton-iot.com/godwit/)
|
||||
- [sales@accton-iot.com](sales@accton-iot.com)
|
||||
- [support@accton-iot.com](mailto:support@accton-iot.com)
|
||||
@@ -12,6 +12,7 @@ This category includes boards that are not fully compliant with the pixhawk stan
|
||||
|
||||
The boards in this category are:
|
||||
|
||||
- [Accton Godwit GA1](../flight_controller/accton-godwit_ga1.md)
|
||||
- [AirMind MindPX](../flight_controller/mindpx.md)
|
||||
- [AirMind MindRacer](../flight_controller/mindracer.md)
|
||||
- [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) (and [ARK Electronics Pixhawk Autopilot Bus Carrier](../flight_controller/ark_pab.md))
|
||||
|
||||
@@ -45,6 +45,41 @@ MicroStrain <command> [arguments...]
|
||||
status Driver status
|
||||
```
|
||||
|
||||
## eulernav_bahrs
|
||||
|
||||
Source: [drivers/ins/eulernav_bahrs](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/ins/eulernav_bahrs)
|
||||
|
||||
### Description
|
||||
|
||||
Serial bus driver for the EULER-NAV Baro-Inertial AHRS.
|
||||
|
||||
### Examples
|
||||
|
||||
Attempt to start driver on a specified serial device.
|
||||
|
||||
```
|
||||
eulernav_bahrs start -d /dev/ttyS1
|
||||
```
|
||||
|
||||
Stop driver
|
||||
|
||||
```
|
||||
eulernav_bahrs stop
|
||||
```
|
||||
|
||||
### Usage {#eulernav_bahrs_usage}
|
||||
|
||||
```
|
||||
eulernav_bahrs <command> [arguments...]
|
||||
Commands:
|
||||
start Start driver
|
||||
-d <val> Serial device
|
||||
|
||||
status Print driver status
|
||||
|
||||
stop Stop driver
|
||||
```
|
||||
|
||||
## ilabs
|
||||
|
||||
Source: [drivers/ins/ilabs](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/ins/ilabs)
|
||||
|
||||
@@ -15,25 +15,25 @@ Request are published by `manual_control` and subscribed by the `commander` and
|
||||
# It allows mapping triggers from various external interfaces like RC channels or MAVLink to cause an action.
|
||||
# Request are published by `manual_control` and subscribed by the `commander` and `vtol_att_control` modules.
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp # [us] Time since system start
|
||||
|
||||
uint8 action # [@enum ACTION] Requested action
|
||||
uint8 ACTION_DISARM = 0 # Disarm vehicle
|
||||
uint8 ACTION_ARM = 1 # Arm vehicle
|
||||
uint8 ACTION_TOGGLE_ARMING = 2 # Toggle arming
|
||||
uint8 ACTION_UNKILL = 3 # Revert a kill action
|
||||
uint8 ACTION_KILL = 4 # Kill vehicle (instantly stop the motors)
|
||||
uint8 ACTION_SWITCH_MODE = 5 # Switch mode. The target mode is set in the `mode` field.
|
||||
uint8 ACTION_VTOL_TRANSITION_TO_MULTICOPTER = 6 # Transition to hover flight
|
||||
uint8 ACTION_VTOL_TRANSITION_TO_FIXEDWING = 7 # Transition to fast forward flight
|
||||
uint8 ACTION_TERMINATION = 8 # Irreversably output failsafe values on all outputs, trigger parachute
|
||||
uint8 action # [@enum ACTION] Requested action
|
||||
uint8 ACTION_DISARM = 0 # Disarm vehicle
|
||||
uint8 ACTION_ARM = 1 # Arm vehicle
|
||||
uint8 ACTION_TOGGLE_ARMING = 2 # Toggle arming
|
||||
uint8 ACTION_UNKILL = 3 # Revert a kill action
|
||||
uint8 ACTION_KILL = 4 # Kill vehicle (instantly stop the motors)
|
||||
uint8 ACTION_SWITCH_MODE = 5 # Switch mode. The target mode is set in the `mode` field.
|
||||
uint8 ACTION_VTOL_TRANSITION_TO_MULTICOPTER = 6 # Transition to hover flight
|
||||
uint8 ACTION_VTOL_TRANSITION_TO_FIXEDWING = 7 # Transition to fast forward flight
|
||||
uint8 ACTION_TERMINATION = 8 # Irreversibly output failsafe values on all outputs, trigger parachute
|
||||
|
||||
uint8 source # [@enum SOURCE] Request trigger type, such as a switch, button or gesture
|
||||
uint8 SOURCE_STICK_GESTURE = 0 # Triggered by holding the sticks in a certain position
|
||||
uint8 SOURCE_RC_SWITCH = 1 # Triggered by an RC switch moving into a certain position
|
||||
uint8 SOURCE_RC_BUTTON = 2 # Triggered by a momentary button on the RC being pressed or held
|
||||
uint8 SOURCE_RC_MODE_SLOT = 3 # Mode change through the RC mode selection mechanism
|
||||
uint8 source # [@enum SOURCE] Request trigger type, such as a switch, button or gesture
|
||||
uint8 SOURCE_STICK_GESTURE = 0 # Triggered by holding the sticks in a certain position
|
||||
uint8 SOURCE_RC_SWITCH = 1 # Triggered by an RC switch moving into a certain position
|
||||
uint8 SOURCE_RC_BUTTON = 2 # Triggered by a momentary button on the RC being pressed or held
|
||||
uint8 SOURCE_RC_MODE_SLOT = 3 # Mode change through the RC mode selection mechanism
|
||||
|
||||
uint8 mode # Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration.
|
||||
uint8 mode # Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration.
|
||||
|
||||
```
|
||||
|
||||
@@ -15,14 +15,14 @@ Published by the vehicle's allocation and consumed by the ESC protocol drivers e
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
|
||||
|
||||
uint16 reversible_flags # Bitset indicating which motors are configured to be reversible
|
||||
uint16 reversible_flags # Bitset indicating which motors are configured to be reversible
|
||||
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101 #
|
||||
|
||||
uint8 NUM_CONTROLS = 12
|
||||
float32[12] control # [@range -1, 1] Normalized thrust. where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors)
|
||||
uint8 NUM_CONTROLS = 12 #
|
||||
float32[12] control # [@range -1, 1] Normalized thrust. where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors)
|
||||
|
||||
```
|
||||
|
||||
@@ -15,10 +15,10 @@ Published by the vehicle's allocation and consumed by the actuator output driver
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
|
||||
|
||||
uint8 NUM_CONTROLS = 8
|
||||
float32[8] control # [@range -1, 1] Normalized output. 1 means maximum positive position. -1 maximum negative position (if not supported by the output, <0 maps to NaN). NaN maps to disarmed.
|
||||
uint8 NUM_CONTROLS = 8 #
|
||||
float32[8] control # [@range -1, 1] Normalized output. 1 means maximum positive position. -1 maximum negative position (if not supported by the output, <0 maps to NaN). NaN maps to disarmed.
|
||||
|
||||
```
|
||||
|
||||
@@ -13,10 +13,10 @@ It is subscribed by the airspeed selector module, which validates the data from
|
||||
# This is published by airspeed sensor drivers, CAN airspeed sensors, simulators.
|
||||
# It is subscribed by the airspeed selector module, which validates the data from multiple sensors and passes on a single estimation to the EKF, controllers and telemetry providers.
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Timestamp of the raw data
|
||||
float32 indicated_airspeed_m_s # [m/s] Indicated airspeed
|
||||
float32 true_airspeed_m_s # [m/s] True airspeed
|
||||
float32 confidence # [@range 0,1] Confidence value for this sensor
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Timestamp of the raw data
|
||||
float32 indicated_airspeed_m_s # [m/s] Indicated airspeed
|
||||
float32 true_airspeed_m_s # [m/s] True airspeed
|
||||
float32 confidence # [@range 0,1] Confidence value for this sensor
|
||||
|
||||
```
|
||||
|
||||
@@ -21,39 +21,39 @@ The message is not used by internal/FMU components, as their mode requirements a
|
||||
# Note that the external component is identified by its registration_id, which is allocated to the component during registration (arming_check_id in RegisterExtComponentReply).
|
||||
# The message is not used by internal/FMU components, as their mode requirements are known at compile time.
|
||||
|
||||
uint32 MESSAGE_VERSION = 1
|
||||
uint32 MESSAGE_VERSION = 1
|
||||
|
||||
uint64 timestamp # [us] Time since system start.
|
||||
|
||||
uint8 request_id # Id of ArmingCheckRequest for which this is a response.
|
||||
uint8 registration_id # Id of external component emitting this response.
|
||||
uint8 request_id # Id of ArmingCheckRequest for which this is a response.
|
||||
uint8 registration_id # Id of external component emitting this response.
|
||||
|
||||
uint8 HEALTH_COMPONENT_INDEX_NONE = 0 # Index of health component for which this response applies.
|
||||
uint8 HEALTH_COMPONENT_INDEX_NONE = 0 # Index of health component for which this response applies.
|
||||
|
||||
uint8 health_component_index # [@enum HEALTH_COMPONENT_INDEX]
|
||||
bool health_component_is_present # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
bool health_component_warning # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
bool health_component_error # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
uint8 health_component_index # [@enum HEALTH_COMPONENT_INDEX]
|
||||
bool health_component_is_present # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
bool health_component_warning # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
bool health_component_error # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
|
||||
bool can_arm_and_run # True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed.
|
||||
bool can_arm_and_run # True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed.
|
||||
|
||||
uint8 num_events # Number of queued failure messages (Event) in the events field.
|
||||
uint8 num_events # Number of queued failure messages (Event) in the events field.
|
||||
|
||||
Event[5] events # Arming failure reasons (Queue of events to report to GCS).
|
||||
Event[5] events # Arming failure reasons (Queue of events to report to GCS).
|
||||
|
||||
# Mode requirements
|
||||
bool mode_req_angular_velocity # Requires angular velocity estimate (e.g. from gyroscope).
|
||||
bool mode_req_attitude # Requires an attitude estimate.
|
||||
bool mode_req_local_alt # Requires a local altitude estimate.
|
||||
bool mode_req_local_position # Requires a local position estimate.
|
||||
bool mode_req_local_position_relaxed # Requires a more relaxed global position estimate.
|
||||
bool mode_req_global_position # Requires a global position estimate.
|
||||
bool mode_req_global_position_relaxed # Requires a relaxed global position estimate.
|
||||
bool mode_req_mission # Requires an uploaded mission.
|
||||
bool mode_req_home_position # Requires a home position (such as RTL/Return mode).
|
||||
bool mode_req_prevent_arming # Prevent arming (such as in Land mode).
|
||||
bool mode_req_manual_control # Requires a manual controller
|
||||
bool mode_req_angular_velocity # Requires angular velocity estimate (e.g. from gyroscope).
|
||||
bool mode_req_attitude # Requires an attitude estimate.
|
||||
bool mode_req_local_alt # Requires a local altitude estimate.
|
||||
bool mode_req_local_position # Requires a local position estimate.
|
||||
bool mode_req_local_position_relaxed # Requires a more relaxed global position estimate.
|
||||
bool mode_req_global_position # Requires a global position estimate.
|
||||
bool mode_req_global_position_relaxed # Requires a relaxed global position estimate.
|
||||
bool mode_req_mission # Requires an uploaded mission.
|
||||
bool mode_req_home_position # Requires a home position (such as RTL/Return mode).
|
||||
bool mode_req_prevent_arming # Prevent arming (such as in Land mode).
|
||||
bool mode_req_manual_control # Requires a manual controller
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 4 #
|
||||
uint8 ORB_QUEUE_LENGTH = 4
|
||||
|
||||
```
|
||||
|
||||
@@ -21,10 +21,12 @@ The reply will also include the registration_id for each external component, pro
|
||||
# The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
|
||||
# The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
uint32 MESSAGE_VERSION = 1
|
||||
|
||||
uint64 timestamp # [us] Time since system start.
|
||||
uint64 timestamp # [us] Time since system start.
|
||||
|
||||
uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.
|
||||
uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.
|
||||
|
||||
uint32 valid_registrations_mask # Bitmask of valid registration ID's (the bit is also cleared if flagged as unresponsive)
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# ArmingCheckRequestV0 (UORB message)
|
||||
|
||||
Arming check request.
|
||||
|
||||
Broadcast message to request arming checks be reported by all registered components, such as external ROS 2 navigation modes.
|
||||
All registered components should respond with an ArmingCheckReply message that indicates their current mode requirements, and any arming failure information.
|
||||
The request is sent regularly, even while armed, so that the FMU always knows the current arming state for external modes, and can forward it to ground stations.
|
||||
|
||||
The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
|
||||
The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/ArmingCheckRequestV0.msg)
|
||||
|
||||
```c
|
||||
# Arming check request.
|
||||
#
|
||||
# Broadcast message to request arming checks be reported by all registered components, such as external ROS 2 navigation modes.
|
||||
# All registered components should respond with an ArmingCheckReply message that indicates their current mode requirements, and any arming failure information.
|
||||
# The request is sent regularly, even while armed, so that the FMU always knows the current arming state for external modes, and can forward it to ground stations.
|
||||
#
|
||||
# The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
|
||||
# The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # [us] Time since system start.
|
||||
|
||||
uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.
|
||||
|
||||
```
|
||||
@@ -11,39 +11,39 @@ This is currently used only for logging cell status from MAVLink.
|
||||
#
|
||||
# This is currently used only for logging cell status from MAVLink.
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp # [us] Time since system start
|
||||
|
||||
uint16 status # [@enum STATUS_FLAG] Status bitmap
|
||||
uint16 STATUS_FLAG_UNKNOWN = 1 # State unknown or not reportable
|
||||
uint16 STATUS_FLAG_FAILED = 2 # Modem is unusable
|
||||
uint16 STATUS_FLAG_INITIALIZING = 4 # Modem is being initialized
|
||||
uint16 STATUS_FLAG_LOCKED = 8 # Modem is locked
|
||||
uint16 STATUS_FLAG_DISABLED = 16 # Modem is not enabled and is powered down
|
||||
uint16 STATUS_FLAG_DISABLING = 32 # Modem is currently transitioning to the STATUS_FLAG_DISABLED state
|
||||
uint16 STATUS_FLAG_ENABLING = 64 # Modem is currently transitioning to the STATUS_FLAG_ENABLED state
|
||||
uint16 STATUS_FLAG_ENABLED = 128 # Modem is enabled and powered on but not registered with a network provider and not available for data connections
|
||||
uint16 STATUS_FLAG_SEARCHING = 256 # Modem is searching for a network provider to register
|
||||
uint16 STATUS_FLAG_REGISTERED = 512 # Modem is registered with a network provider, and data connections and messaging may be available for use
|
||||
uint16 STATUS_FLAG_DISCONNECTING = 1024 # Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated
|
||||
uint16 STATUS_FLAG_CONNECTING = 2048 # Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered
|
||||
uint16 STATUS_FLAG_CONNECTED = 4096 # One or more packet data bearers is active and connected
|
||||
uint16 status # [@enum STATUS_FLAG] Status bitmap
|
||||
uint16 STATUS_FLAG_UNKNOWN = 1 # State unknown or not reportable
|
||||
uint16 STATUS_FLAG_FAILED = 2 # Modem is unusable
|
||||
uint16 STATUS_FLAG_INITIALIZING = 4 # Modem is being initialized
|
||||
uint16 STATUS_FLAG_LOCKED = 8 # Modem is locked
|
||||
uint16 STATUS_FLAG_DISABLED = 16 # Modem is not enabled and is powered down
|
||||
uint16 STATUS_FLAG_DISABLING = 32 # Modem is currently transitioning to the STATUS_FLAG_DISABLED state
|
||||
uint16 STATUS_FLAG_ENABLING = 64 # Modem is currently transitioning to the STATUS_FLAG_ENABLED state
|
||||
uint16 STATUS_FLAG_ENABLED = 128 # Modem is enabled and powered on but not registered with a network provider and not available for data connections
|
||||
uint16 STATUS_FLAG_SEARCHING = 256 # Modem is searching for a network provider to register
|
||||
uint16 STATUS_FLAG_REGISTERED = 512 # Modem is registered with a network provider, and data connections and messaging may be available for use
|
||||
uint16 STATUS_FLAG_DISCONNECTING = 1024 # Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated
|
||||
uint16 STATUS_FLAG_CONNECTING = 2048 # Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered
|
||||
uint16 STATUS_FLAG_CONNECTED = 4096 # One or more packet data bearers is active and connected
|
||||
|
||||
uint8 failure_reason # [@enum FAILURE_REASON] Failure reason
|
||||
uint8 FAILURE_REASON_NONE = 0 # No error
|
||||
uint8 FAILURE_REASON_UNKNOWN = 1 # Error state is unknown
|
||||
uint8 FAILURE_REASON_SIM_MISSING = 2 # SIM is required for the modem but missing
|
||||
uint8 FAILURE_REASON_SIM_ERROR = 3 # SIM is available, but not usable for connection
|
||||
uint8 failure_reason # [@enum FAILURE_REASON] Failure reason
|
||||
uint8 FAILURE_REASON_NONE = 0 # No error
|
||||
uint8 FAILURE_REASON_UNKNOWN = 1 # Error state is unknown
|
||||
uint8 FAILURE_REASON_SIM_MISSING = 2 # SIM is required for the modem but missing
|
||||
uint8 FAILURE_REASON_SIM_ERROR = 3 # SIM is available, but not usable for connection
|
||||
|
||||
uint8 type # [@enum CELLULAR_NETWORK_RADIO_TYPE] Cellular network radio type
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 # None
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 # GSM
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 # CDMA
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 # WCDMA
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 # LTE
|
||||
uint8 type # [@enum CELLULAR_NETWORK_RADIO_TYPE] Cellular network radio type
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 # None
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 # GSM
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 # CDMA
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 # WCDMA
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 # LTE
|
||||
|
||||
uint8 quality # [dBm] Cellular network RSSI/RSRP, absolute value
|
||||
uint16 mcc # [@invalid UINT16_MAX] Mobile country code
|
||||
uint16 mnc # [@invalid UINT16_MAX] Mobile network code
|
||||
uint16 lac # [@invalid 0] Location area code
|
||||
uint8 quality # [dBm] Cellular network RSSI/RSRP, absolute value
|
||||
uint16 mcc # [@invalid UINT16_MAX] Mobile country code
|
||||
uint16 mnc # [@invalid UINT16_MAX] Mobile network code
|
||||
uint16 lac # [@invalid 0] Location area code
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# RoverSpeedSetpoint (UORB message)
|
||||
|
||||
Rover Speed Setpoint
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverSpeedSetpoint.msg)
|
||||
|
||||
```c
|
||||
# Rover Speed Setpoint
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 speed_body_x # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Speed setpoint in body x direction
|
||||
float32 speed_body_y # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Speed setpoint in body y direction
|
||||
|
||||
```
|
||||
@@ -0,0 +1,18 @@
|
||||
# RoverSpeedStatus (UORB message)
|
||||
|
||||
Rover Velocity Status
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverSpeedStatus.msg)
|
||||
|
||||
```c
|
||||
# Rover Velocity Status
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 measured_speed_body_x # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Measured speed in body x direction
|
||||
float32 adjusted_speed_body_x_setpoint # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Speed setpoint in body x direction that is being tracked (Applied slew rates)
|
||||
float32 pid_throttle_body_x_integral # [] [@range -1, 1] Integral of the PID for the closed loop controller of the speed in body x direction
|
||||
float32 measured_speed_body_y # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Measured speed in body y direction
|
||||
float32 adjusted_speed_body_y_setpoint # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Speed setpoint in body y direction that is being tracked (Applied slew rates)
|
||||
float32 pid_throttle_body_y_integral # [] [@range -1, 1] [@invalid NaN If not mecanum] Mecanum only: Integral of the PID for the closed loop controller of the speed in body y direction
|
||||
|
||||
```
|
||||
@@ -1,24 +1,26 @@
|
||||
# VehicleAirData (UORB message)
|
||||
|
||||
Vehicle air data
|
||||
|
||||
Data from the currently selected barometer (plus ambient temperature from the source specified in temperature_source).
|
||||
Includes calculated data such as barometric altitude and air density.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAirData.msg)
|
||||
|
||||
```c
|
||||
# Vehicle air data
|
||||
#
|
||||
# Data from the currently selected barometer (plus ambient temperature from the source specified in temperature_source).
|
||||
# Includes calculated data such as barometric altitude and air density.
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint64 timestamp_sample # the timestamp of the raw data (microseconds)
|
||||
|
||||
uint32 baro_device_id # unique device ID for the selected barometer
|
||||
|
||||
float32 baro_alt_meter # Altitude above MSL calculated from temperature compensated baro sensor data using an ISA corrected for sea level pressure SENS_BARO_QNH.
|
||||
float32 baro_pressure_pa # Absolute pressure in Pascals
|
||||
float32 ambient_temperature # Abient temperature in degrees Celsius
|
||||
uint8 temperature_source # Source of temperature data: 0: Default Temperature (15°C), 1: External Baro, 2: Airspeed
|
||||
|
||||
float32 rho # air density
|
||||
|
||||
uint8 calibration_count # Calibration changed counter. Monotonically increases whenever calibration changes.
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Timestamp of the raw data
|
||||
uint32 baro_device_id # Unique device ID for the selected barometer
|
||||
float32 baro_alt_meter # [m] [@frame MSL] Altitude above MSL calculated from temperature compensated baro sensor data using an ISA corrected for sea level pressure SENS_BARO_QNH
|
||||
float32 baro_pressure_pa # [Pa] Absolute pressure
|
||||
float32 ambient_temperature # [degC] Ambient temperature
|
||||
uint8 temperature_source # Source of temperature data: 0: Default Temperature (15°C), 1: External Baro, 2: Airspeed
|
||||
float32 rho # [kg/m^3] Air density
|
||||
uint8 calibration_count # Calibration changed counter. Monotonically increases whenever calibration changes.
|
||||
|
||||
```
|
||||
|
||||
@@ -229,10 +229,10 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [RoverPositionSetpoint](RoverPositionSetpoint.md) — Rover Position Setpoint
|
||||
- [RoverRateSetpoint](RoverRateSetpoint.md) — Rover Rate setpoint
|
||||
- [RoverRateStatus](RoverRateStatus.md) — Rover Rate Status
|
||||
- [RoverSpeedSetpoint](RoverSpeedSetpoint.md) — Rover Speed Setpoint
|
||||
- [RoverSpeedStatus](RoverSpeedStatus.md) — Rover Velocity Status
|
||||
- [RoverSteeringSetpoint](RoverSteeringSetpoint.md) — Rover Steering setpoint
|
||||
- [RoverThrottleSetpoint](RoverThrottleSetpoint.md) — Rover Throttle setpoint
|
||||
- [RoverVelocitySetpoint](RoverVelocitySetpoint.md) — Rover Velocity Setpoint
|
||||
- [RoverVelocityStatus](RoverVelocityStatus.md) — Rover Velocity Status
|
||||
- [Rpm](Rpm.md)
|
||||
- [RtlStatus](RtlStatus.md)
|
||||
- [RtlTimeEstimate](RtlTimeEstimate.md)
|
||||
@@ -281,7 +281,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [UlogStreamAck](UlogStreamAck.md) — Ack a previously sent ulog_stream message that had
|
||||
the NEED_ACK flag set
|
||||
- [VehicleAcceleration](VehicleAcceleration.md)
|
||||
- [VehicleAirData](VehicleAirData.md)
|
||||
- [VehicleAirData](VehicleAirData.md) — Vehicle air data
|
||||
- [VehicleAngularAccelerationSetpoint](VehicleAngularAccelerationSetpoint.md)
|
||||
- [VehicleConstraints](VehicleConstraints.md) — Local setpoint constraints in NED frame
|
||||
setting something to NaN means that no limit is provided
|
||||
@@ -301,6 +301,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [YawEstimatorStatus](YawEstimatorStatus.md)
|
||||
- [AirspeedValidatedV0](AirspeedValidatedV0.md)
|
||||
- [ArmingCheckReplyV0](ArmingCheckReplyV0.md)
|
||||
- [ArmingCheckRequestV0](ArmingCheckRequestV0.md) — Arming check request.
|
||||
- [BatteryStatusV0](BatteryStatusV0.md) — Battery status
|
||||
- [EventV0](EventV0.md) — this message is required here in the msg_old folder because other msg are depending on it
|
||||
Events interface
|
||||
|
||||
@@ -52,7 +52,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
### Sensors
|
||||
|
||||
- TBD
|
||||
- Add [sbgECom INS driver](../sensor/sbgecom.md) ([PX4-Autopilot#24137](https://github.com/PX4/PX4-Autopilot/pull/24137))
|
||||
|
||||
### Simulation
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ PX4 uses accelerometer data for velocity estimation.
|
||||
You should not need to attach an accelometer as a stand-alone external device:
|
||||
|
||||
- Most flight controllers, such as those in the [Pixhawk Series](../flight_controller/pixhawk_series.md), include an accelerometer as part of the flight controller's [Inertial Motion Unit (IMU)](https://en.wikipedia.org/wiki/Inertial_measurement_unit).
|
||||
- Gyroscopes are present as part of an [external INS, ARHS or INS-enhanced GNSS system](../sensor/inertial_navigation_systems.md).
|
||||
- Gyroscopes are present as part of an [external INS, AHRS or INS-enhanced GNSS system](../sensor/inertial_navigation_systems.md).
|
||||
|
||||
The accelerometer must be calibrated before first use of the vehicle:
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ However PX4 can also use some INS devices as either sources of raw data, or as a
|
||||
INS systems that can be used as a replacement for EKF2 in PX4:
|
||||
|
||||
- [InertialLabs](../sensor/inertiallabs.md)
|
||||
- [SBG Systems](../sensor/sbgecom.md): IMU/AHRS, GNSS/INS, Dual GNSS/INS systems that can be used as an external INS or as a source of raw sensor data.
|
||||
- [VectorNav](../sensor/vectornav.md): IMU/AHRS, GNSS/INS, Dual GNSS/INS systems that can be used as an external INS or as a source of raw sensor data.
|
||||
|
||||
## PX4 Firmware
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
# SBG Systems INS/AHRS (Pulse, Ellipse, etc.)
|
||||
|
||||
[SBG-Systems](https://www.sbg-systems.com/) designs, manufactures, and support an extensive range of state-of-the-art inertial sensors such as Inertial Measurement Units (IMU), Attitude and Heading Reference Systems (AHRS), Inertial Navigation Systems with embedded GNSS (INS/GNSS), and so on.
|
||||
|
||||
PX4 supports [all SBG Systems products](https://www.sbg-systems.com/products/) and can use these as an [external INS](../sensor/inertial_navigation_systems.md) (bypassing/replacing the EKF2 estimator), or as a source of raw sensor data provided to the navigation estimator.
|
||||
|
||||

|
||||
|
||||
## Overview
|
||||
|
||||
SBG Systems products provide a range of benefits to PX4 users and can be integrated for:
|
||||
|
||||
- Higher accuracy heading, pitch, and roll estimates
|
||||
- More robust and reliable GNSS positioning
|
||||
- Improved positioning and attitude performance in GNSS-contested environments
|
||||
- Performance under challenging dynamic conditions (e.g. catapult launches, VTOL operations, high-g or high angular rate operations)
|
||||
|
||||
The sbgECom PX4 driver is streamlined to provide a simple plug-and-play architecture, removing engineering obstacles and allowing the acceleration of the design, development, and launch of platforms to keep pace with the rapid rate of innovation.
|
||||
|
||||
The driver supports [all SBG Systems products](https://www.sbg-systems.com/products/).
|
||||
In particular the following systems are recommended:
|
||||
|
||||
- **Pulse:** Recommended for fixed-wing systems without hovering, where static heading is not necessary.
|
||||
- **Ellipse:** Recommended for multicopter systems where hovering and low dynamics requires the use of static heading.
|
||||
|
||||
## Where to Buy
|
||||
|
||||
SBG Systems solutions are available directly from [MySBG](https://my.sbg-systems.com) (FR) or through their Global Sales Representatives. For more information on their solutions or for international orders, please contact contact@sbg-systems.com.
|
||||
|
||||
## Hardware Setup
|
||||
|
||||
### Wiring
|
||||
|
||||
Connect any unused flight controller serial interface, such as a spare `GPS` or `TELEM` port, to the SBG Systems product MAIN port (required by PX4).
|
||||
|
||||
### Mounting
|
||||
|
||||
The SBG Systems product sensor can be mounted in any orientation, in any position on the vehicle, without regard to center of gravity.
|
||||
All SBG Systems product sensors default to a coordinate system of x-forward, y-right, and z-down, making the default mounting as connector-back, base down.
|
||||
This can be changed to any rigid rotation using the sbgECom Reference Frame Rotation register.
|
||||
|
||||
If using a GNSS-enabled product, the GNSS antenna must be mounted rigidly with respect to the inertial sensor and with an unobstructed sky view. If using a dual-GNSS-enabled product (Ellipse-D), the secondary antenna must be mounted rigidly with respect to the primary antenna and the inertial sensor with an unobstructed sky view.
|
||||
|
||||
For more mounting and configuration requirements and recommendations, see the relevant [SBG SUPPORT CENTER](https://support.sbg-systems.com/sc).
|
||||
|
||||
## Firmware Configuration
|
||||
|
||||
### PX4 Configuration
|
||||
|
||||
To use the sbgECom driver:
|
||||
|
||||
1. Include the module in firmware in the [kconfig board configuration](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) by setting the kconfig variables: `CONFIG_DRIVERS_INS_SBGECOM` or `CONFIG_COMMON_INS`.
|
||||
2. [Set the parameter](../advanced_config/parameters.md) [SENS_SBG_CFG](../advanced_config/parameter_reference.md#SENS_SBG_CFG) to the hardware port connected to the SBG Systems product (for more information see [Serial Port Configuration](../peripherals/serial_configuration.md)).
|
||||
|
||||
::: warning
|
||||
Disable or change port of other sensors that are using the same one, for example [GPS_1_CONFIG](../advanced_config/parameter_reference.md#GPS_1_CONFIG) if using GPS1 port.
|
||||
:::
|
||||
|
||||
3. Set [SBG_BAUDRATE](../advanced_config/parameter_reference.md#SBG_BAUDRATE) to the desired default baudrate value.
|
||||
4. Allow the sbgECom driver to initialize by restarting PX4.
|
||||
5. Configure driver to provide IMU data, GNSS data and INS :
|
||||
|
||||
1. Set [SBG_MODE](../advanced_config/parameter_reference.md#SBG_MODE) to the desired mode.
|
||||
2. Make sensor module select sensors by enabling [SENS_IMU_MODE](../advanced_config/parameter_reference.md#SENS_IMU_MODE).
|
||||
3. Prioritize SBG Systems 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 (SBG) 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.
|
||||
:::
|
||||
|
||||
::: warning
|
||||
When configuring both SBG Systems and Pixhawk sensors to have non-zero priority, if the selected sensor is errored (timeout), it can change during operation without being notified.
|
||||
In this case, MAVLink messages will be updated with the newly selected sensor.
|
||||
|
||||
If you don't want to have this fallback mechanism, you must disable unwanted sensors.
|
||||
:::
|
||||
|
||||
4. If using the sbgECom as an INS, disable EKF2 using [EKF2_EN](../advanced_config/parameter_reference.md#EKF2_EN).
|
||||
|
||||
6. Restart PX4.
|
||||
|
||||
Once enabled, the module will be detected on boot.
|
||||
IMU data should be published at 200Hz.
|
||||
|
||||
## SBG Systems Configuration
|
||||
|
||||
All High Performance and Ellipse 3.0 and higher SBG Systems INS can be configured directly from PX4 firmware:
|
||||
|
||||
1. Enable [SBG_CONFIGURATION_EN](../advanced_config/parameter_reference.md#SBG_CONFIGURATION_EN)
|
||||
2. Provide a JSON file `sbg_settings.json` containing SBG Systems INS settings to be applied in your PX4 board `extras` directory (ex: `boards/px4/fmu-v5/extras`). The settings JSON file will be installed in `/etc/extras/sbg_settings.json` on the board.
|
||||
|
||||
::: tip
|
||||
The settings can be retrieved using [sbgEComAPI](https://github.com/SBG-Systems/sbgECom/tree/main/tools/sbgEComApi) or [sbgInsRestApi](https://developer.sbg-systems.com/sbgInsRestApi/1.3/#tag/Settings) and then modified as a JSON file.
|
||||
:::
|
||||
|
||||
::: tip
|
||||
The settings file can be provided in the SD card in q`/fs/microsd/etc/extras/sbg_settings.json` to avoid rebuilding a new firmware to change JSON settings file.
|
||||
:::
|
||||
|
||||
3. For testing purpose, it's also possible to modify SBG Systems INS settings on the fly:
|
||||
|
||||
- By passing a JSON file path as argument when starting sbgecom driver (ex: `sbgecom start -f /fs/microsd/new_sbg_settings.json`)
|
||||
- By passing a JSON string as argument when starting sbgecom driver: (ex: `sbgecom start -s {"output":{"comA":{"messages":{"airData":"onChange"}}}}`)
|
||||
|
||||
For older Ellipse SBG Systems INS or to configure any SBG Systems INS directly, all commands and registers can be found in the [SBG SUPPORT CENTER](https://support.sbg-systems.com/sc).
|
||||
|
||||
::: warning
|
||||
If the baudrate of the serial port on the INS product (used to communicate with PX4) is changed, the parameter [SBG_BAUDRATE](../advanced_config/parameter_reference.md#SBG_BAUDRATE) must be changed to match.
|
||||
:::
|
||||
|
||||
## Published Data
|
||||
|
||||
Upon initialization, the driver should print the following information to console (printed using `PX4_INFO`)
|
||||
|
||||
- Unit model number
|
||||
- Unit hardware version
|
||||
- Unit serial number
|
||||
- Unit firmware number
|
||||
|
||||
This should be accessible using the [`dmesg`](../modules/modules_system.md#dmesg) command.
|
||||
|
||||
The sbgECom driver always publishes the unit's data to the following uORB topics:
|
||||
|
||||
- [sensor_accel](../msg_docs/SensorAccel.md)
|
||||
- [sensor_gyro](../msg_docs/SensorGyro.md)
|
||||
- [sensor_mag](../msg_docs/SensorMag.md)
|
||||
|
||||
if configured as a GNSS, publishes:
|
||||
|
||||
- [sensor_gps](../msg_docs/SensorGps.md)
|
||||
|
||||
and, if configured as an INS, publishes:
|
||||
|
||||
- [estimator_status](../msg_docs/EstimatorStatus.md)
|
||||
- [vehicle_local_position](../msg_docs/VehicleLocalPosition.md)
|
||||
- [vehicle_global_positon](../msg_docs/VehicleGlobalPosition.md)
|
||||
- [vehicle_attitude](../msg_docs/VehicleAttitude.md)
|
||||
|
||||
::: tip
|
||||
Published topics can be viewed using the `listener` command.
|
||||
:::
|
||||
|
||||
## Hardware Specifications
|
||||
|
||||
- [Product Briefs](https://www.sbg-systems.com/products/)
|
||||
- [Datasheets](https://www.sbg-systems.com/contact/#products)
|
||||
@@ -316,6 +316,43 @@ For SIH as SITL (no FC):
|
||||
|
||||
For specific examples see the `_sihsim_` airframes in [ROMFS/px4fmu_common/init.d-posix/airframes](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/airframes/) (SIH as SITL) and [ROMFS/px4fmu_common/init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) (SIH on FC).
|
||||
|
||||
## Controlling Actuators in SIH
|
||||
|
||||
:::warning
|
||||
If you want to control throttling actuators in SIH, make sure to remove propellers for safety.
|
||||
:::
|
||||
|
||||
In some scenarios, it may be useful to control an actuator while running SIH. For example, you might want to verify that winches or grippers are functioning correctly by checking the servo responses.
|
||||
|
||||
To enable actuator control in SIH:
|
||||
|
||||
1. Configure PWM parameters in the airframe file:
|
||||
|
||||
Ensure your airframe file includes the necessary parameters to map PWM outputs to the correct channels.
|
||||
|
||||
For example, if a servo is connected to MAIN 3 and you want to map it to AUX1 on your RC, use the following command:
|
||||
|
||||
`param set-default PWM_MAIN_FUNC3 407`
|
||||
|
||||
You can find a full list of available values for `PWM_MAIN_FUNCn` [here](../advanced_config/parameter_reference.md#PWM_MAIN_FUNC1). In this case, `407` maps the MAIN 3 output to AUX1 on the RC.
|
||||
|
||||
Alternatively, you can use the [`PWM_AUX_FUNCn`](../advanced_config/parameter_reference.md#PWM_AUX_FUNC1) parameters.
|
||||
|
||||
You may also configure the output as desired:
|
||||
- Disarmed PWM: ([`PWM_MAIN_DISn`](../advanced_config/parameter_reference.md#PWM_MAIN_DIS1) / [`PWM_AUX_DIS1`](../advanced_config/parameter_reference.md#PWM_AUX_DIS1))
|
||||
- Minimum PWM ([`PWM_MAIN_MINn`](../advanced_config/parameter_reference.md#PWM_MAIN_MIN1) / [`PWM_AUX_MINn`](../advanced_config/parameter_reference.md#PWM_AUX_MIN1))
|
||||
- Maximum PWM ([`PWM_MAIN_MAXn`](../advanced_config/parameter_reference.md#PWM_MAIN_MAX1) / [`PWM_AUX_MAXn`](../advanced_config/parameter_reference.md#PWM_AUX_MAX1))
|
||||
|
||||
2. Manually start the PWM output driver
|
||||
|
||||
For safety, the PWM driver is not started automatically in SIH. To enable it, run the following command in the MAVLink shell:
|
||||
|
||||
`pwm_out start`
|
||||
|
||||
And to disable it again:
|
||||
|
||||
`pwm_out stop`
|
||||
|
||||
## Dynamic Models
|
||||
|
||||
The dynamic models for the various vehicles are:
|
||||
|
||||
@@ -3,12 +3,6 @@
|
||||
[Rotoye Batmon](https://rotoye.com/batmon/) is a kit for adding smart battery functionality to off-the-shelf Lithium-Ion and LiPo batteries.
|
||||
It can be purchased as a standalone unit or as part of a factory-assembled smart-battery.
|
||||
|
||||
::: info
|
||||
At time of writing you can only use Batmon by [building a custom branch of PX4](#build-px4-firmware).
|
||||
Support in the codeline is pending [PR approval](https://github.com/PX4/PX4-Autopilot/pull/16723).
|
||||
:::
|
||||
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
@@ -843,6 +843,8 @@
|
||||
- [시험 MC_04 - 안전 장치 시험](test_cards/mc_04_failsafe_testing.md)
|
||||
- [Test MC_05 - Manual Modes (Inside)](test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](test_cards/mc_06_optical_flow.md)
|
||||
- [Test MC_07 - VIO (Inside)](test_cards/mc_07_vio.md)
|
||||
- [Test MC_08 - DSHOT ESC](test_cards/mc_08_dshot.md)
|
||||
- [단위 테스트](test_and_ci/unit_tests.md)
|
||||
- [Fuzz Tests](test_and_ci/fuzz_tests.md)
|
||||
- [지속 통합](test_and_ci/continous_integration.md)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
<!-- GENERATED CONTENT: DO NOT EDIT -->
|
||||
- [Introduction](/index.md)
|
||||
|
||||
- [기본 개념](/getting_started/px4_basic_concepts.md)
|
||||
|
||||
- [멀티콥터](/frames_multicopter/index.md)
|
||||
|
||||
- [Features](/features_mc/index.md)
|
||||
- [비행 모드 ](/flight_modes_mc/index.md)
|
||||
- [위치 모드 (멀티콥터)](/flight_modes_mc/position.md)
|
||||
@@ -37,7 +35,7 @@
|
||||
- [정압 축적](/advanced_config/static_pressure_buildup.md)
|
||||
- [Flying (Basics)](/flying/basic_flying_mc.md)
|
||||
- [완성 기체](/complete_vehicles_mc/index.md)
|
||||
- [ModalAI Starling](/complete_vehicles_mc/modalai_starling.md)
|
||||
- [ModalAI Starling (PX4 Dev Kit)](/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)
|
||||
@@ -58,7 +56,6 @@
|
||||
- [DJI F450 (CUAV v5 nano)](/frames_multicopter/dji_f450_cuav_5nano.md)
|
||||
|
||||
- [Planes (Fixed-Wing)](/frames_plane/index.md)
|
||||
|
||||
- [Assembly](/assembly/assembly_fw.md)
|
||||
- [Config/Tuning](/config_fw/index.md)
|
||||
- [Auto-tune](/config/autotune_fw.md)
|
||||
@@ -86,7 +83,6 @@
|
||||
- [Wing Wing Z84 (Pixracer)](/frames_plane/wing_wing_z84.md)
|
||||
|
||||
- [수직이착륙기(VTOL)](/frames_vtol/index.md)
|
||||
|
||||
- [Assembly](/assembly/assembly_vtol.md)
|
||||
- [VTOL 설정 및 튜닝](/config_vtol/index.md)
|
||||
- [Auto-tune](/config/autotune_vtol.md)
|
||||
@@ -111,7 +107,6 @@
|
||||
- [Complete Vehicles](/complete_vehicles_vtol/index.md)
|
||||
|
||||
- [Operations](/config/operations.md)
|
||||
|
||||
- [안전 설정](/config/safety_intro.md)
|
||||
- [Safety Configuration (Failsafes)](/config/safety.md)
|
||||
- [Failsafe Simulation](/config/safety_simulation.md)
|
||||
@@ -132,7 +127,6 @@
|
||||
- [QGroundControl Flight-Readiness Status](/flying/pre_flight_checks.md)
|
||||
|
||||
- [Hardware Selection & Setup](/hardware/drone_parts.md)
|
||||
|
||||
- [비행 컨트롤러 (오토파일럿)](/flight_controller/index.md)
|
||||
- [Flight Controller Selection](/getting_started/flight_controller_selection.md)
|
||||
- [Pixhawk Series](/flight_controller/pixhawk_series.md)
|
||||
@@ -169,13 +163,12 @@
|
||||
- [ARK Electronics ARKV6X](/flight_controller/ark_v6x.md)
|
||||
- [ARK FPV Flight Controller](/flight_controller/ark_fpv.md)
|
||||
- [ARK Pi6X Flow Flight Controller](/flight_controller/ark_pi6x.md)
|
||||
- [CUAV X7](/flight_controller/cuav_x7.md)
|
||||
- [CUAV Nora](/flight_controller/cuav_nora.md)
|
||||
- [CUAV V5+ (FMUv5)](/flight_controller/cuav_v5_plus.md)
|
||||
- [Wiring Quickstart](/assembly/quick_start_cuav_v5_plus.md)
|
||||
- [CUAV V5 nano (FMUv5)](/flight_controller/cuav_v5_nano.md)
|
||||
- [CUAV V5 nano 배선 퀵 스타트](/assembly/quick_start_cuav_v5_nano.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](/flight_controller/pixhack_v3.md)
|
||||
- [CUAV X25 EVO](/flight_controller/cuav_x25-evo.md)
|
||||
- [CubePilot Cube Orange+ (CubePilot)](/flight_controller/cubepilot_cube_orangeplus.md)
|
||||
- [CubePilot Cube Orange (CubePilot)](/flight_controller/cubepilot_cube_orange.md)
|
||||
- [CubePilot Cube Yellow (CubePilot)](/flight_controller/cubepilot_cube_yellow.md)
|
||||
@@ -188,11 +181,8 @@
|
||||
- [Wiring Quickstart](/assembly/quick_start_durandal.md)
|
||||
- [Holybro Pix32 v5](/flight_controller/holybro_pix32_v5.md)
|
||||
- [Wiring Quickstart](/assembly/quick_start_holybro_pix32_v5.md)
|
||||
- [ModalAI Flight Core v1](/flight_controller/modalai_fc_v1.md)
|
||||
- [ModalAI VOXL Flight](/flight_controller/modalai_voxl_flight.md)
|
||||
- [ModalAI VOXL 2](/flight_controller/modalai_voxl_2.md)
|
||||
- [mRobotics-X2.1 (FMUv2)](/flight_controller/mro_x2.1.md)
|
||||
- [mRo Control Zero F7)](/flight_controller/mro_control_zero_f7.md)
|
||||
- [mRo Control Zero F7](/flight_controller/mro_control_zero_f7.md)
|
||||
- [Sky-Drones AIRLink](/flight_controller/airlink.md)
|
||||
- [SPRacing SPRacingH7EXTREME](/flight_controller/spracingh7extreme.md)
|
||||
- [ThePeach FCC-K1](/flight_controller/thepeach_k1.md)
|
||||
@@ -206,18 +196,20 @@
|
||||
- [Discontinued Autopilots/Vehicles](/flight_controller/autopilot_discontinued.md)
|
||||
- [Drotek Dropix (FMUv2)](/flight_controller/dropix.md)
|
||||
- [Omnibus F4 SD](/flight_controller/omnibus_f4_sd.md)
|
||||
- [BetaFPV Beta75X 2S Brushless Whoop](/complete_vehicles_mc/betafpv_beta75x.md)
|
||||
- [Bitcraze Crazyflie 2.0 ](/complete_vehicles_mc/crazyflie2.md)
|
||||
- [Aerotenna OcPoC-Zynq Mini](/flight_controller/ocpoc_zynq.md)
|
||||
- [CUAV X7](/flight_controller/cuav_x7.md)
|
||||
- [CUAV v5](/flight_controller/cuav_v5.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](/flight_controller/pixhack_v3.md)
|
||||
- [Holybro Kakute F7](/flight_controller/kakutef7.md)
|
||||
- [Holybro Pixfalcon](/flight_controller/pixfalcon.md)
|
||||
- [Holybro pix32 (FMUv2)](/flight_controller/holybro_pix32.md)
|
||||
- [ModalAI Flight Core v1](/flight_controller/modalai_fc_v1.md)
|
||||
- [ModalAI VOXL Flight](/flight_controller/modalai_voxl_flight.md)
|
||||
- [mRo X2.1 (FMUv2)](/flight_controller/mro_x2.1.md)
|
||||
- [mRo AUAV-X2](/flight_controller/auav_x2.md)
|
||||
- [NXP RDDRONE-FMUK66 FMU](/flight_controller/nxp_rddrone_fmuk66.md)
|
||||
- [3DR Pixhawk 1](/flight_controller/pixhawk.md)
|
||||
- [Snapdragon Flight](/flight_controller/snapdragon_flight.md)
|
||||
- [Intel® Aero RTF Drone](/complete_vehicles_mc/intel_aero.md)
|
||||
- [Pixhawk Autopilot Bus (PAB) & Carriers](/flight_controller/pixhawk_autopilot_bus.md)
|
||||
- [ARK Electronics Pixhawk Autopilot Bus Carrier](/flight_controller/ark_pab.md)
|
||||
- [Mounting the Flight Controller](/assembly/mount_and_orient_controller.md)
|
||||
@@ -229,7 +221,9 @@
|
||||
- [Bootloader Update](/advanced_config/bootloader_update.md)
|
||||
- [Bootloader Update FMUv6X-RT via USB](/advanced_config/bootloader_update_v6xrt.md)
|
||||
- [Bootloader Flashing onto Betaflight Systems](/advanced_config/bootloader_update_from_betaflight.md)
|
||||
|
||||
- [Airframe Selection](/config/airframe.md)
|
||||
|
||||
- [센서](/sensor/index.md)
|
||||
- [가속도계](/sensor/accelerometer.md)
|
||||
- [Calibration](/config/accelerometer.md)
|
||||
@@ -241,6 +235,7 @@
|
||||
- [나침반 전력 보정](/advanced_config/compass_power_compensation.md)
|
||||
- [항속 센서](/sensor/airspeed.md)
|
||||
- [Calibration](/config/airspeed.md)
|
||||
- [Airspeed Validation](/advanced_config/airspeed_validation.md)
|
||||
- [TFSlot Airspeed Sensor](/sensor/airspeed_tfslot.md)
|
||||
- [Barometers](/sensor/barometer.md)
|
||||
- [거리 센서](/sensor/rangefinders.md)
|
||||
@@ -272,6 +267,7 @@
|
||||
- [CUAV C-RTK](/gps_compass/rtk_gps_cuav_c-rtk.md)
|
||||
- [CUAV C-RTK2 PPK/RTK GNSS](/gps_compass/rtk_gps_cuav_c-rtk2.md)
|
||||
- [CUAV C-RTK 9Ps](/gps_compass/rtk_gps_cuav_c-rtk-9ps.md)
|
||||
- [DATAGNSS NANO HRTK GNSS](/gps_compass/rtk_gps_datagnss_nano_hrtk.md)
|
||||
- [DATAGNSS GEM1305 RTK GNSS](/gps_compass/rtk_gps_gem1305.md)
|
||||
- [Femtones MINI2 Receiver](/gps_compass/rtk_gps_fem_mini2.md)
|
||||
- [Freefly RTK GPS](/gps_compass/rtk_gps_freefly.md)
|
||||
@@ -287,6 +283,7 @@
|
||||
- [Trimble MB-Two](/gps_compass/rtk_gps_trimble_mb_two.md)
|
||||
- [CubePilot Here+ (Discontined)](/gps_compass/rtk_gps_hex_hereplus.md)
|
||||
- [INS (Inertial Navigation/GNSS)](/sensor/inertial_navigation_systems.md)
|
||||
- [InertialLabs](/sensor/inertiallabs.md)
|
||||
- [VectorNav](/sensor/vectornav.md)
|
||||
- [광류 센서](/sensor/optical_flow.md)
|
||||
- [ARK Flow](/dronecan/ark_flow.md)
|
||||
@@ -297,6 +294,7 @@
|
||||
- [ThunderFly TFRPM01 타코미터 센서](/sensor/thunderfly_tachometer.md)
|
||||
- [IMU Factory Calibration](/advanced_config/imu_factory_calibration.md)
|
||||
- [센서 온도 보정](/advanced_config/sensor_thermal_calibration.md)
|
||||
|
||||
- [액츄에이터](/actuators/index.md)
|
||||
- [ADSB/FLARM (트래픽 회피)](/config/actuators.md)
|
||||
- [ESC 보정](/advanced_config/esc_calibration.md)
|
||||
@@ -308,19 +306,22 @@
|
||||
- [Zubax Telega](/dronecan/zubax_telega.md)
|
||||
- [PX4 Sapog ESC Firmware](/dronecan/sapog.md)
|
||||
- [Holybro Kotleta](/dronecan/holybro_kotleta.md)
|
||||
- [Zubax Orel](/dronecan/zubax_orel.md)
|
||||
- [Vertiq](/peripherals/vertiq.md)
|
||||
- [VESC](/peripherals/vesc.md)
|
||||
|
||||
- [Radio Control (RC)](/getting_started/rc_transmitter_receiver.md)
|
||||
- [무선 조종기 설정](/config/radio.md)
|
||||
- [비행 모드](/config/flight_mode.md)
|
||||
|
||||
- [Joysticks](/config/joystick.md)
|
||||
|
||||
- [Data Links](/data_links/index.md)
|
||||
- [MAVLink 텔레메트리(OSD/GCS) ](/peripherals/mavlink_peripherals.md)
|
||||
|
||||
- [텔레메트리 무선통신](/telemetry/index.md)
|
||||
- [SiK 무선통신](/telemetry/sik_radio.md)
|
||||
- [RFD900 (SiK) 텔레메트리](/telemetry/rfd900_telemetry.md)
|
||||
- [ThunderFly TFSIK01 Telemetry Radio](/telemetry/tfsik_telemetry.md)
|
||||
- [HolyBro (SIK) Telemetry Radio](/telemetry/holybro_sik_radio.md)
|
||||
- [Wifi 텔레메트리](/telemetry/telemetry_wifi.md)
|
||||
- [ESP8266 WiFi 모듈](/telemetry/esp8266_wifi_module.md)
|
||||
@@ -338,6 +339,7 @@
|
||||
- [TBS Crossfire (CRSF) Telemetry](/telemetry/crsf_telemetry.md)
|
||||
|
||||
- [Satellite Comms (Iridium/RockBlock)](/advanced_features/satcom_roadblock.md)
|
||||
|
||||
- [Power Systems](/power_systems/index.md)
|
||||
- [Battery Estimation Tuning](/config/battery.md)
|
||||
- [Battery Chemistry Overview](/power_systems/battery_chemistry.md)
|
||||
@@ -356,6 +358,7 @@
|
||||
- [Sky-Drones SmartAP PDB](/power_module/sky-drones_smartap-pdb.md)
|
||||
- [Smart/MAVLink Batteries](/smart_batteries/index.md)
|
||||
- [Rotoye Batmon 배터리 스마트 키트](/smart_batteries/rotoye_batmon.md)
|
||||
|
||||
- [탑재중량과 카메라](/payloads/index.md)
|
||||
- [Use Cases](/payloads/use_cases.md)
|
||||
- [Package Delivery Mission](/flying/package_delivery_mission.md)
|
||||
@@ -367,19 +370,25 @@
|
||||
- [Gimbal \(Mount\) Configuration](/advanced/gimbal_control.md)
|
||||
- [Grippers](/peripherals/gripper.md)
|
||||
- [Servo Gripper](/peripherals/gripper_servo.md)
|
||||
|
||||
- [Peripherals](/peripherals/index.md)
|
||||
- [ADSB/FLARM/UTM (Traffic Avoidance)](/peripherals/adsb_flarm.md)
|
||||
- [낙하산](/peripherals/parachute.md)
|
||||
- [Remote ID](/peripherals/remote_id.md)
|
||||
|
||||
- [I2C Peripherals](/sensor_bus/i2c_general.md)
|
||||
- [I2C bus accelerators](/sensor_bus/i2c_general.md#i2c-bus-accelerators)
|
||||
- [TFI2CADT01 I2C address translator](/sensor_bus/translator_tfi2cadt.md)
|
||||
|
||||
- [CAN Peripherals](/can/index.md)
|
||||
|
||||
- [DroneCAN Peripherals](/dronecan/index.md)
|
||||
- [PX4 DroneCAN Firmware](/dronecan/px4_cannode_fw.md)
|
||||
- [ARK CANnode](/dronecan/ark_cannode.md)
|
||||
- [RaccoonLab CAN Nodes](/dronecan/raccoonlab_nodes.md)
|
||||
|
||||
- [배선 개요](/assembly/cable_wiring.md)
|
||||
|
||||
- [보조 컴퓨터](/companion_computer/index.md)
|
||||
- [Pixhawk + Companion Setup](/companion_computer/pixhawk_companion.md)
|
||||
- [RPi Pixhawk Companion](/companion_computer/pixhawk_rpi.md)
|
||||
@@ -395,16 +404,19 @@
|
||||
- [리얼센스 T265 트래킹 카메라 (VIO)](/camera/camera_intel_realsense_t265_vio.md)
|
||||
- [동영상 스트리밍](/companion_computer/video_streaming.md)
|
||||
- [Video Streaming using WFB-ng Wifi (Long range)](/companion_computer/video_streaming_wfb_ng_wifi.md)
|
||||
|
||||
- [직렬 포트 설정 ](/peripherals/serial_configuration.md)
|
||||
|
||||
- [PX4 이더넷 설정](/advanced_config/ethernet_setup.md)
|
||||
|
||||
- [Standard Configuration](/config/index.md)
|
||||
|
||||
- [고급 설정](/advanced_config/index.md)
|
||||
- [Using PX4's Navigation Filter (EKF2)](/advanced_config/tuning_the_ecl_ekf.md)
|
||||
- [매개변수 검색 및 수정](/advanced_config/parameters.md)
|
||||
- [전체 매개변수 정의서](/advanced_config/parameter_reference.md)
|
||||
|
||||
- [Other Vehicles](/airframes/index.md)
|
||||
|
||||
- [Airships (experimental)](/frames_airship/index.md)
|
||||
- [Autogyros (experimental)](/frames_autogyro/index.md)
|
||||
- [선더플라이 Auto-G2 (Holybro pix32)](/frames_autogyro/thunderfly_auto_g2.md)
|
||||
@@ -412,17 +424,17 @@
|
||||
- [Helicopter (experimental)](/frames_helicopter/index.md)
|
||||
- [Helicopter Config/Tuning](/config_heli/index.md)
|
||||
- [Rovers (experimental)](/frames_rover/index.md)
|
||||
- [Ackermann Rovers](/frames_rover/ackermann.md)
|
||||
- [Drive Modes](/flight_modes_rover/ackermann.md)
|
||||
- [Configuration/Tuning](/config_rover/ackermann.md)
|
||||
- [Differential Rovers](/frames_rover/differential.md)
|
||||
- [Drive Modes](/flight_modes_rover/differential.md)
|
||||
- [Configuration/Tuning](/config_rover/differential.md)
|
||||
- [Aion Robotics R1](/frames_rover/aion_r1.md)
|
||||
- [Mecanum Rovers](/frames_rover/mecanum.md)
|
||||
- [Drive Modes](/flight_modes_rover/mecanum.md)
|
||||
- [Configuration/Tuning](/config_rover/mecanum.md)
|
||||
- [(Deprecated) Rover Position Control](/frames_rover/rover_position_control.md)
|
||||
- [Drive Modes](/flight_modes_rover/index.md)
|
||||
- [Manual](/flight_modes_rover/manual.md)
|
||||
- [Auto](/flight_modes_rover/auto.md)
|
||||
- [Configuration/Tuning](/config_rover/index.md)
|
||||
- [Basic Setup](/config_rover/basic_setup.md)
|
||||
- [Rate Tuning](/config_rover/rate_tuning.md)
|
||||
- [Attitude Tuning](/config_rover/attitude_tuning.md)
|
||||
- [Velocity Tuning](/config_rover/velocity_tuning.md)
|
||||
- [Position Tuning](/config_rover/position_tuning.md)
|
||||
- [Complete Vehicles](/complete_vehicles_rover/index.md)
|
||||
- [Aion Robotics R1](/complete_vehicles_rover/aion_r1.md)
|
||||
- [Submarines (experimental)](/frames_sub/index.md)
|
||||
- [블루로브2](/frames_sub/bluerov2.md)
|
||||
- [기체 프레임 정의서](/airframes/airframe_reference.md)
|
||||
@@ -534,6 +546,7 @@
|
||||
- [Airspeed](/msg_docs/Airspeed.md)
|
||||
- [AirspeedWind](/msg_docs/AirspeedWind.md)
|
||||
- [AutotuneAttitudeControlStatus](/msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [BatteryInfo](/msg_docs/BatteryInfo.md)
|
||||
- [ButtonEvent](/msg_docs/ButtonEvent.md)
|
||||
- [CameraCapture](/msg_docs/CameraCapture.md)
|
||||
- [CameraStatus](/msg_docs/CameraStatus.md)
|
||||
@@ -552,6 +565,7 @@
|
||||
- [DifferentialPressure](/msg_docs/DifferentialPressure.md)
|
||||
- [DistanceSensor](/msg_docs/DistanceSensor.md)
|
||||
- [DistanceSensorModeChangeRequest](/msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [DronecanNodeStatus](/msg_docs/DronecanNodeStatus.md)
|
||||
- [Ekf2Timestamps](/msg_docs/Ekf2Timestamps.md)
|
||||
- [EscReport](/msg_docs/EscReport.md)
|
||||
- [EscStatus](/msg_docs/EscStatus.md)
|
||||
@@ -626,6 +640,7 @@
|
||||
- [MountOrientation](/msg_docs/MountOrientation.md)
|
||||
- [NavigatorMissionItem](/msg_docs/NavigatorMissionItem.md)
|
||||
- [NavigatorStatus](/msg_docs/NavigatorStatus.md)
|
||||
- [NeuralControl](/msg_docs/NeuralControl.md)
|
||||
- [NormalizedUnsignedSetpoint](/msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [ObstacleDistance](/msg_docs/ObstacleDistance.md)
|
||||
- [OffboardControlMode](/msg_docs/OffboardControlMode.md)
|
||||
@@ -724,7 +739,12 @@
|
||||
- [Wind](/msg_docs/Wind.md)
|
||||
- [YawEstimatorStatus](/msg_docs/YawEstimatorStatus.md)
|
||||
- [AirspeedValidatedV0](/msg_docs/AirspeedValidatedV0.md)
|
||||
- [ArmingCheckReplyV0](/msg_docs/ArmingCheckReplyV0.md)
|
||||
- [BatteryStatusV0](/msg_docs/BatteryStatusV0.md)
|
||||
- [EventV0](/msg_docs/EventV0.md)
|
||||
- [HomePositionV0](/msg_docs/HomePositionV0.md)
|
||||
- [VehicleAttitudeSetpointV0](/msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleLocalPositionV0](/msg_docs/VehicleLocalPositionV0.md)
|
||||
- [VehicleStatusV0](/msg_docs/VehicleStatusV0.md)
|
||||
- [MAVLink Messaging](/mavlink/index.md)
|
||||
- [Adding Messages](/mavlink/adding_messages.md)
|
||||
@@ -734,6 +754,7 @@
|
||||
- [Protocols/Microservices](/mavlink/protocols.md)
|
||||
- [Standard Modes Protocol](/mavlink/standard_modes.md)
|
||||
- [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](/middleware/uxrce_dds.md)
|
||||
- [UORB Bridged to ROS 2](/middleware/dds_topics.md)
|
||||
- [모듈과 명령어](/modules/modules_main.md)
|
||||
- [자동 튜닝](/modules/modules_autotune.md)
|
||||
- [명령어](/modules/modules_command.md)
|
||||
@@ -763,7 +784,7 @@
|
||||
- [Debugging with GDB](/debug/gdb_debugging.md)
|
||||
- [SWD Debug Port](/debug/swd_debug.md)
|
||||
- [JLink Probe](/debug/probe_jlink.md)
|
||||
- [Black Magic/DroneCode Probe](/debug/probe_bmp.md)
|
||||
- [Black Magic/Zubax BugFace BF1 Probe](/debug/probe_bmp.md)
|
||||
- [STLink Probe](/debug/probe_stlink.md)
|
||||
- [MCU-Link Probe](/debug/probe_mculink.md)
|
||||
- [Hardfault Debugging](/debug/gdb_hardfault.md)
|
||||
@@ -787,6 +808,9 @@
|
||||
- [Camera Integration/Architecture](/camera/camera_architecture.md)
|
||||
- [컴퓨터 비전](/advanced/computer_vision.md)
|
||||
- [Motion Capture (VICON, Optitrack, NOKOV)](/tutorials/motion-capture.md)
|
||||
- [Neural Networks](/advanced/neural_networks.md)
|
||||
- [Neural Network Module Utilities](/advanced/nn_module_utilities.md)
|
||||
- [TensorFlow Lite Micro (TFLM)](/advanced/tflm.md)
|
||||
- [Intel RealSense R200용 드라이버 설치](/advanced/realsense_intel_driver.md)
|
||||
- [상태 추정기 전환](/advanced/switching_state_estimators.md)
|
||||
- [트리 외부 모듈](/advanced/out_of_tree_modules.md)
|
||||
@@ -818,8 +842,12 @@
|
||||
- [시험 MC_02 - 완전 자동](/test_cards/mc_02_full_autonomous.md)
|
||||
- [시험 MC_03 - 자동 / 수동 혼합](/test_cards/mc_03_auto_manual_mix.md)
|
||||
- [시험 MC_04 - 안전 장치 시험](/test_cards/mc_04_failsafe_testing.md)
|
||||
- [시험 MC_05 - 실내 비행 (수동 모드)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_05 - Manual Modes (Inside)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](/test_cards/mc_06_optical_flow.md)
|
||||
- [Test MC_07 - VIO (Inside)](/test_cards/mc_07_vio.md)
|
||||
- [Test MC_08 - DSHOT ESC](/test_cards/mc_08_dshot.md)
|
||||
- [단위 테스트](/test_and_ci/unit_tests.md)
|
||||
- [Fuzz Tests](/test_and_ci/fuzz_tests.md)
|
||||
- [지속 통합](/test_and_ci/continous_integration.md)
|
||||
- [Integration Testing](/test_and_ci/integration_testing.md)
|
||||
- [MAVSDK 통합 테스트](/test_and_ci/integration_testing_mavsdk.md)
|
||||
@@ -862,8 +890,8 @@
|
||||
|
||||
- [출시](/releases/index.md)
|
||||
- [main (alpha)](/releases/main.md)
|
||||
- [1.16 (release candidate)](/releases/1.16.md)
|
||||
- [1.15 (stable)](/releases/1.15.md)
|
||||
- [1.16 (stable)](/releases/1.16.md)
|
||||
- [1.15](/releases/1.15.md)
|
||||
- [1.14](/releases/1.14.md)
|
||||
- [1.13](/releases/1.13.md)
|
||||
- [1.12](/releases/1.12.md)
|
||||
|
||||
@@ -95,6 +95,8 @@ This is documented below.
|
||||
The best way to customize the system startup is to introduce a [new frame configuration](../dev_airframes/adding_a_new_frame.md).
|
||||
The frame configuration file can be included in the firmware or on an SD Card.
|
||||
|
||||
#### Dynamic customization
|
||||
|
||||
If you only need to "tweak" the existing configuration, such as starting one more application or setting the value of a few parameters, you can specify these by creating two files in the `/etc/` directory of the SD Card:
|
||||
|
||||
- [/etc/config.txt](#customizing-the-configuration-config-txt): modify parameter values
|
||||
@@ -111,7 +113,7 @@ Windows에서 편집하는 경우 적절한 편집기를 사용하여야 합니
|
||||
These files are referenced in PX4 code as `/fs/microsd/etc/config.txt` and `/fs/microsd/etc/extras.txt`, where the root folder of the microsd card is identified by the path `/fs/microsd`.
|
||||
:::
|
||||
|
||||
#### 구성 사용자 정의(config.txt)
|
||||
##### 구성 사용자 정의(config.txt)
|
||||
|
||||
The `config.txt` file can be used to modify parameters.
|
||||
It is loaded after the main system has been configured and _before_ it is booted.
|
||||
@@ -123,7 +125,7 @@ param set-default PWM_MAIN_DIS3 1000
|
||||
param set-default PWM_MAIN_MIN3 1120
|
||||
```
|
||||
|
||||
#### Starting Additional Applications (extras.txt)
|
||||
##### Starting Additional Applications (extras.txt)
|
||||
|
||||
The `extras.txt` can be used to start additional applications after the main system boot.
|
||||
일반적으로, 페이로드 콘트롤러나 유사한 선택적 사용자 지정 구성 요소들입니다.
|
||||
@@ -150,3 +152,28 @@ Calling an unknown command in system boot files may result in boot failure.
|
||||
|
||||
mandatory_app start # Will abort boot if mandatory_app is unknown or fails
|
||||
```
|
||||
|
||||
#### Additional customization
|
||||
|
||||
In rare cases where the desired setup cannot be achieved through frame configuration or dynamic customization,
|
||||
you can add a script that will be contained in the binary.
|
||||
|
||||
**Note**: In almost all cases, you should use a frame configuration. This method should only be used for
|
||||
edge-cases such as customizing `cannode` based boards.
|
||||
|
||||
- Add a new init script in `boards/<vendor>/<board>/init` that will run during board startup. 예:
|
||||
```sh
|
||||
# File: boards/<vendor>/<board>/init/rc.additional
|
||||
param set-default <param> <value>
|
||||
```
|
||||
|
||||
- Add a new board variant in `boards/<vendor>/<board>/<variant>.px4board` that includes the additional script. 예:
|
||||
```sh
|
||||
# File: boards/<vendor>/<board>/var.px4board
|
||||
CONFIG_BOARD_ADDITIONAL_INIT="rc.additional"
|
||||
```
|
||||
|
||||
- Compile the firmware with your new variant by appending the variant name to the compile target. 예:
|
||||
```sh
|
||||
make <target>_var
|
||||
```
|
||||
|
||||
@@ -27,10 +27,18 @@
|
||||
|
||||
That is the minimum setup to use the rover in [Manual mode](../flight_modes_rover/manual.md#manual-mode).
|
||||
|
||||
:::info
|
||||
The rest of the tuning on this page is not mandatory for [Manual mode](../flight_modes_rover/manual.md#manual-mode), but it will have an effect on the behaviour of the rover.
|
||||
:::
|
||||
|
||||
:::warning
|
||||
Do not skip the rest of this setup if you intend to use more sophisticated modes!
|
||||
All parameters will be mandatory for all subsequent modes, except those tagged as `(Optional)`.
|
||||
:::
|
||||
|
||||
## Geometric Parameters
|
||||
|
||||
Manual mode is also affected by (optional) acceleration/deceleration limits set using the geometric described below.
|
||||
These limits are mandatory for all other modes.
|
||||
First, we set up the geometric parameters of the rover:
|
||||
|
||||

|
||||
|
||||
@@ -42,7 +50,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
2. [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) [deg]: Measure the maximum steering angle.
|
||||
3. (Optional) [RA_STR_RATE_LIM](#RA_STR_RATE_LIM) [deg/s]: Maximum steering rate you want to allow for your rover.
|
||||
|
||||
:::tip
|
||||
::: tip
|
||||
This value depends on your rover and use case.
|
||||
For bigger rovers there might be a mechanical limit that is easy to identify by steering the rover at a standstill and increasing
|
||||
[RA_STR_RATE_LIM](#RA_STR_RATE_LIM) until you observe the steering rate to no longer be limited by the parameter.
|
||||
@@ -51,7 +59,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
|
||||
:::
|
||||
|
||||
:::warning
|
||||
::: warning
|
||||
A low maximum steering rate makes the rover worse at tracking steering setpoints, which can lead to a poor performance in the subsequent modes.
|
||||
|
||||
:::
|
||||
@@ -76,7 +84,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
|
||||
2. (Optional) [RO_ACCEL_LIM](#RO_ACCEL_LIM) [m/s^2]: Maximum acceleration you want to allow for your rover.
|
||||
|
||||
<a id="RO_ACCEL_LIM_CONSIDERATIONS"></a>
|
||||
<a id="RO_ACCEL_LIM_CONSIDERATIONS"></a>
|
||||
|
||||
:::tip
|
||||
Your rover has a maximum possible acceleration which is determined by the maximum torque the motor can supply.
|
||||
@@ -109,6 +117,39 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
|
||||
:::
|
||||
|
||||
## (Optional) Stick Input Mapping
|
||||
|
||||
Input shaping can be used to adjust the default linear mapping from stick inputs $\in [-1, 1]$ to normalized setpoints $\in [-1, 1]$. Applying this specifically to the steering input, can provide a smoother driving experience, by enabling the user to make small adjustments when the stick is close to the center, but still send large inputs when moving them to the edges.
|
||||
We provide this input shaping through the super exponential function:
|
||||
|
||||
$$
|
||||
\delta = \frac{(f \cdot x^3 + x(1-f)) \cdot (1-g)}{1-g \cdot |x|}
|
||||
$$
|
||||
|
||||
with:
|
||||
|
||||
- $\delta \in [-1, 1]=$ Normalized steering setpoint.
|
||||
- $x \in [-1, 1]=$ Normalized stick input.
|
||||
- $f=$ [RO_YAW_EXPO](#RO_YAW_EXPO): `0` Purely linear input curve, `1` Purely cubic input curve.
|
||||
- $g=$ [RO_YAW_SUPEXPO](#RO_YAW_SUPEXPO): `0` Pure Expo function, `0.7` reasonable shape enhancement for intuitive stick feel, `0.95` very strong bent input curve only near maxima have effect.
|
||||
|
||||
In [Manual mode](../flight_modes_rover/manual.md#manual-mode) we can additionally scale $\delta$ with an additional parameter $r$:
|
||||
|
||||
- Differential Rover: $r=$ [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN)].
|
||||
- Mecanum Rover: $r=$ [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN)].
|
||||
|
||||
This scaling is useful to limit the normalized steering setpoint, if it is too aggresive for your rover in manual mode.
|
||||
|
||||
You can experiment with the relationships graphically using the [PX4 SuperExpo Rover calculator](https://www.desmos.com/calculator/gwm8lrlanx).
|
||||
|
||||
:::info
|
||||
In [Acro](../flight_modes_rover/manual.md#acro-mode), [Stabilized](../flight_modes_rover/manual.md#stabilized-mode) and [Position](../flight_modes_rover/manual.md#position-mode) Mode, $\delta$ is instead scaled by $r=$ [RO_YAW_RATE_LIM](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED) for all rovers. This leads to a yaw rate setpoint $\dot{\psi} = \delta \cdot r \in$ [-[RO_YAW_RATE_LIM](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED), [RO_YAW_RATE_LIM](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED)]. This parameter is setup during [rate tuning](rate_tuning.md).
|
||||
:::
|
||||
|
||||
:::info
|
||||
The input shaping through [RO_YAW_EXPO](#RO_YAW_EXPO) and [RO_YAW_SUPEXPO](#RO_YAW_SUPEXPO) applies for all manual modes, while [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN)/[RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN) only affects full manual mode.
|
||||
:::
|
||||
|
||||
You can now continue the configuration process with [rate tuning](rate_tuning.md).
|
||||
|
||||
## Parameter Overview
|
||||
@@ -118,6 +159,8 @@ You can now continue the configuration process with [rate tuning](rate_tuning.md
|
||||
| <a id="RO_MAX_THR_SPEED"></a>[RO_MAX_THR_SPEED](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED) | Speed the rover drives at maximum throttle | $m/s$ |
|
||||
| <a id="RO_ACCEL_LIM"></a>[RO_ACCEL_LIM](../advanced_config/parameter_reference.md#RO_ACCEL_LIM) | (Optional) Maximum allowed acceleration | $m/s^2$ |
|
||||
| <a id="RO_DECEL_LIM"></a>[RO_DECEL_LIM](../advanced_config/parameter_reference.md#RO_DECEL_LIM) | (Optional) Maximum allowed deceleration | $m/s^2$ |
|
||||
| <a id="RO_YAW_EXPO"></a>[RO_YAW_EXPO](../advanced_config/parameter_reference.md#RO_YAW_EXPO) | (Optional) Yaw rate expo factor | $-$ |
|
||||
| <a id="RO_YAW_SUPEXPO"></a>[RO_YAW_SUPEXPO](../advanced_config/parameter_reference.md#RO_YAW_SUPEXPO) | (Optional) Yaw rate super expo factor | $-$ |
|
||||
|
||||
### Ackermann Specific
|
||||
|
||||
@@ -129,12 +172,14 @@ You can now continue the configuration process with [rate tuning](rate_tuning.md
|
||||
|
||||
### Differential Specific
|
||||
|
||||
| 매개변수 | 설명 | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ---- |
|
||||
| <a id="RD_WHEEL_TRACK"></a>[RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) | Wheel track | m |
|
||||
| 매개변수 | 설명 | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ---- |
|
||||
| <a id="RD_WHEEL_TRACK"></a>[RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) | Wheel track | $m$ |
|
||||
| <a id="RD_YAW_STK_GAIN"></a>[RD_YAW_STK_GAIN](../advanced_config/parameter_reference.md#RD_YAW_STK_GAIN) | (Optional) Yaw stick gain for Manual mode | $-$ |
|
||||
|
||||
### Mecanum Specific
|
||||
|
||||
| 매개변수 | 설명 | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ---- |
|
||||
| <a id="RM_WHEEL_TRACK"></a>[RM_WHEEL_TRACK](../advanced_config/parameter_reference.md#RM_WHEEL_TRACK) | Wheel track | m |
|
||||
| 매개변수 | 설명 | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ---- |
|
||||
| <a id="RM_WHEEL_TRACK"></a>[RM_WHEEL_TRACK](../advanced_config/parameter_reference.md#RM_WHEEL_TRACK) | Wheel track | $m$ |
|
||||
| <a id="RM_YAW_STK_GAIN"></a>[RM_YAW_STK_GAIN](../advanced_config/parameter_reference.md#RM_YAW_STK_GAIN) | (Optional) Yaw stick gain for Manual mode | $-$ |
|
||||
|
||||
@@ -20,7 +20,7 @@ To tune the velocity controller configure the following [parameters](../advanced
|
||||
2. [RO_MAX_THR_SPEED](#RO_MAX_THR_SPEED) [m/s]: This parameter is used to calculate the feed-forward term of the closed loop speed control which linearly maps desired speeds to normalized motor commands.
|
||||
As mentioned in the [Manual mode](../flight_modes_rover/manual.md#manual-mode) configuration , a good starting point is the observed ground speed when the rover drives at maximum throttle in [Manual mode](../flight_modes_rover/manual.md#manual-mode).
|
||||
|
||||
<a id="RA_SPEED_TUNING"></a>
|
||||
<a id="RA_SPEED_TUNING"></a>
|
||||
|
||||
::: tip
|
||||
To further tune this parameter:
|
||||
@@ -94,7 +94,7 @@ These steps are only necessary if you are tuning/want to unlock the manual [Posi
|
||||
|
||||
The rover is now ready to drive in [Position mode](../flight_modes_rover/manual.md#position-mode) and the configuration can be continued with [position tuning](position_tuning.md).
|
||||
|
||||
## Attitude Controller Structure (Info Only)
|
||||
## Velocity Controller Structure (Info Only)
|
||||
|
||||
This section provides additional information for developers and people with experience in control system design.
|
||||
|
||||
|
||||
@@ -33,16 +33,17 @@ The logging system is configured by default to collect sensible logs for [flight
|
||||
Logging may further be configured using the [SD Logging](../advanced_config/parameter_reference.md#sd-logging) parameters.
|
||||
변경할 가능성이 높은 매개변수가 아래에 설명되어 있습니다.
|
||||
|
||||
| 매개변수 | 설명 |
|
||||
| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [SDLOG_MODE](../advanced_config/parameter_reference.md#SDLOG_MODE) | Logging Mode. Defines when logging starts and stops.<br />- `-1`: Logging disabled.<br />- `0`: Log when armed until disarm (default).<br />- `1`: Log from boot until disarm.<br />- `2`: Log from boot until shutdown.<br />- `3`: Log based on the [AUX1 RC channel](../advanced_config/parameter_reference.md#RC_MAP_AUX1).<br />- `4`: Log from first armed until shutdown. |
|
||||
| [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) | 로깅 프로파일. Use this to enable less common logging/analysis (e.g. for EKF2 replay, high rate logging for PID & filter tuning, thermal temperature calibration). |
|
||||
| [SDLOG_MISSION](../advanced_config/parameter_reference.md#SDLOG_MISSION) | Create very small additional "Mission Log".<br>This log can _not_ be used with [Flight Review](../log/flight_log_analysis.md#flight-review-online-tool), but is useful when you need a small log for geotagging or regulatory compliance. |
|
||||
| 매개변수 | 설명 |
|
||||
| --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [SDLOG_MODE](../advanced_config/parameter_reference.md#SDLOG_MODE) | Logging Mode. Defines when logging starts and stops.<br />- `0`: Log when armed until disarm (default).<br />- `1`: Log from boot until disarm.<br />- `2`: Log from boot until shutdown.<br />- `3`: Log based on the [AUX1 RC channel](../advanced_config/parameter_reference.md#RC_MAP_AUX1).<br />- `4`: Log from first armed until shutdown. |
|
||||
| [SDLOG_BACKEND](../advanced_config/parameter_reference.md#SDLOG_BACKEND) | Logging Backend (bitmask). Setting a bit enables the corresponding backend. If no backend is selected, the logger is disabled.<br />- bit `0`: SD card logging.</br >- bit `1`: Mavlink logging. |
|
||||
| [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) | 로깅 프로파일. Use this to enable less common logging/analysis (e.g. for EKF2 replay, high rate logging for PID & filter tuning, thermal temperature calibration). |
|
||||
| [SDLOG_MISSION](../advanced_config/parameter_reference.md#SDLOG_MISSION) | Create very small additional "Mission Log".<br>This log can _not_ be used with [Flight Review](../log/flight_log_analysis.md#flight-review-online-tool), but is useful when you need a small log for geotagging or regulatory compliance. |
|
||||
|
||||
Useful settings for specific cases:
|
||||
|
||||
- Raw sensor data for comparison: [SDLOG_MODE=1](../advanced_config/parameter_reference.md#SDLOG_MODE) and [SDLOG_PROFILE=64](../advanced_config/parameter_reference.md#SDLOG_PROFILE).
|
||||
- Disabling logging altogether: [SDLOG_MODE=`-1`](../advanced_config/parameter_reference.md#SDLOG_MODE)
|
||||
- Disabling logging altogether: [SDLOG_BACKEND=`0`](../advanced_config/parameter_reference.md#SDLOG_BACKEND)
|
||||
|
||||
### Logger module
|
||||
|
||||
|
||||
@@ -2,13 +2,32 @@
|
||||
|
||||
PX4 typically runs on flight controllers that include an IMU, such as the Pixhawk series, and fuse the sensor data along with GNSS information in the EKF2 estimator to determine vehicle attitude, heading, position, and velocity.
|
||||
|
||||
However PX4 can also use some INS devices as either sources of raw data, or as an external estimator, replacing the EKF.
|
||||
However PX4 can also use some INS devices as either sources of raw data, or as an external estimator, replacing EKF2.
|
||||
|
||||
Systems that can be used in this way include:
|
||||
## Supported INS Systems
|
||||
|
||||
INS systems that can be used as a replacement for EKF2 in PX4:
|
||||
|
||||
- [InertialLabs](../sensor/inertiallabs.md)
|
||||
- [VectorNav](../sensor/vectornav.md): IMU/AHRS, GNSS/INS, Dual GNSS/INS systems that can be used as an external INS or as a source of raw sensor data.
|
||||
|
||||
## PX4 Firmware
|
||||
|
||||
The driver module for your INS system may not be included in the PX4 firmware for your flight controller by default.
|
||||
|
||||
You can check by searching the [default.px4board](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6c/default.px4board#L25) configuration file for your target board for either:
|
||||
|
||||
- `CONFIG_COMMON_INS`, which includes drivers for [all INS systems](https://github.com/PX4/PX4-Autopilot/blob/main/src/drivers/ins/Kconfig).
|
||||
- The key for the particular INS system you are using, such as:
|
||||
- `CONFIG_DRIVERS_INS_ILABS`
|
||||
- `CONFIG_DRIVERS_INS_MICROSTRAIN`
|
||||
- `CONFIG_DRIVERS_INS_VECTORNAV`
|
||||
|
||||
If the required key is not present you can include the module in firmware by adding the key to the `default.px4board` file, or using the [kconfig board configuration tool](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) and then select the driver you want (`Drivers -> INS`).
|
||||
Note that if you're working on a flight controller where flash memory is limited, you're better off installing just the modules you need.
|
||||
|
||||
You will then need to rebuild the firmware.
|
||||
|
||||
## Glossary
|
||||
|
||||
### Inertial Measurement Unit (IMU)
|
||||
|
||||
@@ -71,24 +71,24 @@ To check that these are present on your flight controller:
|
||||
|
||||
3. Enter the following commands in the console:
|
||||
|
||||
```sh
|
||||
pwm_out_sim status
|
||||
```
|
||||
```sh
|
||||
pwm_out_sim status
|
||||
```
|
||||
|
||||
```sh
|
||||
sensor_baro_sim status
|
||||
```
|
||||
```sh
|
||||
sensor_baro_sim status
|
||||
```
|
||||
|
||||
```sh
|
||||
sensor_gps_sim status
|
||||
```
|
||||
```sh
|
||||
sensor_gps_sim status
|
||||
```
|
||||
|
||||
```sh
|
||||
sensor_mag_sim status
|
||||
```
|
||||
```sh
|
||||
sensor_mag_sim status
|
||||
```
|
||||
|
||||
::: tip
|
||||
Note that when using SIH on real hardware you do not need to additionally enable the modules using their corresponding parameters ([SENS_EN_GPSSIM](../advanced_config/parameter_reference.md#SENS_EN_GPSSIM), [SENS_EN_BAROSIM](../advanced_config/parameter_reference.md#SENS_EN_BAROSIM), [SENS_EN_MAGSIM](../advanced_config/parameter_reference.md#SENS_EN_MAGSIM)).
|
||||
::: tip
|
||||
Note that when using SIH on real hardware you do not need to additionally enable the modules using their corresponding parameters ([SENS_EN_GPSSIM](../advanced_config/parameter_reference.md#SENS_EN_GPSSIM), [SENS_EN_BAROSIM](../advanced_config/parameter_reference.md#SENS_EN_BAROSIM), [SENS_EN_MAGSIM](../advanced_config/parameter_reference.md#SENS_EN_MAGSIM)).
|
||||
|
||||
:::
|
||||
|
||||
@@ -141,12 +141,12 @@ To set up/start SIH:
|
||||
1. Connect the flight controller to the desktop computer with a USB cable.
|
||||
2. Open QGroundControl and wait for the flight controller too boot and connect.
|
||||
3. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
|
||||
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
|
||||
- **SIH Hexacopter X** (currently only has an airframe for SITL to safe flash so on flight control hardware it has to be manually configured equivalently).
|
||||
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
|
||||
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
|
||||
- [SIH Standard VTOL QuadPlane](../airframes/airframe_reference.md#vtol_simulation_sih_standard_vtol_quadplane)
|
||||
- [SIH Ackermann Rover](../airframes/airframe_reference.md#rover_rover_sih_rover_ackermann)
|
||||
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
|
||||
- **SIH Hexacopter X** (currently only has an airframe for SITL to safe flash so on flight control hardware it has to be manually configured equivalently).
|
||||
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
|
||||
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
|
||||
- [SIH Standard VTOL QuadPlane](../airframes/airframe_reference.md#vtol_simulation_sih_standard_vtol_quadplane)
|
||||
- [SIH Ackermann Rover](../airframes/airframe_reference.md#rover_rover_sih_rover_ackermann)
|
||||
|
||||
The autopilot will then reboot.
|
||||
The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
|
||||
@@ -172,19 +172,19 @@ To display the simulated vehicle:
|
||||
|
||||
3. Start jMAVSim by calling the script **jmavsim_run.sh** from a terminal:
|
||||
|
||||
```sh
|
||||
./Tools/simulation/jmavsim/jmavsim_run.sh -q -d /dev/ttyACM0 -b 2000000 -o
|
||||
```
|
||||
```sh
|
||||
./Tools/simulation/jmavsim/jmavsim_run.sh -q -d /dev/ttyACM0 -b 2000000 -o
|
||||
```
|
||||
|
||||
where the flags are:
|
||||
where the flags are:
|
||||
|
||||
- `-q` to allow the communication to _QGroundControl_ (optional).
|
||||
- `-d` to start the serial device `/dev/ttyACM0` on Linux.
|
||||
On macOS this would be `/dev/tty.usbmodem1`.
|
||||
- `-b` to set the serial baud rate to `2000000`.
|
||||
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
|
||||
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter.
|
||||
If this flag is not present a quadrotor will be displayed by default.
|
||||
- `-q` to allow the communication to _QGroundControl_ (optional).
|
||||
- `-d` to start the serial device `/dev/ttyACM0` on Linux.
|
||||
On macOS this would be `/dev/tty.usbmodem1`.
|
||||
- `-b` to set the serial baud rate to `2000000`.
|
||||
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
|
||||
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter.
|
||||
If this flag is not present a quadrotor will be displayed by default.
|
||||
|
||||
4. After few seconds, _QGroundControl_ can be opened again.
|
||||
|
||||
@@ -201,41 +201,41 @@ To run SIH as SITL:
|
||||
|
||||
1. Install the [PX4 Development toolchain](../dev_setup/dev_env.md).
|
||||
2. Run the appropriate make command for each vehicle type (at the root of the PX4-Autopilot repository):
|
||||
- Quadcopter
|
||||
- Quadcopter
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_quadx
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_quadx
|
||||
```
|
||||
|
||||
- Hexacopter
|
||||
- Hexacopter
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_hex
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_hex
|
||||
```
|
||||
|
||||
- Fixed-wing (plane)
|
||||
- Fixed-wing (plane)
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_airplane
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_airplane
|
||||
```
|
||||
|
||||
- XVert VTOL tailsitter
|
||||
- XVert VTOL tailsitter
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_xvert
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_xvert
|
||||
```
|
||||
|
||||
- 표준 VTOL
|
||||
- 표준 VTOL
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_standard_vtol
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_standard_vtol
|
||||
```
|
||||
|
||||
- Ackermann Rover
|
||||
- Ackermann Rover
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_rover_ackermann
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_rover_ackermann
|
||||
```
|
||||
|
||||
### Change Simulation Speed
|
||||
|
||||
@@ -328,6 +328,44 @@ For SIH as SITL (no FC):
|
||||
|
||||
For specific examples see the `_sihsim_` airframes in [ROMFS/px4fmu_common/init.d-posix/airframes](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/airframes/) (SIH as SITL) and [ROMFS/px4fmu_common/init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) (SIH on FC).
|
||||
|
||||
## Controlling Actuators in SIH
|
||||
|
||||
:::warning
|
||||
If you want to control throttling actuators in SIH, make sure to remove propellers for safety.
|
||||
:::
|
||||
|
||||
In some scenarios, it may be useful to control an actuator while running SIH. For example, you might want to verify that winches or grippers are functioning correctly by checking the servo responses.
|
||||
|
||||
To enable actuator control in SIH:
|
||||
|
||||
1. Configure PWM parameters in the airframe file:
|
||||
|
||||
Ensure your airframe file includes the necessary parameters to map PWM outputs to the correct channels.
|
||||
|
||||
For example, if a servo is connected to MAIN 3 and you want to map it to AUX1 on your RC, use the following command:
|
||||
|
||||
`param set-default PWM_MAIN_FUNC3 407`
|
||||
|
||||
You can find a full list of available values for `PWM_MAIN_FUNCn` [here](../advanced_config/parameter_reference.md#PWM_MAIN_FUNC1). In this case, `407` maps the MAIN 3 output to AUX1 on the RC.
|
||||
|
||||
Alternatively, you can use the [`PWM_AUX_FUNCn`](../advanced_config/parameter_reference.md#PWM_AUX_FUNC1) parameters.
|
||||
|
||||
You may also configure the output as desired:
|
||||
|
||||
- Disarmed PWM: ([`PWM_MAIN_DISn`](../advanced_config/parameter_reference.md#PWM_MAIN_DIS1) / [`PWM_AUX_DIS1`](../advanced_config/parameter_reference.md#PWM_AUX_DIS1))
|
||||
- Minimum PWM ([`PWM_MAIN_MINn`](../advanced_config/parameter_reference.md#PWM_MAIN_MIN1) / [`PWM_AUX_MINn`](../advanced_config/parameter_reference.md#PWM_AUX_MIN1))
|
||||
- Maximum PWM ([`PWM_MAIN_MAXn`](../advanced_config/parameter_reference.md#PWM_MAIN_MAX1) / [`PWM_AUX_MAXn`](../advanced_config/parameter_reference.md#PWM_AUX_MAX1))
|
||||
|
||||
2. Manually start the PWM output driver
|
||||
|
||||
For safety, the PWM driver is not started automatically in SIH. To enable it, run the following command in the MAVLink shell:
|
||||
|
||||
`pwm_out start`
|
||||
|
||||
And to disable it again:
|
||||
|
||||
`pwm_out stop`
|
||||
|
||||
## Dynamic Models
|
||||
|
||||
The dynamic models for the various vehicles are:
|
||||
|
||||
@@ -3,11 +3,6 @@
|
||||
[Rotoye Batmon](https://rotoye.com/batmon/) is a kit for adding smart battery functionality to off-the-shelf Lithium-Ion and LiPo batteries.
|
||||
독립형 장치로 또는 공장에서 조립된 스마트 배터리의 일부로 구입할 수 있습니다.
|
||||
|
||||
:::info
|
||||
At time of writing you can only use Batmon by [building a custom branch of PX4](#build-px4-firmware).
|
||||
Support in the codeline is pending [PR approval](https://github.com/PX4/PX4-Autopilot/pull/16723).
|
||||
:::
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
@@ -28,3 +28,5 @@ These are run by the test team as part of release testing, and for more signific
|
||||
- [MC_04 - Failsafe Testing](../test_cards/mc_04_failsafe_testing.md)
|
||||
- [MC_05 - Indoor Flight (Manual Modes)](../test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [MC_06 - Indoor Flight (Optical Flow)](../test_cards/mc_06_optical_flow.md)
|
||||
- [MC_07 - VIO (Visual-Inertial Odometry)](../test_cards/mc_07_vio.md)
|
||||
- [MC_08 - DSHOT ESC](../test_cards/mc_08_dshot.md)
|
||||
|
||||
@@ -2,11 +2,19 @@
|
||||
|
||||
## Objective
|
||||
|
||||
To test that optical flow / external vision work as expected
|
||||
To test that optical flow works as expected
|
||||
|
||||
## Preflight
|
||||
|
||||
Disconnect all GPS / compasses and ensure vehicle is using optical flow for navigation
|
||||
([Setup Information here](../sensor/optical_flow.md))
|
||||
|
||||
Ensure there are no other sources of positioning besides optical flow
|
||||
|
||||
- [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL): `1`
|
||||
- [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL): `0`
|
||||
- [EKF2_EV_CTRL](../advanced_config/parameter_reference.md#EKF2_EV_CTRL): `0`
|
||||
- [SYS_HAS_MAG](../advanced_config/parameter_reference.md#SYS_HAS_MAG): `0`
|
||||
|
||||
Ensure that the drone can go into Altitude / Position flight mode while still on the ground
|
||||
|
||||
@@ -39,5 +47,7 @@ Ensure that the drone can go into Altitude / Position flight mode while still on
|
||||
## 예상 결과
|
||||
|
||||
- 추력을 올릴 때 서서히 이륙한다
|
||||
- Drone should hold altitude in Altitude Flight mode without wandering
|
||||
- Drone should hold position within 1 meter in Position Flight mode without pilot moving sticks
|
||||
- 위에 언급한 어떤 비행 모드에서도 떨림이 나타나서는 안됨
|
||||
- 지면에 착륙시, 콥터가 지면에서 튀면 안됨
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# Test MC_07 - VIO (Visual-Inertial Odometry)
|
||||
|
||||
## Objective
|
||||
|
||||
To test that external vision (VIO) works as expected
|
||||
|
||||
## Preflight
|
||||
|
||||
Disconnect all GPS / compasses and ensure vehicle is using VIO for navigation
|
||||
|
||||
Ensure that the drone can go into Altitude / Position flight mode while still on the ground
|
||||
|
||||
Ensure there are no other sources of positioning besides VIO:
|
||||
|
||||
- [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL): `0`
|
||||
- [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL): `0`
|
||||
- [EKF2_EV_CTRL](../advanced_config/parameter_reference.md#EKF2_EV_CTRL): `15`
|
||||
- [SYS_HAS_MAG](../advanced_config/parameter_reference.md#SYS_HAS_MAG): `0`
|
||||
|
||||
## Flight Tests
|
||||
|
||||
❏ Altitude flight mode
|
||||
|
||||
❏ Vertical position should hold current value with stick centered
|
||||
|
||||
❏ Pitch/Roll/Yaw response 1:1
|
||||
|
||||
❏ Throttle response set to climb/descent rate
|
||||
|
||||
❏ Position flight mode
|
||||
|
||||
❏ Horizontal position should hold current value with stick centered
|
||||
|
||||
❏ Vertical position should hold current value with stick centered
|
||||
|
||||
❏ Throttle response set to climb/descent rate
|
||||
|
||||
❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates
|
||||
|
||||
## 착륙
|
||||
|
||||
❏ Land in either Position or Altitude mode with the throttle below 40%
|
||||
|
||||
❏ Upon touching ground, copter should disarm automatically within 2 seconds (default: see [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND))
|
||||
|
||||
## 예상 결과
|
||||
|
||||
- 추력을 올릴 때 서서히 이륙한다
|
||||
- Drone should hold altitude in Altitude Flight mode without wandering
|
||||
- Drone should hold position within 1 meter in Position Flight mode without pilot moving sticks
|
||||
- 위에 언급한 어떤 비행 모드에서도 떨림이 나타나서는 안됨
|
||||
- 지면에 착륙시, 콥터가 지면에서 튀면 안됨
|
||||
@@ -0,0 +1,46 @@
|
||||
# Test MC_08 - DSHOT ESC
|
||||
|
||||
## Objective
|
||||
|
||||
Regression test for DSHOT working with PX4
|
||||
|
||||
## Preflight
|
||||
|
||||
- Ensure vehicle is using a DSHOT ESC.
|
||||
- Parameter [DSHOT_BIDIR_EN](../advanced_config/parameter_reference.md#DSHOT_BIDIR_EN) is enabled
|
||||
- Parameter [DSHOT_TEL_CFG](../advanced_config/parameter_reference.md#DSHOT_TEL_CFG) is configured (if ESC supports telemetry)
|
||||
- Parameter [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) has Debug (`5`) checked
|
||||
|
||||
## Flight Tests
|
||||
|
||||
❏ Stabilized Flight mode
|
||||
|
||||
❏ Takeoff in stabilized flight mode to ensure correct motor spin
|
||||
|
||||
❏ Pitch/Roll/Yaw response 1:1
|
||||
|
||||
❏ Throttle response 1:1
|
||||
|
||||
❏ Position flight mode
|
||||
|
||||
❏ Horizontal position should hold current value with stick centered
|
||||
|
||||
❏ Vertical position should hold current value with stick centered
|
||||
|
||||
❏ Throttle response set to climb/descent rate
|
||||
|
||||
❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates
|
||||
|
||||
## 착륙
|
||||
|
||||
❏ Land in either Position or Altitude mode with the throttle below 40%
|
||||
|
||||
❏ Upon touching ground, copter should disarm automatically within 2 seconds (default: see [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND))
|
||||
|
||||
## 예상 결과
|
||||
|
||||
- Download flight logs
|
||||
- Load into Data Plot Juggler
|
||||
- Ensure data is logged for esc_status/esc.0x/esc_rpm
|
||||
|
||||

|
||||
@@ -843,6 +843,8 @@
|
||||
- [Тест MC_04 - Тестування відмовостійкості](test_cards/mc_04_failsafe_testing.md)
|
||||
- [Test MC_05 - Manual Modes (Inside)](test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](test_cards/mc_06_optical_flow.md)
|
||||
- [Test MC_07 - VIO (Inside)](test_cards/mc_07_vio.md)
|
||||
- [Test MC_08 - DSHOT ESC](test_cards/mc_08_dshot.md)
|
||||
- [Модульні Тести](test_and_ci/unit_tests.md)
|
||||
- [Fuzz Tests](test_and_ci/fuzz_tests.md)
|
||||
- [Безперервна інтеграція](test_and_ci/continous_integration.md)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
<!-- GENERATED CONTENT: DO NOT EDIT -->
|
||||
- [Введення](/index.md)
|
||||
|
||||
- [Основні поняття](/getting_started/px4_basic_concepts.md)
|
||||
|
||||
- [Мультикоптери](/frames_multicopter/index.md)
|
||||
|
||||
- [Функції](/features_mc/index.md)
|
||||
- [Режим польоту](/flight_modes_mc/index.md)
|
||||
- [Position Mode (MC)](/flight_modes_mc/position.md)
|
||||
@@ -37,7 +35,7 @@
|
||||
- [Static Pressure Buildup](/advanced_config/static_pressure_buildup.md)
|
||||
- [Flying (Basics)](/flying/basic_flying_mc.md)
|
||||
- [Complete Vehicles](/complete_vehicles_mc/index.md)
|
||||
- [ModalAI Starling](/complete_vehicles_mc/modalai_starling.md)
|
||||
- [ModalAI Starling (PX4 Dev Kit)](/complete_vehicles_mc/modalai_starling.md)
|
||||
- [PX4 Vision Kit](/complete_vehicles_mc/px4_vision_kit.md)
|
||||
- [MindRacer BNF & RTF](/complete_vehicles_mc/mindracer_BNF_RTF.md)
|
||||
- [MindRacer 210](/complete_vehicles_mc/mindracer210.md)
|
||||
@@ -58,7 +56,6 @@
|
||||
- [DJI F450 (CUAV v5 nano)](/frames_multicopter/dji_f450_cuav_5nano.md)
|
||||
|
||||
- [Літаки (з фіксованим крилом)](/frames_plane/index.md)
|
||||
|
||||
- [Збірка](/assembly/assembly_fw.md)
|
||||
- [Конфігурація/підлаштування](/config_fw/index.md)
|
||||
- [Auto-tune](/config/autotune_fw.md)
|
||||
@@ -86,7 +83,6 @@
|
||||
- [Wing Wing Z84 (Pixracer)](/frames_plane/wing_wing_z84.md)
|
||||
|
||||
- [VTOL (Вертикальний зліт та посадка)](/frames_vtol/index.md)
|
||||
|
||||
- [Assembly](/assembly/assembly_vtol.md)
|
||||
- [Конфігурація/Налаштування VTOL](/config_vtol/index.md)
|
||||
- [Auto-tune](/config/autotune_vtol.md)
|
||||
@@ -111,7 +107,6 @@
|
||||
- [Complete Vehicles](/complete_vehicles_vtol/index.md)
|
||||
|
||||
- [Operations](/config/operations.md)
|
||||
|
||||
- [Безпека](/config/safety_intro.md)
|
||||
- [Конфігурація безпеки (запобіжники)](/config/safety.md)
|
||||
- [Моделювання відмовостійкості](/config/safety_simulation.md)
|
||||
@@ -132,7 +127,6 @@
|
||||
- [QGroundControl Flight-Readiness Status](/flying/pre_flight_checks.md)
|
||||
|
||||
- [Вибір обладнання & Налаштування](/hardware/drone_parts.md)
|
||||
|
||||
- [Flight Controllers (Autopilots)](/flight_controller/index.md)
|
||||
- [Польотні контролери](/getting_started/flight_controller_selection.md)
|
||||
- [Серія Pixhawk](/flight_controller/pixhawk_series.md)
|
||||
@@ -169,13 +163,12 @@
|
||||
- [ARK Electronics ARKV6X](/flight_controller/ark_v6x.md)
|
||||
- [ARK FPV Flight Controller](/flight_controller/ark_fpv.md)
|
||||
- [ARK Pi6X Flow Flight Controller](/flight_controller/ark_pi6x.md)
|
||||
- [CUAV X7](/flight_controller/cuav_x7.md)
|
||||
- [CUAV Nora](/flight_controller/cuav_nora.md)
|
||||
- [CUAV V5+ (FMUv5)](/flight_controller/cuav_v5_plus.md)
|
||||
- [Wiring Quickstart](/assembly/quick_start_cuav_v5_plus.md)
|
||||
- [CUAV V5 nano (FMUv5)](/flight_controller/cuav_v5_nano.md)
|
||||
- [Швидке підключення CUAV V5 nano](/assembly/quick_start_cuav_v5_nano.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](/flight_controller/pixhack_v3.md)
|
||||
- [CUAV X25 EVO](/flight_controller/cuav_x25-evo.md)
|
||||
- [CubePilot Cube Orange+ (CubePilot)](/flight_controller/cubepilot_cube_orangeplus.md)
|
||||
- [CubePilot Cube Orange (CubePilot)](/flight_controller/cubepilot_cube_orange.md)
|
||||
- [CubePilot Cube Yellow (CubePilot)](/flight_controller/cubepilot_cube_yellow.md)
|
||||
@@ -188,11 +181,8 @@
|
||||
- [Wiring Quickstart](/assembly/quick_start_durandal.md)
|
||||
- [Holybro Pix32 v5](/flight_controller/holybro_pix32_v5.md)
|
||||
- [Wiring Quickstart](/assembly/quick_start_holybro_pix32_v5.md)
|
||||
- [ModalAI Flight Core v1](/flight_controller/modalai_fc_v1.md)
|
||||
- [ModalAI VOXL Flight](/flight_controller/modalai_voxl_flight.md)
|
||||
- [ModalAI VOXL 2](/flight_controller/modalai_voxl_2.md)
|
||||
- [mRobotics-X2.1 (FMUv2)](/flight_controller/mro_x2.1.md)
|
||||
- [mRo Control Zero F7)](/flight_controller/mro_control_zero_f7.md)
|
||||
- [mRo Control Zero F7](/flight_controller/mro_control_zero_f7.md)
|
||||
- [Sky-Drones AIRLink](/flight_controller/airlink.md)
|
||||
- [SPRacing SPRacingH7EXTREME](/flight_controller/spracingh7extreme.md)
|
||||
- [ThePeach FCC-K1](/flight_controller/thepeach_k1.md)
|
||||
@@ -206,18 +196,20 @@
|
||||
- [Зняті з виробництва автопілоти/транспортні засоби](/flight_controller/autopilot_discontinued.md)
|
||||
- [Drotek Dropix (FMUv2)](/flight_controller/dropix.md)
|
||||
- [Omnibus F4 SD](/flight_controller/omnibus_f4_sd.md)
|
||||
- [BetaFPV Beta75X 2S Brushless Whoop](/complete_vehicles_mc/betafpv_beta75x.md)
|
||||
- [Bitcraze Crazyflie 2.0 ](/complete_vehicles_mc/crazyflie2.md)
|
||||
- [Aerotenna OcPoC-Zynq Mini](/flight_controller/ocpoc_zynq.md)
|
||||
- [CUAV X7](/flight_controller/cuav_x7.md)
|
||||
- [CUAV v5](/flight_controller/cuav_v5.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](/flight_controller/pixhack_v3.md)
|
||||
- [Holybro Kakute F7](/flight_controller/kakutef7.md)
|
||||
- [Holybro Pixfalcon](/flight_controller/pixfalcon.md)
|
||||
- [Holybro pix32 (FMUv2)](/flight_controller/holybro_pix32.md)
|
||||
- [ModalAI Flight Core v1](/flight_controller/modalai_fc_v1.md)
|
||||
- [ModalAI VOXL Flight](/flight_controller/modalai_voxl_flight.md)
|
||||
- [mRo X2.1 (FMUv2)](/flight_controller/mro_x2.1.md)
|
||||
- [mRo AUAV-X2](/flight_controller/auav_x2.md)
|
||||
- [NXP RDDRONE-FMUK66 FMU](/flight_controller/nxp_rddrone_fmuk66.md)
|
||||
- [3DR Pixhawk 1](/flight_controller/pixhawk.md)
|
||||
- [Snapdragon Flight](/flight_controller/snapdragon_flight.md)
|
||||
- [Intel® Aero RTF Drone](/complete_vehicles_mc/intel_aero.md)
|
||||
- [Pixhawk Autopilot Bus (PAB) & Carriers](/flight_controller/pixhawk_autopilot_bus.md)
|
||||
- [ARK Electronics Pixhawk Autopilot Bus Carrier](/flight_controller/ark_pab.md)
|
||||
- [Кріплення польотного контролера](/assembly/mount_and_orient_controller.md)
|
||||
@@ -229,7 +221,9 @@
|
||||
- [Оновлення завантажувача](/advanced_config/bootloader_update.md)
|
||||
- [Оновлення бутлоадера FMUv6X-RT через USB](/advanced_config/bootloader_update_v6xrt.md)
|
||||
- [Bootloader прошивка на системи Betaflight](/advanced_config/bootloader_update_from_betaflight.md)
|
||||
|
||||
- [Airframe Selection](/config/airframe.md)
|
||||
|
||||
- [Сенсори](/sensor/index.md)
|
||||
- [Акселерометр](/sensor/accelerometer.md)
|
||||
- [Калібрування](/config/accelerometer.md)
|
||||
@@ -241,6 +235,7 @@
|
||||
- [Compass Power Compensation](/advanced_config/compass_power_compensation.md)
|
||||
- [Датчики швидкості повітря](/sensor/airspeed.md)
|
||||
- [Калібрування](/config/airspeed.md)
|
||||
- [Airspeed Validation](/advanced_config/airspeed_validation.md)
|
||||
- [ВЗІП Датчик польоту](/sensor/airspeed_tfslot.md)
|
||||
- [Барометри](/sensor/barometer.md)
|
||||
- [Датчики відстані \(далекодобива\)](/sensor/rangefinders.md)
|
||||
@@ -272,6 +267,7 @@
|
||||
- [CUAV C-RTK](/gps_compass/rtk_gps_cuav_c-rtk.md)
|
||||
- [CUAV C-RTK2 PPK/RTK GNSS](/gps_compass/rtk_gps_cuav_c-rtk2.md)
|
||||
- [CUAV C-RTK 9Ps](/gps_compass/rtk_gps_cuav_c-rtk-9ps.md)
|
||||
- [DATAGNSS NANO HRTK GNSS](/gps_compass/rtk_gps_datagnss_nano_hrtk.md)
|
||||
- [DATAGNSS GEM1305 RTK GNSS](/gps_compass/rtk_gps_gem1305.md)
|
||||
- [Femtones MINI2 Receiver](/gps_compass/rtk_gps_fem_mini2.md)
|
||||
- [Freefly RTK GPS](/gps_compass/rtk_gps_freefly.md)
|
||||
@@ -287,6 +283,7 @@
|
||||
- [Trimble MB-Two](/gps_compass/rtk_gps_trimble_mb_two.md)
|
||||
- [CubePilot Here+ (Discontined)](/gps_compass/rtk_gps_hex_hereplus.md)
|
||||
- [INS (Інерціальна навігація/GNSS)](/sensor/inertial_navigation_systems.md)
|
||||
- [InertialLabs](/sensor/inertiallabs.md)
|
||||
- [VectorNav](/sensor/vectornav.md)
|
||||
- [Optical Flow](/sensor/optical_flow.md)
|
||||
- [ARK Flow](/dronecan/ark_flow.md)
|
||||
@@ -297,6 +294,7 @@
|
||||
- [Датчик тахометра ThunderFly TFRPM01](/sensor/thunderfly_tachometer.md)
|
||||
- [Заводське калібрування IMU](/advanced_config/imu_factory_calibration.md)
|
||||
- [Sensor Thermal Compensation](/advanced_config/sensor_thermal_calibration.md)
|
||||
|
||||
- [Актуатори](/actuators/index.md)
|
||||
- [Розподіл приводу](/config/actuators.md)
|
||||
- [Калібрування ESC (плати контролю двигунів)](/advanced_config/esc_calibration.md)
|
||||
@@ -308,19 +306,22 @@
|
||||
- [Zubax Telega](/dronecan/zubax_telega.md)
|
||||
- [Прошивка PX4 Sapog ESC](/dronecan/sapog.md)
|
||||
- [Holybro Kotleta](/dronecan/holybro_kotleta.md)
|
||||
- [Zubax Orel](/dronecan/zubax_orel.md)
|
||||
- [Vertiq](/peripherals/vertiq.md)
|
||||
- [VESC](/peripherals/vesc.md)
|
||||
|
||||
- [Радіокерування (RC)](/getting_started/rc_transmitter_receiver.md)
|
||||
- [Налаштування радіо](/config/radio.md)
|
||||
- [Режими польоту](/config/flight_mode.md)
|
||||
|
||||
- [Джойстики](/config/joystick.md)
|
||||
|
||||
- [Посилання даних](/data_links/index.md)
|
||||
- [MAVLink Telemetry (OSD/GCS)](/peripherals/mavlink_peripherals.md)
|
||||
|
||||
- [Телеметричні радіостанції](/telemetry/index.md)
|
||||
- [SiK Radio](/telemetry/sik_radio.md)
|
||||
- [Телеметричне радіо RFD900 (SiK)](/telemetry/rfd900_telemetry.md)
|
||||
- [ThunderFly TFSIK01 Telemetry Radio](/telemetry/tfsik_telemetry.md)
|
||||
- [HolyBro (SIK) Телеметричне радіо](/telemetry/holybro_sik_radio.md)
|
||||
- [Телеметрія Wi-Fi](/telemetry/telemetry_wifi.md)
|
||||
- [Модуль WiFi ESP8266](/telemetry/esp8266_wifi_module.md)
|
||||
@@ -338,6 +339,7 @@
|
||||
- [TBS Crossfire (CRSF) телеметрія](/telemetry/crsf_telemetry.md)
|
||||
|
||||
- [Супутниковий зв'язок (Iridium/RockBlock)](/advanced_features/satcom_roadblock.md)
|
||||
|
||||
- [Енергетичні системи](/power_systems/index.md)
|
||||
- [Налаштування оцінки батареї](/config/battery.md)
|
||||
- [Battery Chemistry Overview](/power_systems/battery_chemistry.md)
|
||||
@@ -356,6 +358,7 @@
|
||||
- [Sky-Drones SmartAP PDB](/power_module/sky-drones_smartap-pdb.md)
|
||||
- [Акумулятори Smart/MAVLink](/smart_batteries/index.md)
|
||||
- [Rotoye Batmon Комплект інтелектуального акумулятора](/smart_batteries/rotoye_batmon.md)
|
||||
|
||||
- [Вантажі & камери](/payloads/index.md)
|
||||
- [Випадки використання](/payloads/use_cases.md)
|
||||
- [Місія доставки посилок](/flying/package_delivery_mission.md)
|
||||
@@ -367,19 +370,25 @@
|
||||
- [Конфігурація Gimbal \(Mount\)](/advanced/gimbal_control.md)
|
||||
- [Grippers](/peripherals/gripper.md)
|
||||
- [Servo Gripper](/peripherals/gripper_servo.md)
|
||||
|
||||
- [Периферія](/peripherals/index.md)
|
||||
- [ADSB/FLARM/UTM (уникнення трафіку)](/peripherals/adsb_flarm.md)
|
||||
- [Парашут](/peripherals/parachute.md)
|
||||
- [Remote ID](/peripherals/remote_id.md)
|
||||
|
||||
- [Периферійні пристрої I2C](/sensor_bus/i2c_general.md)
|
||||
- [Прискорювачі шини I2C](/sensor_bus/i2c_general.md#i2c-bus-accelerators)
|
||||
- [TFI2CADT01 Транслятор адреси I2C](/sensor_bus/translator_tfi2cadt.md)
|
||||
|
||||
- [Периферійні пристрої CAN](/can/index.md)
|
||||
|
||||
- [Периферійні пристрої DroneCAN](/dronecan/index.md)
|
||||
- [Прошивка PX4 DroneCAN](/dronecan/px4_cannode_fw.md)
|
||||
- [ARK CANnode](/dronecan/ark_cannode.md)
|
||||
- [RaccoonLab CAN Nodes](/dronecan/raccoonlab_nodes.md)
|
||||
|
||||
- [Підключення дротів](/assembly/cable_wiring.md)
|
||||
|
||||
- [Комп’ютери-супутники](/companion_computer/index.md)
|
||||
- [Налаштування Pixhawk + Companion](/companion_computer/pixhawk_companion.md)
|
||||
- [RPi Pixhawk Companion](/companion_computer/pixhawk_rpi.md)
|
||||
@@ -395,16 +404,19 @@
|
||||
- [Realsense T265 Tracking Camera (VIO)](/camera/camera_intel_realsense_t265_vio.md)
|
||||
- [Потокове відео](/companion_computer/video_streaming.md)
|
||||
- [Потокове відео за допомогою WFB-ng Wi-Fi (далекий діапазон)](/companion_computer/video_streaming_wfb_ng_wifi.md)
|
||||
|
||||
- [Serial Port Configuration](/peripherals/serial_configuration.md)
|
||||
|
||||
- [PX4 Ethernet Setup](/advanced_config/ethernet_setup.md)
|
||||
|
||||
- [Стандартна конфігурація](/config/index.md)
|
||||
|
||||
- [Розширені налаштування](/advanced_config/index.md)
|
||||
- [Using PX4's Navigation Filter (EKF2)](/advanced_config/tuning_the_ecl_ekf.md)
|
||||
- [Finding/Updating Parameters](/advanced_config/parameters.md)
|
||||
- [Full Parameter Reference](/advanced_config/parameter_reference.md)
|
||||
|
||||
- [Інші транспортні засоби](/airframes/index.md)
|
||||
|
||||
- [Airships (experimental)](/frames_airship/index.md)
|
||||
- [Autogyros (experimental)](/frames_autogyro/index.md)
|
||||
- [ThunderFly Auto-G2 (Holybro pix32)](/frames_autogyro/thunderfly_auto_g2.md)
|
||||
@@ -412,17 +424,17 @@
|
||||
- [Helicopter (experimental)](/frames_helicopter/index.md)
|
||||
- [Конфігурація/Підлаштування](/config_heli/index.md)
|
||||
- [Rovers (experimental)](/frames_rover/index.md)
|
||||
- [Ackermann Rovers](/frames_rover/ackermann.md)
|
||||
- [Drive Modes](/flight_modes_rover/ackermann.md)
|
||||
- [Конфігурація/Підлаштування](/config_rover/ackermann.md)
|
||||
- [Differential Rovers](/frames_rover/differential.md)
|
||||
- [Drive Modes](/flight_modes_rover/differential.md)
|
||||
- [Конфігурація/Підлаштування](/config_rover/differential.md)
|
||||
- [Aion Robotics R1](/frames_rover/aion_r1.md)
|
||||
- [Mecanum Rovers](/frames_rover/mecanum.md)
|
||||
- [Drive Modes](/flight_modes_rover/mecanum.md)
|
||||
- [Конфігурація/Підлаштування](/config_rover/mecanum.md)
|
||||
- [(Deprecated) Rover Position Control](/frames_rover/rover_position_control.md)
|
||||
- [Drive Modes](/flight_modes_rover/index.md)
|
||||
- [Manual](/flight_modes_rover/manual.md)
|
||||
- [Auto](/flight_modes_rover/auto.md)
|
||||
- [Configuration/Tuning](/config_rover/index.md)
|
||||
- [Basic Setup](/config_rover/basic_setup.md)
|
||||
- [Rate Tuning](/config_rover/rate_tuning.md)
|
||||
- [Attitude Tuning](/config_rover/attitude_tuning.md)
|
||||
- [Velocity Tuning](/config_rover/velocity_tuning.md)
|
||||
- [Position Tuning](/config_rover/position_tuning.md)
|
||||
- [Complete Vehicles](/complete_vehicles_rover/index.md)
|
||||
- [Aion Robotics R1](/complete_vehicles_rover/aion_r1.md)
|
||||
- [Submarines (experimental)](/frames_sub/index.md)
|
||||
- [BlueROV2](/frames_sub/bluerov2.md)
|
||||
- [Airframes Reference](/airframes/airframe_reference.md)
|
||||
@@ -534,6 +546,7 @@
|
||||
- [Airspeed](/msg_docs/Airspeed.md)
|
||||
- [AirspeedWind](/msg_docs/AirspeedWind.md)
|
||||
- [AutotuneAttitudeControlStatus](/msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [BatteryInfo](/msg_docs/BatteryInfo.md)
|
||||
- [ButtonEvent](/msg_docs/ButtonEvent.md)
|
||||
- [CameraCapture](/msg_docs/CameraCapture.md)
|
||||
- [CameraStatus](/msg_docs/CameraStatus.md)
|
||||
@@ -552,6 +565,7 @@
|
||||
- [DifferentialPressure](/msg_docs/DifferentialPressure.md)
|
||||
- [DistanceSensor](/msg_docs/DistanceSensor.md)
|
||||
- [DistanceSensorModeChangeRequest](/msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [DronecanNodeStatus](/msg_docs/DronecanNodeStatus.md)
|
||||
- [Ekf2Timestamps](/msg_docs/Ekf2Timestamps.md)
|
||||
- [EscReport](/msg_docs/EscReport.md)
|
||||
- [EscStatus](/msg_docs/EscStatus.md)
|
||||
@@ -626,6 +640,7 @@
|
||||
- [MountOrientation](/msg_docs/MountOrientation.md)
|
||||
- [NavigatorMissionItem](/msg_docs/NavigatorMissionItem.md)
|
||||
- [NavigatorStatus](/msg_docs/NavigatorStatus.md)
|
||||
- [NeuralControl](/msg_docs/NeuralControl.md)
|
||||
- [NormalizedUnsignedSetpoint](/msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [ObstacleDistance](/msg_docs/ObstacleDistance.md)
|
||||
- [OffboardControlMode](/msg_docs/OffboardControlMode.md)
|
||||
@@ -724,7 +739,12 @@
|
||||
- [Wind](/msg_docs/Wind.md)
|
||||
- [YawEstimatorStatus](/msg_docs/YawEstimatorStatus.md)
|
||||
- [AirspeedValidatedV0](/msg_docs/AirspeedValidatedV0.md)
|
||||
- [ArmingCheckReplyV0](/msg_docs/ArmingCheckReplyV0.md)
|
||||
- [BatteryStatusV0](/msg_docs/BatteryStatusV0.md)
|
||||
- [EventV0](/msg_docs/EventV0.md)
|
||||
- [HomePositionV0](/msg_docs/HomePositionV0.md)
|
||||
- [VehicleAttitudeSetpointV0](/msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleLocalPositionV0](/msg_docs/VehicleLocalPositionV0.md)
|
||||
- [VehicleStatusV0](/msg_docs/VehicleStatusV0.md)
|
||||
- [MAVLink Messaging](/mavlink/index.md)
|
||||
- [Adding Messages](/mavlink/adding_messages.md)
|
||||
@@ -734,6 +754,7 @@
|
||||
- [Protocols/Microservices](/mavlink/protocols.md)
|
||||
- [Standard Modes Protocol](/mavlink/standard_modes.md)
|
||||
- [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](/middleware/uxrce_dds.md)
|
||||
- [UORB Bridged to ROS 2](/middleware/dds_topics.md)
|
||||
- [Модулі & Команди](/modules/modules_main.md)
|
||||
- [Автоматичне підлаштування](/modules/modules_autotune.md)
|
||||
- [Команди](/modules/modules_command.md)
|
||||
@@ -763,7 +784,7 @@
|
||||
- [Відлагодження з GDB](/debug/gdb_debugging.md)
|
||||
- [Порт для налагодження SWD](/debug/swd_debug.md)
|
||||
- [JLink адаптер](/debug/probe_jlink.md)
|
||||
- [Black Magic / Dronecode адаптери](/debug/probe_bmp.md)
|
||||
- [Black Magic/Zubax BugFace BF1 Probe](/debug/probe_bmp.md)
|
||||
- [STLink адаптер](/debug/probe_stlink.md)
|
||||
- [MCU-Link адаптер](/debug/probe_mculink.md)
|
||||
- [Відлагодження Hardfault ](/debug/gdb_hardfault.md)
|
||||
@@ -787,6 +808,9 @@
|
||||
- [Інтеграція камери/Архітектура](/camera/camera_architecture.md)
|
||||
- [Комп'ютерний зір](/advanced/computer_vision.md)
|
||||
- [Захоплення руху (VICON, Optitrack, NOKOV)](/tutorials/motion-capture.md)
|
||||
- [Neural Networks](/advanced/neural_networks.md)
|
||||
- [Neural Network Module Utilities](/advanced/nn_module_utilities.md)
|
||||
- [TensorFlow Lite Micro (TFLM)](/advanced/tflm.md)
|
||||
- [Встановлюється драйвер для Intel RealSense R200](/advanced/realsense_intel_driver.md)
|
||||
- [Перемикання оцінювачів стану](/advanced/switching_state_estimators.md)
|
||||
- [Out-of-Tree модулі](/advanced/out_of_tree_modules.md)
|
||||
@@ -818,8 +842,12 @@
|
||||
- [Тест MC_02 - Повна автономність](/test_cards/mc_02_full_autonomous.md)
|
||||
- [Тест MC_03 - поєднання автоматичного і ручного керування](/test_cards/mc_03_auto_manual_mix.md)
|
||||
- [Тест MC_04 - Тестування відмовостійкості](/test_cards/mc_04_failsafe_testing.md)
|
||||
- [Тест MC_05 - Політ у приміщенні (ручні режими)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_05 - Manual Modes (Inside)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](/test_cards/mc_06_optical_flow.md)
|
||||
- [Test MC_07 - VIO (Inside)](/test_cards/mc_07_vio.md)
|
||||
- [Test MC_08 - DSHOT ESC](/test_cards/mc_08_dshot.md)
|
||||
- [Модульні Тести](/test_and_ci/unit_tests.md)
|
||||
- [Fuzz Tests](/test_and_ci/fuzz_tests.md)
|
||||
- [Безперервна інтеграція](/test_and_ci/continous_integration.md)
|
||||
- [Integration Testing](/test_and_ci/integration_testing.md)
|
||||
- [MAVSDK Тестування інтеграції ](/test_and_ci/integration_testing_mavsdk.md)
|
||||
@@ -862,8 +890,8 @@
|
||||
|
||||
- [Релізи](/releases/index.md)
|
||||
- [main (alpha)](/releases/main.md)
|
||||
- [1.16 (release candidate)](/releases/1.16.md)
|
||||
- [1.15 (stable)](/releases/1.15.md)
|
||||
- [1.16 (stable)](/releases/1.16.md)
|
||||
- [1.15](/releases/1.15.md)
|
||||
- [1.14](/releases/1.14.md)
|
||||
- [1.13](/releases/1.13.md)
|
||||
- [1.12](/releases/1.12.md)
|
||||
|
||||
@@ -95,6 +95,8 @@ NuttX має інтегрований інтерпретатор оболонк
|
||||
Найкращий спосіб змінити запуск системи - це ввести [нову конфігурацію планера](../dev_airframes/adding_a_new_frame.md).
|
||||
Файл конфігурації планеру може бути включений у прошивку або на SD карту.
|
||||
|
||||
#### Dynamic customization
|
||||
|
||||
Якщо вам потрібно "підлаштувати" конфігурацію що існує, наприклад запустити один або більше застосунків або встановити значення кількох параметрів, можна вказати це створивши два файли у директорії `/etc/` на SD картці:
|
||||
|
||||
- [/etc/config.txt](#customizing-the-configuration-config-txt): modify parameter values
|
||||
@@ -111,7 +113,7 @@ NuttX має інтегрований інтерпретатор оболонк
|
||||
Ці файли згадуються в коді PX4 як `/fs/microsd/etc/config.txt` та `/fs/microsd/etc/extras.txt`, де коренева директорія microSD карти визначається шляхом `/fs/microsd`.
|
||||
:::
|
||||
|
||||
#### Налаштування конфігурації (config.txt)
|
||||
##### Налаштування конфігурації (config.txt)
|
||||
|
||||
Файл `config.txt` можна використовувати для зміни параметрів.
|
||||
Він завантажується після того, як головна система була налаштована та _перед тим_ як завантажена.
|
||||
@@ -123,7 +125,7 @@ param set-default PWM_MAIN_DIS3 1000
|
||||
param set-default PWM_MAIN_MIN3 1120
|
||||
```
|
||||
|
||||
#### Запуск додаткових застосунків (extras.txt)
|
||||
##### Запуск додаткових застосунків (extras.txt)
|
||||
|
||||
`extras.txt` можна використовувати для запуску додаткових застосунків після завантаження основної системи.
|
||||
Зазвичай це будуть контролери корисного навантаження або подібні необов'язкові користувацькі компоненти.
|
||||
@@ -150,3 +152,28 @@ param set-default PWM_MAIN_MIN3 1120
|
||||
|
||||
mandatory_app start # Will abort boot if mandatory_app is unknown or fails
|
||||
```
|
||||
|
||||
#### Additional customization
|
||||
|
||||
In rare cases where the desired setup cannot be achieved through frame configuration or dynamic customization,
|
||||
you can add a script that will be contained in the binary.
|
||||
|
||||
**Note**: In almost all cases, you should use a frame configuration. This method should only be used for
|
||||
edge-cases such as customizing `cannode` based boards.
|
||||
|
||||
- Add a new init script in `boards/<vendor>/<board>/init` that will run during board startup. Наприклад:
|
||||
```sh
|
||||
# File: boards/<vendor>/<board>/init/rc.additional
|
||||
param set-default <param> <value>
|
||||
```
|
||||
|
||||
- Add a new board variant in `boards/<vendor>/<board>/<variant>.px4board` that includes the additional script. Наприклад:
|
||||
```sh
|
||||
# File: boards/<vendor>/<board>/var.px4board
|
||||
CONFIG_BOARD_ADDITIONAL_INIT="rc.additional"
|
||||
```
|
||||
|
||||
- Compile the firmware with your new variant by appending the variant name to the compile target. Наприклад:
|
||||
```sh
|
||||
make <target>_var
|
||||
```
|
||||
|
||||
@@ -27,10 +27,18 @@
|
||||
|
||||
That is the minimum setup to use the rover in [Manual mode](../flight_modes_rover/manual.md#manual-mode).
|
||||
|
||||
:::info
|
||||
The rest of the tuning on this page is not mandatory for [Manual mode](../flight_modes_rover/manual.md#manual-mode), but it will have an effect on the behaviour of the rover.
|
||||
:::
|
||||
|
||||
:::warning
|
||||
Do not skip the rest of this setup if you intend to use more sophisticated modes!
|
||||
All parameters will be mandatory for all subsequent modes, except those tagged as `(Optional)`.
|
||||
:::
|
||||
|
||||
## Geometric Parameters
|
||||
|
||||
Manual mode is also affected by (optional) acceleration/deceleration limits set using the geometric described below.
|
||||
These limits are mandatory for all other modes.
|
||||
First, we set up the geometric parameters of the rover:
|
||||
|
||||

|
||||
|
||||
@@ -42,7 +50,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
2. [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) [deg]: Measure the maximum steering angle.
|
||||
3. (Optional) [RA_STR_RATE_LIM](#RA_STR_RATE_LIM) [deg/s]: Maximum steering rate you want to allow for your rover.
|
||||
|
||||
:::tip
|
||||
::: tip
|
||||
This value depends on your rover and use case.
|
||||
For bigger rovers there might be a mechanical limit that is easy to identify by steering the rover at a standstill and increasing
|
||||
[RA_STR_RATE_LIM](#RA_STR_RATE_LIM) until you observe the steering rate to no longer be limited by the parameter.
|
||||
@@ -51,7 +59,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
|
||||
:::
|
||||
|
||||
:::warning
|
||||
::: warning
|
||||
A low maximum steering rate makes the rover worse at tracking steering setpoints, which can lead to a poor performance in the subsequent modes.
|
||||
|
||||
:::
|
||||
@@ -76,7 +84,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
|
||||
2. (Optional) [RO_ACCEL_LIM](#RO_ACCEL_LIM) [m/s^2]: Maximum acceleration you want to allow for your rover.
|
||||
|
||||
<a id="RO_ACCEL_LIM_CONSIDERATIONS"></a>
|
||||
<a id="RO_ACCEL_LIM_CONSIDERATIONS"></a>
|
||||
|
||||
:::tip
|
||||
Your rover has a maximum possible acceleration which is determined by the maximum torque the motor can supply.
|
||||
@@ -109,6 +117,39 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
|
||||
|
||||
:::
|
||||
|
||||
## (Optional) Stick Input Mapping
|
||||
|
||||
Input shaping can be used to adjust the default linear mapping from stick inputs $\in [-1, 1]$ to normalized setpoints $\in [-1, 1]$. Applying this specifically to the steering input, can provide a smoother driving experience, by enabling the user to make small adjustments when the stick is close to the center, but still send large inputs when moving them to the edges.
|
||||
We provide this input shaping through the super exponential function:
|
||||
|
||||
$$
|
||||
\delta = \frac{(f \cdot x^3 + x(1-f)) \cdot (1-g)}{1-g \cdot |x|}
|
||||
$$
|
||||
|
||||
with:
|
||||
|
||||
- $\delta \in [-1, 1]=$ Normalized steering setpoint.
|
||||
- $x \in [-1, 1]=$ Normalized stick input.
|
||||
- $f=$ [RO_YAW_EXPO](#RO_YAW_EXPO): `0` Purely linear input curve, `1` Purely cubic input curve.
|
||||
- $g=$ [RO_YAW_SUPEXPO](#RO_YAW_SUPEXPO): `0` Pure Expo function, `0.7` reasonable shape enhancement for intuitive stick feel, `0.95` very strong bent input curve only near maxima have effect.
|
||||
|
||||
In [Manual mode](../flight_modes_rover/manual.md#manual-mode) we can additionally scale $\delta$ with an additional parameter $r$:
|
||||
|
||||
- Differential Rover: $r=$ [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN)].
|
||||
- Mecanum Rover: $r=$ [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN)].
|
||||
|
||||
This scaling is useful to limit the normalized steering setpoint, if it is too aggresive for your rover in manual mode.
|
||||
|
||||
You can experiment with the relationships graphically using the [PX4 SuperExpo Rover calculator](https://www.desmos.com/calculator/gwm8lrlanx).
|
||||
|
||||
:::info
|
||||
In [Acro](../flight_modes_rover/manual.md#acro-mode), [Stabilized](../flight_modes_rover/manual.md#stabilized-mode) and [Position](../flight_modes_rover/manual.md#position-mode) Mode, $\delta$ is instead scaled by $r=$ [RO_YAW_RATE_LIM](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED) for all rovers. This leads to a yaw rate setpoint $\dot{\psi} = \delta \cdot r \in$ [-[RO_YAW_RATE_LIM](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED), [RO_YAW_RATE_LIM](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED)]. This parameter is setup during [rate tuning](rate_tuning.md).
|
||||
:::
|
||||
|
||||
:::info
|
||||
The input shaping through [RO_YAW_EXPO](#RO_YAW_EXPO) and [RO_YAW_SUPEXPO](#RO_YAW_SUPEXPO) applies for all manual modes, while [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN)/[RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN) only affects full manual mode.
|
||||
:::
|
||||
|
||||
You can now continue the configuration process with [rate tuning](rate_tuning.md).
|
||||
|
||||
## Огляд параметрів
|
||||
@@ -118,6 +159,8 @@ You can now continue the configuration process with [rate tuning](rate_tuning.md
|
||||
| <a id="RO_MAX_THR_SPEED"></a>[RO_MAX_THR_SPEED](../advanced_config/parameter_reference.md#RO_MAX_THR_SPEED) | Speed the rover drives at maximum throttle | $m/s$ |
|
||||
| <a id="RO_ACCEL_LIM"></a>[RO_ACCEL_LIM](../advanced_config/parameter_reference.md#RO_ACCEL_LIM) | (Optional) Maximum allowed acceleration | $m/s^2$ |
|
||||
| <a id="RO_DECEL_LIM"></a>[RO_DECEL_LIM](../advanced_config/parameter_reference.md#RO_DECEL_LIM) | (Optional) Maximum allowed deceleration | $m/s^2$ |
|
||||
| <a id="RO_YAW_EXPO"></a>[RO_YAW_EXPO](../advanced_config/parameter_reference.md#RO_YAW_EXPO) | (Optional) Yaw rate expo factor | $-$ |
|
||||
| <a id="RO_YAW_SUPEXPO"></a>[RO_YAW_SUPEXPO](../advanced_config/parameter_reference.md#RO_YAW_SUPEXPO) | (Optional) Yaw rate super expo factor | $-$ |
|
||||
|
||||
### Ackermann Specific
|
||||
|
||||
@@ -129,12 +172,14 @@ You can now continue the configuration process with [rate tuning](rate_tuning.md
|
||||
|
||||
### Differential Specific
|
||||
|
||||
| Параметр | Опис | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ---- |
|
||||
| <a id="RD_WHEEL_TRACK"></a>[RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) | Wheel track | m |
|
||||
| Параметр | Опис | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ---- |
|
||||
| <a id="RD_WHEEL_TRACK"></a>[RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) | Wheel track | $m$ |
|
||||
| <a id="RD_YAW_STK_GAIN"></a>[RD_YAW_STK_GAIN](../advanced_config/parameter_reference.md#RD_YAW_STK_GAIN) | (Optional) Yaw stick gain for Manual mode | $-$ |
|
||||
|
||||
### Mecanum Specific
|
||||
|
||||
| Параметр | Опис | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ---- |
|
||||
| <a id="RM_WHEEL_TRACK"></a>[RM_WHEEL_TRACK](../advanced_config/parameter_reference.md#RM_WHEEL_TRACK) | Wheel track | m |
|
||||
| Параметр | Опис | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ---- |
|
||||
| <a id="RM_WHEEL_TRACK"></a>[RM_WHEEL_TRACK](../advanced_config/parameter_reference.md#RM_WHEEL_TRACK) | Wheel track | $m$ |
|
||||
| <a id="RM_YAW_STK_GAIN"></a>[RM_YAW_STK_GAIN](../advanced_config/parameter_reference.md#RM_YAW_STK_GAIN) | (Optional) Yaw stick gain for Manual mode | $-$ |
|
||||
|
||||
@@ -20,7 +20,7 @@ To tune the velocity controller configure the following [parameters](../advanced
|
||||
2. [RO_MAX_THR_SPEED](#RO_MAX_THR_SPEED) [m/s]: This parameter is used to calculate the feed-forward term of the closed loop speed control which linearly maps desired speeds to normalized motor commands.
|
||||
As mentioned in the [Manual mode](../flight_modes_rover/manual.md#manual-mode) configuration , a good starting point is the observed ground speed when the rover drives at maximum throttle in [Manual mode](../flight_modes_rover/manual.md#manual-mode).
|
||||
|
||||
<a id="RA_SPEED_TUNING"></a>
|
||||
<a id="RA_SPEED_TUNING"></a>
|
||||
|
||||
::: tip
|
||||
To further tune this parameter:
|
||||
@@ -94,7 +94,7 @@ These steps are only necessary if you are tuning/want to unlock the manual [Posi
|
||||
|
||||
The rover is now ready to drive in [Position mode](../flight_modes_rover/manual.md#position-mode) and the configuration can be continued with [position tuning](position_tuning.md).
|
||||
|
||||
## Attitude Controller Structure (Info Only)
|
||||
## Velocity Controller Structure (Info Only)
|
||||
|
||||
This section provides additional information for developers and people with experience in control system design.
|
||||
|
||||
|
||||
@@ -33,16 +33,17 @@ The logging system is configured by default to collect sensible logs for [flight
|
||||
Logging may further be configured using the [SD Logging](../advanced_config/parameter_reference.md#sd-logging) parameters.
|
||||
Параметри, які ви найімовірніше зміните, перераховані нижче.
|
||||
|
||||
| Параметр | Опис |
|
||||
| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [SDLOG_MODE](../advanced_config/parameter_reference.md#SDLOG_MODE) | Журналювання. Defines when logging starts and stops.<br />- `-1`: Logging disabled.<br />- `0`: Log when armed until disarm (default).<br />- `1`: Log from boot until disarm.<br />- `2`: Log from boot until shutdown.<br />- `3`: Log based on the [AUX1 RC channel](../advanced_config/parameter_reference.md#RC_MAP_AUX1).<br />- `4`: Log from first armed until shutdown. |
|
||||
| [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) | Профіль ведення журналу. Use this to enable less common logging/analysis (e.g. for EKF2 replay, high rate logging for PID & filter tuning, thermal temperature calibration). |
|
||||
| [SDLOG_MISSION](../advanced_config/parameter_reference.md#SDLOG_MISSION) | Create very small additional "Mission Log".<br>This log can _not_ be used with [Flight Review](../log/flight_log_analysis.md#flight-review-online-tool), but is useful when you need a small log for geotagging or regulatory compliance. |
|
||||
| Параметр | Опис |
|
||||
| --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [SDLOG_MODE](../advanced_config/parameter_reference.md#SDLOG_MODE) | Журналювання. Defines when logging starts and stops.<br />- `0`: Log when armed until disarm (default).<br />- `1`: Log from boot until disarm.<br />- `2`: Log from boot until shutdown.<br />- `3`: Log based on the [AUX1 RC channel](../advanced_config/parameter_reference.md#RC_MAP_AUX1).<br />- `4`: Log from first armed until shutdown. |
|
||||
| [SDLOG_BACKEND](../advanced_config/parameter_reference.md#SDLOG_BACKEND) | Logging Backend (bitmask). Setting a bit enables the corresponding backend. If no backend is selected, the logger is disabled.<br />- bit `0`: SD card logging.</br >- bit `1`: Mavlink logging. |
|
||||
| [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) | Профіль ведення журналу. Use this to enable less common logging/analysis (e.g. for EKF2 replay, high rate logging for PID & filter tuning, thermal temperature calibration). |
|
||||
| [SDLOG_MISSION](../advanced_config/parameter_reference.md#SDLOG_MISSION) | Create very small additional "Mission Log".<br>This log can _not_ be used with [Flight Review](../log/flight_log_analysis.md#flight-review-online-tool), but is useful when you need a small log for geotagging or regulatory compliance. |
|
||||
|
||||
Корисні налаштування для конкретних випадків:
|
||||
|
||||
- Raw sensor data for comparison: [SDLOG_MODE=1](../advanced_config/parameter_reference.md#SDLOG_MODE) and [SDLOG_PROFILE=64](../advanced_config/parameter_reference.md#SDLOG_PROFILE).
|
||||
- Disabling logging altogether: [SDLOG_MODE=`-1`](../advanced_config/parameter_reference.md#SDLOG_MODE)
|
||||
- Disabling logging altogether: [SDLOG_BACKEND=`0`](../advanced_config/parameter_reference.md#SDLOG_BACKEND)
|
||||
|
||||
### Модуль реєстрації
|
||||
|
||||
|
||||
@@ -2,13 +2,32 @@
|
||||
|
||||
PX4 зазвичай працює на контролерах польоту, які включають в себе ІВП, такі як серія Pixhawk, і об'єднує дані датчиків разом із інформацією ССН (супутникова система навігації) в оцінювачі EKF2 для визначення орієнтації, напрямку, позиції та швидкості транспортного засобу.
|
||||
|
||||
However PX4 can also use some INS devices as either sources of raw data, or as an external estimator, replacing the EKF.
|
||||
However PX4 can also use some INS devices as either sources of raw data, or as an external estimator, replacing EKF2.
|
||||
|
||||
Системи, які можуть бути використані у такий спосіб, включають в себе:
|
||||
## Supported INS Systems
|
||||
|
||||
INS systems that can be used as a replacement for EKF2 in PX4:
|
||||
|
||||
- [InertialLabs](../sensor/inertiallabs.md)
|
||||
- [VectorNav](../sensor/vectornav.md): ІВП/AHRS, ССН/INS, Dual GNSS/INS системи, котрі можуть бути використані як зовнішній INS, або джерело вхідної інформації датчиків.
|
||||
|
||||
## PX4 Firmware
|
||||
|
||||
The driver module for your INS system may not be included in the PX4 firmware for your flight controller by default.
|
||||
|
||||
You can check by searching the [default.px4board](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6c/default.px4board#L25) configuration file for your target board for either:
|
||||
|
||||
- `CONFIG_COMMON_INS`, which includes drivers for [all INS systems](https://github.com/PX4/PX4-Autopilot/blob/main/src/drivers/ins/Kconfig).
|
||||
- The key for the particular INS system you are using, such as:
|
||||
- `CONFIG_DRIVERS_INS_ILABS`
|
||||
- `CONFIG_DRIVERS_INS_MICROSTRAIN`
|
||||
- `CONFIG_DRIVERS_INS_VECTORNAV`
|
||||
|
||||
If the required key is not present you can include the module in firmware by adding the key to the `default.px4board` file, or using the [kconfig board configuration tool](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) and then select the driver you want (`Drivers -> INS`).
|
||||
Note that if you're working on a flight controller where flash memory is limited, you're better off installing just the modules you need.
|
||||
|
||||
You will then need to rebuild the firmware.
|
||||
|
||||
## Словник
|
||||
|
||||
### Інерційний вимірювальний пристрій (ІВП)
|
||||
|
||||
@@ -71,24 +71,24 @@ To check that these are present on your flight controller:
|
||||
|
||||
3. Enter the following commands in the console:
|
||||
|
||||
```sh
|
||||
pwm_out_sim status
|
||||
```
|
||||
```sh
|
||||
pwm_out_sim status
|
||||
```
|
||||
|
||||
```sh
|
||||
sensor_baro_sim status
|
||||
```
|
||||
```sh
|
||||
sensor_baro_sim status
|
||||
```
|
||||
|
||||
```sh
|
||||
sensor_gps_sim status
|
||||
```
|
||||
```sh
|
||||
sensor_gps_sim status
|
||||
```
|
||||
|
||||
```sh
|
||||
sensor_mag_sim status
|
||||
```
|
||||
```sh
|
||||
sensor_mag_sim status
|
||||
```
|
||||
|
||||
::: tip
|
||||
Note that when using SIH on real hardware you do not need to additionally enable the modules using their corresponding parameters ([SENS_EN_GPSSIM](../advanced_config/parameter_reference.md#SENS_EN_GPSSIM), [SENS_EN_BAROSIM](../advanced_config/parameter_reference.md#SENS_EN_BAROSIM), [SENS_EN_MAGSIM](../advanced_config/parameter_reference.md#SENS_EN_MAGSIM)).
|
||||
::: tip
|
||||
Note that when using SIH on real hardware you do not need to additionally enable the modules using their corresponding parameters ([SENS_EN_GPSSIM](../advanced_config/parameter_reference.md#SENS_EN_GPSSIM), [SENS_EN_BAROSIM](../advanced_config/parameter_reference.md#SENS_EN_BAROSIM), [SENS_EN_MAGSIM](../advanced_config/parameter_reference.md#SENS_EN_MAGSIM)).
|
||||
|
||||
:::
|
||||
|
||||
@@ -141,12 +141,12 @@ To set up/start SIH:
|
||||
1. Connect the flight controller to the desktop computer with a USB cable.
|
||||
2. Відкрийте QGroundControl і зачекайте, поки контролер польоту також завантажиться та підключиться.
|
||||
3. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
|
||||
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
|
||||
- **SIH Hexacopter X** (currently only has an airframe for SITL to safe flash so on flight control hardware it has to be manually configured equivalently).
|
||||
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
|
||||
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
|
||||
- [SIH Standard VTOL QuadPlane](../airframes/airframe_reference.md#vtol_simulation_sih_standard_vtol_quadplane)
|
||||
- [SIH Ackermann Rover](../airframes/airframe_reference.md#rover_rover_sih_rover_ackermann)
|
||||
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
|
||||
- **SIH Hexacopter X** (currently only has an airframe for SITL to safe flash so on flight control hardware it has to be manually configured equivalently).
|
||||
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
|
||||
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
|
||||
- [SIH Standard VTOL QuadPlane](../airframes/airframe_reference.md#vtol_simulation_sih_standard_vtol_quadplane)
|
||||
- [SIH Ackermann Rover](../airframes/airframe_reference.md#rover_rover_sih_rover_ackermann)
|
||||
|
||||
Потім автопілот перезавантажиться.
|
||||
The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
|
||||
@@ -172,19 +172,19 @@ SIH does not _need_ a visualiser — you can connect with QGroundControl and fly
|
||||
|
||||
3. Start jMAVSim by calling the script **jmavsim_run.sh** from a terminal:
|
||||
|
||||
```sh
|
||||
./Tools/simulation/jmavsim/jmavsim_run.sh -q -d /dev/ttyACM0 -b 2000000 -o
|
||||
```
|
||||
```sh
|
||||
./Tools/simulation/jmavsim/jmavsim_run.sh -q -d /dev/ttyACM0 -b 2000000 -o
|
||||
```
|
||||
|
||||
де прапорці такі:
|
||||
де прапорці такі:
|
||||
|
||||
- `-q` to allow the communication to _QGroundControl_ (optional).
|
||||
- `-d` to start the serial device `/dev/ttyACM0` on Linux.
|
||||
On macOS this would be `/dev/tty.usbmodem1`.
|
||||
- `-b` to set the serial baud rate to `2000000`.
|
||||
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
|
||||
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter.
|
||||
Якщо цей прапорець не вказаний, за замовчуванням відображатиметься квадрокоптер.
|
||||
- `-q` to allow the communication to _QGroundControl_ (optional).
|
||||
- `-d` to start the serial device `/dev/ttyACM0` on Linux.
|
||||
On macOS this would be `/dev/tty.usbmodem1`.
|
||||
- `-b` to set the serial baud rate to `2000000`.
|
||||
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
|
||||
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter.
|
||||
Якщо цей прапорець не вказаний, за замовчуванням відображатиметься квадрокоптер.
|
||||
|
||||
4. After few seconds, _QGroundControl_ can be opened again.
|
||||
|
||||
@@ -201,41 +201,41 @@ In this case you don't need the flight controller hardware.
|
||||
|
||||
1. Install the [PX4 Development toolchain](../dev_setup/dev_env.md).
|
||||
2. Виконайте відповідну команду make для кожного типу транспортного засобу (в корені репозиторію PX4-Autopilot):
|
||||
- Quadcopter
|
||||
- Quadcopter
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_quadx
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_quadx
|
||||
```
|
||||
|
||||
- Hexacopter
|
||||
- Hexacopter
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_hex
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_hex
|
||||
```
|
||||
|
||||
- Fixed-wing (plane)
|
||||
- Fixed-wing (plane)
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_airplane
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_airplane
|
||||
```
|
||||
|
||||
- XVert VTOL tailsitter
|
||||
- XVert VTOL tailsitter
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_xvert
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_xvert
|
||||
```
|
||||
|
||||
- Standard VTOL
|
||||
- Standard VTOL
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_standard_vtol
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_standard_vtol
|
||||
```
|
||||
|
||||
- Ackermann Rover
|
||||
- Ackermann Rover
|
||||
|
||||
```sh
|
||||
make px4_sitl sihsim_rover_ackermann
|
||||
```
|
||||
```sh
|
||||
make px4_sitl sihsim_rover_ackermann
|
||||
```
|
||||
|
||||
### Зміна швидкості симуляції
|
||||
|
||||
@@ -328,6 +328,44 @@ For SIH as SITL (no FC):
|
||||
|
||||
For specific examples see the `_sihsim_` airframes in [ROMFS/px4fmu_common/init.d-posix/airframes](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/airframes/) (SIH as SITL) and [ROMFS/px4fmu_common/init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) (SIH on FC).
|
||||
|
||||
## Controlling Actuators in SIH
|
||||
|
||||
:::warning
|
||||
If you want to control throttling actuators in SIH, make sure to remove propellers for safety.
|
||||
:::
|
||||
|
||||
In some scenarios, it may be useful to control an actuator while running SIH. For example, you might want to verify that winches or grippers are functioning correctly by checking the servo responses.
|
||||
|
||||
To enable actuator control in SIH:
|
||||
|
||||
1. Configure PWM parameters in the airframe file:
|
||||
|
||||
Ensure your airframe file includes the necessary parameters to map PWM outputs to the correct channels.
|
||||
|
||||
For example, if a servo is connected to MAIN 3 and you want to map it to AUX1 on your RC, use the following command:
|
||||
|
||||
`param set-default PWM_MAIN_FUNC3 407`
|
||||
|
||||
You can find a full list of available values for `PWM_MAIN_FUNCn` [here](../advanced_config/parameter_reference.md#PWM_MAIN_FUNC1). In this case, `407` maps the MAIN 3 output to AUX1 on the RC.
|
||||
|
||||
Alternatively, you can use the [`PWM_AUX_FUNCn`](../advanced_config/parameter_reference.md#PWM_AUX_FUNC1) parameters.
|
||||
|
||||
You may also configure the output as desired:
|
||||
|
||||
- Disarmed PWM: ([`PWM_MAIN_DISn`](../advanced_config/parameter_reference.md#PWM_MAIN_DIS1) / [`PWM_AUX_DIS1`](../advanced_config/parameter_reference.md#PWM_AUX_DIS1))
|
||||
- Minimum PWM ([`PWM_MAIN_MINn`](../advanced_config/parameter_reference.md#PWM_MAIN_MIN1) / [`PWM_AUX_MINn`](../advanced_config/parameter_reference.md#PWM_AUX_MIN1))
|
||||
- Maximum PWM ([`PWM_MAIN_MAXn`](../advanced_config/parameter_reference.md#PWM_MAIN_MAX1) / [`PWM_AUX_MAXn`](../advanced_config/parameter_reference.md#PWM_AUX_MAX1))
|
||||
|
||||
2. Manually start the PWM output driver
|
||||
|
||||
For safety, the PWM driver is not started automatically in SIH. To enable it, run the following command in the MAVLink shell:
|
||||
|
||||
`pwm_out start`
|
||||
|
||||
And to disable it again:
|
||||
|
||||
`pwm_out stop`
|
||||
|
||||
## Dynamic Models
|
||||
|
||||
Динамічні моделі для різних транспортних засобів:
|
||||
|
||||
@@ -3,11 +3,6 @@
|
||||
[Rotoye Batmon](https://rotoye.com/batmon/) is a kit for adding smart battery functionality to off-the-shelf Lithium-Ion and LiPo batteries.
|
||||
Його можна придбати як самостійний пристрій або як частину заводсько зібраної розумної батареї.
|
||||
|
||||
:::info
|
||||
At time of writing you can only use Batmon by [building a custom branch of PX4](#build-px4-firmware).
|
||||
Support in the codeline is pending [PR approval](https://github.com/PX4/PX4-Autopilot/pull/16723).
|
||||
:::
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||