docs: fix all end of file newlines
ClusterFuzzLite batch fuzzing / BatchFuzzing (address) (push) Has been cancelled
ClusterFuzzLite batch fuzzing / BatchFuzzing (memory) (push) Has been cancelled
ClusterFuzzLite batch fuzzing / BatchFuzzing (undefined) (push) Has been cancelled
Build all targets / Scan for Board Targets (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_fmu-v5_default) (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_sitl_default) (push) Has been cancelled
Checks / build (check_format) (push) Has been cancelled
Checks / build (check_newlines) (push) Has been cancelled
Checks / build (module_documentation) (push) Has been cancelled
Checks / build (px4_fmu-v2_default stack_check) (push) Has been cancelled
Checks / build (px4_sitl_allyes) (push) Has been cancelled
Checks / build (shellcheck_all) (push) Has been cancelled
Checks / build (tests) (push) Has been cancelled
Checks / build (tests_coverage) (push) Has been cancelled
Checks / build (validate_module_configs) (push) Has been cancelled
Clang Tidy / build (push) Has been cancelled
MacOS build / build (px4_fmu-v5_default) (push) Has been cancelled
MacOS build / build (px4_sitl) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:22.04) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:24.04) (push) Has been cancelled
Container build / Set Tags and Variables (push) Has been cancelled
Docs - Crowdin - Upload Guide sources (en) / upload-to-crowdin (push) Has been cancelled
Docs - Deploy PX4 User Guide / build (push) Has been cancelled
EKF Update Change Indicator / unit_tests (push) Has been cancelled
Failsafe Simulator Build / build (failsafe_web) (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v5x (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v6x (push) Has been cancelled
ITCM check / Checking nxp_tropic-community (push) Has been cancelled
ITCM check / Checking px4_fmu-v5x (push) Has been cancelled
ITCM check / Checking px4_fmu-v6xrt (push) Has been cancelled
MAVROS Mission Tests / build (map[mission:MC_mission_box vehicle:iris]) (push) Has been cancelled
MAVROS Mission Tests / build (map[mission:rover_mission_1 vehicle:rover]) (push) Has been cancelled
MAVROS Offboard Tests / build (map[test_file:mavros_posix_tests_offboard_posctl.test vehicle:iris]) (push) Has been cancelled
Nuttx Target with extra env config / build (px4_fmu-v5_default) (push) Has been cancelled
Python CI Checks / build (push) Has been cancelled
ROS Integration Tests / build (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:humble ubuntu:jammy]) (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:jazzy ubuntu:noble]) (push) Has been cancelled
SITL Tests / Testing PX4 tailsitter (push) Has been cancelled
SITL Tests / Testing PX4 iris (push) Has been cancelled
SITL Tests / Testing PX4 standard_vtol (push) Has been cancelled
Build all targets / Build Group [${{ matrix.group }}][${{ matrix.arch == 'nuttx' && 'x86' || 'arm64' }}] (push) Has been cancelled
Build all targets / Upload Artifacts to S3 (push) Has been cancelled
Build all targets / Create Release and Upload Artifacts (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
Docs - Deploy PX4 User Guide / deploy (push) Has been cancelled
FLASH usage analysis / Publish Results (push) Has been cancelled
Docs - Crowdin - Download Guide Translations / Synchronize with Crowdin (ko) (push) Has been cancelled
Docs - Crowdin - Download Guide Translations / Synchronize with Crowdin (uk) (push) Has been cancelled
Docs - Crowdin - Download Guide Translations / Synchronize with Crowdin (zh-CN) (push) Has been cancelled
Handle stale issues and PRs / stale (push) Has been cancelled
Note: Some files are autogenerated and I did not yet go through each source of generation to fix it there. Instead I adjusted the filter to only exclude those such that we can fix things in steps.
@@ -3,14 +3,14 @@
|
||||
return_value=0
|
||||
|
||||
# Check if there are files checked in that don't end in a newline (POSIX requirement)
|
||||
git grep --cached -Il '' -- ':!docs/*' | xargs -L1 bash -c 'if test "$(tail -c 1 "$0")"; then echo "No new line at end of $0"; exit 1; fi'
|
||||
git grep --cached -Il '' -- ':!docs/public/' ':!docs/ko/' ':!docs/uk/' ':!docs/zh/' | xargs -L1 bash -c 'if test "$(tail -c 1 "$0")"; then echo "No new line at end of $0"; exit 1; fi'
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
return_value=1
|
||||
fi
|
||||
|
||||
# Check if there are files checked in that have duplicate newlines at the end (fail trailing whitespace checks)
|
||||
git grep --cached -Il '' -- ':!docs/*' | xargs -L1 bash -c 'if tail -c 2 "$0" | ( read x && read y && [ x"$x" = x ] && [ x"$y" = x ]); then echo "Multiple newlines at the end of $0"; exit 1; fi'
|
||||
git grep --cached -Il '' -- ':!docs/public/' ':!docs/ko/' ':!docs/uk/' ':!docs/zh/' | xargs -L1 bash -c 'if tail -c 2 "$0" | ( read x && read y && [ x"$x" = x ] && [ x"$y" = x ]); then echo "Multiple newlines at the end of $0"; exit 1; fi'
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
return_value=1
|
||||
|
||||
@@ -18,4 +18,4 @@ yarn-error.log
|
||||
|
||||
|
||||
# Generated alternative _summary.md
|
||||
# **/*/_summary.md
|
||||
# **/*/_summary.md
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
document.location.replace(this.to);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -159,4 +159,4 @@
|
||||
|
||||
.vp-doc img {
|
||||
display: inline; /* block by default set by vitepress */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
docs.px4.io
|
||||
docs.px4.io
|
||||
|
||||
@@ -1011,4 +1011,4 @@
|
||||
},
|
||||
"hideReason": "intended"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
@@ -1 +1 @@
|
||||
["en/_sidebar.md"]
|
||||
["en/_sidebar.md"]
|
||||
|
||||
@@ -219,4 +219,4 @@
|
||||
d="M 113.51898,180.06889 V 245.764 l 2.6517,-0.0192 v -65.67586 z"
|
||||
id="path4768"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" /></svg>
|
||||
sodipodi:nodetypes="ccccc" /></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
@@ -141,4 +141,4 @@
|
||||
style="opacity:1;fill:#4ec3e8;fill-opacity:1;stroke:none;stroke-width:0.11511399;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d=""
|
||||
id="path969"
|
||||
inkscape:connector-curvature="0" /></svg>
|
||||
inkscape:connector-curvature="0" /></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
@@ -81,4 +81,4 @@
|
||||
d="m 54.341679,213.74572 c 2.37161,-3.60386 6.9481,-8.19494 7.64935,-9.88687 0.74741,1.64004 4.52647,6.50033 6.82427,9.88687"
|
||||
id="path848"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" /></svg>
|
||||
sodipodi:nodetypes="ccc" /></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
@@ -768,4 +768,4 @@
|
||||
id="text7995"><path
|
||||
d="m 13.413827,163.09012 q 0.266666,-8.16667 7.8,-8.2 4.033334,0 6.166667,2.66666 1.400001,1.83334 1.400001,4.26667 -0.03333,4.4 -5.000001,7.13334 l -3.333333,1.8 q -3.100001,1.66666 -3.900001,3.53333 -0.266666,0.6 -0.366666,1.33333 h 12.433334 v 2.9 H 12.880493 q 0.233334,-4.26666 1.900001,-6.5 1.433333,-1.86666 4.733333,-3.73333 l 3.066667,-1.73333 q 3.166667,-1.86667 3.2,-4.66667 0,-2.4 -2,-3.7 -1.166667,-0.73334 -2.666667,-0.73334 -4.366667,0 -4.766667,5.43334 0,0.1 0,0.2 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.33333588px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1"
|
||||
id="path4482" /></g></svg>
|
||||
id="path4482" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
@@ -142,4 +142,4 @@
|
||||
id="text7999"><path
|
||||
d="m 81.956066,73.258968 h -8.31978 v -3.33851 q 5.405207,-0.688899 6.994974,-1.90772 1.589767,-1.165829 2.702603,-4.928277 0.105985,-0.317953 0.211969,-0.635907 h 3.073549 v 37.571486 h -4.663315 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:52.99222565px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1;stroke-width:1.58976662px"
|
||||
id="path10409" /></g></svg>
|
||||
id="path10409" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
@@ -437,4 +437,4 @@
|
||||
id="text14502"><path
|
||||
d="m 168.38719,13.98896 h -5.23333 v -2.100001 q 3.4,-0.433333 4.4,-1.2 1,-0.733333 1.7,-3.0999999 0.0667,-0.2 0.13333,-0.4 h 1.93334 V 30.822294 h -2.93334 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.33333588px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1"
|
||||
id="path19510" /></g></svg>
|
||||
id="path19510" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
@@ -437,4 +437,4 @@
|
||||
id="text7995"><path
|
||||
d="m 13.412346,163.07466 q 0.266666,-8.16667 7.8,-8.2 4.033334,0 6.166667,2.66667 1.400001,1.83333 1.400001,4.26666 -0.03333,4.4 -5.000001,7.13334 l -3.333333,1.8 q -3.100001,1.66667 -3.900001,3.53333 -0.266666,0.6 -0.366666,1.33334 h 12.433334 v 2.9 H 12.879012 q 0.233334,-4.26667 1.9,-6.5 1.433334,-1.86667 4.733334,-3.73334 l 3.066667,-1.73333 q 3.166667,-1.86667 3.2,-4.66667 0,-2.4 -2,-3.7 -1.166667,-0.73333 -2.666667,-0.73333 -4.366667,0 -4.766667,5.43333 0,0.1 0,0.2 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.33333588px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1"
|
||||
id="path21558" /></g></svg>
|
||||
id="path21558" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
@@ -517,4 +517,4 @@
|
||||
id="text23152"><path
|
||||
d="m 314.42237,352.32882 h -9.96667 v -3.1 l 10.73334,-14.86667 h 2.16666 v 15.33333 h 3.5 v 2.63334 h -3.5 v 5.66666 h -2.93333 z m 0,-2.63334 v -10.33333 l -7.4,10.33333 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.33333588px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1"
|
||||
id="path23179" /></g></svg>
|
||||
id="path23179" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
@@ -587,4 +587,4 @@
|
||||
id="text26711"><path
|
||||
d="m 340.12534,283.78889 q 4.03334,1.96667 4.06667,5.90001 0,3.73333 -2.86667,5.76666 -2.1,1.53334 -5.06666,1.53334 -4.13334,0 -6.36667,-2.73334 -1.56667,-1.93333 -1.56667,-4.6 0.0333,-3.93333 4.03334,-5.86667 -2.4,-1.5 -2.93334,-3.1 -0.26666,-0.76666 -0.26666,-1.8 0,-3.3 2.7,-5.06666 1.86666,-1.23334 4.4,-1.23334 3.86666,0 5.83333,2.53334 1.26667,1.63333 1.26667,3.76666 0,2.26667 -1.5,3.63334 -0.66667,0.63333 -1.73334,1.26666 z m -3.86666,-8.6 q -2.7,0 -3.7,1.96667 -0.4,0.8 -0.4,1.76667 0,2.33333 2.03333,3.26666 0.93333,0.43334 2.06667,0.43334 2.66666,0 3.66666,-1.9 0.43334,-0.8 0.43334,-1.76667 0,-2.5 -2.16667,-3.4 -0.86667,-0.36667 -1.93333,-0.36667 z m 0,9.9 q -2.96667,0 -4.26667,2.13334 -0.66667,1.1 -0.66667,2.5 0,2.73333 2.2,4 1.16667,0.66667 2.66667,0.66667 3.03333,0 4.33333,-2.16667 0.66667,-1.1 0.66667,-2.5 0,-2.73334 -2.23333,-4 -1.2,-0.63334 -2.7,-0.63334 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.33333588px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1"
|
||||
id="path26744" /></g></svg>
|
||||
id="path26744" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
@@ -515,4 +515,4 @@
|
||||
id="text17133"><path
|
||||
d="m 249.49387,294.29852 v 2.47091 q -6.74491,8.98209 -8.9487,18.03096 -0.40069,1.56936 -0.66781,3.17211 h -3.13872 q 1.66953,-7.27916 4.77486,-12.98897 1.86988,-3.40585 4.94182,-7.78003 h -12.78863 v -2.90498 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.39067459px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1;stroke-width:1.00172007px"
|
||||
id="path17150" /></g></svg>
|
||||
id="path17150" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
@@ -295,4 +295,4 @@
|
||||
id="text7991-1"><path
|
||||
d="m 46.495037,331.13554 q 0.257652,-7.89058 7.536318,-7.92279 3.896985,0 5.958201,2.57652 1.352672,1.77135 1.352672,4.12243 -0.03221,4.25126 -4.830973,6.89219 l -3.220649,1.73915 q -2.995204,1.61032 -3.768159,3.41389 -0.257652,0.57971 -0.354272,1.28826 h 12.013021 v 2.80196 H 45.979733 q 0.225445,-4.12243 1.83577,-6.28027 1.384879,-1.80356 4.573321,-3.60712 l 2.962997,-1.67474 q 3.059617,-1.80356 3.091823,-4.50891 0,-2.31887 -1.932389,-3.57492 -1.127227,-0.70854 -2.576519,-0.70854 -4.21905,0 -4.605528,5.24966 0,0.0966 0,0.19323 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32.20648956px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1;stroke-width:0.96619457px"
|
||||
id="path4610" /></g></svg>
|
||||
id="path4610" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@@ -285,4 +285,4 @@
|
||||
id="text8003"><path
|
||||
d="m 187.48118,356.35381 h -9.96667 v -3.1 l 10.73333,-14.86667 h 2.16667 v 15.33334 h 3.5 v 2.63333 h -3.5 v 5.66667 h -2.93333 z m 0,-2.63333 v -10.33334 l -7.4,10.33334 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.33333588px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1"
|
||||
id="path8729" /></g></svg>
|
||||
id="path8729" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
@@ -383,4 +383,4 @@
|
||||
id="text35807"><path
|
||||
d="m 216.68527,341.75754 q -3.80654,0 -4.40757,3.67297 -0.0668,0.63442 -0.10017,1.40241 h -2.93838 q 0.13356,-7.01204 6.34422,-7.61307 0.53426,-0.0334 1.06851,-0.0334 4.67469,0 6.41101,3.13873 0.80137,1.46919 0.80137,3.37246 -0.0334,3.60619 -3.30568,4.90843 3.10534,1.0685 3.77315,3.60619 0.23374,0.90155 0.23374,2.03683 0,4.10705 -3.13873,6.11049 -2.03683,1.26885 -4.87504,1.26885 -6.54457,0 -7.64646,-6.14389 -0.10017,-0.73459 -0.16695,-1.50258 h 2.93838 q 0.26712,4.40757 3.77314,4.94182 0.56764,0.10018 1.20207,0.10018 3.47263,0 4.54113,-2.63787 0.3673,-0.96833 0.3673,-2.10361 -0.0668,-4.27401 -4.90843,-4.3074 l -1.23546,0.0334 h -0.3673 v -2.5043 q 3.77315,-0.0668 4.90843,-1.10189 0.90155,-0.86816 0.90155,-2.60447 0,-2.83821 -2.33735,-3.73976 -0.83476,-0.30051 -1.83648,-0.30051 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.39067459px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1;stroke-width:1.00172007px"
|
||||
id="path35828" /></g></svg>
|
||||
id="path35828" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
@@ -386,4 +386,4 @@
|
||||
id="text35807"><path
|
||||
d="m 172.36484,326.83692 h -9.98381 v -3.10533 l 10.7518,-14.89224 h 2.17039 v 15.35971 h 3.50602 v 2.63786 h -3.50602 v 5.67642 h -2.93838 z m 0,-2.63786 v -10.35111 l -7.41273,10.35111 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:33.39067459px;font-family:FreeSans;-inkscape-font-specification:FreeSans;fill:#ffffff;fill-opacity:1;stroke-width:1.00172007px"
|
||||
id="path38394" /></g></svg>
|
||||
id="path38394" /></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@@ -244,4 +244,4 @@
|
||||
sodipodi:argument="-17.855951"
|
||||
sodipodi:t0="0.99130303"
|
||||
d="m 223.94673,38.425681 c -3.13084,3.863564 -7.10954,7.019918 -11.58403,9.189766"
|
||||
transform="rotate(-64.14705,272.849,-49.763793)" /></svg>
|
||||
transform="rotate(-64.14705,272.849,-49.763793)" /></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 149 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 377 KiB After Width: | Height: | Size: 377 KiB |
@@ -31,16 +31,16 @@
|
||||
%===================================================================================
|
||||
% TIKZ PX4 CONTROLLERS
|
||||
%===================================================================================
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
|
||||
|
||||
% Define distances
|
||||
\def\blockheight{7em}
|
||||
\def\largeblockheight{1.45*\blockheight}
|
||||
\def\blockwidth{3.9em}
|
||||
\def\nodesep{1.15*\blockwidth}
|
||||
|
||||
|
||||
\footnotesize
|
||||
\begin{tikzpicture}[>={Stealth[inset=0pt,length=3pt,angle'=60,round]},
|
||||
simple_block/.style = {draw, fill=light_blue, text centered, inner sep=0pt, text width=\blockwidth, minimum height=\blockheight},
|
||||
@@ -50,82 +50,82 @@
|
||||
]
|
||||
\hspace{-1.05cm}
|
||||
%===================================================================================
|
||||
|
||||
|
||||
% Reference
|
||||
\node (ref) [] {};
|
||||
|
||||
|
||||
% Position controller
|
||||
\path (ref.east)+(0.85*\nodesep,0) node (pos_ctrl) [simple_block] {Position Control};
|
||||
\path (pos_ctrl.north)+(0,0) node (pos_ctrl_text) [no_border_block, anchor=south] {\textbf{P}};
|
||||
\path (pos_ctrl.south)+(0.65*\nodesep, -0.075*\blockheight) node (pos_ctrl_freq_text) [no_border_block, anchor=north] {50 Hz};
|
||||
|
||||
|
||||
% Velocity controller
|
||||
\path (pos_ctrl.east)+(0.85*\nodesep,0) node (vel_ctrl) [simple_block] {Velocity Control};
|
||||
\path (vel_ctrl.north)+(0,0) node (vel_ctrl_text) [no_border_block, anchor=south] {\textbf{PID}};
|
||||
|
||||
|
||||
% Acceleration to Attitude
|
||||
\path (vel_ctrl.north east)+(1.1*\nodesep,0) node (force_2_att) [larger_block, text width=5.6em] {Acceleration and Yaw to Attitude};
|
||||
|
||||
|
||||
% Inertial Frame
|
||||
\node[fit=(pos_ctrl) (vel_ctrl)] (inertial) [frame_block] {};
|
||||
\path (inertial.south)+(0,0) node (inertial_text) [no_border_block, anchor=north] {Inertial Frame};
|
||||
|
||||
|
||||
% Angle controller
|
||||
\path (force_2_att.north east)+(0.95*\nodesep,0) node (angle_ctrl) [simple_block, anchor=north] {Angle Control};
|
||||
\path (angle_ctrl.north)+(0,0) node (angle_ctrl_text) [no_border_block, anchor=south] {\textbf{P}};
|
||||
\path (angle_ctrl.south)+(0, -0.075*\blockheight) node (angle_ctrl_freq_text) [no_border_block, anchor=north] {250 Hz};
|
||||
|
||||
|
||||
% Angular Rate controller
|
||||
\path (angle_ctrl.east)+(0.9*\nodesep,0) node (ang_vel_ctrl) [simple_block] {Angular Rate Control};
|
||||
\path (ang_vel_ctrl.north)+(0,0) node (ang_vel_ctrl_text) [no_border_block, anchor=south] {\textbf{PID}};
|
||||
\path (ang_vel_ctrl.south)+(0, -0.075*\blockheight) node (ang_vel_ctrl_freq_text) [no_border_block, anchor=north] {1 kHz};
|
||||
|
||||
|
||||
% Mixer
|
||||
\path (ang_vel_ctrl.north east)+(\nodesep,0) node (mixer) [larger_block, text width=3em] {Mixer};
|
||||
|
||||
|
||||
% Body Frame
|
||||
\node[fit=(angle_ctrl) (ang_vel_ctrl)] (body) [frame_block] {};
|
||||
\path (body.south)+(0,0) node (body_text) [no_border_block, anchor=north] {Body Frame};
|
||||
|
||||
|
||||
\path (mixer.east)+(0.5*\nodesep,0) node (cmd) [] {};
|
||||
|
||||
|
||||
%===================================================================================
|
||||
|
||||
|
||||
\path[draw,->] (ref.east) -- node[anchor=south, pos=0.05, align=left] {$\bm{X}_\text{sp}$} (pos_ctrl.west);
|
||||
|
||||
|
||||
\path[draw,->] (pos_ctrl.east) -- node[anchor=south] {$\bm{V}_\text{sp}$} (vel_ctrl.west);
|
||||
|
||||
|
||||
\path[draw,->] (vel_ctrl.east) -- node[anchor=south, pos=0.65] {$\bm{A}_\text{sp}$} (vel_ctrl.east -| force_2_att.west);
|
||||
\path[draw,->] ([yshift=-0.25*\largeblockheight]force_2_att.west -| ref.east) -- node[anchor=south, pos=0] {$\psi_\text{sp}$} ([yshift=-0.25*\largeblockheight]force_2_att.west);
|
||||
|
||||
|
||||
\path[draw,->] (force_2_att.east |- angle_ctrl.west) -- node[anchor=south, pos=0.4] {$\bm{q}_\text{sp}$} (angle_ctrl.west);
|
||||
\path[draw,->] ([yshift=-0.25*\largeblockheight]force_2_att.east) -- node[text centered, inner sep=2pt, anchor=south, pos=0.915] {$\delta_{T_\text{sp}}$} ([yshift=-0.25*\largeblockheight]mixer.west);
|
||||
|
||||
|
||||
\path[draw,->] (angle_ctrl.east) -- node[anchor=south] {$\bm{\Omega}_\text{sp}$} (ang_vel_ctrl.west);
|
||||
|
||||
|
||||
\path[draw,->] ([yshift=0.25*\blockheight]ang_vel_ctrl.east) -- node[text centered, inner sep=2pt, anchor=south, pos=0.6] {$\delta_{A_\text{sp}}$} ([yshift=0.25*\blockheight]ang_vel_ctrl.east -| mixer.west);
|
||||
\path[draw,->] (ang_vel_ctrl.east) -- node[text centered, inner sep=2pt, anchor=south, pos=0.6] {$\delta_{E_\text{sp}}$} (ang_vel_ctrl.east -| mixer.west);
|
||||
\path[draw,->] ([yshift=-0.25*\blockheight]ang_vel_ctrl.east) -- node[text centered, inner sep=2pt, anchor=south, pos=0.6] {$\delta_{R_\text{sp}}$} ([yshift=-0.25*\blockheight]ang_vel_ctrl.east -| mixer.west);
|
||||
|
||||
|
||||
\path[draw,->] (mixer.east) -- node[text centered, inner sep=5pt, anchor=south] {$\bm{T}_\text{sp}$} (cmd.west);
|
||||
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\clearpage
|
||||
|
||||
|
||||
%===================================================================================
|
||||
% TIKZ ANGULAR RATE CONTROL
|
||||
%===================================================================================
|
||||
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
|
||||
|
||||
% Define distances
|
||||
\def\blockheight{2.2em}
|
||||
\def\blockwidth{2.2em}
|
||||
\def\nodesep{1.5*\blockwidth}
|
||||
|
||||
|
||||
\begin{tikzpicture}[>={Stealth[inset=0pt,length=3pt,angle'=60,round]},
|
||||
simple_block/.style = {draw, fill=light_blue, text centered, inner sep=0pt, minimum width=\blockwidth, minimum height=\blockheight},
|
||||
frame_block/.style = {draw, text centered, inner ysep=1.25em, inner xsep=1.25em, dashed},
|
||||
@@ -138,7 +138,7 @@
|
||||
node at (sum.east) [port, left=1pt] {$#4$}
|
||||
}
|
||||
},
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
{
|
||||
% Get the width and height of the path picture node
|
||||
\pgfpointdiff{\pgfpointanchor{path picture bounding box}{north east}}%
|
||||
@@ -149,11 +149,11 @@
|
||||
\tikzset{x=\x*.4, y=\y*.4}
|
||||
%
|
||||
% Draw annotation
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,-.6) -- (-.6,-.6) -- (.6,.6) -- (1,.6);
|
||||
}
|
||||
},
|
||||
sat_block_int/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
sat_block_int/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
{
|
||||
% Get the width and height of the path picture node
|
||||
\pgfpointdiff{\pgfpointanchor{path picture bounding box}{north east}}%
|
||||
@@ -170,7 +170,7 @@
|
||||
]
|
||||
%===================================================================================
|
||||
\node[text centered] (ref) {};
|
||||
|
||||
|
||||
% Controller
|
||||
\path(ref)+(\nodesep,0) node (ref_sum) [sum={}{+}{-}{}] {};
|
||||
\path(ref_sum)+(\nodesep,0) node (ctrl_k) [simple_block] {$K$};
|
||||
@@ -184,12 +184,12 @@
|
||||
\path(ctrl_i_gain)+(\nodesep,0) node (ctrl_sum) [sum={+}{+}{-}{}] {};
|
||||
\path(ctrl_sum)+(\nodesep,0) node (sat_ctrl) [sat_block] {};
|
||||
\path(sat_ctrl.east)+(0.675*\nodesep,0) node (ctrl) [] {};
|
||||
|
||||
|
||||
\path(ref_sum.south |- ctrl_d_filt.west)+(-\nodesep,0) node(output) [] {};
|
||||
|
||||
|
||||
%===================================================================================
|
||||
\path[draw,->] (ref.east) -- node[anchor=south, pos=0] {$\Omega_\text{sp}$} (ref_sum.west);
|
||||
|
||||
|
||||
\path[draw,->] (ref_sum.east) -- (ctrl_k.west);
|
||||
\path[draw,->] (ctrl_k.east) -- (ctrl_i.west);
|
||||
\path[draw,->] (output.east) |- node[anchor=south, pos=0] {$\Omega$} (ctrl_kd.west);
|
||||
@@ -204,31 +204,31 @@
|
||||
\path[draw,->] (ctrl_p_gain.east) -| (ctrl_sum.north);
|
||||
\path[draw,->] (ctrl_sum.east) -- (sat_ctrl.west);
|
||||
\path[draw,->] (sat_ctrl.east) -- node[anchor=south] {$\delta_\text{sp}$} (ctrl.west);
|
||||
|
||||
|
||||
\end{tikzpicture}
|
||||
|
||||
|
||||
\end{figure}
|
||||
|
||||
|
||||
\clearpage
|
||||
|
||||
|
||||
%===================================================================================
|
||||
% TIKZ ANGLE CONTROL
|
||||
%===================================================================================
|
||||
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\footnotesize
|
||||
|
||||
|
||||
% Define distances
|
||||
\def\blockheight{3em}
|
||||
\def\blockwidth{3em}
|
||||
\def\nodesep{2*\blockwidth}
|
||||
|
||||
|
||||
\begin{tikzpicture}[>={Stealth[inset=0pt,length=3pt,angle'=60,round]},
|
||||
simple_block/.style = {draw, fill=light_blue, text centered, inner sep=0pt, minimum width=\blockwidth, minimum height=\blockheight},
|
||||
text_block/.style = {draw, fill=light_blue, text centered, inner sep=0pt, text width=2*\blockwidth, minimum height=\blockheight},
|
||||
frame_block/.style = {draw, text centered, inner ysep=1.25em, inner xsep=1.25em, dashed},
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
{
|
||||
% Get the width and height of the path picture node
|
||||
\pgfpointdiff{\pgfpointanchor{path picture bounding box}{north east}}%
|
||||
@@ -239,17 +239,17 @@
|
||||
\tikzset{x=\x*.4, y=\y*.4}
|
||||
%
|
||||
% Draw annotation
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,-.6) -- (-.6,-.6) -- (.6,.6) -- (1,.6);
|
||||
}
|
||||
},
|
||||
gain/.style = {draw, fill=light_blue, inner sep=0pt, isosceles triangle, minimum height=\blockheight, isosceles triangle apex angle=60},
|
||||
]
|
||||
\hspace{-0.7cm}
|
||||
|
||||
|
||||
%===============================================================================
|
||||
\node[text centered, yshift=0.25*\blockheight] (ref) {};
|
||||
|
||||
|
||||
% Controller
|
||||
\path(ref)+(0.75*\nodesep,-0.25*\blockheight) node (err_quat) [text_block] {Error quaternion};
|
||||
\path(err_quat)+(1.5*\nodesep,0) node (select_axis) [text_block] {Extract component};
|
||||
@@ -259,7 +259,7 @@
|
||||
\path(mult)+(0.65*\nodesep, 0) node (p_gain) [gain] {\scriptsize $2 P$};
|
||||
\path(p_gain)+(0.75*\nodesep, 0) node (sat_ctrl) [sat_block] {};
|
||||
\path(sat_ctrl)+(0.75*\nodesep, 0) node (output) [] {};
|
||||
|
||||
|
||||
%===============================================================================
|
||||
\path[draw,->] (ref.east) -- node[text centered, anchor=south, pos=0.1] {$\bm{q}_\text{sp}$} ([yshift=0.25*\blockheight]err_quat.west);
|
||||
\path[draw,->] ([yshift=-0.25*\blockheight]err_quat.west -| ref.east) -- node[text centered, anchor=north, pos=0.1] {$\bm{q}$} ([yshift=-0.25*\blockheight]err_quat.west);
|
||||
@@ -272,23 +272,23 @@
|
||||
\path[draw,->] (p_gain.east) -- (sat_ctrl.west);
|
||||
\path[draw,->] (sat_ctrl.east) -- node[text centered, anchor=south] {$\Omega_\text{sp}$} (output.west);
|
||||
\end{tikzpicture}
|
||||
|
||||
|
||||
\end{figure}
|
||||
|
||||
|
||||
\clearpage
|
||||
|
||||
%===================================================================================
|
||||
% TIKZ VELOCITY CONTROL
|
||||
%===================================================================================
|
||||
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
|
||||
|
||||
% Define distances
|
||||
\def\blockheight{2.2em}
|
||||
\def\blockwidth{2.2em}
|
||||
\def\nodesep{1.5*\blockwidth}
|
||||
|
||||
|
||||
\begin{tikzpicture}[>={Stealth[inset=0pt,length=3pt,angle'=60,round]},
|
||||
simple_block/.style = {draw, fill=light_blue, text centered, inner sep=0pt, minimum width=\blockwidth, minimum height=\blockheight},
|
||||
frame_block/.style = {draw, text centered, inner ysep=1.25em, inner xsep=1.25em, dashed},
|
||||
@@ -301,7 +301,7 @@
|
||||
node at (sum.east) [port, left=1pt] {$#4$}
|
||||
}
|
||||
},
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
{
|
||||
% Get the width and height of the path picture node
|
||||
\pgfpointdiff{\pgfpointanchor{path picture bounding box}{north east}}%
|
||||
@@ -312,11 +312,11 @@
|
||||
\tikzset{x=\x*.4, y=\y*.4}
|
||||
%
|
||||
% Draw annotation
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,-.6) -- (-.6,-.6) -- (.6,.6) -- (1,.6);
|
||||
}
|
||||
},
|
||||
sat_block_int/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
sat_block_int/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
{
|
||||
% Get the width and height of the path picture node
|
||||
\pgfpointdiff{\pgfpointanchor{path picture bounding box}{north east}}%
|
||||
@@ -333,7 +333,7 @@
|
||||
]
|
||||
%===================================================================================
|
||||
\node[text centered] (ref) {};
|
||||
|
||||
|
||||
% Controller
|
||||
\path(ref)+(\nodesep,0) node (ref_sum) [sum={}{+}{-}{}] {};
|
||||
\path(ref_sum)+(2*\nodesep,0) node (ctrl_i) [simple_block] {$\int$};
|
||||
@@ -345,12 +345,12 @@
|
||||
\path(ctrl_i_gain)+(\nodesep,0) node (ctrl_sum) [sum={+}{+}{-}{}] {};
|
||||
\path(ctrl_sum)+(\nodesep,0) node (sat_ctrl) [sat_block] {};
|
||||
\path(sat_ctrl.east)+(0.675*\nodesep,0) node (ctrl) [] {};
|
||||
|
||||
|
||||
\path(ref_sum.south |- ctrl_d_filt.west)+(-\nodesep,0) node(output) [] {};
|
||||
|
||||
|
||||
%===================================================================================
|
||||
\path[draw,->] (ref.east) -- node[anchor=south, pos=0] {$V_\text{sp}$} (ref_sum.west);
|
||||
|
||||
|
||||
\path[draw,->] (ref_sum.east) -- (ctrl_i.west);
|
||||
\path[draw,->] (output.east) |- node[anchor=south, pos=0] {$V$} (ctrl_d_filt.west);
|
||||
\path[draw,->] (output.east -| ref_sum.south) -- (ref_sum.south);
|
||||
@@ -363,25 +363,25 @@
|
||||
\path[draw,->] (ctrl_p_gain.east) -| (ctrl_sum.north);
|
||||
\path[draw,->] (ctrl_sum.east) -- (sat_ctrl.west);
|
||||
\path[draw,->] (sat_ctrl.east) -- node[anchor=south] {$A_\text{sp}$} (ctrl.west);
|
||||
|
||||
|
||||
\end{tikzpicture}
|
||||
|
||||
|
||||
\end{figure}
|
||||
|
||||
|
||||
\clearpage
|
||||
|
||||
%===================================================================================
|
||||
% TIKZ POSITION CONTROL
|
||||
%===================================================================================
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
|
||||
|
||||
% Define distances
|
||||
\def\blockheight{2.2em}
|
||||
\def\blockwidth{2.2em}
|
||||
\def\nodesep{2*\blockwidth}
|
||||
|
||||
|
||||
\begin{tikzpicture}[>={Stealth[inset=0pt,length=3pt,angle'=60,round]},
|
||||
simple_block/.style = {draw, fill=light_blue, text centered, inner sep=0pt, minimum width=\blockwidth, minimum height=\blockheight},
|
||||
frame_block/.style = {draw, text centered, inner ysep=1.25em, inner xsep=1.25em, dashed},
|
||||
@@ -394,7 +394,7 @@
|
||||
node at (sum.east) [port, left=1pt] {$#4$}
|
||||
}
|
||||
},
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
sat_block/.style = {draw, minimum width=\blockwidth, minimum height=\blockheight, path picture =
|
||||
{
|
||||
% Get the width and height of the path picture node
|
||||
\pgfpointdiff{\pgfpointanchor{path picture bounding box}{north east}}%
|
||||
@@ -405,32 +405,32 @@
|
||||
\tikzset{x=\x*.4, y=\y*.4}
|
||||
%
|
||||
% Draw annotation
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,0) -- (1,0) (0,-1) -- (0,1);
|
||||
\draw (-1,-.6) -- (-.6,-.6) -- (.6,.6) -- (1,.6);
|
||||
}
|
||||
}
|
||||
]
|
||||
%===============================================================================
|
||||
\node[text centered] (ref) {};
|
||||
|
||||
|
||||
% Controller
|
||||
\path(ref)+(\nodesep,0) node (ref_sum) [sum={}{+}{-}{}] {};
|
||||
\path(ref_sum)+(\nodesep,0) node (ctrl_p_gain) [simple_block] {$P$};
|
||||
\path(ctrl_p_gain)+(\nodesep,0) node (sat_ctrl) [sat_block] {};
|
||||
\path(sat_ctrl.east)+(\nodesep,0) node (ctrl) [] {};
|
||||
|
||||
|
||||
\path(ref_sum.south)+(-\nodesep,-1.5*\blockheight) node(output) [] {};
|
||||
|
||||
|
||||
%===============================================================================
|
||||
\path[draw,->] (ref.east) -- node[anchor=south, pos=0] {$X_\text{sp}$} (ref_sum.west);
|
||||
|
||||
|
||||
\path[draw,->] (output.east) -- node[anchor=south, pos=0] {$X$} (output.east -| ref_sum.south) -- (ref_sum.south);
|
||||
\path[draw,->] (ref_sum.east) -- (ctrl_p_gain.west);
|
||||
\path[draw,->] (ctrl_p_gain.east) -- (sat_ctrl.west);
|
||||
\path[draw,->] (sat_ctrl.east) -- node[anchor=south] {$V_\text{sp}$} (ctrl.west);
|
||||
|
||||
|
||||
\end{tikzpicture}
|
||||
|
||||
|
||||
\end{figure}
|
||||
|
||||
\end{document}
|
||||
\end{document}
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -88,4 +88,3 @@
|
||||
<snippets/>
|
||||
<!-- - - - - - - - - - - - - - - -->
|
||||
</root>
|
||||
|
||||
|
||||
@@ -132,4 +132,3 @@ function quaternionToYaw(x, y, z, w)
|
||||
</snippets>
|
||||
<!-- - - - - - - - - - - - - - - -->
|
||||
</root>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 415 KiB After Width: | Height: | Size: 415 KiB |
|
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 641 KiB After Width: | Height: | Size: 641 KiB |
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 7.937 7.938"><defs><marker orient="auto" refY="0" refX="0" id="a" style="overflow:visible"><path style="fill-rule:evenodd;stroke-width:.625;stroke-linejoin:round;stroke:#000;stroke-opacity:1;fill:#000;fill-opacity:1" d="M8.719 4.034-2.207.016 8.719-4.002c-1.746 2.372-1.736 5.618 0 8.036z" transform="rotate(180) scale(.6)"/></marker></defs><g transform="translate(0 -289.062)"><circle cx="3.969" cy="293.031" style="fill:none;stroke:#000;stroke-width:.74339122;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" r="3.597"/><text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:3.52777767px;line-height:1.25;font-family:Calibri;-inkscape-font-specification:'Calibri, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#000;fill-opacity:1;stroke:none;stroke-width:.06671331" x="4.126" y="294.762"><tspan x="4.126" y="294.762" style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:3.52777767px;font-family:Calibri;-inkscape-font-specification:'Calibri, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:.06671331">ALT</tspan></text><path style="fill:none;stroke:#000;stroke-width:.26940677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#a)" d="m3.499 290.486.28 1.078z"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 7.937 7.938"><defs><marker orient="auto" refY="0" refX="0" id="a" style="overflow:visible"><path style="fill-rule:evenodd;stroke-width:.625;stroke-linejoin:round;stroke:#000;stroke-opacity:1;fill:#000;fill-opacity:1" d="M8.719 4.034-2.207.016 8.719-4.002c-1.746 2.372-1.736 5.618 0 8.036z" transform="rotate(180) scale(.6)"/></marker></defs><g transform="translate(0 -289.062)"><circle cx="3.969" cy="293.031" style="fill:none;stroke:#000;stroke-width:.74339122;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" r="3.597"/><text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:3.52777767px;line-height:1.25;font-family:Calibri;-inkscape-font-specification:'Calibri, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#000;fill-opacity:1;stroke:none;stroke-width:.06671331" x="4.126" y="294.762"><tspan x="4.126" y="294.762" style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:3.52777767px;font-family:Calibri;-inkscape-font-specification:'Calibri, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:.06671331">ALT</tspan></text><path style="fill:none;stroke:#000;stroke-width:.26940677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#a)" d="m3.499 290.486.28 1.078z"/></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="897.673" height="897.673" style="enable-background:new 0 0 897.673 897.673" xml:space="preserve"><path d="M859.877 855.354 606.396 23.221C602.195 9.427 589.469 0 575.049 0H322.625c-14.42 0-27.146 9.426-31.347 23.221L37.795 855.354c-6.413 21.055 9.338 42.318 31.347 42.318h181.071c15.246 0 28.479-10.515 31.922-25.367l38.312-165.216h256.78l38.312 165.216c3.443 14.853 16.676 25.367 31.922 25.367h181.071c22.007.001 37.759-21.263 31.345-42.318zM448.836 523.413h-85.578l15.191-62.147c22.096-85.624 44.192-194.726 66.29-284.493h8.194c22.097 89.767 44.193 198.869 66.289 284.493l15.191 62.147h-85.577z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="897.673" height="897.673" style="enable-background:new 0 0 897.673 897.673" xml:space="preserve"><path d="M859.877 855.354 606.396 23.221C602.195 9.427 589.469 0 575.049 0H322.625c-14.42 0-27.146 9.426-31.347 23.221L37.795 855.354c-6.413 21.055 9.338 42.318 31.347 42.318h181.071c15.246 0 28.479-10.515 31.922-25.367l38.312-165.216h256.78l38.312 165.216c3.443 14.853 16.676 25.367 31.922 25.367h181.071c22.007.001 37.759-21.263 31.345-42.318zM448.836 523.413h-85.578l15.191-62.147c22.096-85.624 44.192-194.726 66.29-284.493h8.194c22.097 89.767 44.193 198.869 66.289 284.493l15.191 62.147h-85.577z"/></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 652 B After Width: | Height: | Size: 653 B |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" style="enable-background:new 0 0 60 60" xml:space="preserve"><path d="M42.117 43.007a1 1 0 0 0-.234 1.986C52.399 46.231 58 49.567 58 51.5c0 2.714-10.652 6.5-28 6.5S2 54.214 2 51.5c0-1.933 5.601-5.269 16.117-6.507a1 1 0 0 0-.234-1.986C7.354 44.247 0 47.739 0 51.5 0 55.724 10.305 60 30 60s30-4.276 30-8.5c0-3.761-7.354-7.253-17.883-8.493z"/><path d="M29.823 54.757 45.164 32.6c5.754-7.671 4.922-20.28-1.781-26.982C39.761 1.995 34.945 0 29.823 0s-9.938 1.995-13.56 5.617c-6.703 6.702-7.535 19.311-1.804 26.952l15.364 22.188zM30 12c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" style="enable-background:new 0 0 60 60" xml:space="preserve"><path d="M42.117 43.007a1 1 0 0 0-.234 1.986C52.399 46.231 58 49.567 58 51.5c0 2.714-10.652 6.5-28 6.5S2 54.214 2 51.5c0-1.933 5.601-5.269 16.117-6.507a1 1 0 0 0-.234-1.986C7.354 44.247 0 47.739 0 51.5 0 55.724 10.305 60 30 60s30-4.276 30-8.5c0-3.761-7.354-7.253-17.883-8.493z"/><path d="M29.823 54.757 45.164 32.6c5.754-7.671 4.922-20.28-1.781-26.982C39.761 1.995 34.945 0 29.823 0s-9.938 1.995-13.56 5.617c-6.703 6.702-7.535 19.311-1.804 26.952l15.364 22.188zM30 12c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7z"/></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 652 B After Width: | Height: | Size: 653 B |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 7.937 7.938"><g transform="translate(0 -289.062)"><rect style="opacity:1;fill:#000;fill-opacity:.99607843;stroke:none;stroke-width:1.14113545;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="6.615" height="6.615" x=".702" y="290.285" rx=".662" ry=".688"/><rect style="opacity:1;fill:#000;fill-opacity:.99607843;stroke:none;stroke-width:.28405154;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.706" height="1.002" x="2.656" y="289.851" rx=".271" ry=".104"/><ellipse style="opacity:1;fill:#000;fill-opacity:1;stroke:none;stroke-width:2.61286139;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="4.009" cy="289.8" rx=".334" ry=".685"/><circle style="opacity:1;fill:#fff;fill-opacity:1;stroke:none;stroke-width:1.71015;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="2.488" cy="292.538" r="1.235"/><circle style="opacity:1;fill:#fff;fill-opacity:1;stroke:none;stroke-width:1.71015;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="5.594" cy="292.538" r="1.235"/><rect style="opacity:1;fill:#000;fill-opacity:1;stroke:none;stroke-width:.28370944;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width=".529" height=".529" x="2.223" y="292.273" rx="0" ry="0"/><rect style="opacity:1;fill:#000;fill-opacity:1;stroke:none;stroke-width:.28370944;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width=".529" height=".529" x="5.33" y="292.273" rx="0" ry="0"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 7.937 7.938"><g transform="translate(0 -289.062)"><rect style="opacity:1;fill:#000;fill-opacity:.99607843;stroke:none;stroke-width:1.14113545;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="6.615" height="6.615" x=".702" y="290.285" rx=".662" ry=".688"/><rect style="opacity:1;fill:#000;fill-opacity:.99607843;stroke:none;stroke-width:.28405154;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.706" height="1.002" x="2.656" y="289.851" rx=".271" ry=".104"/><ellipse style="opacity:1;fill:#000;fill-opacity:1;stroke:none;stroke-width:2.61286139;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="4.009" cy="289.8" rx=".334" ry=".685"/><circle style="opacity:1;fill:#fff;fill-opacity:1;stroke:none;stroke-width:1.71015;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="2.488" cy="292.538" r="1.235"/><circle style="opacity:1;fill:#fff;fill-opacity:1;stroke:none;stroke-width:1.71015;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="5.594" cy="292.538" r="1.235"/><rect style="opacity:1;fill:#000;fill-opacity:1;stroke:none;stroke-width:.28370944;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width=".529" height=".529" x="2.223" y="292.273" rx="0" ry="0"/><rect style="opacity:1;fill:#000;fill-opacity:1;stroke:none;stroke-width:.28370944;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width=".529" height=".529" x="5.33" y="292.273" rx="0" ry="0"/></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"gitbook": ">= 3.2.2",
|
||||
"title": "PX4 User Guide",
|
||||
"variables": {
|
||||
@@ -56,7 +56,7 @@
|
||||
"icon": "fa fa-bug",
|
||||
"position" : "left",
|
||||
"url": "https://github.com/PX4/px4_user_guide/issues/new?title=Doc+Bug:+{{title}}&body=DESCRIBE+PROBLEM+WITH+DOCS+HERE%0A%0ABug+Page:+[{{title}}]({{url}})"
|
||||
|
||||
|
||||
},
|
||||
{
|
||||
"label": "GitHub",
|
||||
@@ -71,7 +71,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
"versions": {
|
||||
"gitbookConfigURL": "https://raw.githubusercontent.com/PX4/px4_user_guide/main/book.json",
|
||||
"options": [
|
||||
@@ -94,7 +94,7 @@
|
||||
{
|
||||
"value": "https://docs.px4.io/v1.12/en/",
|
||||
"text": "v1.12"
|
||||
},
|
||||
},
|
||||
{
|
||||
"value": "https://docs.px4.io/v1.11/en/",
|
||||
"text": "v1.11"
|
||||
@@ -105,4 +105,3 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -9,4 +9,4 @@ This section contains topics about the core actuators used for flight control (E
|
||||
|
||||
## See Also
|
||||
|
||||
- [Peripherals](../peripherals/index.md) - includes non-core actuators such as grippers, parachutes, etc.
|
||||
- [Peripherals](../peripherals/index.md) - includes non-core actuators such as grippers, parachutes, etc.
|
||||
|
||||
@@ -40437,4 +40437,3 @@ Skip the controller.
|
||||
Reboot | minValue | maxValue | increment | default | unit
|
||||
--- | --- | --- | --- | --- | ---
|
||||
| | | | 0 |
|
||||
|
||||
|
||||
@@ -797,4 +797,3 @@ div.frame_variant td, div.frame_variant th {
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -4,4 +4,4 @@ frame: VTOL
|
||||
newEditLink: en/assembly/_assembly.md
|
||||
---
|
||||
|
||||
<!--@include: _assembly.md-->
|
||||
<!--@include: _assembly.md-->
|
||||
|
||||
@@ -3,4 +3,4 @@ frame: General
|
||||
newEditLink: en/assembly/_assembly.md
|
||||
---
|
||||
|
||||
<!--@include: _assembly.md-->
|
||||
<!--@include: _assembly.md-->
|
||||
|
||||