修订记录
| 修订日期 | 版本号 | 修订说明 |
| 2024/12/30 | V0.1 | 新增文档,上传飞书 |
| 2025/01/09 | V1.0 | 修改2.1.2章节高度问题,修改第3章节新版本软件安装 |
| 2026/02/12 | V1.1 | 修改通信协议更新内容,新增扩展信息内容 |
1. 简介
PalletPro 是迈尔微视(MRDVS)开发的托盘识别软件,用于自研M系列相机在叉车上对接托盘或栈板的应用。算法通过 PalletPro 软件自 动下发到相机,可兼容多种规格的三腿托盘和两腿托盘的识别,其他类型托盘可定制专属算法。M系列相机内置算力,无需搭配外置工控机。软件具备动态检测,无需小车停车识别即可获取识别结果。 软件无需用户参与编程,简单的参数调节,即可通过 PalletPro 快速实现各种类型托盘自适应识别,支持地面、货架等各种场景识别。有特殊种类托盘请与迈尔微视销售人员联系。下图为本文中所说明的标准托盘。 注:标准托盘仅限本文下图所示托盘。托盘尺寸:欧标托盘尺寸(1.2m*0.8m、1.2m*1m)。其余尺寸请与迈尔微视销售确认。![]() | ![]() |
|---|
![]() | ![]() |
|---|
![]() | ![]() |
|---|
![]() | ![]() |
|---|
2. 相机硬件安装
2.1 相机安装方式
2.1.1 随动式安装
相机在叉臂根部面板上距叉臂上表面一定高度(具体高度可联系迈尔微视售前人员进行评估),尽量贴近两叉齿中心位置(左右偏差不超过 5cm),且相机镜面应与地面保持垂直,尽量左右水平,居中,不 存在俯仰角,视野内无其他物体干扰被检测物的成像。如下图所示。
2.1.2 下坠式安装
相机通过工装安装在叉臂下方,当叉臂抬升时,相机会工装实现下坠,工装完全下坠后与叉臂随动。相机距离叉臂下表面约 400mm。当叉车进行地面托盘识别时,需要叉臂进行抬升一定距离到预对接位置(拍照点),再触发视觉对接。 料架上的托盘对接同理,叉车抬升到预对接位置,需要保证货架上托盘腿底部与相机光心的距离,再触发视觉识别。相机尽量贴近两叉臂中心位置(左右偏差不超过 5cm)且相机镜面与地面保持垂直,尽量 不存在俯仰角,视野内无其他物体干扰被检测物的成像。安装如下图所示(如有不清楚的地方,请联系迈尔微视售前人员)。
2.1.3 相机视野要求
托盘识别需要视野中完整看到托盘,防止出现叉臂挡住托盘的情况,故要求最近的识别距离下,叉臂对相机无遮挡。如有遮挡建议提高相机安装高度。
2.1.4 相机安装高度推荐
根据实测数据叉臂长度在 1.2 米之下时,安装高度在 0.35 米-0.4米左右;叉臂长度大于 1.2 米时,安装高度在在 0.4 米-0.8米左右。以上数据根据经验得出结论,不同的叉车会有差异。 注:当叉臂长度超过1.2米时, 安装高度需与迈尔微视技术支持进行沟通。 相机视野照射需要达到如下效果。
2.2 相机连接
使用相机的 5pin 电源线 24V 供电,通过 7 类网线与电脑连接,运行 PalletPro 软件。
3. 相机软件安装指南
3.1 软件安装流程
- 第一次使用软件,可以参照如下流程完成操作。

3.2 系统要求
建议运行 PalletPro 托盘软件设备满足要求。| 操作系统 | Windows10 及以上 |
| CPU | 建议 Intel® Core™ i5 七代及以上 |
| 内存 | 8G 及以上 |
| GPU | Intel® UHD Graphics/核显以上 |
3.3 安装软件
安装 PalletPro 软件,通过迈尔微视知识库→软件下载,获得 PalletPro-V1.4.35_1224软件


3.4 运行软件
双击桌面PalletPro打开托盘挥别软件。
3.5 升级软件
- 将 PalletPro1.4.2 文件夹进行备份。
- 确认已经备份后,删除原 PalletPro1.4.2 文件夹。
- 新版本软件双击进行安装。
3.6 升级算法
需要在迈尔微视 LxCameraViewer 上位机中进行固件算法升级,需要升级固件算法步骤如下:- 电脑通过网线与相机进行连接。
- 双击打开上位机 “LxCameraViewer”。(关于 LxCameraViewer 软件如何下载使用请参考LxCameraViewer 软件用户手册)
- 找到托盘对接相机 ID,并点击【打开】按钮(一台车可能会连接多个相机,所以要明确对接相机的 ID,也可根据相机类型或 IP 判断)。





