docs: Zenoh middleware guide (#25737)

This commit is contained in:
Peter van der Perk
2025-10-16 11:48:12 +02:00
committed by GitHub
parent 104759b90c
commit faee1da630
6 changed files with 437 additions and 12 deletions

View File

@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export PX4 Zenoh arch.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.02362in" height="2.43307in"
viewBox="0 0 577.701 175.181" xml:space="preserve" color-interpolation-filters="sRGB" class="st9">
<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false">
<v:userDefs>
<v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
<v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
</v:userDefs>
</v:documentProperties>
<style type="text/css">
<![CDATA[
.st1 {fill:#ffffff;stroke:#41719c;stroke-width:0.75}
.st2 {fill:#41719c;font-family:Calibri;font-size:0.833336em}
.st3 {font-family:Courier New;font-size:1em}
.st4 {font-size:1em}
.st5 {marker-end:url(#mrkr4-62);marker-start:url(#mrkr4-60);stroke:#41719c;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
.st6 {fill:#41719c;fill-opacity:1;stroke:#41719c;stroke-opacity:1;stroke-width:0.28409090909091}
.st7 {fill:none;stroke:none;stroke-width:0.25}
.st8 {fill:#41719c;font-family:Calibri;font-size:1.00001em}
.st9 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
<g id="lend4">
<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
</g>
<marker id="mrkr4-60" class="st6" v:arrowType="4" v:arrowSize="2" v:setback="6.68" refX="6.68" orient="auto"
markerUnits="strokeWidth" overflow="visible">
<use xlink:href="#lend4" transform="scale(3.52) "/>
</marker>
<marker id="mrkr4-62" class="st6" v:arrowType="4" v:arrowSize="2" v:setback="7.04" refX="-7.04" orient="auto"
markerUnits="strokeWidth" overflow="visible">
<use xlink:href="#lend4" transform="scale(-3.52,-3.52) "/>
</marker>
</defs>
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
<v:userDefs>
<v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
</v:userDefs>
<title>Page-1</title>
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
v:shadowOffsetY="-8.50394"/>
<v:layer v:name="Connector" v:index="0"/>
<g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(429.165,-50.4584)">
<title>Rectangle</title>
<desc>Zenoh RMW implementation rmw_zenoh</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="68.5984" cy="158.173" width="137.2" height="34.0157"/>
<rect x="0" y="141.165" width="137.197" height="34.0157" class="st1"/>
<text x="9.51" y="155.08" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Zenoh RMW implementation<v:newlineChar/><tspan
x="41.59" dy="1.213em" class="st3">rmw_zenoh</tspan></text> </g>
<g id="shape2-5" v:mID="2" v:groupContext="shape" transform="translate(429.165,-90.1434)">
<title>Rectangle.2</title>
<desc>ROS Middleware (RMW) API</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="68.5984" cy="158.173" width="137.2" height="34.0157"/>
<rect x="0" y="141.165" width="137.197" height="34.0157" class="st1"/>
<text x="11.17" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ROS Middleware (RMW) API</text> </g>
<g id="shape4-8" v:mID="4" v:groupContext="shape" transform="translate(509.953,-129.828)">
<title>Rectangle.4</title>
<desc>ROS 2 Node</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="28.2047" cy="157.891" width="56.41" height="34.581"/>
<rect x="0" y="140.6" width="56.4094" height="34.581" class="st1"/>
<text x="16.22" y="154.89" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ROS 2<v:newlineChar/><tspan
x="17.23" dy="1.2em" class="st4">Node</tspan></text> </g>
<g id="shape5-12" v:mID="5" v:groupContext="shape" transform="translate(429.165,-129.828)">
<title>Rectangle.5</title>
<desc>ROS 2 Node</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="28.2047" cy="157.891" width="56.41" height="34.581"/>
<rect x="0" y="140.6" width="56.4094" height="34.581" class="st1"/>
<text x="16.22" y="154.89" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ROS 2<v:newlineChar/><tspan
x="17.23" dy="1.2em" class="st4">Node</tspan></text> </g>
<g id="shape6-16" v:mID="6" v:groupContext="shape" transform="translate(93.027,-51.0236)">
<title>Rectangle.6</title>
<desc>PX4 Zenoh-Pico Node</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="41.644" cy="118.488" width="83.29" height="113.386"/>
<rect x="0" y="61.7953" width="83.288" height="113.386" class="st1"/>
<text x="10.07" y="115.49" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PX4 Zenoh-Pico <tspan
x="30.67" dy="1.2em" class="st4">Node</tspan></text> </g>
<g id="shape7-20" v:mID="7" v:groupContext="shape" transform="translate(13.6063,-130.394)">
<title>Rectangle.7</title>
<desc>uORB Topic α</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="37.5591" cy="158.173" width="75.12" height="34.0157"/>
<rect x="0" y="141.165" width="75.1181" height="34.0157" class="st1"/>
<text x="10.13" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>uORB Topic <tspan
class="st4" v:langID="1032">α</tspan></text> </g>
<g id="shape8-24" v:mID="8" v:groupContext="shape" transform="translate(13.6063,-90.7087)">
<title>Rectangle.8</title>
<desc>uORB Topic β</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="37.5591" cy="158.173" width="75.12" height="34.0157"/>
<rect x="0" y="141.165" width="75.1181" height="34.0157" class="st1"/>
<text x="10.31" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>uORB Topic <tspan
class="st4" v:langID="1032">β</tspan></text> </g>
<g id="shape9-28" v:mID="9" v:groupContext="shape" transform="translate(13.6063,-51.0236)">
<title>Rectangle.9</title>
<desc>uORB Topic γ</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="37.5591" cy="158.173" width="75.12" height="34.0157"/>
<rect x="0" y="141.165" width="75.1181" height="34.0157" class="st1"/>
<text x="10.73" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>uORB Topic <tspan
class="st4" v:langID="1032">γ</tspan></text> </g>
<g id="shape10-32" v:mID="10" v:groupContext="shape" transform="translate(183.128,-130.394)">
<title>Rectangle.10</title>
<desc>ROS2 Topic α</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="37.5591" cy="158.173" width="75.12" height="34.0157"/>
<rect x="0" y="141.165" width="75.1181" height="34.0157" class="st1"/>
<text x="10.64" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ROS2 Topic <tspan
class="st4" v:langID="1032">α</tspan></text> </g>
<g id="shape11-36" v:mID="11" v:groupContext="shape" transform="translate(183.128,-90.7087)">
<title>Rectangle.11</title>
<desc>ROS2 Topic β</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="37.5591" cy="158.173" width="75.12" height="34.0157"/>
<rect x="0" y="141.165" width="75.1181" height="34.0157" class="st1"/>
<text x="10.82" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ROS2 Topic <tspan
class="st4" v:langID="1032">β</tspan></text> </g>
<g id="shape12-40" v:mID="12" v:groupContext="shape" transform="translate(183.128,-51.0236)">
<title>Rectangle.12</title>
<desc>ROS2 Topic γ</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="37.5591" cy="158.173" width="75.12" height="34.0157"/>
<rect x="0" y="141.165" width="75.1181" height="34.0157" class="st1"/>
<text x="11.25" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ROS2 Topic <tspan
class="st4" v:langID="1032">γ</tspan></text> </g>
<g id="shape18-44" v:mID="18" v:groupContext="shape" transform="translate(13.6063,-11.3386)">
<title>Rectangle.18</title>
<desc>PX4</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="122.598" cy="158.173" width="245.2" height="34.0157"/>
<rect x="0" y="141.165" width="245.197" height="34.0157" class="st1"/>
<text x="114.89" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PX4</text> </g>
<g id="shape19-47" v:mID="19" v:groupContext="shape" transform="translate(322.583,-49.8088)">
<title>Rectangle.19</title>
<desc>Zenoh Router zenohd</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="48.3661" cy="138.907" width="96.74" height="72.5492"/>
<rect x="0" y="102.632" width="96.7323" height="72.5492" class="st1"/>
<text x="20.63" y="135.82" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Zenoh Router<v:newlineChar/><tspan
x="30.36" dy="1.213em" class="st3">zenohd</tspan></text> </g>
<g id="shape20-51" v:mID="20" v:groupContext="shape" transform="translate(322.583,-10.1237)">
<title>Rectangle.20</title>
<desc>Linux</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="122.598" cy="158.173" width="245.2" height="34.0157"/>
<rect x="0" y="141.165" width="245.197" height="34.0157" class="st1"/>
<text x="111.93" y="161.17" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Linux</text> </g>
<g id="shape21-54" v:mID="21" v:groupContext="shape" v:layerMember="0" transform="translate(258.246,-147.402)">
<title>Dynamic connector</title>
<path d="M6.68 175.18 L7.04 175.18 L30.89 175.18 L30.89 236.5 L57.3 236.5" class="st5"/>
</g>
<g id="shape22-63" v:mID="22" v:groupContext="shape" v:layerMember="0" transform="translate(258.246,-107.717)">
<title>Dynamic connector.22</title>
<path d="M6.68 175.18 L7.04 175.18 L30.89 175.18 L30.89 196.81 L57.3 196.81" class="st5"/>
</g>
<g id="shape23-70" v:mID="23" v:groupContext="shape" v:layerMember="0" transform="translate(258.246,-68.0315)">
<title>Dynamic connector.23</title>
<path d="M6.68 175.18 L7.04 175.18 L30.89 175.18 L30.89 157.13 L57.3 157.13" class="st5"/>
</g>
<g id="shape24-77" v:mID="24" v:groupContext="shape" transform="translate(251.717,-17.1438)">
<title>Sheet.24</title>
<desc>UART TCP UDP</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="37.5591" cy="151.863" width="75.12" height="46.6357"/>
<rect x="0" y="128.545" width="75.1181" height="46.6357" class="st7"/>
<text x="24.06" y="141.06" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UART<v:newlineChar/><tspan
x="28.34" dy="1.2em" class="st4">TCP<v:newlineChar/></tspan><tspan x="26.92" dy="1.2em" class="st4">UDP</tspan></text> </g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB