1. 应用简介
视觉避障是迈尔微视基于自主研发的S系列相机基于 TOF 原理的RGBD相机,整合深度学习与传统3D视觉算法,打造一款适合丰富场景的、精确的、实时的、单机可配置、多机可协同的并且具有一定主动性、预测性的避障系统。 该系统具有以下特点:实时动态检测、自适应检测地面、检测目标动态跟踪、支持多种信号输出、支持多种模式切换、可支持5种模式、支持多机协同工作。2. 相机安装与选型
2.1 潜伏车
如下图所示,潜伏车相机安装的比较低,推荐使用相机S10 系列相机,安装至潜伏车移动方向前表面,且结构设计时注意规避视野干涉。
2.2 叉车
如图2.2所示,智能叉车相机安装较高,推荐使用S10系列相机,安装至叉车门架相机斜向下30°-55°,使相机视野边缘刚好在叉车前表面。且相机安装高度建议不得高于2m。
3. 相机连接设置
1、相机连接前需操作以下设置,相机出厂IP为192.168.100.82连接前需将本地网口IP设置成同网段,如图3.1所示。





4. 避障参数配置
1、完成以上相机参数设置后点击应用算法按钮,右边状态栏会弹出算法设置项,根据应用设置成常开模式,S10相机应用算法需选择【避障算法】。其余相机需选择【避障算法2.0】,下方显示算法版本号。S10相机不支持使用扇形避障区域类型,会导致避障结果偏差。



5. 外参设置
5.1 参数说明
| 参数项 | 参数值 | 说明 |
|---|---|---|
| 避障功能 | 通过设置不同的模式切换不同的避障参数 | |
| 相机角度Roll(x轴) | 180 | 相机外参,俯仰角roll,默认相机正装,为180 |
| 相机角度Pitch(y轴) | 90 | 相机外参,翻滚角pitch,默认垂直安装,为90 |
| 相机角度Yaw(z轴) | 90 | 相机外参,航向⻆yaw,默认为90 |
| 相机位置(距离x) | 430 | 相机前后X方向距离视图中AMR前后距离,单位:毫米。 |
| 相机位置(宽度y) | 0 | 相机左右y方向距离视图中AMR左右距离,如果安装在中间,则为0。单位:毫米。 |
| 相机位置(高度z) | 120 | 相机安装高度参数即相机距地高度。单位:毫米。 |
5.2 参数设置
如相机安装在AGV的前表面时,关闭其他图像仅使用点云图调试相机参数,优先配置相机安装高度,在微调翻滚角RX,将翻滚角调整至水平后,再调整俯仰角RY,将效果调整至如下图所示效果后,点击“下发参数”,相机安装外参即同步到其他配置中。




6. 避障区域设置
6.1 区域参数说明

| 参数名称 | 数值 | 参数定义 |
|---|---|---|
| 预警距离(x远) | 2000 | 避障范围,x方向距离车子中心的距离,障碍超出此距离视为安全;预警距离x(远)与报警距离x(中)之间视为预警减速,界面显示黄色区域。单位:毫米 |
| 报警距离(x中) | 1500 | 避障范围,x方向距离车子中心的距离,障碍低于此距离视为报警停止,界面显示红色区域;预警距离x(中)与报警距离x(近)之间视为预警减速,界面显示红色区域。单位:毫米。 |
| 屏蔽距离(x近) | 600 | 屏蔽范围,x方向低于屏蔽距离x(近)为盲区,此区域无法避障。单位:毫米。 |
| 避障范围左(y左) | -810 | 避障范围,y方向左侧距离车子中心的距离。单位:毫米。 |
| 避障范围右(y右) | 1270 | 避障范围,y方向右侧距离车子中心的距离。单位:毫米。 |
| 避障范围下(z下) | 10 | 避障范围,距离地面高度,低于此高度不处理。如果设置过小,可能由于测距误差导致误报;如果设置过大,可能会过滤掉地面较大障碍导致漏报。单位:毫米。 |
| 避障高度上(z上) | 1500 | 避障范围,距离地面高度,高于此高度不处理。单位:毫米。 |
6.2 避障区域设置
1、当前避障应用内置20组避障区域,用户完成相机参数配置后即可配置避障区域,AMR运动到不同避障范围时切换改配置区域进行控制避障范围(IO:可切换0、1、2、3四组避障区域,UDP、485、API、CAN可切换20组)。- 预警距离(X远):表示相机预警(减速)避障范围2300,即预警距离2300-相机位置430=1870mm,如图6.1所示。
- 报警距离(X中):表示相机告警(停车)避障范围1200,即告警距离1200-相机位置430=770mm,如图6.1所示。
- 屏蔽距离(X近):表示相机屏蔽范围,即屏蔽距离450-相机位置430=20mm,如图6.1所示。