3.7 安装常见问题
问题一:打开软件失败 问题现象: 由于找不到 msvcp140.dll,无法继续执行代码。
- 从网上下载相关 dll 文件,进行补全。
- 找迈尔微视售前人员沟通,获取 DirectX 修复软件。
4. 软件界面
4.1 主界面
打开软件后,会显示如下主界面,可在此界面进行相机连接、相机标定、托盘识别等操作。
| 菜单栏 | 包含基础操作、高级应用、外参标定、相机操作、高级参数 与保存参数。 |
| 相机参数设置 | 包含扫描、嵌入式、打开关闭相机、实时显示、检测、投影 与相机标定参数设置。 |
| 文件导入 | 包含标定参数文件、识别图片、文件夹。 |
| 日志打印 | 打印检测结果、相机固件版本、算法版本等 |
| 图像显示 | 显示图像数据 |
4.2 菜单栏
注:外参标定、相机操作、高级参数、保存参数四个选项,基础操作和高级应用中参数包含这四项内容,下文仅叙述基础操作和高级应用中参数。
4.2.1 基础操作
| 菜单 | 选项 | 描述 |
| 基础操作 | 外参标定 | 相机标定,标定相机高度、相机横向偏移、俯仰角、航向角、翻滚角。 |
| 保存参数 | 保存设置的参数,下发到相机。 | |
| 相机操作 | 获取相机 IP、相机 ID、软件日志。 |
4.2.1.1 外参标定模块
点击“基础操作”中 外参标定】,在软件界面右侧显示外参标定界面。

- **客户名称:**建议以项目+叉车号进行命名,方便排查。
- **识别最近距离(mm):**默认即可(如果标定距离较近调整为 1.2m)。



- **单次托盘示教:**托盘距离叉车叉臂 200mm 位置,进行近端标定,此次标定可标出托盘高度、横向偏移、航向角、翻滚角。
- **两次托盘示教:**在近端标定后,在进行远端标定(二次示教),如近端标定相机识别托盘距离为 1300mm,则需将叉车直线运行 400-800mm 左右,不可有角度或横向移动,距离托盘 1.8-2.4m 进行远端标定,标定出相机俯仰角。
- 标定完成后一定再次点击保存参数。
4.2.1.2 保存参数模块
将当前软件参数保存,并下发到相机。4.2.1.3 相机操作模块
点击 【相机操作】按钮,显示如下界面:
- 获取到当前相机的 IP、ID。
- 直接升级算法版本(目前暂不支持)。
- 获取软件运行 log 信息,会在软件界面左下角显示 log 获取成功。在“PalletPro-V1.4.1 文件夹”→“当前相机 IP_ID 文件夹”中显示 获取的日志。
4.2.2 高级应用
| 菜单 | 选项 | 描述 |
| 高级应用 | 高级参数 | 设置托盘识别参数 |
| 显示3D | 查看托盘成像结果 | |
| 离线测试 | 通过输入图片测试托盘识别有无问题 | |
| 导出参数 | 无法使用 |
4.2.2.1 高级参数模块
| 点击“高级应用”中的【高级参数】与软件界面中【高级参数】内容一致。 |

- 读取相机json文件,并在此栏显示相机IP、ID文件夹以及json。

- 显示当前相机的IP和ID信息。

- 勾选后,可显示全部高级参数(当前页面参数为基础参数)。


- 高级参数含义(红色为不可改参数)
| 参数名称 | 参数说明 | 参数含义 | |
| 基础参数 | R:[0.0,0.0,0.0] | 相机标定角度参数 | R:[俯仰角,航向角,翻滚角] |
| t:[0.0,0.0,0.0] | 相机偏移参数 | t:[横向偏移,未生效,深度偏移] | |
| ground_y | 相机安装高度 | 地面距离相机的高度,单位毫米(mm) | |
| x-client | 自定义命名 | 建议以项目+ID命名 | |
| orientation | 安装方式 | 0:正装,2:倒装。1、3:侧装 | |
| multi_level | 是否支持多托盘检测 | 0:关闭。1:开启多托盘检测 | |
| quad | 是否支持四腿 | 0:关闭。1:开启四腿托盘识别 | |
| 高级参数 | min_z | z方向最小值 | 相机距离,低于z方向最小值会检测失败。 |
| max_z | z方向最大值 | 相机距离,高于z方向最大值会检测失败。 | |
| min_x | 水平方向最小值 | 超出水平方向最小值检测失败。 | |
| max_x | 水平方向最大值 | 超出水平方向最大值检测失败。 | |
| two_leg | 双腿识别 | 0:关闭。1:开启。 |
- 与基础操作中“保存参数”具有相同功能,设置参数完成后,点击【保存参数】,参数保存并下发到相机。

