537 字
3 分钟
URDF 导出资料(ROS2)
坐标系建立
如图所示按照DH坐标法建立各个坐标系
坐标系建立方法去复习机器人导论
建立完成可能会很乱 不用担心
插件安装和使用
经测试 1.6.1支持 solidworks 2022 sp5(实验室当前使用的版本)
warning: 插件要在装配体里面才有反应
插件使用
打开插件
base_link
normal_link
其中关节类型如下
关节类型 | 描述 |
---|---|
continuous | 旋转关节,可以围绕单轴无限旋转 |
revolute | 旋转关节,类似于continuous,.但是有旋转的角度极限 一定要设置上下限不然默认为0 |
prismatic | 滑动关节,沿某一轴线移动的关节,带有位置极限 |
plannar | 平面关节,允许在平面正交方向上平移或者旋转 |
floating | 浮动关节,允许进行平移、旋转运动 |
fixed | 固定关节,不允许运动的特殊关节 |
设置完成后单击导出按钮
导出即可
注意导出名即为ros中的包名,勿乱写
URDF 测试
CoppeliaSim Edu 导入URDF 简单拖动旋转测试一下
URDF 文件包修改
修改CMakelist.txt
根据自己的情况修改
cmake_minimum_required(VERSION 3.10.2)
project(moveit_resources_fanuc_description) # 修改为自己的包名
find_package(ament_cmake REQUIRED)
ament_package()
install(DIRECTORY meshes urdf DESTINATION share/${PROJECT_NAME})
修改package.xml
<?xml version="1.0"?>
<package format="3">
<!-- # 根据内容修改 -->
<name>moveit_resources_panda_description</name>
<version>2.0.6</version>
<description>panda Resources used for MoveIt testing</description>
<author email="isucan@willowgarage.edu">Ioan Sucan</author>
<author email="acorn@willowgarage.edu">Acorn Pooley</author>
<maintainer email="dave@dav.ee">Dave Coleman</maintainer>
<license>BSD</license>
<buildtool_depend>ament_cmake</buildtool_depend>
<export>
<build_type>ament_cmake</build_type>
</export>
</package>
编译包
将包放入 ros2 或者 moveit2 工作空间中
colcon build --packages-select moveit_resources_fanuc_description # 修改为自己的包名
MoveIt Setup Assistant 配置
# 激活ros2环境
source /opt/ros/foxy/setup.bash
# 激活moveit环境
source ~/moveit2_ws/install/setup.bash # 刚才编译包的路径
# 启动moveit MoveIt Setup Assistant
ros2 launch moveit_setup_assistant setup_assistant.launch.py
剩下的就参照官网文档
演示
# 运行演示
ros2 launch panda_moveit_config demo.launch.py # 修改为自己的包名
其他
我在导出复杂模型时遇到一些问题,可能是插件的问题,导出的模型有些问题,但是简单模型没有问题
经过CoppeliaSim Edu导入再导出,可以解决这个问题(记得修改urdf内的文件路径)
URDF 导出资料(ROS2)
https://f.undf.top/posts/code/ros2/ros2_urdf/