- 避障范围左(y左):表示相机检测避障相机左边-500mm范围的障碍物,如图6.2所示。
- 避障范围左(y右):表示相机检测避障相机右边500mm范围的障碍物,如图6.2所示。

- 避障高度(Z下):表示检测安装高度地面以下10mm范围内的障碍,如图6.3所示。
- 避障高度(Z上):表示相机检测地面以上500mm范围内的障碍物,如图6.3所示。

- 表示正常无障碍物
- 表示预警区域(黄色框范围内)检测到障碍物
- 表示告警区域(红色框范围内)检测到障碍物

7. 通信方式
1、在了解或使用各种通信方式之前,必须使用我们提供的上位机逐一配置避障参数中的内容,才能使用非API通信方式切换不同的避障参数。注意: ①部分通信协议是某款机型特有的,如RS485通信是M4Pro独有; ②使用但不限于API方式获取避障结果是,建议先确认避障配置是否切换成功,即先查询当前避障配置区域号; ③使用UDP、CAN避障通信方式查看避障区域具体见各通信方式具体介绍内容。

| 相机类型 | 支持的避障模块通信方式 |
|---|---|
| S2 | API、UDP、IO |
| S2Max | API、UDP、CAN |
| S2Max V2.0 | API、UDP、IO、CAN |
| M4Pro | API、UDP、RS485 |
| M4 | API、UDP、CAN |
| M4 Mega | API、UDP、IO、CAN |
| 相机类型 | 避障参数索引修改 | 避障详细参数设置支持修改 |
|---|---|---|
| S2 | 所有通信方式均可修改 | 仅限使用我们提供的上位机修改 |
| S2 Max、S2 Max2.0、M4、M4Pro、M4 Mega | 所有通信方式均可修改 | 仅限上位机、API可修改 |
| 优先级 | 通信方式 | 作用对象 |
|---|---|---|
| 1 | IO通信 | 参数即时生效,不可被其它方式干扰,悬空或不支持IO通信情况下使用默认参数或临时参数。 |
| 2 | 上位机、API设置 | 设置的是默认参数,不受断电影响。 |
| 2 | 其它(如485等) | 设置的是临时参数,断电或其他通信都会修改这个参数,可通过指令保存为默认参数, |

7.1 API调用方式
API调用方式可支持windows、Linux、arm等环境的C++、C#、JAVA、ROS1、ROS2等环境,windows环境的SDK安装上位机软件后SDK文件及示例程序代码均在安装路径下(如:D:\Program Files\Lanxin-MRDVS)。Linux环境SDK可联系迈尔微视相关技术支持提供或官网下载。对于S10相机不推荐使用此种方式切换参数,建议使用UDP或IO切换参数。- Document文件夹为SDK及上位机使用说明文档。
- FirmWare文件夹为相机固件包存放目录。
- Sample文件夹为示例代码源码存放目录,可根据开发环境自行选择。
- SDK文件夹为SDK库文件存放目录,可根据开发环境自行配置环境变量。
- 避障应用可参数Sampl目录下的C/application_obstacled的避障API源码程序。
7.2 485通信方式
1、485通信仅支持M4 pro相机,使用Modbus RTU传输协议,以下为相机线束定义:| 端口 | 引脚 | 信号 | 说明 | 备注 |
|---|---|---|---|---|
| 插座定义 | 1 | GND | 信号地 | 蓝色 |
| 2 | 485_A | RS485_A | 灰色 | |
| 3 | 485_B | RS485_B | 白色 | |
| 4 | VIN + | 24V电源输入正端 | 棕色 | |
| 5 | VIN - | 24V电源输入负端 | 黑色 |
- 通过RS485连接时,调试助手中,波特率设置为9600。
- 使用上位机查看当前Modbus地址,读取输入寄存器(0x04)从地址108(0x6C)开始的两个寄存器地址,反馈的寄存器值即为当前避障结果。


- 如果需要修改避障参数,可以写单个保存寄存器(0x06)的106(0x6A)地址。

