机器人控制系统(二)——整体设计

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Kalenee/article/details/88777267

一、简述

机器人控制系统是一个复杂设计,针对不同功能目标有不同的开发路线,若想开发一个通用的控制系统难度会非常高,因此确定目标需求非常重要,这里所述的目标需求有两种,一种为开发基本的控制系统再根据实际条件进行功能添加开发,另外一种为针对特殊情况开发专门的控制系统。

目标需求设计好后,根据要求可以搭建简单的框架,对于ROS开发来说,一个好的框架是开发的第一步,也是最重要的一步,值得花费大量的时间和精力,因为后续所有功能开发都建立于框架之上,根据框架去设计功能节点和接口,若后期对框架进行大规模调整会对系统整体产生极大影响,这点需要非常注意。

二、目标设计

此处目标为设计一个可实现物体筛选和抓取的机器人控制系统,目标可简单转述为一个基本的机械臂控制系统和一个视觉的添加功能,属于第一种目标需求,具体要求如下:

2.1 机械臂控制系统

  1. 说明

目标控制机械臂为常见的六轴构型,需要实现机械臂的运动控制,可分别采用示教模式和工作模式对机械臂进行控制,控制系统需带交互接口和功能接口。

  1. 基本方案设计
  • 运动控制

    MoveIt!为核心,辅以Service-Client通讯结构构建运动控制系统核心部分,实现机械臂的运动控制,轨迹规划等,集成机械臂相关的所有控制算法。

  • 控制接口

    控制接口分为软件接口和硬件接口,软件接口面向功能模块,硬件接口面向硬件。

    软件接口采用ROS的通讯模式实现,硬件接口可采用ros_controlros_industral或者actionlib,通讯协议根据需要可采用串口或者ethercat。

    扫描二维码关注公众号,回复: 7197287 查看本文章
  • 交互接口

    交互接口为人机界面,面向用户,可采用Qt或者rosbridge+WEB实现。

2.2 视觉功能

  1. 说明

    视觉识别目标为实现特定物体的识别与定位。

  2. 基本方案设计

    相机采用RGBD相机,结合图像数据和点云数据实现物体的识别与定位。

    视觉算法采用OpenCV+TensorFlow+PCL实现,并通过软件接口与机械臂控制系统结合。

三、构建框架

因ROS在设计之初考虑到了诸多方面,冗余较大,因此框架可以采用多种方式实现,不一定要按照某一特定方式进行开发。

3.1 框架参考

  • ROS-Industrial
    在这里插入图片描述
  • Kungfu Arm Architecture
    在这里插入图片描述
  • HRMRP
    在这里插入图片描述
  • ROS-I Interface for COMAU Robots
    在这里插入图片描述

3.2 框架设计

在这里插入图片描述

  • 交互模块
    交互部分不采用ROS提供的rqt实现,独立于ROS,改为通过以下两种思路实现:
    • 采用qt开发,在qt中建立ros节点,实现qt界面与ros通讯(此处采用该方式实现)。
    • 开发交互接口,消息通过rosbridge或者其他通讯接口(蓝牙串口等)与GUI界面通讯。
  • ROS
    之后博文详述。
  • 硬件
    硬件通过TCP/IP与控制系统通讯,数据通过硬件接口转换为通用的ROS数据传输到ROS系统中。

参考

ROS-Industrial

ROS-I Interface for COMAU Robots

功夫手:一款基于ROS的工业机器人

HRMRP机器人的设计

胡春旭,熊枭,任慰,何顶新. 基于嵌入式系统的室内移动机器人定位与导航[J/OL]. 华中科技大学学报(自然科学版),2013,41(S1):254-257+266. (2014-01-10)[2017-08-15].

猜你喜欢

转载自blog.csdn.net/Kalenee/article/details/88777267
今日推荐