RM新时代赚钱项目

CS機器人安全位置查找功能

2025-05-27

1.  簡(jiǎn)介

  • CS 任務(wù)啟動(dòng)時(shí),如果包含移動(dòng)命令,會(huì )先彈出手動(dòng)移動(dòng)到安全位置的頁(yè)面,由用戶(hù)手動(dòng)操作移動(dòng)到安全位置,然后開(kāi)始任務(wù)運行,保證程序啟動(dòng)時(shí)的安全性。目前查找程序啟動(dòng)位置的邏輯還不夠完善,比如不進(jìn)行調用的子程序的啟動(dòng)位置的查找,比如針對插件節點(diǎn)查找邏輯存在一定問(wèn)題。
  • 針對上述需求,優(yōu)化了任務(wù)啟動(dòng)位置查找邏輯,并規范了完整的查找方案,用戶(hù)也可以根據方案自行推測任務(wù)的啟動(dòng)位置。

         機器人版本:2.12.0以上


2.操作流程

2.1從首行任務(wù)開(kāi)始運行的查找規則

    1.  目前可以作為起始安全位置的節點(diǎn)包括這幾種,固定位置路點(diǎn)、變量路點(diǎn)、相對路點(diǎn)、原點(diǎn)節點(diǎn)。目前這幾種節點(diǎn)的安全位置觸發(fā)邏輯有些不同,具體如下。

    ● 固定位置路點(diǎn)與原點(diǎn)任務(wù)節點(diǎn):程序運行時(shí)如果機器人不在該路點(diǎn)或原點(diǎn)位置,則會(huì )彈出手動(dòng)運行到位置的頁(yè)面,讓用戶(hù)手動(dòng)控制機器人,移動(dòng)到起始位置。如圖-1所示


    圖-1

    ● 變量路點(diǎn)、相對路點(diǎn):由于此兩種位置的路點(diǎn)沒(méi)有固定的位置信息,所以此類(lèi)型路點(diǎn)作為起始位置時(shí),機器人會(huì )直接從當前位置開(kāi)始運行任務(wù),不會(huì )彈出手動(dòng)運行到位置的頁(yè)面,該邏輯可以實(shí)現可變起始安全位置的邏輯。(要注意的是使用變量路點(diǎn)做為起始位置時(shí),要先在初始化變量里對該變量進(jìn)行賦值,如圖-2紅框所示,如果不進(jìn)行賦值就會(huì )出現報錯)


    圖-2

    2.  任務(wù)起始安全位置查找的基礎邏輯是深度優(yōu)先原則,也就是從第一個(gè)節點(diǎn)開(kāi)始,向其內部逐層遍歷子節點(diǎn),直到找到可以作為起始位置的節點(diǎn),如圖-3的任務(wù),會(huì )找到路點(diǎn)_1作為起始位置,遍歷過(guò)程中,并不會(huì )考慮該節點(diǎn)是否真實(shí)的可以運行到(比如If False真實(shí)情況下,并不會(huì )運行,但此時(shí)也會(huì )查找該分支內部的節點(diǎn)作為安全起始位置),而是僅采用深度優(yōu)先原則遍歷。


    圖-3

    3.  如果任務(wù)存在開(kāi)始前序列,則不論是從頭開(kāi)始運行任務(wù)還是使用任務(wù)的任意行運行功能從任務(wù)中間行運行任務(wù),都會(huì )優(yōu)先從開(kāi)始前序列中正向查找起始的安全位置,比如圖-4所示的任務(wù),不論任務(wù)是否從頭運行,都會(huì )找到路點(diǎn)_4作為起點(diǎn)。


    圖-4

    4.  如果程序流程中,存在調用子任務(wù)節點(diǎn),則會(huì )進(jìn)入被調用的子任務(wù)內部按照相應規則,查找起始安全位置點(diǎn)位,如圖-5所示程序,如果任務(wù)從第一行開(kāi)始運行,則會(huì )查找到路點(diǎn)_6作為程序起始位置。


    圖-5

    5.  If節點(diǎn)如果存在Else或者Else If分支,則會(huì )將它們作為一個(gè)整體考慮,其查找順序為先查找If節點(diǎn)內的起始位置,如果該節點(diǎn)不存在起始位置,則按順序依次查找Else或者Else If分支內的起始位置。如圖-6所示任務(wù),則會(huì )查找到路點(diǎn)_1作為程序起始位置;圖-7所示任務(wù)就會(huì )查找到路點(diǎn)_8作為程序起始位置。

    圖-6

    圖-7

    2.2從任務(wù)中間行開(kāi)始運行查找規則

    1.  如果任務(wù)存在開(kāi)始前序列,由于開(kāi)始前序列為順序執行,所以其查找規則與從首行開(kāi)始運行完全相同,不會(huì )從逆向查找,并且不論從任務(wù)的哪行開(kāi)始運行,都會(huì )優(yōu)先正向查找開(kāi)始前序列的啟動(dòng)位置。如圖-8所示任務(wù),即使我的起始位置為路點(diǎn)_2,也會(huì )已開(kāi)始前序列中的路點(diǎn)_4作為起始位置。

    圖-8

    2.  If節點(diǎn)如果存在Else或者Else If分支,如果開(kāi)始運行的行是分支內部的節點(diǎn),則僅在該分支內部查找起始安全位置,該分支內部如果不存在起始安全位置,則向上查找其兄弟節點(diǎn)。如圖-9所示任務(wù),如果從第17行開(kāi)始運行,則會(huì )找到路點(diǎn)_8作為起始位置。下方圖-10所示任務(wù)則會(huì )找到路點(diǎn)_9作為起始位置。

    圖-9

    圖-10

    3.  如果起始行不可以作為起始安全位置節點(diǎn),則會(huì )查找該節點(diǎn)上方的節點(diǎn),如果存在可以作為起始位置的節點(diǎn),則選做起始位置節點(diǎn),如果不存在起始位置節點(diǎn),則會(huì )進(jìn)一步正向查找該節點(diǎn)內部是否存在起始位置節點(diǎn),如果存在,則作為起始位置。如下方圖-11所示任務(wù),如果選擇第4行文件夾為開(kāi)始節點(diǎn),則會(huì )找到路點(diǎn)_3作為起始位置。如果文件夾上方如果沒(méi)有起始路點(diǎn),則會(huì )向下找到起始點(diǎn),如圖-12所示則會(huì )找到路點(diǎn)_1作為起始位置。


    圖-11

    圖-12

    4.  如果當前選中的任務(wù)節點(diǎn)上方無(wú)可以運行到的節點(diǎn)并且內部也沒(méi)有可以運行到的點(diǎn),則會(huì )直接開(kāi)始運行,不再繼續向后考慮支持運行到的路點(diǎn)。所以下方圖-13所示程序會(huì )支持開(kāi)始運行,不會(huì )已路點(diǎn)_4作為起始位置。

    圖-13

    5.  如果起始行的上方存在子任務(wù)節點(diǎn),則會(huì )找到該子任務(wù)節點(diǎn)的終止位置作為起始位置。如下方圖-14所示任務(wù),如果以第19行作為起始行,則會(huì )找到路點(diǎn)_7作為起始位置。

    圖-14

    3.  常見(jiàn)問(wèn)題解答

    1.如果工藝場(chǎng)景有明確的要求起始安全位置要求,最好是增加明確的增加點(diǎn)位而不完全依賴(lài)于起始位置節點(diǎn)查找規則,這樣可以避免一些由于程序邏輯調整,導致查找到的起始位置變化的問(wèn)題。



    download-669.svg comicon14.svg

    電話(huà)咨詢(xún)

    download-397.svg comicon15.svg

    免費試用

    Vector.svg Frame.svg

    微信小程序

    img1.jpg

    微信小程序

    準備好體驗輪式人形機器人帶來(lái)的效率飛躍了嗎?開(kāi)啟智能制造之旅
    了解我們的機器人如何幫助您的業(yè)務(wù)增長(cháng)
    歡迎下載艾利特機器人資料

    我已閱讀并同意艾利特《隱私政策》和《法律聲明》

    我已知曉并同意艾利特通過(guò)電子郵件發(fā)送相關(guān)資料

    提交
    RM新时代赚钱项目