7.3 UDP通信方式
避障功能类型字段含义:| 编号 | 传输方向 | 报文 | 避障结果 |
|---|---|---|---|
| 1 | 相机->本体 | ACED0410XX000000 | 无障碍,XX代表当前避障参数 |
| 2 | ACED0410XX000001 | 预警减速 | |
| 3 | ACED0410XX000002 | 报警停止 | |
| 4 | 本体->相机 | ACED040000000000 | 建立UDP连接 |
| 5 | ACED041A00000000 | 避障参数0 | |
| 6 | ACED041A00000001 | 避障参数1 | |
| 7 | ACED041A00000002 | 避障参数2 | |
| 8 | ACED041A00000003 | 避障参数3 | |
| 9 | … | (以此类推直到参数19) | |
| 10 | 本体->相机 | ACED041B00000000 | 设置当前参数为默认参数 |
| 11 | 相机->本体 | ACED041B00000001 | 默认参数设置成功 |
- 通过UDP连接时,使用网络调试助手与相机测试通信连接,接受数据与发送数据选择十六进制收发。首次通信建议使用编号4指令,建立UDP连接后,避障结果将自动发送,发送频率与当前图像帧率有关。修改参数后可以通过相机发送到本体的报文信息中确认是否修改成功,编号1报文中的XX即为当前参数。
- DP设置的参数在相机重启前一直生效,除非断电或使用其它通信方式修改。如果想要在断电后依然生效,则可以使用编号10的报文保存为默认参数,保存为默认参数功能为UDP通信特有功能,CAN、485。
- 设置本地主机地址与本地主机端口,点击打开;远程主机为相机,填入相机IP端口:192.168.100.12 :6688 ,如果相机IP有更改,则为:相机IP :6688 ;以当前为参数19将其修改到参数0为例,点击发送编号5数据,设置成功的标志是第5个字节由0x13(参数19)更改为0x00(参数0),如下图。

7.4 TCP通信方式
避障功能类型字段含义:| 编号 | 传输方向 | 报文 | 避障结果 |
|---|---|---|---|
| 1 | 相机->本体 | ACED0410XX000000 | 无障碍,XX代表当前避障参数 |
| 2 | ACED0410XX000001 | 预警减速 | |
| 3 | ACED0410XX000002 | 报警停止 | |
| 4 | 本体->相机 | ACED041A00000000 | 避障参数0 |
| 5 | ACED041A00000001 | 避障参数1 | |
| 6 | ACED041A00000002 | 避障参数2 | |
| 7 | ACED041A00000003 | 避障参数3 | |
| 8 | … | (以此类推直到参数19) | |
| 9 | 本体->相机 | ACED041B00000000 | 设置当前参数为默认参数 |
| 10 | 相机->本体 | ACED041B00000001 | 默认参数设置成功 |
- 通过TCP连接时,使用网络调试助手与相机测试通信连接,接受数据与发送数据选择十六进制收发。建立TCP连接后,避障结果将自动发送,发送频率与当前图像帧率有关。修改参数后可以通过相机发送到本体的报文信息中确认是否修改成功,编号1报文中的XX即为当前参数。
- TCP设置的参数在相机重启前一直生效,除非断电或使用其它通信方式修改。如果想要在断电后依然生效,则可以使用编号10的报文保存为默认参数,保存为默认参数功能为TCP通信特有功能,CAN、485都不支持。
- 相机可以用助手进行测试,协议选择TCP Client,ip选择相机ip,端口选择6688,使用TCP通信前需要确认当前使用的避障区域是否在上位机上设置过

7.5 CAN通信方式
1、CAN通信只支持S2-MAX相机,通信协议采用CanOpen, CanOpen协议是在标准的CAN总线上运行的应用层协议,其通信模式也是工业通信协议常用的“主从”模式通信,也就是网络中会有一个主站+多个从站,从站之间不会直接互相通信,所有通信都是主站与从站之间进行的。主站也被称为“客户端”,从站也被称为“服务器”。 2、底层通信方式使用CAN标准帧格式,也就是CAN ID为11位(0x000~7FF),数据8字节。 3、对于CAN ID的使用约定:把11位的ID分割为4bit的功能码和7bit的节点ID,并且CAN ID也被称为COB ID:


- 参考报文:40 00 00 00 0B 00 00 00,0B:即MODECTRL,表示设置避障参数为区域11。

- 参考字符:43 00 00 00 0B 00 00 02,0B:即MODECTRL,表示当前避障参数为区域11;02:即result,表示当前避障结果。

7.5 IO通信方式
7.5.1 IO输入状态及避障参数对应表
| Input1状态 | Input2状态 | 备注 |
|---|---|---|
| 高电平 | 高电平 | 避障参数2 |
| 高电平 | 低电平 | 避障参数1 |
| 低电平 | 高电平 | 避障参数0 |
| 低电平 | 低电平 | 避障使用默认参数或临时参数 |
- 注意:输入IO悬空时为低电平,高电平推荐电压5~25V。
- 注意:默认参数或临时参数使用逻辑参照第七章(通信方式)前言,简单来说,相机上电后没有使用其它(API除外的)通信方式配置避障参数时均使用默认参数,反之则使用临时参数。
7.5.2 IO输出状态及避障参数对应表
IO状态为push-pull
| Output1状态 | Output2状态 | 备注 |
|---|---|---|
| 24V | 24V | 无障碍 |
| 24V | 0V | 减速信号 |
| 0V | 24V | 急停信号 |
| 0V | 0V | 未开启避障、初始化、异常 |
- 注意:当开启避障但输出IO均为接地状态时请确保当前避障参数已通过上位机设置。

