python机器人编程——基于python的可编程软控制器的初步实现

一、前言

目前,python毋庸置疑是人工智能的首选语言,很多著名的人工智能框架都能支持python语言,同时,python作为一种“胶水”语言,可以支持c语言等其它语言的调用,方便适合多语言的混合编程。基于这样一个事实,我们技术团队当初选编程语言时候,最终选择了python作为机器人的编程语言。随着通用计算机硬件技术的发展多核处理、GPU平行计算等日新月异,运行大规模的图像处理算法越来越容易在本地实现,云+边缘计算的计算范式也将成为机器智能控制系统的主流方案。传统的可编程控制器,由于其算力低下,智能处理简单的逻辑运算,对于视频流处理、寻优迭代、神经网络在线学习计算场景难以胜任,但是传统的可编程控制器其可视化组态,容易上手,工程化效率高等优点还是非常明显,因此,是否可以提供一种可编程的python运行控制器,保留传统可编程控制器的工程化优点的同时,提高控制器的算力即对视频图像的处理能力,应用于机器人控制系统,不失为一种好的尝试课题。我们将这样的控制器称为——人工智能虚拟控制器。

二、框架结构

这款人工智能控制器的大致框架结构如下图所示:
在这里插入图片描述

初代控制器平台主要由python语法检查工具、C语言编译工具、流程图计算调度器、可视化算法模块管理、可视化组态工具、工程文件管理工具等组件构成。
其主要的功能分别为:

2.1 python语法检查工具

该模块主要对自定义模块的的python脚本程序进行语法检查,通过检查后,即可变成可以被其它工程调用的算法块,或者可以提交给c语言编译工具,形成加速模块,供流程图调用。

2.2 c语言编译工具

是将python模块编译成c语言动态库,可以实现对模块的封装,同时提高了运行的速度,从而提高了耗时计算的模块的性能。

2.3 流程图计算调度器

该调度器为整个平台的核心主模块,借鉴了神经网络的计算图设计思想,利用图论原理将各算法块进行流程化组合,实现顺序、反馈的信号流动控制,同时根据图的结构,提供协程级、线程级、进程级的计算资源分配和联动,实现当前工程的运行性能最优化。

2.4 可视化算法模块管理

该模块可以对通过检查的模块,进行多方面的管理,包括版本、包括归类、帮助文档等,为用户提供所见即所得的环境。

2.5 可视化组态工具

该模块提供易用的类似plc功能块编程的环境(虚幻的蓝图环境),实现根据特定任务进行工程流程图计算的可视化拖拽和连线组态,降低工程人员准入门栏,实现知识快速复用,提高生产率。

2.6 工程文件管理工具

该工具可以对机器人工程文件进行管理。包括备份、中间状态变量的保存,工程的变更、还原等等

扫描二维码关注公众号,回复: 15960745 查看本文章

三、后续工作

以上提出了团队即将要推出的python机器人编程平台,在提供较为完整的配套工具环境的基础上,将团队之前所开发的机器人运动模块、机器视觉处理模块、识别模块等等均转化为平台预置的算法块,这样一来就可以让使用者快速开发出想要的机器人控制系统,缩短项目的周期,将节省的时间快速用于系统的迭代。

猜你喜欢

转载自blog.csdn.net/kanbide/article/details/129940238