人工智能方向控制与调度系统项目

我要开发同款
CalvinMo2023年05月16日
266阅读
所属分类人工智能

作品详情

 六自由度工业机械臂控制系统项目
项目名称:六自由度工业机械臂控制系统项目
1.项目介绍:
机器人控制系统主要负责对6轴工业机器人的控制,用户在示教器手持中进行机器人运动控制编码下发,完成对工业机器人的运动控制。机器人共分为机器人机械本体、机器人控制器、伺服驱动器、减速机、各类传感器共5类组件。
2.在该项目中参与角色及主要工作内容:
1)负责Linux内核及设备驱动模块开发,编写scheduler调度子系统,构建TCP/IP网络协议栈和IPIPE实时通信域,建立强实时性内核通信平台;
2)负责嵌入式系统核心框架的设计,实现硬件抽象层(HAL)/有限状态层(FSM)/组件层(UTILS)/运动控制算法(MOTION)/程式解析(PARSE)等核心部件;
3)负责Linux各组态服务进程及应用程序设计与开发,实现基于现场总线标准(EtherCAT)&CANopen通信标准通信模块,实现SQLite3数据库应用子系统,实现跨平台跨系统RPC通信服务子系统;
4)负责离在线编程环境的搭建,基于ROS完成URDF&RViz建立6自由度机械手3D仿真模型,完成在线对6自由度机械手的运动控制;
5)参与负责示教器GUI界面的设计,完成GUI&命令交互核心业务部分的编码。
3.技术难点:
1)Scheduler调度子系统,构建TCP/IP网络协议栈和IPIPE实时通信域;
2)运动控制算法;
3)实现基于现场总线标准(EtherCAT)&CANopen通信标准通信模块;
4)基于ROS完成URDF&RViz建立6自由度机械手3D仿真模型。
4.解决方法:
1)上述技术难点1的解决方案
机械臂控制系统对数据和控制的实时性要求特别高,系统无需以最快的速度完成任务,但要求时常或每次都在特定的时间周期内完成任务。基于精简Linux系统,移植构建Xenomai IPIPE实时内核域和EtherCAT现场总线实时通信框架。EtherCAT是基于以太网的低延时、高响应、高可靠性的现场总线系统,主站基于改造后的NIC驱动实现通信,从站选用特定的EtherCAT从站控制器ESC或FPGA实现;Xenomai框架将Linux内核分隔为Nucles Scheduler和Linux Scheduler两个域,被要求强实时性的数据由NIC进入Linux系统经过Adeos(IPIPE层和HAL层),优先触发实时域中断,由Nucles Scheduler送至EtherCAT主站通道,而不会被Linux Scheduler捕获送至TCP/IP协议栈,以此来确保实时通信。
2)上述技术难点2的解决方案
由机械臂刚体及环境构建了基坐标系、末端法兰坐标系、工具坐标系及测量坐标系,其用于描述每个独立刚体的运动;主站控制器根据各伺服驱动器反馈的编码器数据,推算出末端法兰的位姿(FK正解算法),主站控制器根据末端法兰位姿推算出各刚体转动的角度(IK逆解算法)。运动控制实际上是坐标平移的过程,通过粗插补算法(脉冲增量插补和数据增量插补)在理想的轨迹的已知点(示教点)之间确定一些中间点,从而逼近理想的工件外形轮廓。由此推算出来的粗脉冲值经过EtherCAT主站以设定的周期下发至从站伺服驱动器,伺服驱动器取得脉冲值后通过PDI算法对电机完成精确控制。我与搭档共同完成算法演算与建模。
3)上述技术难点3的解决方案
EtherCAT主站是开源框架,有物理层、数据链路层和应用层三层框架。EtherCAT物理层使用标准NIC芯片,支持Intel和Realtek两家主流的芯片,本项目对e1000e和IGB千兆和万兆以太网驱动进行了改造,以兼容多种网卡芯片;EthterCAT主要实现了数据链路层的控制;EtherCAT支持EoE/CoE/FoE/SoE和AoE五种Mailbox协议,CoE则主要用于伺服系统通信,使用CiA402规约,本项目中使用了CANopen。从站伺服驱动器则选用CAN协议通信,项目中主站需要导入伺服驱动器的对象字典表,才可正确解析出上报的数据。
4)上述技术难点4的解决方案
构建Ubuntu16.04 Kinetic ROS1.0环境,编调出机械臂URDF XML模型文件,搭建Rvize和Gazebo仿真环境,通过由QT实现的UI界面示教下发参数调试系统。此项难点在于对ROS的熟悉,通过ROS Tutorials的引导实践对ROS的基本框架和应用进行了学习,掌握了基本的应用。
5.项目取得的效果:
基本完成预期目标,控制器在上海沃巴弗车间内部进行了现场调试应用,控制精度、系统架构、应用界面等在持续优化。

 AGV多机器人自主充电调度系统