- 标准模式(10-15cm)
- 细腿模式(5cm)
- 纤细托盘(3-4cm)
- 偏宽(15cm)
- 超宽(20cm+)
- 标准模式(0.7-1.3m)
- 宽托盘(1.1-1.6m)
- 标准(默认,一般情况无需改动)
- 较细(80%)
- 非常细(60%)
- 稀少(10%)

4.2.2.3 离线测试模块
选择“高级应用”,点击【离线测试】按钮。通过将json标定文件、识别图片、识别图片文件夹导入到PalletPro软件中,点击开始检测按钮即可识别图片。如下图所示,可将离线测试功能分为五个板块。

- 需要将相机参数标定文件放入该栏中(直接将json标定文件拖拽到参数文件栏中)。如何找到json标定文件,使用PalletPro软件连接当前相机,在PalletPro软件文件夹→相机的ID文件夹中生成json文件。
| 例:双击“PalletPro”进入软件后,会在相机设置下出现相机IP和相机ID,记住当前ID。进入PalletPro软件文件夹中,找到对应的IP和ID如下图所示,确认后,双击文件夹。 | ![]() |



- 将得到的相机png结果图或文件夹拖拽到当前图中为止。

- 离线测试有“文件”和“文件夹”供选择,可测单张图片或文件夹内所有图片。
- From,选择“文件夹”进行测试时,可以在“From”中输入数字。如输入100,则代表从第100张图片开始检测。

- 将json标定文件拖拽到PalletPro软件后,在“参数设置”中会显示当前标定文件参数。

- 离线测试,显示识别结果信息。
4.2.2.4 导出参数模块
暂时无法使用。
- 在托盘软件根目录下,当前相机的IP和ID的文件夹下,可导出pallet_settings标定文件。
4.3 相机参数设置
相机参数设置分为相机设置和参数设置两部分。4.3.1 相机设置
相机设置包含扫描、嵌入式、打开相机、关闭相机、实时显示、检测、投影七个部分。
4.3.1.1 扫描模块
| * 扫描当前电脑连接的相机 | ![]() | 当前和一台相机连接,如有多台,则IP依次往下罗列 | ![]() |
4.3.1.2 嵌入式模块
![]() | ![]() |
- 勾选后,在日志打印栏显示相机运行算法的识别结果,如上图所示(想要看到相机运行结果,需连接相机后,点击“打开相机”按钮后,勾选嵌入式,方可显示)。
4.3.1.3 打开相机模块
![]() | ![]() |
- 与相机通过网线连接后,点击【打开相机】按钮,成功将相机启流,按钮变为灰色,相机状态从“关闭”变为“运行中”。
4.3.1.4 关闭相机模块
![]() | ![]() |
- 点击【关闭相机】按钮,成功将相机停流,按钮变为灰色,相机状态聪“运行中”变为“关闭”。
4.3.1.5 投影模块
| * 打开相机后,【投影】默认勾选状态,无需更改。 |
4.3.1.6 实时显示模块
![]() | ![]() |
- 显示实时图像。打开相机后,【实时显示】默认勾选状态,无需更改。不勾选实时显示,“图像显示界面”不显示实时图像,
4.3.1.7 检测模块
- 算法识别检测。打开相机后,【检测】默认不勾选状态,既代表没有开启PalletPro上位机算法检测。

- 勾选后【检测】后,在“图像显示界面”左上角输出检测结果。

4.3.2 参数设置
当点击“打开相机”按钮后,PalletPro软件会自动读取相机标定参数文件,并显示在“参数设置”中。参数设置分为Client、安装高度、俯仰角RX、航向角RY、翻滚角RZ以及安装方式六个部分。
4.3.2.1 Client模块
| * 当前标定文件命名信息。 |
4.3.2.2 安装高度模块
- 相机安装高度。通过“单次示教(近端标定)”可得到相机高度信息,也可手动调节。




