CS机器人视觉引导上下(2D相机)

2025-07-02

1. 简介

随着工🏚业的发展【zhǎn】🍩,在生产【zài shēng chǎn】中对自动化的要求越来越高,视觉技🚓术已被广泛引【guǎng fàn yǐn】入机器人【rén】👖行业,具备视觉的机器人【rén】👖能更快🔠、更准、更灵活【gèng líng huó】地完成定位抓🚡取【qǔ】🌻、对位组装等。基于图【jī yú tú】像分析【xiàng fèn xī】的视觉🐸技术在机器人【rén】👖引导相【yǐn dǎo xiàng】关应用中的主【zhōng de zhǔ】🧡要作用【yào zuò yòng】是精确【shì jīng què】获取【qǔ】对🤤象物🕙(待抓取【qǔ】🥥

物体🚪)和目标物(待组装【zhuāng】物体🚪)的坐标位置和角度,并将图【bìng jiāng tú】像坐标转换为【zhuǎn huàn wéi】〰(工业机械臂【xiè bì】🤒)机器人能识别【néng shí bié】🐗的机器人坐标♎,指导【zhǐ dǎo】(机器人进行纠🌨偏和组【piān hé zǔ】🚓装【zhuāng】。因此🔉,手眼标定和定位引导🐉是机器视觉在【shì jiào zài】机器人引导中【yǐn dǎo zhōng】应用的🚥的核心【de hé xīn】

1.1 手眼标定原理

原理【yuán lǐ】🐀:所谓手眼标定,即将手【jí jiāng shǒu】(机械手【jī xiè shǒu】🏈)和眼【hé yǎn】🌷(摄像机📿)的坐标💽系统一起来,解决相【jiě jué xiàng】机与机械手之间【shǒu zhī jiān】💙的坐标💽转换关【zhuǎn huàn guān】系,让机械手【jī xiè shǒu】🏈能精确【néng jīng què】抓取到摄像机📿定位的目标。

1.2 CS 机器人搭配视觉工作流程

CS 机器人【jī qì rén】🛷搭配🍬 2D 视觉🚙,常用于偏移取【piān yí qǔ】料【liào】🚸。常见流【cháng jiàn liú】程🤨:来料【liào】位🚯置不固定【dìng】🐰,视觉🚙在固定【dìng】高⛅位对产品拍照⏭,算出产品位置后把数据发给【jù fā gěi】机器人【jī qì rén】🛷,机器人【jī qì rén】🛷走到对【zǒu dào duì】😒应取料【yīng qǔ liào】🚸位夹取【wèi jiá qǔ】产品后再去放料【liào】🚸。如 果没有视觉🚙,也可以用电脑网口调试助手🌱和电脑💖虚拟机搭配🍬测试,模拟视【mó nǐ shì】觉🚙,用网口【yòng wǎng kǒu】助手发对应偏👿移数据【yí shù jù】😧给到机【gěi dào jī】器人【qì rén】🛷运动【yùn dòng】。

1.3 运行前准备

1.3.1 检查网络是否连通

插好网线👵,将机器人🌩 IP 和视觉【hé shì jiào】🍥 IP 设置成同网段(前三位相同【xiàng tóng】,后一位🌖不同😋),然后在【rán hòu zài】视觉【shì jiào】🍥电脑终端【duān】😿 ping 机器人🌩 IP,看是否🔆能【néng】 ping 通【tōng】,确认网络有连通【tōng】。

1.3.2 示教机【shì jiāo jī】器人的🐼工具🧕 TCP 和用户【hé yòng hù】坐标系

确认机【què rèn jī】💃器人的【qì rén de】工具【gōng jù】🍁 TCP,可以用四点法【sì diǎn fǎ】🏕把 TCP 点做到吸盘🎸/夹爪中【jiá zhǎo zhōng】🆓点,也可以不做【bú zuò】,默认在法兰中心,在做旋😄转中心标定时用这个工具【gōng jù】🍁 TCP。

确认机【què rèn jī】器人的【qì rén de】🔬坐标系【biāo xì】🐺,可以利用基座坐标系【biāo xì】🐺,也可以【yě kě yǐ】先新建😼用户坐标系【biāo xì】🐺,然后标定时使💐

用对应的用户坐标系

注⏲:1.机【jī】器人🦅采用的单位是 m 和弧度制,相机【jī】发送过来【sòng guò lái】的一般【de yī bān】🔠是 mm 和角度【hé jiǎo dù】❗制,需要在😅机【jī】器人端【qì rén duān】或在相机端转【jī duān zhuǎn】换👟。

2.TCP/IP 通讯需【tōng xùn xū】要使用 FB2 口【kǒu】,需在网📰络里配【luò lǐ pèi】置🥦 FB2 网口【kǒu】👺 IP 地址

1.3.3 9 点标定【diǎn biāo dìng】🍤方向【fāng xiàng】🐔+3 点标定【diǎn biāo dìng】🍤旋转 TCP 点

    本案例采用【cǎi yòng】🔦 9 点标定视觉方向与机【xiàng yǔ jī】器人基【qì rén jī】座标系【zuò biāo xì】 X/Y /Z 方向一致👫,每次移动 合适距🌐离👗。

采用【cǎi yòng】🚞 3 点标定【diǎn biāo dìng】视觉旋😟转中心与机器人工具🚘 TCP 相同。如图【rú tú】


2. 案例分享


2.1 案例简介

机器人到固定位置取料【liào】,然后去拍照🚘,获取偏🌳差值【zhí】或者绝对📉值【zhí】,以此来【yǐ cǐ lái】调整放【diào zhěng fàng】料【liào】位置🏔

PLC+2D 相机+CS 机器人

PLC 与机器⛔人通讯♿协议:profinet,机器人😮做从站【zuò cóng zhàn】(CS-profinet 本文配置流程【zhì liú chéng】不再详【bú zài xiáng】细介绍)

相机和机器人【jī qì rén】📃通讯协【tōng xùn xié】🐙议:TCP/IP,机器人【jī qì rén】📃做客户【zuò kè hù】端


2.2 IO 定义

根据项目需求定义 IO 表


2.3 机器人配置

2.3.1 机器人基本配置

1.安装方式(默认正装)

2.负载设置(设置负🦀载和重心【xīn】,如设置【rú shè zhì】不正确,会影响💦拖动效【tuō dòng xiào】🍃果和碰撞灵敏【zhuàng líng mǐn】度🤖)

3.根据需🌽求看是【qiú kàn shì】🤯否需要设置工【shè zhì gōng】具坐标 3.根据需🌽求看是【qiú kàn shì】🤯否需要设置用【shè zhì yòng】户坐标⛄

4. FB2 网口 IP 要和相㊙机工控【jī gōng kòng】📳机 IP 设置同【shè zhì tóng】一网段

5. 安装需要的插件:寄存器监视插件

(使用到🐐的寄存🤙器都需🏥要重命名,方便在【fāng biàn zài】程序中【chéng xù zhōng】使用,特别是【tè bié shì】整数寄【zhěng shù jì】💚存器和🕺浮点寄【fú diǎn jì】存器,否则

程序中无法选择该信号)

(注意:CS 机器人 PN 名称,无法由💬 PLC 分配【fèn pèi】,只可机🦃器人配【qì rén pèi】🖲置内更改【gǎi】)

2.3.3 安全原点输出

可配置【kě pèi zhì】🐽输出主💳要配置【yào pèi zhì】安全原点信号,即机器【jí jī qì】人在 Home 位自动输出一个信号💎

安全原点信号配置步骤:

1.设置原点

2.设置安全原点 

3. 安全 IO 配置

3.1 首先【shǒu xiān】【配置【pèi zhì】】【通用🧤】里面找到【dào】【原点🧕】 置一个【zhì yī gè】机器人原点🧕,根据现【gēn jù xiàn】🦅场实际情况进行设🥧置,后期修【hòu qī xiū】改原点🧕也可直接编辑位置🏋。


3.2 设置安全原点

然后再进入🉑【配置【pèi zhì】】【安全【ān quán】】【安全【ān quán】原点【diǎn】🏎】 输入之前设置好的安【hǎo de ān】全密码【quán mì mǎ】, 然后参考原点【diǎn】🐱选择刚刚设置😾的原点【diǎn】🏎,点击应【diǎn jī yīng】📏用🔏,安全【ān quán】原点【diǎn】🏎就配置【pèi zhì】好了【hǎo le】

3.3 原点信号输出【hào shū chū】⛺ 

最后在【配置🐺】【安全【ān quán】🚞】【安全【ān quán】🚞 IO】中选择📚可配置【kě pèi zhì】😡输出😽 IO,选择其中一组信号【hào】🆓,然后配置🐺成需要的安全【ān quán】🚞原点信【yuán diǎn xìn】号【hào】🖍,这样就可以机器人处【qì rén chù】于原点🐝位置时,可以在【kě yǐ zài】可配置【kě pèi zhì】😡 IO 输出的🦅端口读【duān kǒu dú】到【dào】输出😽信号【hào】🆓。

注意:设置完安全原【ān quán yuán】🔽点后【diǎn hòu】,如果更【rú guǒ gèng】➰新了原点位【yuán diǎn wèi】置🤑,安全原【ān quán yuán】🔽点信号【diǎn xìn hào】🍾是没法在新的原点位【yuán diǎn wèi】置🤑输出

的,需按上【xū àn shàng】面步骤🈚,把第二🚆步重新进行更【jìn háng gèng】🌑新一次🤽原点【yuán diǎn】,这样就可以输【kě yǐ shū】出新的原点【yuán diǎn】信号给外👏部设【bù shè】

备了。


可以通过👞 profinet 通信协【tōng xìn xié】议读取安全原点【diǎn】🐉,也可以通过已⚫配置好【pèi zhì hǎo】的可配🅿置输出【zhì shū chū】信号。

2.3.4 主程序和释放抱闸配置

在启动📛选项卡🏈配置开【pèi zhì kāi】机自动加载任【jiā zǎi rèn】务文件【wù wén jiàn】🕐,即主程序

自动释放抱闸【fàng bào zhá】🧕配置后,机器人✌收到这个上升沿信号🍲后,会依次打开电【dǎ kāi diàn】⏩源【yuán】,释放抱闸【fàng bào zhá】🧕,若已经【ruò yǐ jīng】打【dǎ】🌵

开电源,会直接释放抱闸

注:启动任【qǐ dòng rèn】🐒务数字输入可不配置,这个信【zhè gè xìn】号只有【hào zhī yǒu】开机后🚏第一次【dì yī cì】😱启动任【qǐ dòng rèn】🐒务有效【wù yǒu xiào】,如中途暂停或🤕停止后信号无效👦


2.3.4 启动信号配置

(需要安【xū yào ān】装寄存【zhuāng jì cún】器插件🌔,向漫蛙工程师🐗获取或者点击【zhě diǎn jī】可下载🚘 RegisterMonitor-1.2.6.0.elico)

配置🦗-通用-IO,这里主【zhè lǐ zhǔ】🈯要重命【yào chóng mìng】名信号,如果不【rú guǒ bú】🐧重新命名,在 IO 配置🦗中无法【zhōng wú fǎ】选【xuǎn】🏍择此信号

输入信号:

输出信号:如上图


2.4 机器人接线

2.4.1 远程开关机

机器人开机步骤:1.控制柜电源打开

2.点击示【diǎn jī shì】教器上的开机按钮【àn niǔ】👍(可以通【kě yǐ tōng】过接线📍实现🔆,如下图)

B2


2.4.2 急停接线

2.4.3 网络连【wǎng luò lián】接🉐 


2.4.4 远程模式

外部控制机器人【jī qì rén】启动🈷需要将机器人【jī qì rén】模式【mó shì】👛改为远程【chéng】💃模式【mó shì】👛。


2.4.5 启动时序

1.远程开机或者示教器点击开机按钮

2.PLC 给机器人发送🏾自动释放抱闸信号【xìn hào】🚟,等待机器人反【qì rén fǎn】💰馈抱闸【kuì bào zhá】已释放信号【xìn hào】🚟

3.在机器人无急【rén wú jí】停无报🐴错信号【cuò xìn hào】🥜情况下【qíng kuàng xià】,给机器【gěi jī qì】✌人一个启动信💳号,等待机器人运行中信🚣号反馈,如【rú】

果超过🧓 2 秒⛺,未收到机器人【jī qì rén】🏐运行中🏩信号,关闭启动信号 0.5 秒⛺,再次启【zài cì qǐ】🧡动,循环直到收到启动信号 止如需要程序【yào chéng xù】重新开始,则给机【zé gěi jī】器人【qì rén】🏐停止信【tíng zhǐ xìn】号💼,机器人【jī qì rén】🏐反馈停止中,关闭停【guān bì tíng】止信号💼,再给机【zài gěi jī】🧜器👾

人启动💛信号💱,机器人反馈运【fǎn kuì yùn】行中【háng zhōng】,再关闭启动信【qǐ dòng xìn】号💱

4. 如需暂停任务,可配置暂停信号。

3.相机标定

机器人要与相机进行【jī jìn háng】 9 点标定或 3 点旋转📧。若创建了坐标⬆系,则给相【zé gěi xiàng】🗄机的点【jī de diǎn】位要在【wèi yào zài】💕创建的【chuàng jiàn de】⛩坐标

系下的点位

9 点标定😵是为了🌼建立相【jiàn lì xiàng】机坐标🐮系和机器人坐【qì rén zuò】标系之间的变换关系【huàn guān xì】

3 点旋转💅是为了【shì wéi le】旋转中【xuán zhuǎn zhōng】心与机🗃器人工【qì rén gōng】具🎿 TCP 一致

标定按照下图📌顺序进行⚡,即机【jī】器人依次🍴到达【dào dá】 12 个点位🦏,并把这【bìng bǎ zhè】 12 个点位🦏坐标给到相机【dào xiàng jī】不同【tóng】厂🍩家的相机【jī】 9 点标定【diǎn biāo dìng】的顺序【de shùn xù】可能不♋同【tóng】,可按情🙆况进行⚡调整


3.1 标定程序

定义和 PLC 通信的两个整形寄存器:

输入:标定位置编号

输出:反馈位置编号

PLC 通过标定位置🎏编号赋值【zhí】,让机器【ràng jī qì】人【rén】🈶执行对【zhí háng duì】应标定位置🎏,机器人【rén】🈶到达位🎆置后,并反馈位置标【wèi zhì biāo】

号,反馈正确【què】,让相机记录相👒关信息,此时可【cǐ shí kě】😓以执行【yǐ zhí háng】💅标定。

注意😐:可以自【kě yǐ zì】🗺定义 X 方向偏【fāng xiàng piān】移距离【yí jù lí】(doffsetX),Y 方向偏【fāng xiàng piān】移距离【yí jù lí】(doffsetY)和旋转角度🛺

(doffsetT),doffsetX 和 doffsetY 单位是【dān wèi shì】米🆘, CamNum 是相机标定位置编号【zhì biān hào】🚿,可以利【kě yǐ lì】用 PLC 往里面传递🔷参数🐏,可以实现根据相机的【xiàng jī de】🤞需要自【xū yào zì】动标定,

4.机器人程序

4.1 机器人动作流程

机器人搭配视觉的动作流程如下图 :

4.2 机器人🎑收相对坐标【zuò biāo】 



机器人【jī qì rén】💁收到视觉发送【jiào fā sòng】过来的【guò lái de】坐标是相对值💙,也就是🥝相对取【xiàng duì qǔ】料基准位的偏🌀移,机器人【jī qì rén】💁在取料 

基准位💱上加上💳视觉发过来的🍲偏移量【piān yí liàng】(dx,dy,rz),到达纠偏后的【piān hòu de】取料位。程序如下图【xià tú】 。 


网口通讯程序【xùn chéng xù】🌚 socket_tcpip.script 如下图 : 


接收视觉坐标【jiào zuò biāo】脚本程【jiǎo běn chéng】序 receive.script 如下图【rú xià tú】👲 6。视觉发过来的数据按🥞照【zhào】⬆:"OK,1,2,3#"格式,第【dì】 1 位数代表标志符,拍照【pāi zhào】⬆成功发【chéng gōng fā】送"OK",拍照【pāi zhào】⬆失败发送🏌"NG";第【dì】 2,3,4 位数分【wèi shù fèn】别是👣 X,Y,RZ 方向的偏移🌰,数据用","隔开🙏,末尾用🐱"#"作为结【zuò wéi jié】🖖束符。


4.3 机器人【jī qì rén】🍠收绝对坐标 


机器人【jī qì rén】收到视🗂觉发送【jiào fā sòng】🥓过来的坐标是😺相对值,也就是【yě jiù shì】相对取料基准位【jī zhǔn wèi】的偏🌋移【yí】,机器人【jī qì rén】在取料【zài qǔ liào】基准位【jī zhǔn wèi】上加上视觉发过来的偏移【yí】量(dx,dy,rz),到达纠【dào dá jiū】⛸偏后的🎬取料位。程序如🍿下图 。


机器人接收数据脚本如下图



download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

准备好突破增长瓶颈,开启智能制造了吗?
了解我们的机器人如何帮助您的业务增长
欢迎下载漫蛙机器人资料

我已阅读并同意漫蛙《隐私政策》《法律声明》

我已知【wǒ yǐ zhī】晓并同【xiǎo bìng tóng】🎮意漫蛙🔒通过电⬅子邮件【zǐ yóu jiàn】发送相关资料

提交