底盘控制
<p><center><strong>速度控制</strong></center>
简要描述:
控制机器人底盘进行运动
方式:
发送指令到机器人
<strong>发送示例</strong>
话题:
发送指令:/app_cmd_vel</p>
<pre><code class="language-json">{
&quot;priority&quot;: 0, //优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3
&quot;msg&quot;:{
&quot;v&quot;:0.1, //float型
&quot;w&quot;:0.1 //float型
}
}</code></pre>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>priority</td>
<td>是</td>
<td>float</td>
<td>优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3</td>
</tr>
<tr>
<td>v</td>
<td>是</td>
<td>float</td>
<td>线速度</td>
</tr>
<tr>
<td>w</td>
<td>是</td>
<td>float</td>
<td>角速度</td>
</tr>
</tbody>
</table>
<hr />
<hr />
<hr />
<p><center><strong>IO控制</strong></center>
简要描述:
控制机器人执行io操作
方式:
发送指令到机器人
<strong>发送示例</strong>
发布话题:/io_ctrl
发送指令:</p>
<pre><code class="language-json">{
&quot;priority&quot;: 1, //优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3
&quot;msg&quot;:{
&quot;io&quot;:[
{
&quot;name&quot;:&quot;&quot;,//控制模块名称
&quot;value&quot;:0//值0-255,如果是开关状态,则用0表示关,1表示开
}
]
}
}</code></pre>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>priority</td>
<td>是</td>
<td>int</td>
<td>优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3</td>
</tr>
<tr>
<td>io</td>
<td>是</td>
<td>json[]</td>
<td>IO控制对象</td>
</tr>
<tr>
<td>name</td>
<td>是</td>
<td>string</td>
<td>控制模块名称</td>
</tr>
<tr>
<td>value</td>
<td>是</td>
<td>int</td>
<td>值</td>
</tr>
</tbody>
</table>
<hr />
<hr />
<hr />
<p><center><strong>温控系统控制</strong></center>
简要描述:
控制机器人温控系统
方式:
发送指令到机器人
<strong>发送示例</strong>
发布话题:/heater_control
发送指令:</p>
<pre><code class="language-json">{
&quot;msg&quot;:{
&quot;control_1&quot;:0,
&quot;min_1&quot;:40,
&quot;max_1&quot;:65,
&quot;control_2&quot;:1,
&quot;min_2&quot;:30,
&quot;max_2&quot;:65,
&quot;save&quot;:1
}
}</code></pre>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>control_1</td>
<td>否</td>
<td>int</td>
<td>加热系统1控制 0:关闭 1:开启</td>
</tr>
<tr>
<td>min_1</td>
<td>否</td>
<td>int</td>
<td>加热系统1温度下限</td>
</tr>
<tr>
<td>max_1</td>
<td>否</td>
<td>int</td>
<td>加热系统1温度上限</td>
</tr>
<tr>
<td>control_2</td>
<td>否</td>
<td>int</td>
<td>加热系统2控制 0:关闭 1:开启</td>
</tr>
<tr>
<td>min_2</td>
<td>否</td>
<td>int</td>
<td>加热系统2温度下限</td>
</tr>
<tr>
<td>max_2</td>
<td>否</td>
<td>int</td>
<td>加热系统2温度上限</td>
</tr>
<tr>
<td>save</td>
<td>否</td>
<td>int</td>
<td>0: 不保存参数 1: 保存参数</td>
</tr>
</tbody>
</table>
<hr />
<hr />
<hr />
<p><center><strong>软件急停</strong></center>
简要描述:
控制机器人触发软件急停
方式:
发送指令到机器人
<strong>发送示例</strong>
发布话题:/software_stop
发送指令:</p>
<pre><code class="language-json">{
&quot;msg&quot;:{
&quot;control&quot;:1,
}
}</code></pre>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>control</td>
<td>是</td>
<td>int</td>
<td>0:不急停 1:急停</td>
</tr>
</tbody>
</table>
<hr />
<hr />
<hr />
<p><center><strong>硬件配置控制</strong></center>
简要描述:
读取或写入单板硬件配置信息
方式:
发送指令到机器人
<strong>发送示例</strong>
话题:
发送指令:/hardware_ctrl</p>
<pre><code class="language-json">{
&quot;priority&quot;: 0, //优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3
&quot;msg&quot;:{
'Mode': int(), // int8 操作模式 0:读取 1:写入
'MaxRPM': int(), // uint16 电机最高转速 RPM
'DriverType': int(), // uint8 控制指令:0x00:惠斯通 0x01:拓达 0x02:中菱
'DriverNumber': int(), // uint8 电机数量
'VoltageType': int(), // uint8 电压表类型 0x00:速遥电池 0x01:睿禹能电池 0x02:RS485电压模块
'UltrasonicType': int(), // uint8 超声类型 104:KS104 136:KS136A
'FrontNumber': int(), // uint8 前侧超声数量
'BackNumber': int(), // uint8 后侧超声数量
'SideNumber': int(), // uint8 左右侧超声数量
'GearBoxDirection': int(), // uint8 减速器转向 0:反向 1:正向
'PSC': int(), // uint16 PWM分频系数
'PER': int(), // uint16 PWM自动重载值 T=(PSC-1)/(PER-1)/72000 ms
'ControlMode': int(), // uint8 0:RS232 1:CAN
'TemperatureNumber': int(), // uint8 温度传感器数量
}
}</code></pre>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mode</td>
<td>是</td>
<td>int8</td>
<td>操作模式 0:读取 1:写入</td>
</tr>
<tr>
<td>MaxRPM</td>
<td>否</td>
<td>uint16</td>
<td>电机最高转速 RPM</td>
</tr>
<tr>
<td>DriverType</td>
<td>否</td>
<td>uint8</td>
<td>控制指令:0x00:惠斯通 0x01:拓达 0x02:中菱</td>
</tr>
<tr>
<td>DriverNumber</td>
<td>否</td>
<td>uint8</td>
<td>电机数量</td>
</tr>
<tr>
<td>VoltageType</td>
<td>否</td>
<td>uint8</td>
<td>电压表类型 0x00:速遥电池 0x01:睿禹能电池 0x02:RS485电压模块</td>
</tr>
<tr>
<td>UltrasonicType</td>
<td>否</td>
<td>uint8</td>
<td>超声类型 104:KS104 136:KS136A</td>
</tr>
<tr>
<td>FrontNumber</td>
<td>否</td>
<td>uint8</td>
<td>前侧超声数量</td>
</tr>
<tr>
<td>BackNumber</td>
<td>否</td>
<td>uint8</td>
<td>后侧超声数量</td>
</tr>
<tr>
<td>SideNumber</td>
<td>否</td>
<td>uint8</td>
<td>左右侧超声数量</td>
</tr>
<tr>
<td>GearBoxDirection</td>
<td>否</td>
<td>uint8</td>
<td>减速器转向 0:反向 1:正向</td>
</tr>
<tr>
<td>PSC</td>
<td>否</td>
<td>uint16</td>
<td>PWM分频系数</td>
</tr>
<tr>
<td>PER</td>
<td>否</td>
<td>uint16</td>
<td>PWM自动重载值 T=(PSC-1)/(PER-1)/72000 ms</td>
</tr>
<tr>
<td>ControlMode</td>
<td>否</td>
<td>uint8</td>
<td>0:RS232 1:CAN</td>
</tr>
<tr>
<td>TemperatureNumber</td>
<td>否</td>
<td>uint8</td>
<td>温度传感器数量</td>
</tr>
</tbody>
</table>
<hr />
<hr />
<hr />