ROS探索总结-66.基于ROS设计一款机械臂控制系统

ROS探索总结-66.基于ROS设计一款机械臂控制系统

说明:

  • 介绍如何基于ROS设计一款机械臂控制系统

正文

  • 今天我们将从以下两个方面为大家介绍ROS机械臂控制系统的设计。

  • 首先我们来看看ROS控制系统的设计方法。

  • 回顾之前介绍的这张框架图,其中抽象出了控制系统的关键部分,虚线左边可以利用MoveIt!快速搭建运动规划层的功能,具体如何将规划得到的数据落实到机器人上的绿色部分,是我们要实现的重点。

  • 这里可以用之前讲过的ros_control来实现,ros_control主要分成两个层次,一个是硬件无关的控制算法,一个是和硬件相关的硬件抽象层,需要根据使用的硬件来实现硬件抽象层的read和write方法。

  • ros_control是一个控制器框架,如果其中没有满足我们的控制器,也可以自己进行实现,如下是一个简单的闭环控制器结构。

  • 以上只是针对控制的部分,整个机械臂控制系统的搭建可以参考ROS-I的五层架构。

  • PROBOT Anno的控制系统就是基于ROS-I框架实现的,我们以此为例为大家介绍一种控制系统的设计方法。

  • PROBOT Anno的定位是桌面级科研和学习的ROS机械臂平台,充分支持ROS中的各种开发接口功能,目前已经上市,大家也可以参考wiki上的介绍。

  • 在硬件层面上,PROBOT Anno的控制系统以我们开发的ROBCELL控制器为核心,向上连接PC端运行的ROS环境,向下连接驱动器和电机,驱动机械臂运动,还可以通过IO控制外部继电器。

  • 在软件层面上,我们基于ROS-I设计了控制系统的框架。上边四个层次运行在ROS环境中,完成机械臂的运动规划和应用处理,然后用simple message发给底层控制器。控制器基于ARM+FPGA的异构SoC平台,FPGA端完成电机控制、接口扩展、算法加速等,ARM端实现轨迹控制、运动学、系统管理等,具体每个层次实现的功能如下。

  • 交互层基于Rviz设计了一系列便于使用的交互界面。

  • 规划层利用MoveIt!实现运动规划,集成Opencv和Tensorflow实现图像处理和识别,调用科大讯飞SDK实现语音识别,扩展交互能力。

  • 控制和反馈信息都需要封装成具体的数据流发送,我们将这些数据划分成了四种类型。

  • 数据封装好之后就可以利用simple message发送出去了。

  • 控制器是设计和实现的重点,我们基于ROS中的部分功能包,进行了源码级的移植和优化。在设计时需要注意部分功能对实时性要求较高,我们单独放到了一个ARM裸核里进行处理,最大程度提高实时性。

  • 硬件上除了六轴本体之外,还可选配多种终端执行器、相机和麦克风阵列。

  • 基于类似的架构,我们还做过一款工业机械臂,有兴趣的小伙伴可以参考:功夫手:一款基于ROS的工业机器人

  • 为了最大程度提高控制器和驱动器的一体化性能,我们还设计了集成伺服驱动算法的SoC。

  • 精简的平台设计不再需要繁杂的通信和接线,在大大减小控制系统体积和成本的同时,提高了机器人的控制性能。

  • 以上就是本讲的内容精要,详细讲解过程和仿真/真机演示过程请见具体课程。

