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

文章目录

    • 一、简述
    • 二、目标设计
      • 2.1 机械臂控制系统
      • 2.2 视觉功能
    • 三、构建框架
      • 3.1 框架参考
      • 3.2 框架设计
    • 参考

一、简述

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

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

二、目标设计

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

2.1 机械臂控制系统

  1. 说明

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

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

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

  • 控制接口

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

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

  • 交互接口

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

2.2 视觉功能

  1. 说明

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

  2. 基本方案设计

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

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

三、构建框架

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

3.1 框架参考

  • ROS-Industrial
    机器人控制系统(二)——整体设计_第1张图片
  • Kungfu Arm Architecture
    机器人控制系统(二)——整体设计_第2张图片
  • HRMRP
    机器人控制系统(二)——整体设计_第3张图片
  • ROS-I Interface for COMAU Robots
    机器人控制系统(二)——整体设计_第4张图片

3.2 框架设计

机器人控制系统(二)——整体设计_第5张图片

  • 交互模块
    交互部分不采用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].

你可能感兴趣的:(ROS,机械臂,机器人控制系统)