4.3.2.3 俯仰角RX模块
- 通过“二次示教(远端标定)”获取相机俯仰角度。不建议手动调节此参数,可能会导致识别结果有偏差。如自动标定无法标出,请与迈尔微视售前人员进行联系。
- **俯仰:**相机安装位置前后倾斜。相机向下倾斜,俯仰角调整为负值可矫正。如下图所示,相机俯仰角RX是相机基于水平地面向下(向上)倾斜。
![]() | ![]() |
|---|
4.3.2.4 航向角RY模块
- 通过“单次示教(近端标定)”获取相机航向角度。不建议手动调节此参数,可能会导致识别结果有偏差。如自动标定无法标出,请与迈尔微视售前人员进行联系。
- **航向:**相机水平左右角度偏差。如相机顺时针方向有旋转角度,则航向角调整为正值可矫正。如下图所示,相机航向角RY是相机基于水平地面顺时针(逆时针)旋转。
![]() | ![]() |
|---|
4.3.2.5 翻滚角RZ模块
- 通过“单次示教(近端标定)”获取相机翻滚角度。不建议手动调节此参数,可能会导致识别结果有偏差。如自动标定无法标出,请与迈尔微视售前人员进行联系。
- **翻滚:**相机安装位置左右倾斜。如下图所示,相机翻滚角RZ是基于水平地面向右(左)倾斜。
![]() | ![]() |
|---|
4.4 文件导入
在“离线测试”中,简单的说明了文件导入的功能。可点击“高级应用”进行查看(文件导入功能仅在“离线测试”时使用)。
4.4.1 参数文件
- PalletPro打开相机后,自动获取到相机标定文件并在此参数文件栏显示。
- 可在离线测试时,将相机pallet_setting.json标定文件拖拽到参数文件栏中。
4.4.2 输入文件
- 将得到的png格式的托盘图片拖拽“输入文件栏”中,即可对单张png图片离线测试。
4.4.3 文件夹
- 将整个图片文件夹拖拽到“文件夹”中,即可对文件夹图片离线测试。
4.5 日志打印
PalletPro软件左下角位置,实时显示日志打印信息。4.5.1 打开相机的日志打印
![]() | ![]() |
- [相机启动中]
- 打印[status changed to]——状态已更改
- [API Version 2.4.20]——API版本
- [firmware_verv1.1.75_240608_sp]——相机固件版本信息
- [相机192.168.100.82:3956启动成功]——相机成功启动
- [Embeded Alg Ver:0.7.5_@Jun 18 2024]——算法固件版本信息
4.5.2 修改RX、RY、RZ、安装方式日志的打印
![]() | ![]() |
- [欧拉角 -0.2 -0.3 -0.3 倒装]——打印俯仰角、航向角、翻滚角、安装方式的信息。
4.5.3 相机操作选项中获取log日志的打印
![]() | ![]() |
- 当通过【相机操作】选项中,点击“只获取log”按钮,在日志打印栏显示[开始获取日志]
4.5.4 嵌入式时日志的打印
![]() | ![]() |
- [InnerFailed. Err=-6]——相机运行算法的识别结果当前为识别失败。

- [Inner -1390, 1, -0.01]——相机运行算法的识别结果当前为识别成功。
4.6 图像显示

- 点击“打开相机”后,在【图像显示】界面,实时显示当前图像。
- 离线测试时,在【图像显示】界面,显示图像识别结果。
5. 应用指南
本应用指南主要介绍相机的准备工作、相机外参标定以及在叉车识别效果。5.1 准备工作
准备好标准托盘做标定使用。(如下图为标准托盘)


5.2 网络配置
以Win10系统为例,双击控制面板 进入控制面板后,点击“查看网络状态和任务”。







5.3 确认软件版本
网络配置完成后,需要将系统的防火墙关闭。才可进行版本确认。
- LxCameraViewer上位机软件安装Lanxin-MRDVS-1.3.47.0611.exe及以上版本。
- 相机固件0608以上版本。
- 托盘算法0.7.4以上版本。
5.3.1 LxCameraViewer上位机版本确认
双击打开“LxCameraViewer”软件。 点击相机ID“FA4351148898”,ID会变为蓝色。![]() | ![]() |

5.3.2 相机固件版本确认
点击“打开”按钮,相机启流成功,在界面左下角设备信息栏中显示相机固件版本。相机固件版本低于0607,请与迈尔微视售前人员联系获取新版固件。![]() | ![]() |
5.3.3 托盘算法版本确认
在确认软件版本、算法版本后。在当前页面,点击“应用算法”按钮,在界面右侧显示应用算法栏。第一次使用LxCameraViewer上位机应用算法处于关闭状态。
![]() | ![]() |
5.4 LxCameraViewer调整相机成像
需要通过LxCameraViewer上位机软件中3D设置“高曝光”和滤波“低信号阈值”调节相机成像。本次识别托参数设置为:高曝光:1400 低信号阈值:20 在LxCameraViewer软件界面右侧功能栏中进行调节参数。