| Output1状态 | Output2状态 | 备注 |
|---|---|---|
| 悬空 | 悬空 | 无障碍 |
| 悬空 | 0V | 减速信号 |
| 0V | 悬空 | 急停信号 |
| 0V | 0V | 未开启避障、初始化、异常 |
7.5.3 S2相机I/O接线方法
带有电源标签的外接线详细信息,如下表所示:| 标签名称 | 颜色 | 备注 |
|---|---|---|
| IN1 | 橙 | I/O功能输入信号线1+ |
| IN_COM1 | 黄 | I/O功能输入信号线1- |
| IN2 | 绿 | I/O功能输入信号线2+ |
| OUT_1 | 紫 | I/O功能输出信号线1+ |
| OUT_COM1 | 灰 | I/O功能输出信号线1- |
| IN_COM2 | 蓝 | I/O功能输入信号线2- |
| OUT_2 | 棕 | I/O功能输出信号线2+ |
| OUT_COM2 | 白 | I/O功能输出信号线2- |
7.5.4 S10相机与工控机I/O接线方式
注意相机24V-应连接工控机电源地,IN_G、OUT_G应连接工控机信号地,客户可根据实际情况修改共地连接方式。若工控机无电源地、信号地区分,可将相机24V-、IN_G、OUT_G都连至工控机GND。7.5.4.1 输入端IN_接线方法
1、下图为工控机PNP型输出与S10相机输入端(以下简写为IN_*,*代表1、2)接线方法:

- 用万用表测量工控机输出端对24V的阻抗,若<50kΩ,则无需上拉电阻;若≥50kΩ,则需增加上拉电阻,推荐优先使用:插件式金属膜电阻(阻值10kΩ,功率≥1W)。其他电阻可临时测试使用但长期使用影响可靠性,且阻值不可小于3k欧姆,不可直连24V。
- 连接确认无误后,将工控机输出端拉高后使用万用表测量输出端对地电压,若电压≤2V,则断开相机电路连接后检查工控机是否能拉高电平;若电压>2V,则再把输出端拉低检查S2相机输入是否有变化,若有变化,则说明可以正常使用;若无变化,则将工控机输出端拉低后测量输出端对地电压,若电压大于1V,则说明上拉强度较大难以拉低,需增加上拉电阻阻值,再测量拉低后S2相机输入是否有变化;若电压小于1V,则断开工控机连线,将相机IN_*通过电阻连至24V、GND,检查相机输入是否有变化,若有变化则检查工控机与相机之间连接是否正确;若无变化则联系技术支持排查问题

7.5.4.2 输出端Out_接线方式
- 相机内部存在与pnp两种f。
- 下图为工控机输入端与S2相机输出端(以下简写为OUT_*,*代表1、2)接线方法:

8. 常见问题处理
8.1 黑色物体
因TOF原理S系列相机受黑色栈板反射率影响,黑色栈板5%反射率可使用S2max相机实现2m范围内的成像效果,调试时也可通过上位机软件高积分时间与低信号阈值优化黑色栈板成像效果。如果避障场景中存在黑色叉臂时建议用户在用户在叉尖部分增加反射率较高辅助避障,如将叉尖前一小段喷漆其他颜色的漆面。8.2 低矮地面物体
地面上的物体无法避障,在避障应用中一般我们以地面为基准进行外参配置,如遇地面的低矮障碍物无法实现避障时可参考以下解决办法进行处理:- 上位机点云图显示未框选到障碍物,需确认避障高度(下)是否为正值,若为正值建议暂时设置为0判断是否能检测到框选到障碍物,若依然不能建议调整相机安装高度。
- 上位机点云图能框选到障碍物体但避障结果输出为0,该现象可能相机安装高度配置不对导致,建议用户调整相机安装高度。
8.3 避障参数不生效
- 配置参数时未点击设置完成。
- 修改了非法参数导致设置失败。
- 相机连接不稳定出现断联导致下发参数失败。
8.4 安装结构干涉
- 安装时相机周边存在遮挡相机视野结构导致相机数据异常。
- 结构设计时相机设计靠后视野干涉导致相机数据异常。
- 相机镜面保护膜未撕掉,导致相机数据异常。
- 相机镜面安装了其他保护玻璃导致数据异常。
- 尚未购买产品,请点我添加售前工程师/销售企业微信
- 已购买产品的用户,请点我添加售后技术支持企业微信
- 官方网站:www.mrdvs.cn
- B站:提供视频教程与应用案例
- Github:下载SDK与示例代码
- 邮箱:service@mrdvs.com
- :400-025-6680