一、机械臂在ros里面的可视化

在SOLIDWORKS转换成urdf文件之后,生成的文件放在新建的功能包中后,编译(catkin_make),再执行下面代码即可运行可视化文件

roslaunch description dispaly.launch
roslaunch description gazebo.launch

这两个文件是转换成urdf文件里面自动生成的,description是自己命名的solidworks生成的文件,第一个是rviz可视化机械臂,第二个是gazebo仿真环境可视化机械臂。

运行之后需要把坐标系更改为base_link,在Add里面添加RobotModel,这样就可以显示机械臂了。

二、配置MoveIt!Setup Assistant

安装MoveIt

sudo apt-get install ros-noetic-moveit
source /opt/ros/noetic/setup.bash

这里可以用下面的代码查看是否安装成功,并查看moveit!的版本

moveit_version

然后启动MoveIt!Setup Assistant,这一步需要在新建的工作空间中执行,并且打开rocore ,再source一下,因为下面会需要选择功能包中的urdf文件,不在功能包中会失败。

roscore
source devel/setup.bash
rosrun moveit_setup_assistant moveit_setup_assistant

1.开始配置

在运行上一行代码后,会启动带有两个选择的开始屏幕:创建新的MoveIt配置包(Create New MoveIt Configuration Package)或编辑现有的MoveIt配置包(Edit Existing MoveIt Configuration Package)。

  • 点击“创建新的moveit配置包”按钮。

  • 后面的界面,选择功能包中的urdf文件,然后点击Load Files

如果遇到

'xarm_description'. Verify this package is inside your ROS workspace
and is a proper ROS package.

1.首先需要确认,roscore是否已经运行。

2.在Workspace的devel文件夹下,打开命令行,并且输入source setup.bash,将文件目录加载到命令行中。

3.再次输入 rosrun moveit_setup_assistant moveit_setup_assistant 打开moveit!Setup assistant工具

2.产生自碰撞矩阵 Self-Collision Matrix

默认自碰撞矩阵生成器在机器人上搜索可以安全禁用碰撞检查的链接对,从而减少了运动计划的处理时间。当这些链接对始终处于碰撞状态,从不碰撞,处于机器人默认位置的碰撞状态或在运动链上彼此相邻时,这些链接对将被禁用。采样密度指定要检查自我碰撞的随机机器人位置的数量。较高的密度需要更多的计算时间,而较低的密度则有可能禁用不应禁用的对。默认值为10,000个冲突检查。并行执行冲突检查以减少处理时间。

  • 单击左侧的“ 自碰撞”窗格选择器,然后单击“ 生成碰撞矩阵”按钮。在将您的计算结果显示在主表中之前,设置助手将工作几秒钟。

3.添加虚拟关节 virtual joint

这一步骤主要是将机械臂连接到其他部件上,这次咱们只用了机械臂,就不进行设置。

4.添加规划组 planning group

moveit通过定义规划组(planning group)来语义上定义机械臂的各个部分(如手臂和末端执行器),这一部分很重要。

  • 点击左侧Planning Groups

  • 点击Add Group

    添加手臂规划组arm

  • 输入名称 arm

  • 运动学求解器选择kdl_kinematics_plugin/KDLKinematicsPlugin

  • Kin.parameters file选择solidworks插件生成的config文件夹里面的文件

  • 点击Add Joint ,会出现所有关节,选择属于机械臂的关节,再点击>添加到右侧。
    这个地方要注意是属于机械臂的关节,还是末端执行器的关节。

  • 点击保存

    添加末端执行器规划组,步骤跟第一步一样,在选择关节的时候注意选择末端执行器的关节。

5.添加机器人姿态 Robot Poses

moveit允许添加预设的机器人姿态,方便之后使用,例如在后面进行运动规划的时候,一条语句就可以让机械臂运动到,预设的姿态。

  • 选择左侧 Robot Poses
  • 点击规划组arm,右侧会出现各个关节的滑条,拖动设置想要的姿态
  • 点击Save保存

6.配置末端执行器End Effectors

MoveIt中会给末端执行器一个专门的标签-End Effectors。之前我们已经为末端执行器添加了规划组,这里我们要将其标记为End Effector

  • 选择左侧End Effectors
  • 点击Add End Effector
  • End Effector Name设置为hand
  • End Effector Group选择之前添加的末端执行器规划组
  • 父关节选择为机械臂与末端执行器连接的关节
  • 父规划组选择留空白

7.添加被动关节Passive Joints

如果机器人中有被动的关节(不是主动控制的关节),需要将其添加为被动关节,这样可以告诉MoveIt在规划运动的时候这些关节是无法主动控制的。
我们机械臂中没有被动关节,跳过这一步。

8.设置3D感知 3D Perception

这里可以为机械臂添加传感器,如kinetic。
参数配置参考tutorial

如没有传感器,设置为None

9.Gazebo仿真

如果需要在Gazebo中仿真,可以在这里生成需要的URDF文件。(不需要可以跳过)

生成URDF后,通过如下步骤在Gazebo中生成仿真

  • 建立一个空的world
roslaunch gazebo_ros empty_world.launch paused:=true use_sim_time:=false gui:=true throttled:=false recording:=false debug:=true
  • 加载模型
rosrun gazebo_ros spawn_model -file </path_to_new_urdf/file_name.urdf> -urdf -x 0 -y 0 -z 1 -model panda

10.添加作者信息

可以把自己的信息填入,之后发布的时候需要

  • 选择Author Information
  • 输入名字和邮箱

