尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Fusion 360 自制机械臂:从设计到 URDF+ROS2+Rviz联合Gazebo+MoveIt+Setup_Assistant+程序控制+录制动作运动规划保姆级教程
环境信息ubuntu 22.04ros2 humblemoveit2Gazebo Fortress注意事项关键设计规范建模前必须遵守以下规则否则插件无法正常导出 URDF遵循右手坐标系规则机器人建模严格采用笛卡尔右手坐标系保证在 ROS 2 的 RViz、Gazebo 中姿态、朝向正常食指X 轴正方向机器人机身正向始终朝向 X 轴机身长度方向拇指Z 轴正方向机器人竖直高度方向中指Y 轴正方向机器人机身宽度方向机器人连杆必须设为装配组件所有机器人连杆必须单独创建为 Fusion 组件根连杆必须命名为 base_link命名错误会触发KeyError: base_link__1等报错。关节配置规则定义关节时父连杆必须设为二号组件不可设为一号组件。组件结构限制单个组件内只能包含实体模型不支持嵌套组件禁止组件内部再嵌套其他子组件。支持的关节类型仅支持固定关节、滑动关节、旋转关节。复杂结构与球面关节处理避免在复杂运动闭环结构中使用 Fusion 自带关节编辑器定位球面关节可先导出为旋转关节后续在 URDF 中手动修改为球面关节仅 PyBullet 等解析引擎支持。关节对齐与导出注意事项Fusion 中手动微调关节易导致模型碰撞体、可视化模型错位引发连锁适配问题导出前关闭「捕获设计历史记录」组件命名唯一建议分文件夹存放独立组件。避坑要点直接复制粘贴组件易引发导出异常优先使用「复制并新建组件」提前规划组件布局避免装配错位。参考资料MoveIt 2 官方文档首页https://moveit.picknik.ai/humble/Rivz官方文档索引https://docs.ros.org/en/ros2_packages/kilted/api/rviz2/doc/index.htmlGazebohttps://gazebosim.org/libs/sim/fusion360转urdfhttps://github.com/runtimerobotics/fusion360-urdf-ros2一、导入各个零件​新建一个混合设计。一定要是英文名​点击右上角到right面右键点击将当前视图设计为点击前。因为仿真一般都是xyz和fusion360默认的方向不对导进去会歪掉​然后看最右下角左键点击直接建模。为了关闭历史便于后续操作不会报错尤其是导入嵌套组合​打开某个零件导入到新建的空白文件中。我这里以复杂的嵌套组合为例子​​右键点击断开按住ctrl选择各个零部件然后拖动到最上方的目录my_arm中然后把之前拖动完后的空壳删除掉。因为插件原因无法导出嵌套依次导入其他零部件最好把链接取消掉​命名按照自己的习惯来就行一定要有base_link这个可以拖动零件的顺序让他们整齐一点然后调整一下方向就行了。二、连接关系注意一定要从底座开始连接依次从下往上不要想连哪个就哪个虽然现在看起来很对但是到时候仿真会跑飞掉尤其是开了设计历史先移动到世界原点吧​在装配中选择连接或者快捷键J先选择子零件就是你要把哪个子放哪里父固定​我这里使用电机了连接固定后可以使用检验-干涉查看是否重叠其实大差不差就行除非你想追求精细弹出的界面点击确定就剪切了​旋转一般-90~90度就行可以点击预览限制查看方向是否符合你的要求。​如果你想修改点击关系里的某个右键编辑链接重新修改​完成后进行重命名必须是英文的​三、导出插件链接https://github.com/runtimerobotics/fusion360-urdf-ros2最好备份或者先保存再进行插件然后导出退出不保存即可因为会修改模型添加一些没有用的东西。下载解压到某个地方实用程序-附加模块进行添加​点击继续点击放置位置点击gazebo版本classic否新版是推荐使用Harmonic新版​四、预览效果包内容看不懂的问ai就行​进入目录编译运行cd ~/ros2_ws colcon build source install/setup.bash开发tipssudo apt install terminatorCtrlAItT 打开终端CtrlShiftT 打开终端CtrlShifO 拆分终端可拖拽CtrlShiftW 销毁终端启动Rvizros2 launch 包名_description display.launch.py​tf坐标会比较奇怪因为原来导入零件的会按照之前的坐标系来不过不影响仿真启动gazebo之前使用classic版本的不管怎么样都加载不出来模型使用了新版gazebo将description包里的这个文件里面的find改为package可以复制给ai帮你一键修改当然也可以不修改有的人要有的人不要你可以直接启动试试看有没有报错​#下载 sudo apt install ros-humble-ros-gz-sim ros-humble-ros-gz-bridge ros-humble-gazebo-ros-pkgs #运行 ros2 launch my_arm_description gazebo.launch.py​如果画面一开始有一些然后全部白屏看不见模型在终端输入再运行在终端添加新开终端都要再添加一遍export LIBGL_ALWAYS_SOFTWARE1 export QT_QPA_PLATFORMxcb有用就添加到全局变量echo export LIBGL_ALWAYS_SOFTWARE1 ~/.bashrc echo export QT_QPA_PLATFORMxcb ~/.bashrc source ~/.bashrc如果你有某次加载显示模型找不到的红色报错就删掉buildinstall目录新开终端重新编译然后启动试试跑飞运行跑飞掉就再连点击某个关系编辑重新选择父与子关系都重新点一下中心点可以解决80%的跑飞问题剩下的20%就是从头再连接注意这时候在直接建模模式进行比较好Rivz联合Gazebo仿真下载rqt和插件sudo apt install ros-humble-rqt ros-humble-rqt-common-plugins ros-humble-rqt-joint-trajectory-controller添加仓库代码文件#终端1 ros2 launch my_arm_description gazebo_conrtol.launch.py #终端2 rqt --force-discover​选择插件joint trajectory controller,选择一下话题按按钮使能绿色状态下可拖动关节​​五、Moveilt路径规划控制使用MoveIt Assistant (Setup Assistant)来给机械臂做路径规划配置自行下载这个包安装 MoveIt 2sudo apt install ros-humble-moveit*ros2 launch moveit_setup_assistant setup_assistant.launch.pyStart — 加载 URDF导入.xacro文件​Self-Collisions — 自碰撞检测进行碰撞检测​Planning Groups — 规划组添加规划组点击addChain​​再主界面的列表下select jionts添加可旋转的​Robot Poses — 预设位姿添加位置可以添加多个​​​ROS 2 Controllers — 控制器​Movelt Controllers — 控制器​Information —— 信息填写最好填上不然会报错​自己写包名​修改这个目录下的数值把之前的100和0改成这个或者其他带小数点的数字。​max_velocity: 1.5表示这个关节的最大角速度单位是rad/s弧度 / 秒。也就是这个关节一秒钟最多能转 1.5 弧度约 86 度。max_acceleration: 0.6表示这个关节的最大角加速度单位是rad/s²。也就是关节速度每秒最多变化 0.6 rad/s控制启动和停止的 “加减速快慢”运行与规划执行ros2 launch 包名 demo.launch.py选择随机造型然后点击plan或者planexecute成功就会运行显示stop然后完成时间过去否则显示failed​如果能够规划成功但是无法执行在这个文件下面加上这个​action_ns: follow_joint_trajectory小操作Tips修改控制球大小​显示末端规划路径​关闭规划plan显示​添加物品​运动太慢Velocity scaling速度缩放因子范围0.01.0设 0.1 只用关节最大允许速度的 10%走得慢设 0.8 用到最大速度的 80%明显变快设 1.0拉满全速​六、使用程序进行路径规划我是使用第三方库https://github.com/AndrejOrsula/pymoveit2官方也有可以自行开发git clone https://github.com/AndrejOrsula/pymoveit2.git rosdep install -y -r -i --rosdistro humble --from-paths . --skip-keys warehouse_ros_mongo colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPERelease source install/local_setup.bash#创建文件夹 mkdir -p ~/Desktop/ros2_ws/src/movelt_config/scripts #下载脚本 #加载权限 chmod x ~/Desktop/ros2_ws/src/movelt_config/scripts/move_arm_*.py脚本名称脚本代码功能关节控制move_arm.py预设关节姿态笛卡尔位姿move_arm_pose.py末端移动到 xyz 位置逆运动学move_arm_ik.py给定末端位置→求解关节角正运动学move_arm_fk.py给定关节角→查询末端位姿碰撞物体move_arm_collision_primitive.py添加方块/球体/圆柱障碍物键盘控制move_arm_keyboard.py键盘实时控制各关节修改配置move_arm_config.py自动检测一键替换录制move_arm_record.pyr开始停止/l 列出/q 退出回放move_arm_playback.py输入编号回放支持设置速度修改CMakeLists.txt​install(PROGRAMS scripts/move_arm.py scripts/move_arm_pose.py scripts/move_arm_ik.py scripts/move_arm_fk.py scripts/move_arm_collision_primitive.py scripts/move_arm_keyboard.py scripts/move_arm_config.py scripts/move_arm_record.py scripts/move_arm_playback.py DESTINATION lib/${PROJECT_NAME} )修改适配自己的配置ros2 run movelt_config move_arm_config.py​设置角度ros2 run movelt_config move_arm.py​设置姿态ros2 run movelt_config move_arm_pose.py​设置末端目标ros2 run movelt_config move_arm_ik.py​查询末端位姿ros2 run movelt_config move_arm_fk.py​添加障碍物ros2 run movelt_config move_arm_collision_primitive.py​动作录制ros2 run movelt_config move_arm_record.py拖动 -点击plan -看能否规划成功和路径 -点击execute 等待完成一项动作继续循环中间规划的时间不算只算执行的时间最后动作是连续贯通的有需要就添加维持秒数输入数字如2设置段间停顿秒数上一段结束后停2秒需要有快有慢的运动速度参照之前的设置在执行前设置好就行​动作回放ros2 run movelt_config move_arm_playback.py​回放动作如果你需要将动作回放在真实机械臂请参考下一章节的movel2与真机联合的录制和播放注意录制和播放的代码不同请使用下一章节的代码使用方法差不多恭喜入门ps只有鬼知道我重新连接了多少次机械臂踩了多少坑QAQ之后会继续更新本人还是小白会继续推进项目添加各个开发阶段详细配置出了我会附上链接本内容仅个人观点欢迎讨论指出更好的方法
RELATED