项目名称:AGV多机器人自主充电调度系统项目
1.项目介绍:
AGV多机器人自主充电调度系统实现了工厂内AGV可自主自发地按某些策略完成自主充电动作。工厂中控系统对工厂内所有AGV和充电机全局控制与调度,对AGV BMS信息、任务信息,以及充电机状态与任务信息进行分析,调度AGV到最适的充电机完成精准伺服充电任务。系统采用IoT概念,构建中控、AGV、充电机通信组网,实现了中控与充电机之间、中控与AGV之间、AGV与充电机之间的数据同步与高效控制。AGV与充电机之间设计有安全交握机制,确保了充电任务的安全和稳定性;AGV作为行动者,能够实时了解工厂充电机分布,并可自主定位导航,前往充电机执行精准伺服充电。
AGV多级自主充电调度系统主要包括五个子系统:UI配置管理子系统、中控子系统、运动规划与控制子系统、感知与伺服子系统、充电机控制子系统。UI配置管理子系统作为BITO系统的人机交互界面,集成了配置管理、路网设计规划、监控监测、日志存储管理等完备的管理系统。中控子系统作为BITO系统的调度与交管中心、数据交换与处理中心,处理外部派发系统服务请求,管理整个AGV系统,确保所辖AGV集群与工厂设备节点有序稳定运作。运动规划与控制子系统作为AGV单节点的规划与控制中心,接收中控目标指令,规划最短路径最优轨迹,全闭速度环控制不同类运动模型AGV底盘完成轨迹动作。感知与伺服子系统作为AGV单节点的感知与伺服中心,凭借激光雷达、视觉相机等光学传感器感知物体结构与位置,与外部机构交握获得最佳最安全伺服机会,实现高精度稳定任务伺服。充电机控制子系统作为BITO系统的充电控制中心,接收中控充电控制指令、处理与AGV交握逻辑、实时监测并反馈充电机状态。
2.在该项目中参与角色及主要工作内容:
1)参与多机器人自主充电调度系统的需求分析、控制/调度方案讨论与设计;
2)负责中控系统中任务调度与管理子系统、多机通信平台的开发与调试;
3)负责充电机控制模块、BMS管理模块、单机监控模块、充电交握与伺服模块的开发与调试;
4)负责CAN底盘驱动控制与运动模型模块、IO设备控制与管理模块、自动货梯交握/自动料架PLC通信管理模块的开发与调试;
5)负责BWMS智能仓储管理系统的修改与调试;
6)负责自主充电系统仿真环境搭建测试,文档撰写、项目部署与调试,需求改进及功能升级。
3.技术难点:
1)中控系统中任务调度与任务管理子系统、多机通信平台的开发与调试;
2)CAN底盘驱动控制与运动模型模块。
4.解决方法:
1)上述技术难点1的解决方案
智能工厂中,AGV是一个用来运输的移动机器人,负责把货物从A处运到B处,同理AGV从A处到B处执行充电。充电调度的几个过程:
Dispatch(派遣):指派AGV去执行一个运输、轨迹或充电任务;Schedule(调度):分配一批运输任务给一组AGV去执行;Route(路径规划):生成所有被指定AGV的路径使其能完成各自被指派的任务。Job(任务):充电调度系统了解到AGV电量不足或空闲时,会自动向MySQL数据库中添加一条充电任务,调度系统(Dijkstra最短路径算法实现)向AGV下发充电任务。通过为AGV设置不同的优先级来解决多机器人协调问题,优先级高的AGV先规划自身路径,低优先级AGV将比其高优先级的AGV的路径视作为障碍物,进而再进行规划。
2)上述技术难点2的解决方案
不同厂家的AGV本体具有不同的运动模型和伺服控制系统,为兼容不同厂家的AGV本体,对底盘控制系统(STM32F4平台)进行抽象化设计(Chassis系统),支持麦轮模型、差动轮模型、单惰轮模型和双惰轮模型,支持本体IO可控可配置,支持不同CAN驱动控制和IO驱动控制,支持IO类2D激光雷达避障控制,支持串口通信(与AGV控制器通信)等。
5.项目取得的效果:
完成预期目标,系统已于武汉京山轻机、汕头格力、台湾阳程股份、台湾TSMC和日本NKC等国内外企业实施应用。

 AGV单机控制系统(ANS)及ROS2/DDS分布式数据系统研究