![]() | ![]() |


5.5 LxCameraViewer应用算法设置
在LxCameraViewer上位机中,点击“应用算法”,界面右侧会显示应用算法设置,需要将应用算法选择为“托盘定位”。工作模式根据情况选择【断开时关闭】或【常开】。本次应用选择【断开时关闭】。
5.6 PalletPro初始高度设置
打开PalletPro软件后,选择对接相机IP,点击“打开相机”按钮,相机运行。





5.7 外参标定讲解
“5.6”章节讲解在初次打开软件需要设置安装高度。在实际应用中需要对相机进行外参标定,从而确定相机、叉车和托盘之间的关系。打开PalletPro托盘软件连接相机后,点击【外参标定】按钮。


5.7.1 托盘示教(近端)讲解
确认为标准托盘、周围环境无遮挡、距离在1.3m左右的情况下,点击【托盘示教(近端)】按钮,近端标定完成会有提示框进行提示,并在左侧“参数设置”栏中显示近端标定成功得到的信息(近端标定会标出相机安装高度、俯仰角、航向角)。


5.7.2 托盘示教(远端)讲解
注:建议进行远端标定,保证相机的标定结果正确。 基于“托盘示教(近端)”后,【托盘示教(远端)】按钮会显示可按下,将叉车基于当前位置,向后移动到600-1000mm左右(不可左右移动),托盘距离叉车大概2-2.4m位置,进行远端标定。如下图所示,移动到2.1m位置,点击【托盘示教(远端)】按钮,开始远端标定。


5.8 校验标定结果
完成近端标定和远端标定即可开始验证标定结果精度。5.8.1 标定结果验证
将叉车在远端标定处与近端标定处来回移动观察R输出的距离(x值)、横向偏差(y值)以及角度的数据,在x和y误差10mm范围内且识别稳定无漏识别情况,即视为标定成功,可正常运行叉车。5.8.2 托盘软件相机坐标系说明
相机在托盘软件下的坐标型如下图所示。 **示例:**x, y, theta = (-2000, 100,2.3) 代表托盘距离相机光心2000毫米,偏右100毫米,角度偏差2.3°(俯视图,逆时针方向)。 发送数据结果为X:-2000;Y:100;theta:2300

5.9 地牛叉车相机应用
5.9.1 叉车标定
叉车标定与【外参标定讲解】相同。 近端标定- 近端标定方案采用示教标定法,需将叉车手动控制对接一次托盘,叉车插取托盘时是居中状态,如下图所示。

- 直线将叉车(托盘还在地面无需举升)远离托盘,保证叉尖距离托盘前沿200mm左右,如下图所示。

- 届时点击近端标定可标定出安装高度、横向偏移、航向角与翻滚角。



6. 通信协议
6.1 TCP + UDP协议
通信协议支持TCP Server + UDP。通过LxCameraViewer上位机选中应用算法“托盘定位”,工作模式选择【常开模式】。
6.2 协议内容
二进制形式,一般不超过128字节(标准长度为16个字节)。 采用Big-Endian模式:高字节在前,低字节在后。6.3 通信帧格式
客户端 to PalletPro托盘软件| 字节位 | 0 | 1 | 2-3 |
| 内容 | Code,无符号char 使用字符0x60 | 字节长度,4 无符号char | 指令代码 0:开启 1:结束 |
| 字节位 | 内容 | 备注 |
| 1-2 | Code,返回值,16位无符号整型(unsigned int) 0表示识别成功;其他值未识别失败,具体定位见第八部分 | |
| 3-4 | 整体字节长度(字节数),16位无符号整型(unsigned int)。当前为24 | |
| 5-8 | 托盘识别X,Y,theta,Z的符号,0x00为正,0x01为负。 | |
| 9-12 | 托盘前部中心点位置X,4字节无符号整型,单位毫米 | |
| 13-16 | 托盘前部中心点位置Y,4字节无符号整型,单位毫米 | |
| 17-20 | 托盘前部中心点位角度theta(单位角度),4字无符号整型,单位:角度*1000 | |
| 21-24 | 托盘高度(以相机光心为远点,向下为正),4字节无符号整形,单位:毫米 | |
| 25-32 | 8个字节的拓展,置为0 |
6.4 UDP通信案例
- 使用UDP通信方式时需在上位机将算法工作模式设置为【常开模式】
- 端口配置如图:主机端口号为8000
- 发送内容 0x60 0x04 0x00 0x00,表示启动识别任务
- 发送内容 0x60 0x04 0x00 0x01,表示结束识别任务