相关推荐

Linux内核层定制实战:配置裁剪、启动参数调优与驱动适配

Linux内核层定制实战:配置裁剪、启动参数调优与驱动适配

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/16 2:21:32
Docker Desktop 数据迁移完整流程(Windows 10/11 x64)

Docker Desktop 数据迁移完整流程(Windows 10/11 x64)

前提 两台机器都是 Windows 10 / 11 x64 拥有管理员权限 知道旧机器 Docker Desktop 版本(例如4.31.1),很重要!!!! 旧机器已安装 WSL 功能 WSL功能检查和准备 如果安装过Docker Desktop会自动…

📅 2026/10/16 2:16:32
Python本地实现横向联邦学习FedAvg全流程

Python本地实现横向联邦学习FedAvg全流程

简介:本资源是一份面向机器学习与分布式系统初学者的横向联邦学习本地模拟实践项目,聚焦Python生态下的端到端实现,解决隐私敏感场景下多设备协同建模的核心问题。资源共25个文件,含5个核心Python源码(server.py、clie…

📅 2026/10/16 2:16:32
MORE NEWS

更多资讯

📰

HTML常用标签深度实战:语义化、表单与可访问性避坑指南

写过几年页面&#xff0c;我一直有个感受&#xff1a;HTML标签看起来是最入门的东西&#xff0c;真正上手项目之后&#xff0c;反而是最容易被低估的一环。刚接触前端的人&#xff0c;对着教程敲几遍<div>、<p>、<img>&#xff0c;觉得“这不就是几个标签吗”…

📰

Linux下GaussView 5启动失败的三大依赖修复指南

简介&#xff1a;本资源为GaussView 5 Linux 64位图形界面安装包&#xff08;gview.zip&#xff09;&#xff0c;专为量子化学与分子模拟研究者设计&#xff0c;面向需在Linux系统下开展高斯&#xff08;Gaussian&#xff09;计算的科研人员及计算化学初学者&#xff0c;解决输…

📰

Spring Boot酒店信息管理系统开发实战:从数据库设计到毕设答辩全解析

别人一听“酒店信息管理系统”这个毕业设计选题&#xff0c;总觉得太经典、太传统&#xff0c;仿佛十年前就有人写过了。但我在做完这套基于Spring Boot架构的《明天》酒店信息管理系统源码&#xff08;编号68249&#xff09;之后&#xff0c;反而是另一种感受&#xff1a;这类…

📰

item_get商品详情API从签名到落库:构建稳定的电商数据同步方案

做电商数据这块的朋友应该都清楚&#xff0c;商品详情是所有业务里最底层的素材来源。做价格监控、做选品分析、做进销存同步&#xff0c;甚至做一个购物比价的小程序&#xff0c;第一步都是拿到商品标题、价格、库存、SKU、图片、详情描述这些基础字段。早些年大家习惯写页面采…

📰

双串锂电池均衡方案:MP2642GR-Z与PIC18F86J15实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

图神经网络GNN核心体系解读:从模型分类到工程实践

图神经网络综述论文阅读笔记&#xff1a;从零到一吃透GNN核心体系从去年下半年开始&#xff0c;我陆续做了几个图结构数据的项目&#xff0c;越做越觉得逃不开GNN这关。不夸张地说&#xff0c;图神经网络现在几乎成了处理关系数据的默认选项&#xff0c;无论你做社交推荐、分子…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