基于ROS设计一款机械臂控制系统 [转发]相关推荐

  1. 能打羽毛球又能击穿墙壁,戴上这款机械臂,秒变蜘蛛侠反派「章鱼博士」

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 穿戴式机械臂,除了帮助残障人士,还能做什么? 「轻」能打羽毛球,「重」能破墙拆房,从室内生活到高强度劳动,各种任务场景轻松拿下. 这个最新 ...

  2. 《Arduino开发实战指南:LabVIEW卷》6.5 基于Arduino控制6自由度机械臂

    6.5 基于Arduino控制6自由度机械臂 6.5.1 实现的功能 本节将使用LabVIEW设计实现基于Arduino的6自由度机械臂控制.本节中设计的机械臂控制主要演示Arduino在多自由度Se ...

  3. ROS Melodic连接UR5机械臂通讯详细步骤,亲测可行

    ros版本:Melodic 机械臂:优傲机器人ur5,控制器cb3,软件版本13.多 任务描述:机器人操作系统ros通过网线连接ur5,实现二者通信,在ros下控制ur5运动,为后续基于ros开发机械 ...

  4. 【机器人操作系统(ROS)中的机械臂仿真】

    [机器人操作系统(ROS)中的机械臂仿真] 1. 前言 2. 什么是机械臂? 3. 设计机械臂 4. 模型设计 5. 了解启动文件 6. 了解自定义节点 7. 运行机械臂模拟 8. 结果和结论 1. ...

  5. matlab simulink基于自抗扰控制的机械臂位置仿真

    1.内容简介 略 608-可以交流.咨询.答疑 2.内容说明 机械臂是指高精度,多输入多输出.高度非线性.强耦合的复杂系统.因其独特的操作灵活性,已在工业装配.安全防爆等领域得到广泛应用. 机械臂是一 ...

  6. 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真

    基于ADAMS和MATLAB的机械臂控制仿真 宗晓萍;李月月 [期刊名称]<微计算机信息> [年(卷),期]2009(000)035 [摘要]运用多体系统动力学分析软件ADAMS建立虚拟模 ...

  7. ROS下连接dobot机械臂

    ROS下连接dobot机械臂 我使用的操作系统是ubuntu16.04,ros是kinetic! 首先到dobot官网下载ros下的demo模块,网址:https://cn.dobot.cc/down ...

  8. matlab机械臂dh仿真,基于MATLAB Robotics Tools的机械臂仿真

    基于MATLAB Robotics Tools的机械臂仿真 [摘要]在MATLAB环境下,对puma560机器人进行运动学仿真研究,利用Robotics Toolbox工具箱编制了简单的程序语句,建立 ...

  9. 【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真

    基于PoE公式的UR5机械臂正运动学建模求解与matlab仿真 基于PoE公式的UR5机械臂正运动学分析 1.1 运动旋量的螺旋释义(理论基础) 1.2 基于PoE公式的UR5机械臂正运动学模型 1. ...

最新文章

  1. Shell第三篇:基本语法
  2. 太极计算机长沙,他设计了湖南最有尊严的建筑,诗意得让你想在里面加班
  3. 计算机网络实验_专业介绍篇 | 计算机网络技术专业
  4. APP架子迁移指南(一)
  5. 移动平均法,滑动平均模型法(Moving average,MA)
  6. 关于计算机信息管理的照片,2021年10月青海自考计算机科学与技术(计算机信息管理方向)专业报名照片要什么格式...
  7. 5年500台达芬奇手术,和睦家实现技术升级
  8. 最新码支付源码+全套的程序+三网监控+易支付H5接口 2022年6月22号
  9. openfeign配置代理服务器
  10. IP-guard23个功能模块简介
  11. 机械臂规划----三次样条曲线
  12. 一个硬盘的感人爱情故事
  13. MySQL数据库创建表报错的解决方案
  14. 如何给码农的Mac开光
  15. VMware之SNAT与DNAT
  16. c语言消隐的作用是什么,【C语言程序设计最终版材料】
  17. Java, jsch , ssh , ppk 密钥文件, 连接远程数据库 mysql
  18. Spatial Zadoff-Chu modulation for rapid beam alignment in mmWave phased arrays
  19. linux虚拟机重启后,运行nmtui提示NetworkManaer 未运行
  20. 官宣!深圳将筹建一所新大学!深圳师范大学

热门文章

  1. nodejs怎么看安装成功_教你怎么用XBOX ONE安装KODI看4K蓝光电影,并实现PC局域网共享...
  2. asp.net 中,什么是div?
  3. 物联网卡无法激活使用的原因
  4. android 重启自身app
  5. Linux学习——废旧电脑再利用Ubuntu部署私有云Nextcloud
  6. 小程序源码《表情包多样版》
  7. SpringMVC里的Model、Map、ModelMap以及ModelAndView
  8. 大病众筹平台会成为下一个“网络诈骗”工具吗?
  9. php deployer 从入门到精通
  10. 3dmax 毛发、毛头麻绳