项目名称:AGV单机控制系统(ANS)及ROS2/DDS分布式数据系统研究项目
1.项目介绍:
机器人自动导航系统ANS,主要包括SLAM模块、Navigator运动规划模块、Performer伺服模块、Chassis底盘控制模块、单机监控模块、传感器驱动模块、多机通信模块、仿真模块、自动标定与部署组件、手柄控制模块、单机UI。
SLAM模块支持AprilTag-SLAM和2D/3D激光SLAM定位方式。基于eigen/ceres数学算法库,在开源框架cartographer上开发的激光SLAM模块,支持SICK TIM系列/倍加福2D传感器、Velodyne/雷神 L16 3D传感器的快速建图与精确定位。Navigator模块包括任务规划层(NTA)、任务管理层(NSA)、轨迹规划层(NLP)和轨迹跟踪层(NTT)。NTA负责全局路网路径规划和路径任务下发;NSA负责任务状态和路径信息管理,将任务下发至NLP或Performer;NLP负责轨迹规划,包括局部路径/轨迹再规划,以及避障处理;NTT负责轨迹追踪控制,根据NLP下发的轨迹任务,计算得出最优速度,并向Chassis底盘控制系统发出速度命令速度指令。该模块同时支持Kiva和Bezier轨迹控制。车辆管理系统FMS,主要包括调度与交管模块、自动充电模块、仓储管理模块、多车监控模块、多机通信模块、中控UI。
2.在该项目中参与角色及主要工作内容:
1)负责机器人自动导航系统(ANS) 中Chassis底盘控制模块、Performer伺服模块、多机通信模块、单机监控模块和手柄控制模块的设计/移植、开发与调试;
2)负责车辆管理系统(FMS)中自动充电模块、仓储管理模块、多车监控模块和多机通信模块的移植、开发与调试;
3)负责ROS2 DDS的新技术研究与培训,对接研究Opensplice产品技术。
3.技术难点:
1)负责ROS2 DDS的新技术研究与培训。
4.解决方法:
1)上述技术难点1的解决方案
ROS1将功能分布在各节点之中,节点间基于消息机制通信,节点间的数据传递通过内存复制完成,通信部分则消耗了很多系统资源。且ROS1各节点通过Master节点完成学习,如果Master节点崩溃,各节点间都无法进行通信。ROS2基于DDS消息分发机制,其系统可靠去中心化、通过mmap机制提升系统通信性能、节点化入Linux Container中相互隔离、信息加密防止被劫持等优点。难点在于ROS2和DDS的研究与应用,通过查看ROS2 Melodic tutorials熟悉掌握了ROS2的应用及AGV系统的试迁移;通过引入Adlink OpenSplice的线下技术培训来熟悉OpenSplice DDS的模型与应用。
5.项目取得的效果:
完成预期目标,系统已应用于国内外企业。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论