| 字节位 | 内容 |
| 1-2 | Code,返回值,16位无符号整型(unsigned int)0表示识别成功;其他值代表识别异常1:相机打开异常2:托盘定位失败3:相机内部异常 |
| 3-4 | 整体字节长度(字节数),16位无符号整型(unsigned int)。当前为24 |
| 5-8 | 托盘识别X,Y,theta,Z的符号,0x00为正,0x01为负。 |
| 9-12 | 托盘前部中心点位置X,4字节无符号整型,单位毫米*1000 |
| 13-16 | 托盘前部中心点位置Y,4字节无符号整型,单位毫米*1000 |
| 17-20 | 托盘前部中心点位角度theta(单位角度),4字无符号整型,单位:角度*1000 |
| 21-24 | 托盘高度(以相机光心为原点到托盘横梁距离,向下为正),4字节无符号整形,单位:毫米*1000 |
| 25-32 | 8个字节的拓展,置为0 |
6.5 TCP通信案例
- 使用TCP通信方式时需在上位机将算法工作模式设置为【常开模式】
- 端口配置如图:相机为TCP SERVER端口号5501
- 发送内容 0x60 0x04 0x00 0x00,表示启动识别任务
- 发送内容 0x60 0x04 0x00 0x01,表示结束识别任务

