CN111661197B - 一种agv指令设置系统、方法、计算机设备及其存储介质 - Google Patents
一种agv指令设置系统、方法、计算机设备及其存储介质 Download PDFInfo
- Publication number
- CN111661197B CN111661197B CN202010510950.4A CN202010510950A CN111661197B CN 111661197 B CN111661197 B CN 111661197B CN 202010510950 A CN202010510950 A CN 202010510950A CN 111661197 B CN111661197 B CN 111661197B
- Authority
- CN
- China
- Prior art keywords
- instruction
- agv
- task
- instruction set
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D63/00—Motor vehicles or trailers not otherwise provided for
- B62D63/02—Motor vehicles
- B62D63/025—Modular vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D63/00—Motor vehicles or trailers not otherwise provided for
- B62D63/02—Motor vehicles
- B62D63/04—Component parts or accessories
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种AGV指令设置方法、系统、计算机设备及其存储介质,该内容属于通信技术领域。本发明提供的AGV指令设置方法,通过服务器接收预设的指令集;根据所述指令集到达时间的顺序,服务端将所述指令集生成对应的指令序号;并且根据所述指令序号将所述指令集发送至AGV;其中,所述指令序号用于执行调用操作,以供所述AGV根据所述指令序号顺序执行对应的动作。从而可以根据设置好的指令集统一有效地控制AGV机器人的执行不同动作。本发明公开的目的是为了解决现有技术中对AGV的调度运行缺少规范化的统一指令的问题,实现了对AGV的高效系统化统一管理。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种AGV指令设置方法、系统、计算机设备及其存储介质。
背景技术
目前,自主导航机器人越来越受到人们的重视。自主导航机器人是一种用于控制车辆的系统,自主导航机器人能够在自主导航、自动驾驶系统的控制下实现自动驾驶和自动控制。而在众多自主导航机器人集中使用环境下,协调各自主导航机器人调度运行,缺少统一有效的指令控制自主导航机器人执行不同动作。
发明内容
为了解决现有技术中对AGV的调度运行缺少规范化的统一指令的问题,本发明提出了一种AGV指令设置方法、系统、计算机设备及其存储介质,以实现对AGV的系统化的有效控制。
鉴于以上情况,本发明提出了一种AGV指令设置系统,包括:
接收模块,所述接收模块用于接收预设的指令集;
生成模块,所述生成模块用于根据所述指令集到达时间的顺序生成对应的指令序号;
发送模块,所述发送模块用于根据所述指令序号将所述指令集发送至AGV;
所述指令序号用于执行调用操作,以供所述AGV根据所述指令序号顺序执行对应的动作。
一种AGV指令设置方法,包括以下步骤:
S10:接收预设的指令集;
S20:根据所述指令集到达时间的顺序生成对应的指令序号;
S30:根据所述指令序号将所述指令集发送至AGV;
所述指令序号用于执行调用操作,AGV根据所述指令序号顺序执行对应的动作。
优选地,S30具体包括:
将至少一条所述指令集发送至所述AGV,以供所述AGV执行所述指令集中的指令动作;
接收所述AGV发送的反馈指令,判断所述AGV是否执行完成所述指令集;
当所述AGV执行完成所述指令集时,发送下一指令集,以使所述AGV执行下一指令集;
优选地,指令集还包括程序号及参数号,所述指令序号具有唯一性,每个所述指令序号与所述程序号和所述参数号一一对应;
优选地,S30还包括,
根据指令序号的历史指令集判断生成的指令序号是否为新指令序号,若为新指令序号则发送生成的指令序号对应的指令集,以使所述AGV执行所述指令集,若非新指令序号则不发送指令集。
优选地,程序号包括动作字段和优先级字段,所述动作字段用于所述AGV执行不同的动作,所述优先级字段用于判断所述AGV执行不同的动作的优先执行顺序。
优选地,参数号包括动作量字段和I/O字段,所述动作量字段用于记录所述AGV执行动作时对应的动作量,所述I/O字段用于读取所述AGV的I/O状态。
优选地,指令集包括基本指令、设置指令、流程指令、扩展指令和I/O指令中的至少一种。
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项AGV指令设置方法。
一种计算机存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时实现上述意一项AGV指令设置方法。
与现有技术相比,本发明具有如下有益效果:通过设置一种AGV指令设置系统及AGV指令设置方法,可以实现利用一套标准的指令动作对集中使用状态下的AGV进行管理,协调各自主导航机器人调度运行。
附图说明
图1是本发明实施例中提供的AGV设置方法的交互结构示意图;
图2是本发明实施例中提供的AGV设置方法的流程图;
图3是图2所示的步骤S30的具体流程图;
图4是图2所示的步骤S30的另一具体流程图;
图5是本发明实施例中提供的AGV设置系统的结构示意图;
图6是本发明实施例中提供的计算机设备的结构示意图。
具体实施方式
为使本发明的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
如图1所示,为本发明实施例提供的交互结构图,包括:客户端、服务器及AGV,其中,服务器可以是用于发送指令及控制AGV进行执行指令的调度系统,AGV可以是车载控制单元等,客户端可以是用于输入指令的程序员等。客户端可以接收用户预设的指令集生成对应的指令序号,并且把指令序号对应的指令集发送至AGV,以使AGV能够根据指令序号的顺序执行对应的指令动作。
如图2所示,本发明提供了一种AGV指令设置方法,包括:
S10、接收预设的指令集。
在本发明的实施例中,调度系统连接AGV进行交互,定义的预设的指令集可以根据不同的需求进行修改或扩展。调度系统接收用户输入的指令集,以及接收AGV的运行情况,以使调度系统能够根据AGV的运行情况发送指令集,并且使得AGV能够根据指令集执行不同的动作,其中,指令集中的指令动作可以作为单独执行的流程动作,也可以是多条指令集形成的程序集进行有序地流程动作控制。
S20、根据指令集到达时间的顺序生成对应的指令序号。
其中,调度系统在接收用户输入的指令集时,指令集所到达的时间各不相同,调度系统中具有的调度软件,可以根据接收指令集的时间顺序生成指令序号,指令序号可以用来区分指令集,以使其能够防止出现重复指令和指令丢失,根据到达的时间生成的指令序号,可以使得指令动作的执行过程具有条理性,能够将每一个指令动作进行完整执行。
其中,指令集还包括程序号及参数号,指令序号具有唯一性,每个指令序号对应有一程序号和参数号。在本发明的实施例中,程序号是用于在AGV中执行不同动作的编号,参数号是用于执行某一程序号时所需要调用的参数,定义的程序号和参数号发送至调度系统中,调度系统中的调度软件可以将每一条程序号和参数号生成指令序号,从而形成该指令集并发送至AGV执行。
S30、根据指令序号将指令集发送至AGV;其中,指令序号用于执行调用操作,以供AGV根据指令序号顺序执行对应的动作。
在本发明的实施例中,调度系统可以获取AGV的实时运行状态,并从AGV的响应中可以判断出AGV正在执行的动作,通过调度系统与AGV之间进行发送及接收的交互过程,调度系统可以根据AGV不同的运行状态发送指令集至AGV进行执行。
进一步地,参照图3所示,上述步骤S30根据指令序号将指令集发送至AGV包括:
S31、将至少一条指令集发送至AGV,以供AGV执行指令集中的指令动作;
S32、接收AGV发送的反馈指令,判断AGV是否执行完成指令集;
S33、当AGV执行完成指令集时,发送下一指令集,以使AGV执行下一指令集。
在本发明的实施例中,可以发送一条指令集,也可以将多条指令集组成程序集发送至AGV,当发送一条指令集发送至AGV进行运行时,调度系统中的调度软件可以接收到AGV反馈的该指令集信息,调度软件可以将反馈的该指令集信息进行解析并判断该指令集中是否执行完成,当执行完成时,则可以再次发送指令集进行执行后续的指令集;当组成程序集发送至AGV进行运行时,调度系统中的调度软件可以接收到AGV反馈的信息,调度软件可以将反馈的信息进行解析并判断该程序集中是否执行完成,当执行完成时,则可以再次发送程序集进行执行后续的程序集。
参照图4所示,上述步骤S30根据指令序号将指令集发送至AGV还包括:
步骤31,根据生成的指令序号,判断指令序号在历史出现的指令集中是否出现;
步骤32,当指令序号未出现时,发送指令序号对应的指令集,以使AGV执行指令集;
步骤33,当指令序号出现时,不发送指令序号对应的指令集。
在本发明的实施例中,当指令集组成程序集发送至AGV时,可以通过判断指令序号来进行判断该指令集中的某一指令集是否出现并执行,当该指令序号出现时,则该指令序号对应的指令集不发送至AGV,当该指令序号未出现,该指令序号对应的指令集则可以发送至AGV,以避免程序集中的某一指令集重复或丢失,以实现AGV的流程控制。
进一步地,程序号包括:动作字段,用于AGV执行不同的动作;优先级字段,用于判断AGV执行不同的动作时是否优先执行。其中,动作字段和优先级字段组成程序号,以使调度系统通过调用不同的程序号的程序执行不同的动作,通过优先级字段来进行判断,可以实现是否优先执行优先级字段对应的程序号。
进一步地,参数号包括:动作量字段,用于AGV执行动作时对应的动作量;I/O字段,用于读取AGV的I/O状态。其中,动作量字段可以是位移量等,对于不同程序号所对应的参数号,其含义也不同。
进一步地,指令集的类别包括至少以下一种或其组合:基本指令、设置指令、流程指令、扩展指令及I/O指令。其中,通过多种指令进行组合从而实现AGV整体进行流程运作。
具体的,以下为本发明实施例提供的AGV车辆的指令集的定义方式及具体运行步骤:
获取状态指令GET;
调度系统通过“GET”指令获取车的实时运行状态。
指令格式:GET
响应格式:
N下一个节点(3个字符,表示的数据范围为0x000~0xFFF);
P上一个节点(3个字符,表示的数据范围为0x000~0xFFF);
D距离上一个节点的距离(6个字符,表示的数据范围为0x000000~0xFFFFFF);
V电池电压(6个字符,2#电池电压,1#电池电压);
I(I/O状态,8个字符,每个字符代表一个状态,定义参见下方);
T(任务号状态记录器中保存的6个记录中的第1个记录,共7个字符,从左到右,前6个字符代表单号,第七个字符代表此单号任务的执行状态);
T(任务号状态记录器中保存的6个记录中的第2个记录,共7个字符,从左到右,前6个字符代表单号,第七个字符代表此单号任务的执行状态);
T(任务号状态记录器中保存的6个记录中的第3个记录,共7个字符,从左到右,前6个字符代表单号,第七个字符代表此单号任务的执行状态);
T(任务号状态记录器中保存的6个记录中的第4个记录,共7个字符,从左到右,前6个字符代表单号,第七个字符代表此单号任务的执行状态);
T(任务号状态记录器中保存的6个记录中的第5个记录,共7个字符,从左到右,前6个字符代表单号,第七个字符代表此单号任务的执行状态);
T(任务号状态记录器中保存的6个记录中的第6个记录,共7个字符,从左到右,前6个字符代表单号,第七个字符代表此单号任务的执行状态)。
IO状态的定义:
IO状态用8个字符表示,8个字符正好对应一个32bit数据。
bit3~bit0:行走/停止标志位,
0:车处于停止状态
1:车正在行走
bit7~bit4:报警号,0~0xF
具体每一位的含义待定
bit11~bit8:车速类型
0:速度未设定
1:慢速
2:低速
3:中速
4:高速
5:停止bit15~bit12:分支方向
0:右分支
1:左分支
bit19~bit16:升降状态
0:下降中
1:下降到位
2:上升中
3:上升到位
bit23~bit20:装卸状态
0:装载中
1:装载到位
2:卸载中
3:卸载到位
bit27~bit24:保留
bit31~bit28:保留
例如,I001113c0,I是容错标志(含义是IO),后面的8个字符001113c0表示16进制数据0x001113c0。
(二)单号执行状态的定义
AddrPrgStatus:单号的执行情况
1任务已经被存储;
2任务已经被执行;
3任务被拒绝;
0单号已经被释放或者识别码错误。
例如:T0000112,T是容错标志(含义是Task),后面的6个字符000011表示任务单号0x000011,最后一个字符2表示此单号任务已经执行完成。
“GET”的响应命令由容错标志和16进制数据组成,除去换行回车符后的有效数据共79个字符。每一段16进制数据都是按从左到右,由低到高的顺序排列。
如果调度软件发送“GET”命令后,AGV返回了如下的信息,N005P004D002710V0ff0fcI001113c0T0000102T0000112T0000122T0000131T0000141T0000151。
调度软件需要将以上数据解析为:
N005---N为容错标志(含义是Nextstation,下一节点),005表示16进制数据0x005,说明此时AGV正向5号节点行驶。
P004---P为容错标志(含义是Previous station,上一节点),004表示16进制数据0x004,说明AGV刚刚经过4号节点。
D002710---D为容错标志(含义是Distance,距离上一个节点的里程),002710表示16进制数据0x002710,即10进制数据10000,里程的单位为毫米,说明AGV已经驶离上一个节点10米。
V0ff0fc---V为容错标志(含义是Voltage,电池电压),V后面共6个字符,每三个字符代表一个电池的电压。0ff表示16进制数据0x0ff,即10进制数据255,说明2#电池电压为25.5V,0fc即10进制数据252,说明1#电池电压为25.2V。
I001113c0---I为容错标志(含义是IO,输入输出状态),I后面的8个字符001113c0表示16进制数据0x001113c0,按照<IO状态的定义>一节中所讲,此数据表示AGV处于停止状态,报警号为12,设置的速度是中速,左分支,升降和装载都处于到位状态。
T0000102---T为容错标志(含义是Task),后面的6个字符000010表示任务单号0x000010,即10进制数据16,最后一个字符2表示此单号任务已经执行完成。
T0000112---同上,表示单号为17的任务已经执行完成。
T0000122---同上,表示单号为18的任务已经执行完成。
T0000131---同上,表示单号为19的任务已经被保存,但还没有被执行完。
T0000141---同上,表示单号为20的任务已经被保存,但还没有被执行完。
T0000151---同上,表示单号为21的任务已经被保存,但还没有被执行完。
调度软件从“GET”响应中得到的以上6个任务单号的执行状态可以判断出此时AGV正在执行0x000013号任务。
下发任务单号指令RUN
调度系统通过“RUN”指令向AGV下发任务。
指令格式:RUN任务单号程序号参数
指令符RUN和数据、数据和数据之间都以一个空格符隔开
指令格式符合以下的结构形式
任务单号:由调度软件生成,也可以表示为指令序号,是区分任务的识别码,共8个字符(对应一个32bit数据),只有低6个字符有效,表示的数据范围是0x00000000~0x00FFFFFF。
程序号:固化在AGV控制器中的一系列任务的编号,共8个字符(对应一个32bit数据),调度系统通过调用不同编号的程序执行不同的功能。
参数:执行某号程序时所需的参数,共8个字符(对应一个32bit数据),不同程序号的任务,参数的含义也不同。
AGV返回的响应格式:R=任务单号单号的执行情况
响应符合以下结构形式:
响应的有效字符共18个,“任务单号”共8个字符;“单号的执行情况”占8个字符,这8个字符中的低4字符指示单号的执行情况(0,1,2,3),高4字符在不同的响应中有不同的定义。
RUN指令的响应格式:
R= | 8个字符 | 4个字符 | 4个字符 |
响应头 | 任务单号 | 自定义 | 单号的执行情况 |
程序号/任务编码方式:
任务优先级分高、中、低3种,0为普通级别,1级为中级,2为高级且为立即执行,正常编程应使用优先级为0级,中断处理的程序使用1级,应急处理的程序才使用2级。
按照上表,已定义的任务类型如下:(按16进制)
01号任务:启动(ENC_CRUN)
指令格式:RUN 00xxxxxx 00000001 00000000
其中,RUN为指令标识符,其后的8个字符00xxxxxx是调度系统生成的任务单号,16进制数据;00000001表示16进制数据0x00000001,是“行走”任务的程序号,最高位的数据0指明此单任务优先级为普通;“启动”任务不带参数。
02号任务:停止(ENC_STOP)
指令格式:RUN 00xxxxxx 00000002 00000000
其中,00000002表示16进制数据0x00000002,是“停止”任务的程序号,最高位的数据0指明此单任务优先级为普通;“停止”任务不带参数。
03号任务:延时(ENC_IDLE)
指令格式:RUN 00xxxxxx 00000003 00000190
其中,00000188,参数表示延时时间(0.1s)表示16进制数据0x00000190(40.0s),是“延时”任务的程序号,最高位的数据0指明此单任务优先级为普通。
04号任务:左分歧(ENC_TNLF)
指令格式如:RUN 00xxxxxx 00000004 00000000
其中,00000004表示16进制数据0x00000004,是“左分歧”任务的程序号,最高位的数据0指明此单任务优先级为普通;“左分歧”任务不带参数。
05号任务:右分歧(ENC_TNRT)
指令格式如:RUN 00xxxxxx 10000005 00000000
其中,00000005表示16进制数据0x00000005,是“右分歧”任务的程序号,最高位的数据0指明此单任务优先级为普通;“右分歧”任务不带参数。
06号任务:切换到高速(ENC_SMAX)
指令格式如:RUN 00xxxxxx 00000006 00000000
其中,00000006表示16进制数据0x00000006,是“高速”任务的程序号,最高位的数据0指明此单任务优先级为普通;“高速”任务不带参数。
07号任务:切换到中速(ENC_SMID)
指令格式如:RUN 00xxxxxx 00000007 00000000
其中,00000007表示16进制数据0x00000007,是“中速”任务的程序号,最高位的数据0指明此单任务优先级为普通;“中速”任务不带参数。
08号任务:切换到低速(ENC_SMIN)
指令格式如:RUN 00xxxxxx 00000008 00000000
其中,00000008表示16进制数据0x00000008,是“低速”任务的程序号,最高位的数据0指明此单任务优先级为普通;“低速”任务不带参数。
09号任务:切换到慢速(ENC_SSLD)
指令格式如:RUN 00xxxxxx 00000009 00000000
其中,00000009表示16进制数据0x00000009,是“慢速”任务的程序号,最高位的数据0指明此单任务优先级为普通;“慢速”任务不带参数。
10号任务:移动指定位移(ENC_MOVE)
指令格式如:RUN 00xxxxxx 00000010 00001388
其中,00000010表示16进制数据0x00000010,是“移动”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指明位移量,含义如下:
所以,上面的参数00001388的含义是移动0x001388毫米,即5米。
AGV收到此指令后将向前移动5米。
11号任务:移动指定位移,带低速(ENC_MVMN)
指令格式如:RUN 00xxxxxx 10000011 00001388
和10号任务类似,AGV收到此指令后将以低速向前移动5米。
12号任务:移动指定位移,带中速(ENC_MVMD)
指令格式如:RUN 00xxxxxx 00000012 00001388
和10号任务类似,AGV收到此指令后将以中速向前移动5米。
13号任务:移动指定位移,带高速(ENC_MVMX)
指令格式如:RUN 00xxxxxx 00000013 00001388
和10号任务类似,AGV收到此指令后将以高速向前移动5米。
14号任务:移动指定位移,带慢速(ENC_MVSD)
指令格式如:RUN 00xxxxxx 00000014 00001388
和10号任务类似,AGV收到此指令后将以慢速向前移动5米。
16号任务:移动指定位移,带左分歧(ENC_MOVL)
指令格式如:RUN 00xxxxxx 00000016 00001388
和10号任务类似,AGV收到此指令后切换至左分歧并向前移动5米。17号任务:移动指定位移,带右分歧(ENC_MOVR)
指令格式如:RUN 00xxxxxx 00000017 00001388
和10号任务类似,AGV收到此指令后切换至右分歧并向前移动5米。18号任务:移动指定位移,带左分歧,慢速(ENC_MLSD)
指令格式如:RUN 00xxxxxx 00000018 00001388
AGV收到此指令后切换至左分歧,以慢速向前移动5米。
19号任务:移动指定位移,带左分歧,低速(ENC_MLMN)
指令格式如:RUN 00xxxxxx 00000019 00001388
AGV收到此指令后切换至左分歧,以低速向前移动5米。
1A号任务:移动指定位移,带左分歧,中速(ENC_MLMD)
指令格式如:RUN 00xxxxxx 0000001A 00001388
AGV收到此指令后切换至左分歧,以中速向前移动5米。
1B号任务:移动指定位移,带左分歧,高速(ENC_MLMX)
指令格式如:RUN 00xxxxxx 0000001B 00001388
AGV收到此指令后切换至左分歧,以高速向前移动5米。
1C号任务:移动指定位移,带右分歧,慢速(ENC_MRSD)
指令格式如:RUN 00xxxxxx 0000001C 00001388
AGV收到此指令后切换至右分歧,以慢速向前移动5米。
1D号任务:移动指定位移,带右分歧,中速(ENC_MRMD)
指令格式如:RUN 00xxxxxx 0000001D 00001388
AGV收到此指令后切换至右分歧,以中速向前移动5米。
1E号任务:移动指定位移,带右分歧,低速(ENC_MRMN)
指令格式如:RUN 00xxxxxx 0000001E 00001388
AGV收到此指令后切换至右分歧,以低速向前移动5米。
1F号任务:移动指定位移,带右分歧,高速(ENC_MRMX)
指令格式如:RUN 00xxxxxx 0000001F 00001388
AGV收到此指令后切换至右分歧,以高速向前移动5米。
20号任务:惯性导航和二维地图专用,设置行走类型,同时启动或停止行走(ENC_2DMX)
指令格式如:RUN 00xxxxxx 00000020aabbccdd eeeeeeee ffffffff
参数aabbccdd定义如下:
21号任务:惯性导航和二维地图专用,发布即时行走绝对目标位置(ENC_2DMA)
指令格式如:RUN 00xxxxxx 00000021 00000000xxxxxxxx yyyyyyyy。
AGV收到此指令后移动至目标坐标绝对位置xxxxxxxx,yyyyyyyy。
22号任务:惯性导航和二维地图专用,发布即时行走相对目标位置(ENC_2DMB)。
指令格式如:RUN 00xxxxxx 00000022 00000000xxxxxxxx yyyyyyyy。
AGV收到此指令后移动至目标坐标相对位置xxxxxxxx,yyyyyyyy。
23号任务:惯性导航和二维地图专用,设置即时行走编号目标位置(ENC_2DMS)
指令格式如:RUN 00xxxxxx 00000023nnnnnnnn xxxxxxxx yyyyyyyy。
AGV收到此指令后设置目标坐标相对位置nnnnnnnn,该位置坐标值设置为xxxxxxxx,yyyyyyyy。
24号任务:惯性导航和二维地图专用,发布即时行走编号目标位置(ENC_2DMN)。
指令格式如:RUN 00xxxxxx 00000024nnnnnnnn xxxxxxxx yyyyyyyy。
AGV收到此指令后移动至目标坐标相对位置nnnnnnnn,该位置为系统定义的位置。
40号任务:顺时针原地回转(ENC_PRTL)
指令格式如:RUN 00xxxxxx 00000040 00000708
其中,10000040表示16进制数据0x00000040,是“顺时针原地回转”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数00000708表示16进制数据0x00000708,即10进制数据1800,指明回转角度值为1800(实际角度的10倍),AGV收到此指令后将顺时针原地回转180度。
41号任务:逆时针原地回转(ENC_PRTR)
指令格式如:RUN 00xxxxxx 00000041 00000708
其中,00000041表示16进制数据0x00000041,是“逆时针原地回转”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数00000708表示16进制数据0x00000708,即10进制数据1800,指明回转角度值为1800(实际角度的10倍),AGV收到此指令后将逆时针原地回转180度。
46号任务:顺时针转向指令(ENC_TRNL)
指令格式如:RUN 00xxxxxx 00000046 004B0384
其中,00000046表示16进制数据0x00000046,是“顺时针转向指令”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数004B0384表示16进制数据转向的半径和角度值,定义如下:
0x004B0384的384,即10进制数据900,指明回转角度值为900(实际角度的10倍),0x004B0708的4B0,即10进制数据1200,指明回转半径值为1200(单位:mm),AGV收到此指令后将以AGV车中心计算1200mm为半径顺时针转向90度。
47号任务:逆时针转向指令(ENC_TRNR)
指令格式如:RUN 00xxxxxx 00000047 004B0384
其中,00000047表示16进制数据0x00000047,是“逆时针转向指令”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数004B0384表示16进制数据转向的半径和角度值,定义见46号任务。
0x004B0384的384,即10进制数据900,指明回转角度值为900(实际角度的10倍),0x004B0708的4B0,即10进制数据1200,指明回转半径值为1200(单位:mm),AGV收到此指令后将以AGV车中心计算1200mm为半径逆时针转向90度。
50号任务:设定车的当前区段(ENC_SAIR)
指令格式如:RUN 00xxxxxx 00000050 00006007
其中,00000050表示16进制数据0x00000050,是“设定区段”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指明段起点编号、段终点编号,含义如下
所以,上面的参数00006007的含义是,设置AGV在06站和07站之间,车头方向为07号站。
51号任务:设定车当前偏离起始节点的位置(ENC_SDIS)
指令格式如:RUN 00xxxxxx 00000051 00001388
其中,00000051表示16进制数据0x00000051,是“设定车当前偏离起始节点的位置”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指明偏移里程,含义如下
所以,上面的参数00001388的含义是,设定AGV距离起始节点距离0x001388毫米,即5米。
51号任务和50号任务结合使用可以初始化车的位置,方便调试程序。
56号任务:设置行走方向前进(ENC_DFRD)
指令格式如:RUN 00xxxxxx 00000056 00000000
该指令只对可以双向行走的AGV有效,设置车向前行走。00000056表示16进制数据0x00000056,是任务的程序号,最高位的数据0指明此单任务优先级为普通;该任务没有参数。系统缺省为前进方向状态。
57号任务:设置行走方向后退(ENC_DBAK)
指令格式如:RUN 00xxxxxx 00000057 00000000
该指令只对可以双向行走的AGV有效,设置车向后行走。00000057表示16进制数据0x00000057,是任务的程序号,最高位的数据0指明此单任务优先级为普通;该任务没有参数。
5A号任务:使能地标命令(ENC_CMEN)
指令格式如:RUN 00xxxxxx 0000005A 00000000
该指令设置地标命令有效。0000005A表示16进制数据0x0000005A,是任务的程序号,最高位的数据0指明此单任务优先级为普通;该任务没有参数。系统缺省为使能状态。
5B号任务:禁止地标命令(ENC_CMDS)
指令格式如:RUN 00xxxxxx 0000005B 00000000
该指令设置地标命令无效。0000005B表示16进制数据0x0000005B,是任务的程序号,最高位的数据0指明此单任务优先级为普通;该任务没有参数。
60号任务:读本车IO(ENC_IORD)
指令格式如:RUN 00xxxxxx 00000060 00010000
该指令读取AGV的IO状态。00000060表示16进制数据0x00000060,是任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指定偏移量,高4字符有效,低4字符都为0,偏移量地址范围为0x0000~0xFFFF,每条指令可以读取16个IO的状态,偏移地址对应的IO定义见下面的表格。
IO定义表:
AGV返回的响应格式:R=任务单号16个IO状态+单号的执行情况。
IO状态和单号的执行情况各占4个字符,对应一个32bit数据,定义如下:
例如,响应数据为R=00xxxxxx ABCD0002,00xxxxxx是对调度系统下发的任务单号的回显;
ABCD0002代表16进制数据0xABCD0002,0002说明任务已经被执行,ABCD二进制为1010101111001101,对应16个IO状态。
61号任务:写本车IO(ENC_IOWR)
指令格式如:RUN 00xxxxxx 00000061 0001ABCD
该指令设置AGV的IO状态。00000061表示16进制数据0x00000061,是任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指定地址偏移量和16个IO状态,参数定义如下表:
参数0001ABCD的含义是设置0x0001地址的IO状态为1010101111001101。
AGV返回的响应格式:R=任务单号设置的16个IO状态的回显+单号的执行情况。
IO状态和单号的执行情况和各占4个字符,对应一个32bit数据,定义如下:
例如,响应数据为R=00xxxxxx ABCD0002,00xxxxxx是对调度系统下发的任务单号的回显;
ABCD0002代表16进制数据0xABCD0002,0002说明任务已经被执行,ABCD二进制为1010101111001101,是刚刚设置的16个IO状态的回显。
62号任务:IO动作,升(ENC_LIFT)
指令格式如:RUN 00xxxxxx 00000062 00000000
AGV收到此指令后执行一个输出为升的动作,62号和63号任务互为相反动作。
63号任务:IO动作,降(ENC_DROP)
指令格式如:RUN 00xxxxxx 00000063 00000000
AGV收到此指令后执行一个输出为降的动作,62号和63号任务互为相反动作。
64号任务:IO动作,装(ENC_LOAD)
指令格式如:RUN 00xxxxxx 00000064 00000000
AGV收到此指令后执行一个输出为装的动作,64号和65号任务互为相反动作。
65号任务:IO动作,卸(ENC_DISC)
指令格式如:RUN 00xxxxxx 00000065 00000000
AGV收到此指令后执行一个输出为卸的动作,64号和65号任务互为相反动作。
66号任务:IO动作,夹紧(ENC_HOLD)
指令格式如:RUN 00xxxxxx 00000066 00000000
AGV收到此指令后执行一个输出为夹紧的动作,66号和67号任务互为相反动作。
67号任务:IO动作,放松(ENC_RELS)
指令格式如:RUN 00xxxxxx 00000067 00000000
AGV收到此指令后执行一个输出为放松的动作,66号和67号任务互为相反动作。
68号任务:IO动作,挂钩(ENC_HOOK)
指令格式如:RUN 00xxxxxx 00000068 00000000
AGV收到此指令后执行一个输出为挂钩的动作,68号和69号任务互为相反动作。
69号任务:IO动作,脱钩(ENC_REHK)
指令格式如:RUN 00xxxxxx 00000069 00000000
AGV收到此指令后执行一个输出为脱钩的动作,68号和69号任务互为相反动作。
72号任务:加载数据到寄存器0-3任务(ENC_MOVA)
指令格式如:RUN 00xxxxxx 00000072 01000002
其中,00000072表示16进制数据0x00000072,是加载任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指明条件类型和判断参数值,含义如下:
所以,上面的参数01000002的含义是,加载数据地址D7002的数据到寄存器1。
75号任务:释放任务(ENC_JRES)
指令格式如:RUN 00xxxxxx 10000075 00001234
该指令将释放AGV正在执行或者已经存储但还没有被执行的任务,参数指定需要释放的任务的单号。AGV收到上面的任务后将释放单号为0x00001234的任务。
释放任务的优先级设置应为被释放任务高一级,否则不能产生释放作用。
释放任务应作用于当前正在执行的任务,同时会清除缓冲区中所有被清除任务之后的任务。
78号任务:执行条件判断任务(ENC_JWHL)
指令格式如:RUN 00xxxxxx 00000078 01001002
其中,00000078表示16进制数据0x00000078,是“执行条件判断”任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指明条件类型和判断参数值,含义如下:
判断条件类型定义如下:
判断条件值 | 判断条件说明 |
0 | 为假结束 |
1 | 为真结束 |
条件类型定义如下:
条件类型值 | 条件类型说明 |
0 | 预留 |
1 | 根据目标站号,判断位移方向 |
2 | 当前地标命令编号 |
3 | 当前位移方向判定 |
4 | 准备移动的位移量是否为零 |
5 | 等待到达某一站点 |
所以,上面的参数01001002的含义是,判断AGV是否到达02号站点条件,如果不是则等待,如果是则条件满足该任务执行完毕。
上面的参数01003002的含义是,指定AGV移动到目标站点2,AGV接收到此指令后,根据当前位置,计算出运动方向和位移量,并执行move指令,直到移动到站点2,任务执行完毕。
79号任务:程序跳转任务(ENC_JJMP)
指令格式如:RUN 00xxxxxx 00000072 00001234
该指令将执行无条件跳转或条件跳转。
执行无条件跳转时搜索指定参数对应的编号的任务行并跳转到该行。如果该编号的行不存在,则执行下一任务行。参数表示跳转到的行号执行的任务。
AGV收到上面的任务后将跳转程序编号为0x00001234的任务。如果该任务编号不存在,任务将顺序执行。
执行条件跳转时
条件类型定义如下:
7A号任务:程序调用任务(ENC_JCAL)
指令格式如:RUN 00xxxxxx 0000007A 00001234
该指令将搜索指定参数对应的编号的任务行并跳转到该行。如果该编号的行不存在,则执行下一任务行。参数表示跳转到的行号执行的任务。
AGV收到上面的任务后将跳转程序编号为0x00001234的任务。如果该任务编号不存在,任务将顺序执行。
参数10000001时,如果当前正在执行内部脚本,则将切换至执行外部网络收到的脚本程序,如果当前正在执行外部脚本程序,则将切换至执行内部编号为0001的脚本程序。
7B号任务:程序返回任务(ENC_JRET)
指令格式如:RUN 00xxxxxx 00000072 00001234
该指令将搜索指定参数对应的编号的任务行并跳转到该行。如果该编号的行不存在,则执行下一任务行。参数表示跳转到的行号执行的任务。
AGV收到上面的任务后将跳转程序编号为0x00001234的任务。如果该任务编号不存在,任务将顺序执行。
7x号任务:AGV内部程序使用,暂不对外开放。
80号任务:读IO(读AGV以外的其他设备)
指令格式如:RUN 00xxxxxx 00000080 00010000
该指令读取外部设备的IO状态。00000080表示16进制数据0x00000080,是任务的程序号;参数指定偏移量,高4字符有效,低4字符都为0,偏移量地址范围为0x0000~0xFFFF,每条指令可以读取16个IO的状态,偏移地址对应的IO定义见下面的表格。
IO定义表:
设备返回的响应格式:R=任务单号偏移量地址+16个IO状态。
偏移量地址和IO状态各占4个字符,对应一个32bit数据,定义如下:
例如,响应数据为R=00xxxxxx 0001ABCD,00xxxxxx是对调度系统下发的任务单号的回显;
0001ABCD代表16进制数据0x0001ABCD,0001是偏移量地址,ABCD二进制为1010101111001101,对应16个IO状态。
81号任务:写IO(写AGV以外的其他设备)
指令格式如:RUN 00xxxxxx 00000081 0001ABCD
该指令设置设备的IO状态。00000081表示16进制数据0x00000081,是任务的程序号;参数指定地址偏移量和16个IO状态,参数定义如下表:
参数0001ABCD的含义是设置0x0001地址的IO状态为1010101111001101。
设备返回的响应格式:R=任务单号偏移量地址+设置的16个IO状态的回显。
偏移量地址和IO状态各占4个字符,对应一个32bit数据,定义如下:
例如,响应数据为R=00xxxxxx 0001ABCD,00xxxxxx是对调度系统下发的任务单号的回显;
0001ABCD代表16进制数据0x0001ABCD,0001是偏移量地址,ABCD二进制为1010101111001101,是刚刚设置的16个IO状态的回显。
83-Fx:保留指令
保留用于扩展其它功能的指令。
90号任务:读PLC D寄存器
指令格式如:RUN 00xxxxxx 00000090 00010000
该指令读取PLC D寄存器内容。00000090表示16进制数据0x00000090,是任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指定D寄存器的编号。D寄存器编号占4个字符,定义如下:
AGV返回的响应格式:R=任务单号读取的D寄存器数据内容+单号的执行情况。
读取的D寄存器数据内容和单号的执行情况各占4个字符,对应一个32bit数据,定义如下:
例如,响应数据为R=00xxxxxx 56780002,00xxxxxx是对调度系统下发的任务单号的回显;
56780002代表16进制数据0x56780002,0002说明任务已经被执行,5678为读取的D寄存器数据内容。
91号任务:写PLC D寄存器
指令格式如:RUN 00xxxxxx 00000091 00015678
该指令将一个16位数据写入到PLC D寄存器。00000091表示16进制数据0x00000091,是任务的程序号,最高位的数据0指明此单任务优先级为普通;参数指定D寄存器的编号和待写入的数据。D寄存器编号和待写入的数据各占4个字符,对应一个32bit数据,定义如下:
AGV返回的响应格式:R=任务单号写入D寄存器数据的回显+单号的执行情况。
写入D寄存器数据的回显和单号的执行情况各占4个字符,对应一个32bit数据,定义如下:
例如,响应数据为R=00xxxxxx 56780002,00xxxxxx是对调度系统下发的任务单号的回显;
56780002代表16进制数据0x56780002,0002说明任务已经被执行,5678为写入D寄存器数据的回显。
92号任务:将PLC RAM中掉电保持数据执行一次写入到ROM的操作
指令格式如:RUN 00xxxxxx 00000092 00000000
该指令将当前RAM中的数据执行一次写入到ROM的操作。更改完PLC掉电保持区域的数据后,应该调用一次该指令,以便保存更改后的参数。
参照图5所示,本发明还提供了一种AGV指令设置系统40,包括:
接收模块401,用于接收预设的指令集;
生成模块402,用于根据指令集到达时间的顺序生成对应的指令序号;
发送模块403,用于根据指令序号将指令集发送至AGV;其中,指令序号用于执行调用操作,以供AGV根据指令序号顺序执行对应的动作。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置或系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图6所示,图6示出了本发明实施例提供的计算机设备实施例的结构示意图,为了便于描述,仅示出了与本发明实施例相关的部分。具体的,该计算机设备50包括存储器502、处理器501以及存储在所述存储器502中并可在所述处理器501上运行的计算机程序,所述处理器501执行所述计算机程序时实现如上述实施例所述方法的步骤,例如图1所示的S10至S30的步骤。或者,所述处理器501执行所述计算机程序时实现上述实施例所述装置中的各模块/单元的功能,例如图5所示模块401至模块403的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器502中,并由所述处理器501执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机设备50中的执行过程。例如,所述计算机程序可以被分割成接收模块401、生成模块402、发送模块403。
接收模块401,用于接收预设的指令集;
生成模块402,用于根据指令集到达时间的顺序生成对应的指令序号;
发送模块403,用于根据指令序号将指令集发送至AGV;其中,指令序号用于执行调用操作,以供AGV根据指令序号顺序执行对应的动作。
所述计算机设备50可包括,但不仅限于处理器501、存储器502。本领域技术人员可以理解,图仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备50还可以包括输入输出设备、网络接入设备、总线等。
所述处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器501、数字信号处理器501(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立预设硬件组件等。通用处理器501可以是微处理器501或者该处理器501也可以是任何常规的处理器501等。
所述存储器502可以是所述计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。所述存储器502也可以是所述计算机设备50的外部存储设备,例如所述计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器502还可以既包括所述计算机设备50的内部存储单元也包括外部存储设备。所述存储器502用于存储所述计算机程序以及所述计算机设备50所需的其他程序和数据。所述存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器501执行时实现如上述实施例中所述方法中的步骤,例如图2所示的步骤S10至步骤S30。或者,所述计算机程序被处理器501执行时实现上述实施例中所述装置中的各模块/单元的功能,例如图5所示的模块401至403的功能。
所述的计算机程序可存储于一种计算机可读存储介质中,该计算机程序在被处理器501执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例系统中的模块或单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子预设硬件、或者计算机软件和电子预设硬件的结合来实现。这些功能究竟以预设硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备50和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备50实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (5)
1.一种AGV指令设置方法,其特征在于,所述设置方法基于如下系统集成,
所述系统包括:
接收模块,所述接收模块用于接收预设的指令集;
生成模块,所述生成模块用于根据所述指令集到达时间的顺序生成对应的指令序号;
发送模块,所述发送模块用于根据所述指令序号将所述指令集发送至AGV;
所述指令序号用于执行调用操作,以供所述AGV根据所述指令序号顺序执行对应的动作;
所述AGV指令设置方法,包括以下步骤:
S10:接收预设的指令集;
S20:根据所述指令集到达时间的顺序生成对应的指令序号,所述指令序号共8个字符,只有低6个字符有效,表示的数据范围是0x00000000~0x00FFFFFF;
S30:根据所述指令序号将所述指令集发送至AGV;将至少一条所述指令集发送至所述AGV,以供所述AGV执行所述指令集中的指令动作,发送获取状态指令,接收所述AGV发送的反馈指令,判断所述AGV是否执行完成所述指令集;所述获取状态指令的响应命令由容错标志和16进制数据组成,除去换行回车符后的有效数据共79个字符,获取每一段16进制数据都是按从左到右,由低到高的顺序排列;
当所述AGV执行完成所述指令集时,发送下一指令集,以使所述AGV执行下一指令集;
所述指令序号用于执行调用操作,AGV根据所述指令序号顺序执行对应的动作;
所述指令集还包括程序号及参数号,所述指令序号具有唯一性,每个所述指令序号与所述程序号和所述参数号一一对应;所述程序号包括动作字段和优先级字段,所述动作字段用于所述AGV执行不同的动作,所述优先级字段用于判断所述AGV执行不同的动作的优先执行顺序;所述参数号包括动作量字段和I/O字段,所述动作量字段用于记录所述AGV执行动作时对应的动作量,所述I/O字段用于读取所述AGV的I/O状态;
所述程序号为固化在所述AGV中的一系列任务的编号,共8个字符,所述调用操作通过调用不同编号的程序执行不同的功能;
所述优先级字段分高、中、低3种,0为普通级别,1级为中级,2为高级且为立即执行,正常编程应使用所述优先级字段为0级,中断处理程序使用的所述优先级字段为1级,应急处理程序使用的所述优先级字段为2级;
所述参数号为执行某一所述程序号所需的参数,共8个字符,不同的所述程序对应的所述参数号也不同。
2.根据权利要求1所述的一种AGV指令设置方法,其特征在于:所述S30还包括,
根据指令序号的历史指令集判断生成的指令序号是否为新指令序号,若为新指令序号则发送生成的指令序号对应的指令集,以使所述AGV执行所述指令集,若非新指令序号则不发送指令集。
3.根据权利要求1所述的一种AGV指令设置方法,其特征在于:所述指令集包括基本指令、设置指令、流程指令、扩展指令和I/O指令中的至少一种。
4.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至权利要求3的任意一项所述AGV指令设置方法。
5.一种计算机存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时实现权利要求1至3任意一项所述AGV指令设置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010510950.4A CN111661197B (zh) | 2020-06-08 | 2020-06-08 | 一种agv指令设置系统、方法、计算机设备及其存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010510950.4A CN111661197B (zh) | 2020-06-08 | 2020-06-08 | 一种agv指令设置系统、方法、计算机设备及其存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111661197A CN111661197A (zh) | 2020-09-15 |
CN111661197B true CN111661197B (zh) | 2022-12-02 |
Family
ID=72387015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010510950.4A Active CN111661197B (zh) | 2020-06-08 | 2020-06-08 | 一种agv指令设置系统、方法、计算机设备及其存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111661197B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114859843A (zh) * | 2022-05-17 | 2022-08-05 | 恬家(上海)信息科技有限公司 | Agv辅助控制协议码及读取方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121565B (zh) * | 2016-11-28 | 2022-02-18 | 阿里巴巴集团控股有限公司 | 生成指令集编码的方法、装置和系统 |
CN107450551A (zh) * | 2017-08-25 | 2017-12-08 | 广东嘉腾机器人自动化有限公司 | 基于agv的任务分配方法、装置及计算机可读存储介质 |
CN109426250B (zh) * | 2017-08-25 | 2022-04-15 | 杭州海康机器人技术有限公司 | 一种控制agv进行货物传输的方法、装置和系统 |
CN109885041B (zh) * | 2017-12-06 | 2022-07-05 | 杭州海康机器人技术有限公司 | 自动导引运输车agv控制方法、系统、装置和agv |
-
2020
- 2020-06-08 CN CN202010510950.4A patent/CN111661197B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111661197A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111158384B (zh) | 机器人建图方法、设备及存储介质 | |
CN107168316B (zh) | 一种基于单双向混合路径的多agv调度系统 | |
JP6687788B1 (ja) | 分散型ロボットのスケジューリング決定方法、装置、システム並びに電子機器及び記憶媒体 | |
CN105204459B (zh) | 基于rfid的柔性加工系统及方法 | |
CN106737691A (zh) | 手动示教机器人的方法和装置 | |
CN111661197B (zh) | 一种agv指令设置系统、方法、计算机设备及其存储介质 | |
CN104516747A (zh) | 一种系统切换方法及电子设备 | |
CN108508812B (zh) | 一种agv控制器io端口复用配置系统及其方法 | |
CN114281080B (zh) | 一种amr调度系统中解死锁的方法 | |
CN111309014B (zh) | Agv控制方法及装置 | |
CN102478832A (zh) | 可实现数控机床曲面加工的三坐标圆弧插补方法及装置 | |
CN112671936A (zh) | 一种跨不同本国系统的专用传输模块适配方法、装置 | |
CN103853526A (zh) | 可重构处理器及可重构处理器的条件执行方法 | |
CN117689162A (zh) | 基于有轨天车的环路死锁解除方法、系统、介质和设备 | |
CN204423086U (zh) | 一种堆垛机伺服定位系统 | |
CN117193291A (zh) | 一种agv调度方法、装置、设备及存储介质 | |
CN109799776B (zh) | 数据配置方法及装置 | |
CN103777618A (zh) | 半导体工艺的指令执行的控制方法 | |
CN112258860B (zh) | 路口车辆调度方法、装置、设备和计算机可读存储介质 | |
CN106406339B (zh) | 控制外部设备的移动的方法和设备 | |
CN115442233A (zh) | Ecu升级方法、装置、电子设备、存储介质及车辆 | |
CN114779778A (zh) | 控制车辆行驶的方法、装置、电子设备及存储介质 | |
CN112180817B (zh) | 一种梯形图转换二叉树的方法、装置、设备及存储介质 | |
CN209447006U (zh) | 穿梭车的控制系统 | |
CN114104039A (zh) | 一种任意方向多编组重联列车方向控制单元、系统及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |