我是靠谱客的博主 朴素糖豆,最近开发中收集的这篇文章主要介绍如何搭建一个机器人控制系统,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 前言

这里着重从科研的角度来讲一下机器人系统该如何搭建,适合机器人专业、机器人爱好者参考。

机器人种类繁多,这里的机器人系统着重针对足式机器人、仿生机器人、外骨骼机器人、关节型机器人等伺服机构偏多、控制精度要求较高、市面上又无现成商品化控制系统硬件的机器人系统。无人机、无人车领域建议去专业论坛求索,本文仅供参考。

机器人控制系统更新迭代较快,这里给出2019年世界主流控制系统设计理念,具体参考了ICRA2019,世界著名实验室等资料。

本文不具体给出技术细节,只给出设计理念、产品型号选择范畴等,因为具体的设计是要根据具体的机器人来定的。传感器、手控器等外设本文也不涉及。

本文着重设计理念理解,帮助工程实用,大白话讲述,不甚严谨,批判家手下留情。

  • 系统设计

整个机器人控制系统涉及三个方面:控制系统硬件、控制系统软件、控制系统通信

控制系统硬件即控制算法的实现平台,例如单片机、PC机、工控机等。

控制系统软件就是控制算法在哪个IDE(集成开发环境)下编写,编写的程序在哪个操作系统(单片机可以没有操作系统)下运行。

控制系统通信是控制板卡和其他各个部件的信息传输,如传感器的数据需要传给控制器,控制器的指令需要传给执行器等。

上述三个方面的关系是,算法程序在软件里写,写完之后在硬件里跑,跑的过程中算法需要的数据由通信来给,指令也由通信下达给执行器。

2.1 控制系统硬件

控制系统硬件包括两大类:嵌入式微处理器、嵌入式计算机。

嵌入式微处理器包括单片机、ARM、DSP、FPGA等;嵌入式计算机包括微型电脑、工控机、PC104小板机等。需要注意的是,这里二者的界限并不是那么明显,比如工控机所用的CPU也可能是ARM构架的,但目前市面上更多的是intel和AMD公司生产的x86构架的CPU(我们的个人电脑,笔记本里的什么酷睿i5、i7CPU都是基于x86构架的)。

嵌入式微处理器硬件很好买,而且也便宜,如果自己不会画板子的话,直接买现成的开发板应该能够满足需求。

微型电脑其实和我们的个人电脑差不多,只不过尺寸更小,便于安装到机器人上,像intel的nuc就比较火。淘宝上可以很方便的采购微型电脑(微型主机/迷你主机)。

工控机就是工业控制计算机,其实和我们的个人电脑也差不多,只不过用在工业上需要抗摔、防尘、以年为单位连轴转尽量不关机、可靠性更高。国外的工控机如倍福,好但贵。国内的工控机研华的也不错。

PC104小板机可以当作是一个工控机,它采用的是PC/104总线结构,芯片一般也是x86的芯片。优点是需要扩展的话直接叠罗汉式插板就行。

其实控制系统硬件很好理解,只要具备计算能力就可以。也就是说,如果是拖线式控制机器人的话,用自己的电脑也可以胜任,但个人电脑主要用来看剧玩游戏,毕竟不是很对口,而且还得把win10系统换掉才行(坚持用win10的话需要一些额外操作)。

目前主流都是用嵌入式计算机(Embeded Computer)中的微型电脑+嵌入式微处理器(Embedded MicroController),微型电脑负责主控,嵌入式微处理器负责底下的小模块。如果机器人系统比较小,直接用嵌入式微处理器也可以。如果有视觉处理需求,可以额外再加一个微型电脑,如英伟达的TX2.

2.2 控制系统软件

       2.2.1 控制系统实时操作系统(RTOS,Real Time Operation System

实时操作系统能够保证控制系统严格按周期进行运行,前言中所涉及的机器人需要有较高的实时性要求,主控制程序1kHz起步,所以这里讲述的RTOS的实时性也是毫秒级别的。我们用的win7,win10,linux都不是RTOS(淘宝上很多工控机预装的是win7的系统,那个的实时性满足不了上述机器人的要求,它们主要是用来做过程控制、监控设备、人机交互用的,比如可以用在取款机上,取款机的响应速度体验起来感觉是秒级的,还有的用在KTV点歌机上,点歌不会要求毫秒级的响应速度的)。

一般嵌入式微处理器可以不用安装操作系统,直接裸机跑。如果要装的话可以用ucos、freertos等。

微型电脑上可安装的RTOS有WinCE、VxWorks、QNX、嵌入式Linux等,不建议装winxp、win7、win10系统,如果实在想在这些系统下控制机器人,我所知道的有两个方法,但没去考证可行性:一是CPU如果是多核的话,锁住一个核专门用作实时控制;二是通过接口再拓展如FPGA等板子,专门用作实时控制。随着现在ROS的流行,越来越多的团队直接装的是非实时的Ubuntu Linux系统,外加硬实时补丁CONFIG_PREEMPT_RT patch,这样也可以,而且看样子是趋势。

一些工控机、小板机的RTOS大体和微型电脑上的类似,不再赘述。

       2.2.2 控制系统集成开发环境IDE(Integrated Development Environment

一般IDE是安装到我们的工作计算机/笔记本上的,写好程序,编译好,然后再下载到控制硬件(嵌入式微处理器、嵌入式电脑)里,这样用着方便。也有的直接在RTOS下的IDE中直接编写程序。

嵌入式微处理器的IDE有Keil、IAR等,选择自己顺手的即可。

嵌入式电脑的IDE就多了,如windows下的(这里的windows系统是个人工作电脑上的系统,不是控制硬件上的RTOS)VS、QT、QNX之类,Linux下ROS亦可。

  • 通信:现场总线和工业实时以太网

主控器有了,机器人系统中还有各种传感器、执行器、监控器等,它们的信息需要相互传输,而且一些实时运行的实验数据也需要保存下来。

现在主流的通信方式有两种,一种是基于CAN总线(可选用CANOpen协议),另一种是基于工业实时以太网的Ether CAT协议,二者的物理接口不一样,CAN总线的接口有的是两根线(凤尾插头那种),有的用DB9接口。Ether CAT接口就是我们常用的RJ45网口,注意Ether CAT的主站,也就是主控器的接口和我们平时用的网口一样,它们是兼容的,但是从站,即传感器、执行器这边,接口也是一样的网口,但是从站接口硬件需要支持Ether CAT协议(需要多加一个芯片)。

  • 一个概要图

  • 建议

建议追踪世界大牛实验室:MIT Biomimetic Robotics Lab、苏黎世联邦理工Autonomous Systems Lab、意大利理工Dynamic Legged Systems lab等。

最后

以上就是朴素糖豆为你收集整理的如何搭建一个机器人控制系统的全部内容,希望文章能够帮你解决如何搭建一个机器人控制系统所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部