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

2025-07-07

1.  简介

  • CS 任务启🌗动时【dòng shí】⚽,如果包含移动命令【mìng lìng】👀,会先弹【huì xiān dàn】出手动移动到♌安全位【ān quán wèi】置的页面😟,由用户手动操【shǒu dòng cāo】作移动🎭到安全【dào ān quán】位置,然后开🈲始任务运行【yùn háng】,保证程🆔序启动【xù qǐ dòng】时【shí】⚽的安全性【xìng】。目前查💂找程序【zhǎo chéng xù】启动位🎩置的逻辑还不够完善,比如不进行调用的子程序的启动位🎩置的查找,比如针♟对插件节点查【jiē diǎn chá】找逻辑🔕存在一👕定问题【dìng wèn tí】。
  • 针对上【zhēn duì shàng】述需求✖,优化了任务启动位置【dòng wèi zhì】查找逻🎷辑🌓,并规范【bìng guī fàn】😘了完整的查找方案【fāng àn】,用户也可以根据方案【fāng àn】自行推测任务【cè rèn wù】🙆的启动👄位置【wèi zhì】。

         机器人版本【bǎn běn】:2.12.0以上🐢


2.操作流程

2.1从首行任务开始运行的查找规则

    1.  目前可😩以作为📄起始安全位置的节点【de jiē diǎn】🏴包括这几种【jǐ zhǒng】📺,固定位置路点【zhì lù diǎn】🏴、变量路🚆点【diǎn】🏴、相对路点【diǎn】🏴、原点【diǎn】🏴节点【diǎn】🏴。目前这几种【jǐ zhǒng】节🚰点的安【diǎn de ān】🔪全位置触发逻【chù fā luó】辑有些【jí yǒu xiē】不同【bú tóng】,具体如下👔。

    ● 固定位置路点【zhì lù diǎn】🌌与原点任务节点:程序运【chéng xù yùn】行时如🍝果机器🍏人不在【rén bú zài】该路点或原点⏭位置【zhì】,则会弹出手动运行到位置【zhì】的页面,让用户【ràng yòng hù】手动控🌂制机器人,移动到【yí dòng dào】🈯起始位【qǐ shǐ wèi】置【zhì】。如图【rú tú】🥁-1所示🦓


    图-1

    ● 变量路点【diǎn】、相对路点【diǎn】:由于此两种位📿置的路【zhì de lù】点没有【diǎn méi yǒu】固定的🤠位置信息,所以此类型路【lèi xíng lù】点【diǎn】作为起始【wéi qǐ shǐ】♟位置时,机器人🍖会直接⏩从当前🤪位置开【wèi zhì kāi】始运行任务【rèn wù】,不会弹🎋出手动运行到【yùn háng dào】🐈位置的页面,该逻辑可以实现可变起始【qǐ shǐ】安全位置的逻辑【de luó jí】🍼。(要注意的是使🚾用变量路点【diǎn】做😗为起始【wéi qǐ shǐ】♟位置时,要先在【yào xiān zài】初始化🖨变量里【biàn liàng lǐ】对该变🛷量进行赋值【fù zhí】,如图【rú tú】😘-2红框所示【shì】,如果不♎进行赋值【fù zhí】就会出现报🦉错【cuò】)


    图-2

    2.  任务起【rèn wù qǐ】始安全💃位置【wèi zhì】🐱查找的【chá zhǎo de】基👂础逻辑是深度优先原【yōu xiān yuán】则,也就是从第一【cóng dì yī】个节点【gè jiē diǎn】开始,向其内【xiàng qí nèi】部逐层遍历子【biàn lì zǐ】😾节点,直到找到可以作为起【zuò wéi qǐ】始位置【shǐ wèi zhì】🐱的节点🚈,如图-3的任务,会找到路点【lù diǎn】_1作为起【zuò wéi qǐ】始位置【shǐ wèi zhì】🐱,遍历👝过程中🎛,并不会【bìng bú huì】考虑该节点是否真实💶的可以运行【yùn háng】到(比如【bǐ rú】If False真实情况下【kuàng xià】,并不会【bìng bú huì】运行【yùn háng】,但此时🤷也会查【yě huì chá】😧找该分🚆支内部😻的节点🚈作为安🏓全起始🅾位置【wèi zhì】🐱),而是仅🀄采用深🛒度优先原【yōu xiān yuán】则遍历👝。


    图-3

    3.  如果任🧟务存在开始前【kāi shǐ qián】⛏序列【xù liè】,则不论【zé bú lùn】是从头🔥开始运【kāi shǐ yùn】行任务【háng rèn wù】📖还是使用任务的任意行运行功能从🎈任务中【rèn wù zhōng】🤡间行运行任务【háng rèn wù】📖,都会优先从开【xiān cóng kāi】始前⛏序列【xù liè】中正🙊向查找起始的💄安全位【ān quán wèi】置,比如图-4所示的任务,不论任🔗务是否【wù shì fǒu】从头运行,都会找【dōu huì zhǎo】到路点_4作为起✋点。


    图-4

    4.  如果程【rú guǒ chéng】序流程📘中【zhōng】,存在调🕤用子任务节点【wù jiē diǎn】,则会进入被调🔦用的子【yòng de zǐ】👁任务内【rèn wù nèi】部按照相应规【xiàng yīng guī】则,查找起始安全🚬位置点👚位🛵,如图【rú tú】-5所示程【suǒ shì chéng】序,如果任🖇务从第【wù cóng dì】一行开始运行【shǐ yùn háng】,则会查找到路点_6作为程序起始🛏位🛵置。


    图-5

    5.  If节点【jiē diǎn】🏆如果存在【zài】🚰Else或者Else If分支,则会将【zé huì jiāng】它们作为一个📨整体考【zhěng tǐ kǎo】虑😭,其查找🙊顺序为先查找If节点【jiē diǎn】🏆内的起始【de qǐ shǐ】❓位置【wèi zhì】🤦,如果该🍞节点【jiē diǎn】🏆不存在【bú cún zài】起始位置【wèi zhì】🏅,则按顺📒序依次【xù yī cì】查找Else或者Else If分支内的起始【de qǐ shǐ】❓位置【wèi zhì】🤦。如图【rú tú】🤥-6所示任务,则会查找到路点【lù diǎn】🏆_1作为程🛌序起始🤳位置【wèi zhì】🤦;图【tú】-7所示任务就会【wù jiù huì】查找到路点【lù diǎn】🏆_8作为程🛌序起始🤳位置【wèi zhì】🤦。

    图-6

    图-7

    2.2从任务中间行开始运行查找规则

    1.  如果任【rú guǒ rèn】务存在开始前【kāi shǐ qián】🌃序列,由于开始前【kāi shǐ qián】🌃序列为顺序执行,所以其查找【zhǎo】规则与从🎬首行开【shǒu háng kāi】😕始运行【yùn háng】完全相同🐥,不会从逆向查找【zhǎo】,并且不论从任【lùn cóng rèn】🚶务的哪【wù de nǎ】行开始运行【yùn háng】,都会优先正向💞查找【zhǎo】开始前【kāi shǐ qián】🌃序列的【xù liè de】启⬅动位置。如图🏾-8所示任【suǒ shì rèn】务,即使我🕋的起始【de qǐ shǐ】位置⚓为路点【wéi lù diǎn】_2,也会已🔟开始前【kāi shǐ qián】🌃序列中【xù liè zhōng】⛓的路点【de lù diǎn】_4作为起始位置⚓。

    图-8

    2.  If节点【jiē diǎn】👕如果存在🛥Else或者Else If分支♋,如果开始运行【shǐ yùn háng】的行是🦗分支内🚖部的节点【jiē diǎn】👕,则仅在🈴该分支🚁内部查找起始【zhǎo qǐ shǐ】安全位【ān quán wèi】置,该分支🚁内部如果不存【guǒ bú cún】🦆在起始【zài qǐ shǐ】安全位【ān quán wèi】置,则向上查找其兄弟节【xiōng dì jiē】🥏点👕。如图【rú tú】🅿-9所示任【suǒ shì rèn】🤧务【wù】,如果从第17行开始⏫运行【yùn háng】,则会找到路【zhǎo dào lù】🕶点👕_8作为起【zuò wéi qǐ】始位置【shǐ wèi zhì】。下方图-10所示任【suǒ shì rèn】🤧务【wù】则会🐝找到路【zhǎo dào lù】🕶点👕_9作为起【zuò wéi qǐ】始位置【shǐ wèi zhì】。

    图-9

    图-10

    3.  如果起【rú guǒ qǐ】👾始行不【shǐ háng bú】可以作为起始【shǐ】🤲安全位置节点【jiē diǎn】🎃,则会查【zé huì chá】🍵找该节♎点上方🕥的节点【jiē diǎn】🕑,如果存🎣在可以作为起始【shǐ】🤲位置的节点【jiē diǎn】🕑,则选做起始位【qǐ shǐ wèi】😉置节点【jiē diǎn】🎃,如果不【rú guǒ bú】存在起🙍始【shǐ】位置节点【jiē diǎn】🎃,则会进🏔一步正【yī bù zhèng】❕向查找该节♎点内部是否存【shì fǒu cún】在📩起始位【qǐ shǐ wèi】😉置节点【jiē diǎn】🎃,如果存🎣在,则作为【zé zuò wéi】🚇起始位【qǐ shǐ wèi】😉置。如下方图【tú】-11所示任🥚务【wù】😤,如果选【rú guǒ xuǎn】🚄择第【zé dì】4行文件【háng wén jiàn】🎴夹为开【jiá wéi kāi】始【shǐ】节点【jiē diǎn】🎃,则会找到【dào】🙃路点【lù diǎn】_3作为起始【shǐ】🤲位置。如果文【rú guǒ wén】件夹上方如果【fāng rú guǒ】没有起【méi yǒu qǐ】始【shǐ】路点【lù diǎn】,则会向下找到【dào】起始【shǐ】点,如图【tú】-12所示则会找到【dào】🙃路点【lù diǎn】_1作为起始【shǐ】🤲位置。


    图-11

    图-12

    4.  如果当前选中【qián xuǎn zhōng】的任务节点【diǎn】上方无可🐝以运行【yǐ yùn háng】⛱到的节【dào de jiē】🔷点【diǎn】并且内部也【nèi bù yě】⛩没有可【méi yǒu kě】以运行【yǐ yùn háng】⛱到的点【dào de diǎn】🐾,则会直接开始运行,不再继🐅续向后🙇考虑支持运行到的路🍒点【diǎn】。所以下方图【fāng tú】-13所示程【suǒ shì chéng】序会支【xù huì zhī】持开始运行,不会已路点【diǎn】📒_4作为起❌始位置。

    图-13

    5.  如果起【rú guǒ qǐ】始行的上方存【shàng fāng cún】🥡在子任【zài zǐ rèn】务节点,则会找【zé huì zhǎo】🥌到该子【dào gāi zǐ】任务节点的终止位置作为起始位置。如下方🧞图🎛-14所示任🐚务,如果以💹第🤣19行作为起始行【qǐ shǐ háng】,则会找【zé huì zhǎo】🥌到【dào】路点_7作为起始位置。

    图-14

    3.  常见问题解答

    1.如果工🌷艺场景【yì chǎng jǐng】有明确的要求起始安【qǐ shǐ ān】全位置【quán wèi zhì】💄要求,最好是增加明【zēng jiā míng】确的增【què de zēng】加点位【jiā diǎn wèi】🚻而不完【ér bú wán】全依赖🌕于起始🚱位置节【wèi zhì jiē】点查找规则,这样可以避免🏰一些由【yī xiē yóu】于程序逻辑调🚔整,导致查⚪找到的起始位置变化的问题🦒。



    download-669.svg comicon14.svg

    电话咨询

    download-397.svg comicon15.svg

    免费试用

    Vector.svg Frame.svg

    微信小程序

    img1.jpg

    微信小程序

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

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

    我已知晓并同🍫意漫蛙通过电🙅子邮件【zǐ yóu jiàn】发送相【fā sòng xiàng】👻关资料【guān zī liào】

    提交