Merge branch 'master' of https://github.com/wty-yy/robot_gauge
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -8,4 +8,5 @@ __pycache__/
|
|||||||
|
|
||||||
# Logger
|
# Logger
|
||||||
logs/
|
logs/
|
||||||
.aim/
|
.aim/
|
||||||
|
*.bkp
|
||||||
15
README.md
15
README.md
@@ -63,6 +63,7 @@
|
|||||||
| - | - | - | - | - |
|
| - | - | - | - | - |
|
||||||
| 1 | `max_velocity` | 单一维度的最大线/角速度 | 每次执行一个方向的指令, 再急停 | 6 |
|
| 1 | `max_velocity` | 单一维度的最大线/角速度 | 每次执行一个方向的指令, 再急停 | 6 |
|
||||||
| 2 | `diagonal_velocity` | 对角线速度变化 | 每次执行一对对角指令 | 8 |
|
| 2 | `diagonal_velocity` | 对角线速度变化 | 每次执行一对对角指令 | 8 |
|
||||||
|
| 3 | `target_pos_velocity` | 比例差分控制到达目标位置 | 到达目标位置或超时 | 1 |
|
||||||
|
|
||||||
## 创建新任务
|
## 创建新任务
|
||||||
评测任务注册在[`tasks/__init__.py`](./robogauge/tasks/__init__.py)中完成, 包含四个部分:
|
评测任务注册在[`tasks/__init__.py`](./robogauge/tasks/__init__.py)中完成, 包含四个部分:
|
||||||
@@ -81,3 +82,17 @@
|
|||||||
### 导入新机器人/控制模型
|
### 导入新机器人/控制模型
|
||||||
1. 在Robot中创建新的机器人xml文件时, 需包含力矩控制`actuator`, 传感器`sensor - jointpos, jointvel, imu (framequat, gyro, accelerometer)`, 参考[`go2.xml`](resources/robots/go2/go2.xml), **注意: actuator的顺序需要和joint顺序一致, 该顺序称为mujoco关节顺序**
|
1. 在Robot中创建新的机器人xml文件时, 需包含力矩控制`actuator`, 传感器`sensor - jointpos, jointvel, imu (framequat, gyro, accelerometer)`, 参考[`go2.xml`](resources/robots/go2/go2.xml), **注意: actuator的顺序需要和joint顺序一致, 该顺序称为mujoco关节顺序**
|
||||||
2. 控制模型相关位置位于[`RobotConfig.control`](robogauge/tasks/robots/base_robot_config.py)中, 不同仿真中关节顺序可能不同, 需保证`mj2model_dof_indices`从mujoco映射到模型训练的关节次序配置正确 (IsaacGym次序和Mujoco相同), 其他模型配置需保持一致
|
2. 控制模型相关位置位于[`RobotConfig.control`](robogauge/tasks/robots/base_robot_config.py)中, 不同仿真中关节顺序可能不同, 需保证`mj2model_dof_indices`从mujoco映射到模型训练的关节次序配置正确 (IsaacGym次序和Mujoco相同), 其他模型配置需保持一致
|
||||||
|
|
||||||
|
## 代码架构
|
||||||
|
### Pipeline逻辑
|
||||||
|
|
||||||
|
[BasePipeline](./robogauge/tasks/pipeline/base_pipeline.py)用于管理仿真`sim`, 度量器(控制指令, 指标计算)`gauge`, 机器人运控模型`robot`三者的调度, 并包含异常处理, 域随机化, 观测噪声的添加.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
[MultiPipeline](./robogauge/tasks/pipeline/multi_pipeline.py)用于多进程启动不同seed, 域随机化参数下的`BasePipeline`, 并合并结果文件.
|
||||||
|
|
||||||
|
[LevelPipeline](./robogauge/tasks/pipeline/level_pipeline.py)对于当前的环境配置, 找到环境地形下模型能稳定通过(三个seed均通过)的最高地形难度.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|||||||
132
assets/robogauge_basepipeline.drawio
Normal file
132
assets/robogauge_basepipeline.drawio
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.0.3 Chrome/140.0.7339.249 Electron/38.7.0 Safari/537.36" version="29.0.3">
|
||||||
|
<diagram name="第 1 页" id="8v6NF5F31sSyrdGHMDpO">
|
||||||
|
<mxGraphModel dx="1181" dy="691" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-1" value="<font face="Lucida Console">&nbsp;BasePipline</font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="30" y="45.5" width="780" height="180" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-6" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="40" y="80" width="50" height="70" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-3" value="<div><font face="Lucida Console">sim</font></div><div><font face="Lucida Console">gauge</font></div><div><font face="Lucida Console">robot</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="C1xzxP5kP4-2OWV6bNVM-6" vertex="1">
|
||||||
|
<mxGeometry y="20" width="50" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-5" value="<font face="Lucida Console">init</font>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;fillColor=none;" parent="C1xzxP5kP4-2OWV6bNVM-6" vertex="1">
|
||||||
|
<mxGeometry width="50" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="C1xzxP5kP4-2OWV6bNVM-3" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="180" y="125" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-9" value="<font face="Lucida Console">sim.load</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="C1xzxP5kP4-2OWV6bNVM-8" vertex="1" connectable="0">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="-4" y="-9" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-10" value="<font face="Lucida Console">run</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="C1xzxP5kP4-2OWV6bNVM-8" vertex="1" connectable="0">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="-4" y="11" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-18" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;resizable=0;" parent="1" source="C1xzxP5kP4-2OWV6bNVM-11" target="C1xzxP5kP4-2OWV6bNVM-17" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-19" value="<font face="Lucida Console">robot.build_obs</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;fillColor=none;gradientColor=none;" parent="C1xzxP5kP4-2OWV6bNVM-18" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="-0.469" y="-1" relative="1" as="geometry">
|
||||||
|
<mxPoint x="24" y="-11" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-11" value="<div><font face="Lucida Console">sim_data<br>goal_data</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="180" y="100" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-14" value="<font face="Lucida Console">sim.step</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="520" y="115" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-17" value="<div><font face="Lucida Console">action</font></div><div><font face="Lucida Console">pd_gains</font></div><div><font face="Lucida Console">control_type</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="380" y="100" width="100" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-20" value="<font face="Lucida Console">robot.get_action</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;fillColor=none;gradientColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="317" y="135.5" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;resizable=0;" parent="1" target="C1xzxP5kP4-2OWV6bNVM-21" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="480" y="124.75" as="sourcePoint" />
|
||||||
|
<mxPoint x="600" y="124.75" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;resizable=0;" parent="1" source="C1xzxP5kP4-2OWV6bNVM-26" target="C1xzxP5kP4-2OWV6bNVM-11" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="DQq9_kveZUeOBhKwjd4h-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="C1xzxP5kP4-2OWV6bNVM-21" target="DQq9_kveZUeOBhKwjd4h-1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-21" value="<div><font face="Lucida Console">gauge.update_metrics</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="570" y="110" width="150" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-25" value="<font face="Lucida Console">no</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;fillColor=none;gradientColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="414" y="164" as="geometry">
|
||||||
|
<mxPoint x="3" y="6" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;resizable=0;" parent="1" source="C1xzxP5kP4-2OWV6bNVM-26" target="C1xzxP5kP4-2OWV6bNVM-11" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="540" y="200" />
|
||||||
|
<mxPoint x="220" y="200" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-31" value="<font face="Lucida Console">Yes</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;fillColor=none;gradientColor=none;" parent="C1xzxP5kP4-2OWV6bNVM-29" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="-0.2822" relative="1" as="geometry">
|
||||||
|
<mxPoint y="-1" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-26" value="<span style="font-family: &quot;Lucida Console&quot;; font-size: 11px; text-wrap-mode: nowrap; background-color: rgb(255, 255, 255);">gauge.is_reset</span>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="490" y="162" width="100" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-32" value="<font face="Lucida Console">sim.reset</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;fillColor=none;gradientColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="340" y="190" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-33" value="<font face="Lucida Console">robot.reset</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;fillColor=none;gradientColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="340" y="210" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="DQq9_kveZUeOBhKwjd4h-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="DQq9_kveZUeOBhKwjd4h-1" target="C1xzxP5kP4-2OWV6bNVM-26">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="645" y="202" />
|
||||||
|
<mxPoint x="565" y="202" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="DQq9_kveZUeOBhKwjd4h-3" value="<font face="Lucida Console">No</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DQq9_kveZUeOBhKwjd4h-2">
|
||||||
|
<mxGeometry x="0.1912" relative="1" as="geometry">
|
||||||
|
<mxPoint x="10" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="DQq9_kveZUeOBhKwjd4h-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DQq9_kveZUeOBhKwjd4h-1" target="DQq9_kveZUeOBhKwjd4h-5">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="645" y="202" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="DQq9_kveZUeOBhKwjd4h-7" value="<font face="Lucida Console">Yes</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DQq9_kveZUeOBhKwjd4h-6">
|
||||||
|
<mxGeometry x="0.1024" y="1" relative="1" as="geometry">
|
||||||
|
<mxPoint x="8" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="DQq9_kveZUeOBhKwjd4h-1" value="<span style="font-family: &quot;Lucida Console&quot;; font-size: 11px; text-wrap-mode: nowrap; background-color: rgb(255, 255, 255);">gauge.is_done</span>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="595" y="150" width="100" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="DQq9_kveZUeOBhKwjd4h-5" value="<span style="font-family: &quot;Lucida Console&quot;; font-size: 11px; text-wrap-mode: nowrap; background-color: rgb(255, 255, 255);">result.yaml</span>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="710" y="192" width="80" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
BIN
assets/robogauge_basepipeline.png
Normal file
BIN
assets/robogauge_basepipeline.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
158
assets/robogauge_levelpipeline.drawio
Normal file
158
assets/robogauge_levelpipeline.drawio
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.0.3 Chrome/140.0.7339.249 Electron/38.7.0 Safari/537.36" version="29.0.3">
|
||||||
|
<diagram name="第 1 页" id="8v6NF5F31sSyrdGHMDpO">
|
||||||
|
<mxGraphModel dx="984" dy="576" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-1" value="<font face="Lucida Console">&nbsp;LevelPipline</font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="30" y="20" width="790" height="205.5" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-32" value="<font face="Lucida Console">&nbsp;MultiPipline</font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;dashed=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="310" y="30" width="320" height="155" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-6" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="40" y="80" width="50" height="70" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-3" value="<div><font face="Lucida Console">level</font></div><div><font face="Lucida Console">type</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="C1xzxP5kP4-2OWV6bNVM-6" vertex="1">
|
||||||
|
<mxGeometry y="20" width="50" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-5" value="<font face="Lucida Console">init</font>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;fillColor=none;" parent="C1xzxP5kP4-2OWV6bNVM-6" vertex="1">
|
||||||
|
<mxGeometry width="50" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-18" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;resizable=0;" parent="1" source="C1xzxP5kP4-2OWV6bNVM-11" target="C1xzxP5kP4-2OWV6bNVM-17" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="C1xzxP5kP4-2OWV6bNVM-17" target="LAeri6nIJ74vq4yU8XOa-4">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="320" y="125" />
|
||||||
|
<mxPoint x="320" y="85" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="C1xzxP5kP4-2OWV6bNVM-17" target="LAeri6nIJ74vq4yU8XOa-6">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="C1xzxP5kP4-2OWV6bNVM-17" target="LAeri6nIJ74vq4yU8XOa-7">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="320" y="125" />
|
||||||
|
<mxPoint x="320" y="165" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-17" value="<div><font face="Lucida Console">level</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="240" y="110" width="60" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="C1xzxP5kP4-2OWV6bNVM-3" target="C1xzxP5kP4-2OWV6bNVM-11">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="180" y="125" as="targetPoint" />
|
||||||
|
<mxPoint x="90" y="125" as="sourcePoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-2" value="<font face="Lucida Console">run</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="LAeri6nIJ74vq4yU8XOa-1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="-3" y="-10" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="C1xzxP5kP4-2OWV6bNVM-11" value="<font face="Lucida Console">binary</font><div><font face="Lucida Console">search</font></div><div><font face="Lucida Console">(l, r)</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="130" y="100" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-4" target="LAeri6nIJ74vq4yU8XOa-10">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-4" value="<div><font face="Lucida Console">seed_0</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="338" y="70" width="60" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-6" target="LAeri6nIJ74vq4yU8XOa-12">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-6" value="<div><font face="Lucida Console">seed_1</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="338" y="110" width="60" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-7" target="LAeri6nIJ74vq4yU8XOa-13">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-7" value="<div><font face="Lucida Console">seed_2</font></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="338" y="150" width="60" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-10" target="LAeri6nIJ74vq4yU8XOa-17">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="620" y="85" />
|
||||||
|
<mxPoint x="620" y="125" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-10" value="<div><font face="Lucida Console">result_0.yaml</font></div>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="500" y="70" width="100" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-12" target="LAeri6nIJ74vq4yU8XOa-17">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-12" value="<div><font face="Lucida Console">result_1.yaml</font></div>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="500" y="110" width="100" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-13" target="LAeri6nIJ74vq4yU8XOa-17">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="620" y="165" />
|
||||||
|
<mxPoint x="620" y="125" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-13" value="<div><font face="Lucida Console">result_2.yaml</font></div>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="500" y="150" width="100" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-17" target="LAeri6nIJ74vq4yU8XOa-24">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-17" value="<div><font face="Lucida Console">aggregated</font></div><div><font face="Lucida Console">result.yaml</font></div>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="647" y="105" width="100" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-24" target="LAeri6nIJ74vq4yU8XOa-27">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="670" y="165" />
|
||||||
|
<mxPoint x="670" y="200" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="LAeri6nIJ74vq4yU8XOa-24" target="C1xzxP5kP4-2OWV6bNVM-11">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="670" y="165" />
|
||||||
|
<mxPoint x="670" y="200" />
|
||||||
|
<mxPoint x="170" y="200" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-47" value="<font face="Lucida Console">Yes</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="LAeri6nIJ74vq4yU8XOa-46">
|
||||||
|
<mxGeometry x="-0.1813" y="-2" relative="1" as="geometry">
|
||||||
|
<mxPoint as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-24" value="<font face="Lucida Console"><span style="font-size: 11px;">l &lt; r</span></font>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;fillColor=default;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="678.88" y="155" width="36.25" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-27" value="<font face="Lucida Console">level</font><div><font face="Lucida Console">result.yaml</font></div>" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="717.12" y="180" width="90" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-31" value="<font face="Lucida Console">No</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="1">
|
||||||
|
<mxGeometry x="697" y="200" as="geometry">
|
||||||
|
<mxPoint x="-4" y="-2" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-34" value="<font face="Lucida Console" style="font-size: 11px;">BasePipeline</font>" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=middle;dashed=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="404.67" y="71" width="83.33" height="10" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-36" value="<font face="Lucida Console" style="font-size: 11px;">BasePipeline</font>" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=middle;dashed=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="404.67" y="111" width="83.33" height="10" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="LAeri6nIJ74vq4yU8XOa-37" value="<font face="Lucida Console" style="font-size: 11px;">BasePipeline</font>" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=middle;dashed=1;strokeColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="404.67" y="151" width="83.33" height="10" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
BIN
assets/robogauge_levelpipeline.png
Normal file
BIN
assets/robogauge_levelpipeline.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
Reference in New Issue
Block a user