11.生成配置文件

  • 选择左侧Configuration Files,点击Browse选择一个合适的位置,

三、启动rivz可视化

roslaunch marm_moveit_config demo.launch

关于这个时候的rviz以及moveit编程控制,下一个文章会详细讲解一下。

MoveIt的使用(二)机械臂URDF在ROS中MoveIt的配置和使用相关推荐

  1. 机械臂urdf模型修改及功能包配置

    目录 一.前清提要 二.操作过程 1.转夹爪stl为urdf模型,得到夹爪包命名为GripperURDF 2.将夹爪包移到工作空间下,查看其是否完整,符合要求 3.将夹爪urdf包和机械臂urdf包合 ...

  2. Moveit!入门——古月居机械臂开发笔记(二)

    Moveit!入门--古月居机械臂开发笔记(二) 引言 ROS机械臂开发_机器视觉与物体抓取 1.ROS中的运动学插件 2.Moveit!碰撞检测 规划场景 3.Pick and Place 4.RO ...

  3. Moveit!入门——古月居机械臂开发笔记(一)

    Moveit!入门--古月居机械臂开发笔记(一) 引言 Moveit!与机械臂控制 1.创作机械臂模型 2.生成配置文件 3.如何使用Moveit!实现机械臂仿真(gazebo) 完善模型 在gaze ...

  4. UR3机械臂+Realsense D435+ROS手眼标定记录

    UR3机械臂+Realsense D435+ROS手眼标定记录 前面一段时间,由于实验室工作安排,上手了UR3机械臂和Realsense D435深度相机,在手眼标定这一段真的是让人心累,断断续续折腾 ...

  5. 使用 MoveIt 控制自己的真实机械臂【4】——了解 MoveIt 的轨迹规划实现机制

    上一节中我们提到了一个planning request adapters 的概念,在这一节中我们将对其展开详细了解. planning request adapters 是运动规划中 Motion P ...

  6. moveit!控制双UR3e机械臂

    需要把实验室的两台UR3e拼成一个双臂机器人一起做控制.之前从一个双臂开源项目中得到了双UR10的moveit!功能包,经过修改,能够在Gazebo中对双UR3e机器人进行路径规划和控制仿真.但在应用 ...

  7. ROS+UR机械臂+Moveit+ 仿真与实体机械臂的使用+realsense相机+eye_handeye手眼标定(亲测有效)上

    Universal Robots(优傲机器人)公司是一家引领协作机器人全新细分市场的先驱企业,该公司成立于2005年,关注机器人的用户可操作性和灵活度,总部位于丹麦的欧登塞市,主要的机器人产品有:UR ...

  8. matlab机械臂工作空间代码_ROS中机械臂笛卡尔空间规划姿态求解无效-Moveit!

    1 任务描述 在使用Moveit对机械臂运动进行规划时,我们定义Pose,然后规划,目标位姿Pose的定义代码如下: target_pose = PoseStamped() target_pose.h ...

  9. ROS+UR机械臂+Moveit+ 仿真与实体机械臂的使用+realsense相机+eye_handeye手眼标定(亲测有效)下

    ** 1参考链接 ** (1)UR5.realsense手眼标定 (2)优遨机器人UR5与RealSense深度摄像头D435的手眼标定 (3)UR5.realsense手眼标定**** (4)标定所 ...

最新文章

  1. 修改服务器文件系统为xfs,CentOS Linux如何无损调整分区大小(XFS文件系统)
  2. 家庭装修里最大的问题
  3. Sony如何启动微型计算机,索尼笔记本怎么进入bios 索尼VAIO笔记本进入bios技巧
  4. 1.3 函数调用反汇编解析以及调用惯例案例分析
  5. MariaDB Galera Cluster with HA Proxy and Keepalived on Cents 6
  6. python2.7 threading RLock/Condition文档翻译 (RLock/Condition详解)
  7. Android 4.0 NDK Updated
  8. micro usb接口定义图
  9. 在线画图工具(流程图、E-R图等)
  10. 为什么世界上最好的语言是php,我们来谈谈PHP为什么是世界上最好的语言?
  11. acdsee 5.0简体中文免费下载【非常流行的看图工具】
  12. Word 二级标题不跟随一级标题变化
  13. Shell脚本介绍(资源)
  14. 奇点云数据中台技术汇(二)| DataSimba系列之数据采集平台
  15. 《软技能(代码外的生存指南)》读书笔记——持续更新
  16. python安装math模块_python math模块
  17. 第一个项目的cmd代码
  18. 【C语言之入门规划】料峭春风吹酒醒,C语言学习规划与展望。
  19. 安卓设置keychain_使用Android KeyChain安全存储对称密钥
  20. 关于大一新生的一些话

热门文章

  1. 软件测试面试题:已知一个字符串为“hello_world_yoyo”, 如何得到一个队列 [“hello“,“world“,“yoyo“]
  2. java点赞_Java刷视频浏览量点赞量的实现代码
  3. 2022-2028年全球与中国敞篷汽车座椅行业深度分析
  4. java生成表格图片(请假条为例)
  5. 怎样训练左右手协调_学钢琴左右手不协调怎么办?几个小技巧拿走不谢
  6. Html5弹幕视频播放器插件Danmu介绍
  7. IIS5、IIS6、IIS7的ASP.net 请求处理过程比较转
  8. cocos 设置canvas透明导致 正常节点透明度设置效果异常
  9. 一款常用文档生成工具:Doxygen
  10. 通过Gearman实现MySQL到Redis的数据复制