基于C++的AGV机器人无线控制实现

本文介绍了AGV(自动导引车)的控制系统,包括STM32F103主控、闭环电机控制、RFID定位等,以及AGV在物料搬运、移动工作台和特殊环境作业的应用。此外,详细阐述了AGV的通信协议,包括状态信息、路径设置和手动、自动控制等交互流程。

AGV系统概述

AGV原理

AGV行走控制系统由控制面板、导向传感器、方向电位器、状态指示灯、避障传感器、光电控制信号传感器、驱动单元、导引磁条、电源组成。

AGV的导引(Guidance)是指根据AGV导向传感器(Navigation)所得到的位置信息,按AGV的路径所提供的目标值计算出AGV的实际控制命令值,即给出AGV的设定速度和转向角,这是AGV 控制技术的关键。简而言之,AGV的导引控制就是AGV轨迹跟踪。

AGV导引有多种方法,比如说利用导向传感器的中心点作为参考点,追踪引导磁条上的虚拟点就是其中的一种。AGV的控制目标就是通过检测参考点与虚拟点的相对位置,修正驱动轮的转速以改变AGV的行进方向,尽力让参考点位于虚拟点的上方。这样AGV就能始终跟踪引导线运行。

AGV大体上用于以下三个方面:
  1.物料搬运
  在工业现场AGV常用于工位间或自动仓库与工位间的物料搬运作业。例如在组装线上,AGV从自动仓库取出机器零件并送到相应的组装工位。又如在柔性加工系统中,AGV依照加工工序顺次将被加工工件送到相应自动机床进行加工,加工好的零件由AGV送到质检站测,最后合格品送到半成品库。
  2.移动工作台
  在组装或柔性加工系统中AGV常作为移动工作台使用。以欧美一些汽车厂为例,在轿车组装过程中从汽车底盘焊装组立、安装悬挂系统、车轮和制动系统、安装发动机、变速箱、离合器、安装转向系统、安装汽车外壳、安装风档玻璃和座椅到整车配电等一系列组装过程都是在一台AGV上进行的。又如在欧美一些柴油机厂中,柴油机一系列的组装过程也都是在一台AGV上完成的。
  3.与机器人或机器手配合在特殊工作环境下代替人工作业
  在AGV上可以安装机器人或机器手,在特殊工作环境下代替人工作业。例如在核电站中代替人在具有放射线的工作环境下进行遥控作业。

AGV系统架构

 

AGV本体控制

采用STM32F103作为主控组合,两组闭环电机控制,12组光电循迹导航、RFID定位,通过IO模块作为机器人控制部分,通过闭环马达控制其背负传输带,采用无线射频通讯。

AGV网关控制

采用STM32作为主控,内置无线射频模块,通过RS232连接AGV上位机,内置通讯协议冗余算法,保证AGV控制通讯实时性以及稳定性;

AGV上位机部分

以C++代码编写,通过RS232与AGV网关通讯,内置AGV调度控制逻辑以及算法,通过以太网连接至MES系统,达到对AGV定点控制,路径规划监控。

 AGV通信协议和控制方法

 通讯机制

协议

AGV接收协议

AGV应答协议

格式

举例

FF AA [01]1 [01]2 [01]3 [00]4 [03]5 FF 55

说明

[01]1     发送给ID为01的AGV

[01]2     命令码为01(说明该条命令为:获取基本信息)

[01]3     数据内容长度为01

[00]4     数据内容为00

[03]5     01 + 01 + 01 + 00 = 03

FF AA [03]1 [82]2 [01]3[01]4 [87]5 FF 55

说明

[03]1     ID为03的AGV发出的

[82]2     命令码为82(说明该应答命令为:设置RFID动作,最高位置位说明该条命令由AGV应答产生)

[01]3     数据内容长度为01

[01]4     数据内容为01

[87]5     82 + 03 + 01 + 01 = 87

AGV所包含的状态信息

  1. 将AGV的基本信息作为一个包,成为基本信息包,这个包在多条通信协议中都涉及。以下是基本信息包的内容(20bytes)

AGV通讯协议内容

 

  1. 获取AGV状态信息

询问:

FF AA [01]1 [01]2 [01]3[00]4 [03]5 FF 55

应答:

FF AA [01]1 [81]2[14]3 [… 基本信息包 …]4 [XX]5 FF 55

  1. 设置AGV路径RFID

询问:

     内容:更改动作时使用虚拟索引号0

索引(1字节)

卡所对应的索引号,从1开始(1-100)

卡号(4字节)

卡号

卡动作(1字节)

0:停靠 1:直行 2:左转 3:右转 4:掉头

例1:将卡号为“F6 1F 62 71”的卡,对应动作设置为停靠,并设置索引为3

FF AA [01]1 [02]2 [06]3 [ 03   F6 1F 62 71  00 ]4 [XX]5 FF 55

应答:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

meslog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值