7.ROS-Moveit安装、urdf文件制作、配置助手使用

简介

        ROS-Moveit是ROS的一个功能包,由一系列移动操作的功能包组成。是ROS使用位居前三位的功能包。目前在ROS1已经停止更新最新版本支持到Noetic  Ubuntu20,但是Moveit包的功能体验还是melodic以及之前的版本更好一些。国内外知名企业都有自己的ROS包,像ABB,发那科等也提供了机械臂的ROS接口。并且这些接口是通用的,不同厂家和版本都能控制各种机器人。

        URDF是ROS中机器人模型描述文件。代码是xml格式的,包含对机器人刚体外观/物理属性/关节类型等描述(ROS中距离单位默认是米 角度默认是弧度)。其中:

<robot>为最顶层标签

<link>标签描述刚体的外观形状、碰撞几何、颜色、质量、惯性矩阵、碰撞参数等

每个link会成为一个坐标系

其又包含三个部分(想要仿真缺一不可)

{

visual 包含各种标签

collision 碰撞  为了简化计算可能会将实际形状简化为圆柱体、长方体等

inertial物理属性 惯性矩阵,质量等

}

<joint>标签描述两个link之间的关系 有六种类型。还可以描述关节的位置限制,和速度限制(运动学及动力学的相关属性)

{

parent child 关节的两个link

origin 两个link之间的坐标关系

axis 关节围绕哪个轴旋转

limit 关节限位

}

Xacro模型可理解为是对URDF的改进,使用类似于C++中的类。先定义类,再实例化。

注:Gazebo动力学仿真很弱,做轨迹规划很好

本次教程中,使用moveit配置助手通过urdf文件生成与之匹配的配置信息文件,用于rviz或gazebo的显示以及一些其它设置。如果需要修改关节限位则还是在urdf中修改。

相关链接

Moveit API:

MoveIt Tutorials — moveit_tutorials Melodic documentation

ros-melodic

GitHub - ros-industrial/universal_robot: ROS-Industrial Universal Robots support (https://wiki.ros.org/universal_robot)

安装

安装moveit 

sudo apt-get install ros-melodic-moveit

 安装assistant配置助手

sudo apt-get install ros-melodic-moveit-setup-assistant

启动配置助手

roslaunch moveit_setup_assistant setup_assistant.launch

SolidWorks模型导出为urdf文件

1.为sw安装对应版本的sw_urdf_exporter插件(下载exe文件双击安装即可)

网址:sw_urdf_exporter - ROS Wiki

2.在sw中绘制好自己的机器人,做好配合关系,并为每个关节设置对应的基准轴

3.在sw中找到工具-File-Export as URDF (2016版本)。工具-Tools-Export as URDF(2021版本) 

4.在左侧进行配置

生成完毕后会弹出一个界面,我们先点击左下角的cancel,先对生成的关节和坐标轴方向进行检查,不然你的机器人可能会躺在基准平面上。

检查完毕后重复步骤3,再次点击生成,在弹出的界面可以配置相关参数。(点击next继续)

 

最后点击左下角的生成即可,(两个选项中左侧的为只生成模型),注意保存的文件的名称要符合ros包的命名规范。然后用工具将整个包传到Ubuntu中。

注:导出的包中的package.xml中email可能会有问题将2改回@即可。Display.launch 中的目录可能也会有问题 并且需要再rviz中自己增加robotmodal一项。

小技巧:Ubuntu中使用Ctrl+h显示隐藏文件

配置助手配置机械臂相关参数

1.将urdf模型包放置到ros的工作空间文件夹中(否则会无法加载)

启动配置助手

roslaunch moveit_setup_assistant setup_assistant.launch

左侧能够显示出模型即为加载成功 

左侧栏目分别为:

1.Start                         载入机械臂模型(urdf、xacro)

2.Self-Collisions          添加永远不会碰撞的关节矩阵

3.Virtual Joints            配置虚拟关节,将底座或某一个link固定在某个坐标系

4.Planning Groups      规划组

5.Robot Poses            设定机械臂的状态(如初始状态)(可设定多个点位)

6.End Effectors           设定末端执行器

7.Passive Joints          设置被动关节(有些我们无法控制的关节)

8.ROS Control             各个关节配置Control

9.Simulation                 仿真urdf文件

10.3D Perception         摄像头

11.Author Information  作者信息

12.生成

 2.添加永远不会碰撞的关节矩阵

3.  配置虚拟关节固定底座

 4.配置规划组(机械臂的规划器一般用kdl,OMPL plamming一般选RRT)

或者应该点Add subgroups 添加一个关节链

将关节放入对应的规划组

为末端执行器也创建一个规划组 

5.设置几个点位(注意选择所属的规划组) 

6.设置末端执行器 (如果有)最后一个规划组建议不要选(图中可能是错的选法)

7.Passive Joints 设置被动关节(有些我们无法控制的关节)一般机械臂都能控制 跳过

8.ROS Control   9.Simulation   10.3D Perception  为3D传感器和姿态等 通过这个界面配置容易出问题 后面可以通过文件做配置,跳过

11.Author Information 作者信息(姓名 和邮箱)必填项

12.生成 (注意生成在ROS的工作空间下,建议和刚刚的urdf包同一级目录下)

13.测试

运行生成文件的launch目录下的demo.launch

  • 29
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zx62365

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值