坐标系建立

20230821145339-2023-08-21

如图所示按照DH坐标法建立各个坐标系

坐标系建立方法去复习机器人导论

建立完成可能会很乱 不用担心

插件安装和使用

插件下载地址

经测试 1.6.1支持 solidworks 2022 sp5(实验室当前使用的版本)

warning: 插件要在装配体里面才有反应

插件使用

打开插件

20230821150216-2023-08-21

base_link

20230821150418-2023-08-21

normal_link

20230821150631-2023-08-21

其中关节类型如下

关节类型 描述
continuous 旋转关节,可以围绕单轴无限旋转
revolute 旋转关节,类似于continuous,.但是有旋转的角度极限 一定要设置上下限不然默认为0
prismatic 滑动关节,沿某一轴线移动的关节,带有位置极限
plannar 平面关节,允许在平面正交方向上平移或者旋转
floating 浮动关节,允许进行平移、旋转运动
fixed 固定关节,不允许运动的特殊关节

设置完成后单击导出按钮

20230821151342-2023-08-21

20230821151701-2023-08-21

导出即可

注意导出名即为ros中的包名,勿乱写

URDF 测试

CoppeliaSim Edu 导入URDF 简单拖动旋转测试一下

URDF 文件包修改

修改CMakelist.txt

根据自己的情况修改

1
2
3
4
5
6
7
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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 工作空间中

1
colcon build --packages-select moveit_resources_fanuc_description # 修改为自己的包名

MoveIt Setup Assistant 配置

1
2
3
4
5
6
7
# 激活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

剩下的就参照官网文档

演示

1
2
# 运行演示
ros2 launch panda_moveit_config demo.launch.py # 修改为自己的包名

轨迹规划-2023-08-21

其他

我在导出复杂模型时遇到一些问题,可能是插件的问题,导出的模型有些问题,但是简单模型没有问题

经过CoppeliaSim Edu导入再导出,可以解决这个问题(记得修改urdf内的文件路径)