021-64857016 
中文    |    EN
商城

专为高校实验室打造科研教学平台

与一体化解决方案的高新技术企业


Hotline / 热线电话

咨询热线:021-64857016  
韩经理  18917815646
E-mail:market@cactech.cc
机器人开源控制软件
    发布时间: 2020-06-03 13:15    

机器人开源控制算法

1 机器人程序库V1.0

一、基于dSPACE/Speedgoat控制器的开源机器人控制程序库说明

      dSPACE/Speedgoat是一类基于Matlab/Simulink编程的控制器,广泛的用于车辆、电机控制、机器人和电力电子领域的快速原型控制和硬件在环仿真。本公司基于dSPACE/Speedgoat控制器,在Simulink中开发了机器人控制相关的程序库,调用相关的库函数可以快速的完成机器人控制平台的搭建。 

如图1所示,目前机器人程序库的版本为1.0,主要包括12个程序模块,分别为ROS-Ethernet通讯模块、Ethercat通讯模块、CAN通讯模块、ATI力传感器重力补偿模块、导纳力控模块、视觉抓取模块、速度规划模块、运动学逆解模块、运动学正解模块、机器人使能逻辑模块、位置反馈模块和控制器模块。

二、机器人模块介绍

1ROS-Ethernet通讯模块

ROS的原型源自斯坦福大学的校内项目,ROS表述为“ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体ROS广泛的在无人驾驶、运动规划、无人机等研究领域应用,当用户采用另外一台Linux系统的电脑运行ROS程序时,可以通过Ethernet通讯的方式将ROS运行的结果返还给dSPACE/Speedgoat控制器。这种用法一般是将机器人作为一个执行器,ROS程序完成上层规划,通过Ethernet接口,将规划的指令下发给机器人,从而控制机器人完成相应的任务。

2Ethercat通讯模块


EtherCAT(以太网控制自动化技术)最早是由德国的Beckhoff公司研发是一个开放架构,以以太网为基础的现场总线系统,在工业中目前已经得到广泛的应用。本模块采用Speedgoat控制器作为Ethercat网络的主站,支持COE通讯协议,能够控制EthercatIO模块、Ethercat伺服驱动器等多种从站设备。

3CAN通讯模块

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。本模块支持标准的CAN通讯,可以通过CAN协议和变频器、伺服等工业设备进行通讯。

4ATI力传感器重力补偿模块

本模块的主要功能是首先通过Ethernet通讯的方式和ATI六维力/力矩传感器进行通讯,将原始数据处理后读出传感器的力和力矩值。然后通过设计的辨识算法和实验,对传感器坐标系和末端工具重力进行辨识,完成机器人末端工具的动态重力补偿。本模块的相关程序可以改写,从而应用于其他基于Ethernet的力传感器。

5、导纳力控模块



导纳控制器的核心是根据输出交互力结合自定阻抗弹簧模型计算出参考轨迹,从而对位置环的输入进行修正。本模块采用如上图所示的导纳控制示意图,结合ATI六维力/力矩传感器的反馈,完成导纳力控制,在位置控制的基础上实现接触力/力矩的控制。

6、视觉抓取模块

视觉抓取处理模块,主要包含摄像机的手眼标定程序(Eye-in/to-hand),二维平台物体坐标计算程序。能够实现平面物体的位姿计算,从而完成机器人末端的抓取实验。

7、速度规划模块


速度规划模块主要包含基于T型速度规划、S型速度规划和样条曲线的速度规划程序。

8、运动学正/逆解模块

运动学正逆解模块主要包含采用MDH法和POE法进行机器人运动学正逆解分析程序,目前已经包含针对多种六自由度串联机器人、Delta并联机器人、SCARA机器人的运动学分析程序。

9、机器人使能逻辑模块


机器人使能逻辑模块,主要包含伺服驱动器使能控制、保护IO接口控制、机器人手抓、气路等数字量和模拟量的逻辑控制。

10、位置反馈模块

 

位置反馈模块,主要功能为计算机器人各关节反馈的数值和读取机器人上电时初始位置,从而正确的进行机器人各关节实时弧度值的反馈。

11、控制器模块

 

控制器模块主要完成机器人位置环/速度环/电流环的控制器设计,本程序库中以PID类型的控制器完成机器人位置环的控制。当用户将机器人伺服驱动器调为速度或力矩模式时,可以在此模块中设计相应的速度环/电流环控制器。当用户采用高级控制算法,比如鲁棒、自适应、神经网络控制器时,可以将其算法加在此模块中,形成客户自主程序模块。

产品中心