manipulator_HU_learninging

记录一套开发流程,没啥意义

后续可看,ppt要好好做

1.基本理论

2.开发

ISO

  1. 机器人动作机构具有类似于人或其他生物体的某些器官(肢体、感受等)的功能;、
  2. 机器人具有通用性,工作种类多样,动作程序灵活易变;
  3. 机器人具有不同程度的智能性,比如记忆、感知、推理、决策、学习等;
  4. 机器人具有独立性、完整的机器人系统在工作中不可以依赖于人的干预。

驱动系统

  • 电源子系统
  • 电机驱动系统—控制信号-电信号
  • 传感器

内部传感器

  • 机器人里程计
  • 惯性测量单元IMU

控制系统

PC—人机交互(SLAM、导航、图像识别、语音识别)

TCP/UDP

硬件系统:控制、传感器数据采集、驱动系统通信、外设连接

外部传感器

  • 外部摄像头、Kinect
  • 激光雷达

移动机器人-常见

机器人架构可参考(ppt制作,针对特种环境的通信干扰分析)

云机器人架构思想:

  • 全局云:全局数据存储、共享和交互
  • 本地云:密集型计算的机器人应用服务
  • 机器人:面向用户的终端服务单元

优点:局部网络占优

  • 本地云数据共享更加灵活、快捷
  • 数据保存与本地服务器,更加安全、可靠
  • 服务于多种机器人

整理常见机械臂:

  • UR机械臂,安全度高、编程简单、灵活度高,负载10-18kg,工作半径85-130cm。

控制框架架构+系统架构+云系统架构

开发具体流程分析与记录(代码分析):

1.常见基础

2.manipulator_moveit

3.moveit+gazebo 仿真系统搭建

ros_control 为开发者提供的机器人控制中间件,包含一系列控制器接口、传动器接口、硬件接口、控制器工具箱

包括有速度控制、位置控制、力控制

关节位置控制器:PID 具体参照arm包 yaml文件或者gazebo_control内yaml文件

加载控制器,加载conrollers关节参数,加载publisher参数节点,三部分,关节矩阵变换

moveit与gazebo rviz 联合仿真

编程接口

moveit_commander python接口

1.连接控制需要的规划组 2.设置目标位姿 3.设置运动约束 4.使用moveit!规划一条到达目标的轨迹

5.修改轨迹 6.执行规划出的轨迹

启动moveit包-moveit_config,程序中给出目标位置以及执行器位置信息,软件自动规划最优路径

编程—-针对规划组编写,设置目标位置参数,臂则设置位置信息,数组导入,完成机械臂规划

工作空间运动规划—轨迹规划(关键代码参数)

创建规划组的控制对象

获取机器人终端LINK名称

设置目标位姿对应的参考坐标系和起始、终止位姿

完成规划并控制机械臂完成运动

运动限制约束设置

运动学插件问题KDL,插件选用以及二次开发问题

抓取与放置,attach与un,避障规划

代码分析与移植待补充~~