| 字节位 | 内容 |
| 1-2 | Code,返回值,16位无符号整型(unsigned int)0表示识别成功;其他值代表识别异常1:相机打开异常2:托盘定位失败3:相机内部异常 |
| 3-4 | 整体字节长度(字节数),16位无符号整型(unsigned int)。当前为24 |
| 5-8 | 托盘识别X,Y,theta,Z的符号,0x00为正,0x01为负。 |
| 9-12 | 托盘前部中心点位置X,4字节无符号整型,单位毫米*1000 |
| 13-16 | 托盘前部中心点位置Y,4字节无符号整型,单位毫米*1000 |
| 17-20 | 托盘前部中心点位角度theta(单位角度),4字无符号整型,单位:角度*1000 |
| 21-24 | 托盘高度(以相机光心为远点,向下为正),4字节无符号整形,单位:毫米*1000 |
| 25-32 | 8个字节的拓展,置为0 |
6.6 485通信案例
注:485通信仅支持M4 PRO相机。 串口定义: 波特率9600,8个数据位,没有奇偶校验位,1个停止位 Modbus地址默认为0x17,可以通过SDK配置,范围1-247。 开启/关闭托盘算法,功能码0x06, 寄存器定义120(0x0078),0:关闭 1:开启。 实例: 叉车->设备 17 06 00 78 00 01 CA E5 (开启识别) 17 06 00 78 00 00 0B 25 (关闭关闭) 17:modbus地址 06:功能码 0078:寄存器地址 0001:寄存器值 AB20:CRC校验码 设备->本体 [17][06][00][78][00][01][CA][E5] 获取托盘结果,功能码0x04, 寄存器定义122(0x007A) 实例: 本体->设备 17 04 00 7A 00 08 D2 E3 (获取识别结果) 17:modbus地址 04:功能码 007A:寄存器地址 0010:寄存器数量(modbus定义的寄存器是2字节,托盘每个 字段结果是4字节,所以读8个寄存器) D2E3:CRC校验码 设备->本体 [17][04][10][00][00][00][01][00][00][00][02][00][00][00][03][FF][FF][FF][FE][00][00][00][03[86][d2] 17:modbus地址 04:功能码 10:长度 [00][00][00][01]:托盘结果x [00][00][00][02]:托盘结果y [00][00][00][03]:托盘结果yaw [FF][FF][FF][FE]:托盘返回值 [00][00][00][03]:托盘结果高度H [86][d2]: CRC校验码6.7 CAN通信案例
注:当前can协议仅支持M4/M4mega系列相机。- 通信协议采用CanOpen, CanOpen协议是在标准的CAN总线上运行的应用层协议,其通信模式也是工业通信协议常用的“主从”模式通信,也就是网络中会有一个主站+多个从站,从站之间不会直接互相通信,所有通信都是主站与从站之间进行的。主站也被称为“客户端”,从站也被称为“服务器”。
- 底层通信方式使用CAN标准帧格式,也就是CAN ID为11位(0x000~7FF),数据8字节。
- 对于CAN ID的使用约定:
| CAN帧ID | ||||||||||
| 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 功能码 | 节点号 |
| Data | |||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 命令码 | 索引 | 子索引 | 数据 |
| Data | |||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 0x40 | 0x00 | 0x01 | 0x00 | MODE CTRL | 0x00 | 0x00 | 0x00 |
| Data | |||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| count | result | yaw |
| Data | |||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| X | Y |
| Data | |||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| Height | LeftHoleWidth |
| Data | |||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| RightHoleWidth | MiddleLegWidth |
6.8 modelbas通信案例
Modbus只支持0.8.1及之后的版本 从端配置参数 1.1 基础通信配置- 端口号:6601
- 监听地址:所有网络接口
- 寄存器数量:20个
- 寄存器其实地址:0x100 (256)
| 地址偏移 | 寄存器地址 | 内容描述 | 备注 |
| 0 | 0x100 | 返回值绝对值,0 表示识别成功;其他值未识别失败 | 16位无符号整数 |
| 1 | 0x101 | x的符号 | 0正,1负 |
| 2 | 0x102 | y的符号 | 0正,1负 |
| 3 | 0x103 | yaw的符号 | 0正,1负 |
| 4 | 0x104 | height的符号 | 0正,1负 |
| 5 | 0x105 | 托盘前部中心点位置X,单位mm | 16位无符号整数 |
| 6 | 0x106 | 托盘前部中心点位置Y,单位mm | 16位无符号整数 |
| 7 | 0x107 | 托盘前部中心点位角度yaw(单位角度),单位:角度*1000 | 16位无符号整数 |
| 8 | 0x108 | 托盘高度(以相机光心为远点,向下为正),4字节无符号整形,单位:mm | 16位无符号整数 |
| 9 | 0x109 | 托盘宽度,单位:毫米 | 16位无符号整数 |
| 10 | 0x10A | 托盘腿的个数 | 16位无符号整数 |
| 11~19 | 备用 |


7. 常见问题
7.1 标定报错
非标准托盘标定导致报错。 非标准托盘,托盘规格在第一章【简介】有说明。


7.2 识别失败
距离太近导致识别失败 软件默认z最小值为1.2m,如果相机距离托盘小于1.2m不会识别。软件界面报错“failed:-6”。










7.3 对接失败
叉车视觉对接失败,需根据相机的日志、叉车导航去分析判断,因为对接过程属于多方进行,无法简单判别出是相机还是叉车。 **解决方案:**当出现对接失败时,如果排查不是车体问题,可找迈尔微视售前人员获取相机日志识别结果图片,排查相机识别问题。7.4 对接偏差
叉车视觉对接偏差,也是需要多方一起去排查,可先通过获取相机日志识别结果,判断是否是相机识别错误导致。 **解决方案1:**如果叉车每次对接托盘都偏,那可能是相机标定问题。建议重新使用标准托盘进行标定后,再次对接托盘查看是否有偏差。 **解决方案2:**如果无标定托盘,没有标定环境。可将叉车插取托盘中心,然后拉出叉车叉臂距离托盘500mm,通过PalletPro软件查看识别结果,如输出坐标为Y方向在10mm波动属于正常范围,如果超出值特别大,请手动调节横向偏差。 例: 托盘在相机的视野正中心。理论y结果“0”,但是实际检测结果为“-42”。



8. 附录
8.1 错误码
接收到数据均为0.0.0的情况时,打开PalletPro软件时有图像输出,但是图像显示界面显示为负值错误码。可根据错误码对应的解决方法进行解决。如果修改后仍无法解决,请与迈尔微视售前人员联系。| 错误码 | 说明 | 解决方法 |
| 0 | 正常识别 | / |
| -1 | 图像无数据或数据不足 | 通过上位机软件确认相机是否正常出图。 |
| -2或-6 | 点云数据过少,未检测到托盘腿 | 可能存在原因 1.相机或叉臂抬升高度发生变化 2.腿部被遮挡 3.相机或叉臂发生俯仰 4.腿部成像不足 5.反光柱靠托盘太近影响相机成像 注:建议通过PalletPro软件确认后进行配置参数调整、调整反光柱,或调整叉车姿态。 |
| -3 | 托盘腿尺寸未满足需求或未检测到托盘腿 | 托盘腿部特征超过识别范围 (可调整腿宽或者托盘宽度范围) |
| -4 | 相机安装高度未设置 | 调整安装高度 |
| -5 | 托盘校验未通过:托盘横梁检测异常或托盘倾斜角过大 | 横梁未识别到,建议通过上位机关闭飞行像素,或调整对接距离使相机靠近托盘。 |
| -7 | 视野中托盘腿宽度差异过大 | 检查托盘附件是否有反光柱或者靠近墙面影响边缘腿成像 |
| -8 | 视野中托盘角度倾斜过大(>30度) | 摆正托盘 |
8.2 双腿识别算法说明
**方法一:**通过修改高级参数中的“two_leg”值,1为开启,0为关闭。 注:当双腿识别功能开启时,系统优先检测三腿托盘,检测失败后,才进行双腿托盘检测。 方法二:通过参数配置实现。参数配置通过JSON格式字符串输入,配置传入后自动写入相机内部。 示例:8.3 多托盘识别说明
启用多托盘识别开关(默认关闭),multi_level = 1;
- 软件界面部分,最上端相机坐标数据和机器人下坐标数据保持不变,同单托盘兼容,反馈最下端识别到的托盘结果;多托盘识别开启后,下侧的绿字代表识别到的多层托盘数据,由上至下排列。如识别失败,则反馈失败错误码。

- 结果输出部分。通过上位机C++ API调用,调用接口如下:
| Extents | 内容 | 说明 |
| 0 | 托盘高度(以相机光心为远点,向下为正) | 最底部托盘 |
| 1 | 托盘长度(左腿中心到右腿中心的距离) | |
| 2 | 托盘腿的数量 | 2 or 3 |
| 3 | 托盘腿1宽度 | |
| 4 | 托盘腿2宽度 | |
| 5 | 托盘腿3宽度 | |
| 6 | —— | |
| 7 | 托盘孔宽度(左) | |
| 8 | 托盘孔宽度(右) | |
| 9 | —— | |
| 10 | 托盘总数n(有效,从上到下,最大4) | |
| 11 12 13 14 | p1: | 第1个托盘信息 |
| 15 16 17 18 | p2: | 第2个托盘信息 |
| 19 20 21 22 | p3: | 第3个托盘信息 |
| 23 24 25 26 | p4: | 第4个托盘信息 |
8.4 定制算法说明
如需三腿托盘以外的托盘识别(如无腿托盘),请与迈尔微视售前人员或销售人员沟通。如下图所示都需要定制算法。![]() | ![]() |
![]() | ![]() |
![]() | ![]() |

8.5 推荐运动控制方式
8.5.1 两次对接
两次对接方式采用两次获取相机识别结果、分别为远端定位、近端校验、盲走叉取三步方式进行叉取托盘。 远端定位: 叉车接收到调度任务运动到对接点启用托盘识别相机数据,叉车通过运动控制进行角度与横向偏移调整,远端对接点建议托盘距离相机范围1800mm-2800mm范围内。 近端校验: 叉尖距离托盘前沿200mm是再次获取相机识别结果,校验对接精度是否满足叉取,满足叉车直线叉取托盘,不满足原地调整叉取托盘再进行叉取。8.5.2 实时对接
实时对接方式采用实时获取相机识别结果,并结合到运动控制叉车实时调整位姿,待叉车运动到叉尖距离托盘前沿200mm左右时,进行微调然后直接叉取托盘。 注:使用实时对接时需要加入时间戳,通过算法结果的时间戳判断数据更新,防止延时导致的误纠偏。8.6 特殊说明
8.6.1 黑色栈板金属栈板识别特殊说明
- 因TOF原理M系列相机受低反、高反反射率影响,5%反射率的黑色栈板可实现2m范围内的成像效果,调试时也可通过上位机软件高积分时间与低信号阈值优化黑色栈板成像效果。
- 黑色栈板可识别的范围横向偏移最大可支持±400mm(相机光心距离栈板中心),最大可支持托盘旋转角度±10°。
- 高反反射率大于100%时、低反反射率低于5%时,即黑色托盘与金属原色托盘进行识别评估时,建议客户使用M系列产品进行实际测试,以判断识别效果。
8.6.2 识别托盘条件说明
标准托盘实现判断依据须同时满足以下条件(标准托盘类型仅限:第一节介绍中图片所示) ①:托盘宽度范围:800mm-2000mm; ②:托盘长度范围:800mm-2000mm; ③:托盘高度范围:80mm-200mm; ④:托盘腿宽度范围:40mm-200mm; ⑤:托盘孔宽度范围:300mm-600mm; ⑥:托盘横梁厚度:30mm以上; ⑦:托盘识别距离1200mm-3000mm ⑧:必须保证托盘整体在相机视野内不受干扰、托盘无遮挡。 尽量避免托盘被遮挡的情况,如下图所示。
8.6.3 高位取货反光柱部署影响
在立体库位叉车存取货物时,导航需通过反光柱实现定位,但托盘识别相机又容易被反光柱影响识别,需在部署时规避反光柱对托盘识别造成识别影响,建议在实施部署反光柱时,让反光柱与托盘腿错开相对间距20cm或以上,如图所示。











































