ROS编程应用二学习笔记

ROS编程应用二

一、机械臂

1、Movelt系统架构

参考资料:http://moveit.ros.org

安装:sudo apt-get install ros-kinetic-moveit

1、简介
  • 是一个易于使用的集成开发平台

  • 功能组成

    • 运动规划

    • 操作控制

    • 3D感知

    • 运动学

    • 控制与导航算法


2、系统架构
  • 用户接口
    • 提供C++/Python接口(C++使用move_group_interface包提供的API,Python使用moveit_commander提供的API)
    • GUI:使用Movelt的rviz插件
  • ROS参数服务器
    • URDF:robot_description参数,获取机器人URDF模型的描述信息
    • SRDF:robot_description_semantic参数,获取机器人模型的配置信息
    • config:机器人的其他配置信息,如:关节限位,运动学插件、运动学规划插件
  • 机器人:
    • Topic和Action通信

在这里插入图片描述

  • 运动规划器结构
    • 约束条件
      • 位置约束:限制link的运动区域
      • 方向约束:限制link的运动方向(roll、pitch、yaw)
      • 可见约束:限制link上的某点在某区域的可见性(通过视觉传感器)
      • joint:限制joint的运动范围
      • 用户定义约束:用户通过回调函数自定义所需的约束条件
    • 适配器
      • FixStartStateBounds:修复joint的初始极限
      • FixWorkspaceBounds:设置一个默认尺寸的工作空间
      • FixStartStateCollision:修复碰撞配置文件
      • FixStartStatePathConstraints:找到满足约束的姿态作为机器人的初始姿态
      • AddTimeParameterization:为空间轨迹进行加速、加速度约束、为每个轨迹点加入速度、加速度、时间等参数

在这里插入图片描述

在这里插入图片描述

  • 规划场景模块的结构

    • 监听信息

      • 状态信息(State Information):机器人的关节话题joint_states
      • 传感器信息(Sensor Information):机器人的传感器数据
      • 外界环境信息(World geometry information):通过传感器建立的周围环境信息

在这里插入图片描述

  • Movelt使用步骤

    • 组装:创建机器人URDF模型
    • 配置:使用Movelt!Setup Assistant工具生成配置文件
    • 驱动:添加机器人控制插件
    • 控制:Movelt!控制机器人的运动(算法仿真、物理仿真)
    • 参考书 <ros by example vol 2>

2、创建机械臂模型与配置文件

1、创建机械臂模型
  • 宏定义
    *在这里插入图片描述
    *在这里插入图片描述
  • 在这里插入图片描述
  • 运行 roslaunch marm_description view_arm.launch
2、创建配置文件–Movelt!Setup Assistant
  • 启动Movelt!Setup Assistant
    • rosrun moveit_setup_assistant moveit_setup_assistant

    • 加载arm.xacro文件

    • 设置碰撞检测采样点

在这里插入图片描述

  • 机械臂规划组Planning Groups

在这里插入图片描述

  • 自定义点位

  • 配置终端夹臂

3、Movelt编程基础

  • 编程接口

在这里插入图片描述

  • 关节空间规划

在这里插入图片描述

  • 避障规划

4、Gazebo机械臂仿真

5、ROS-I框架介绍

在这里插入图片描述

发布了125 篇原创文章 · 获赞 63 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/u011573853/article/details/103620031