Blender-mcp 建模与 Gazebo 仿真实战:从模型创建到虚拟环境部署全流程解析
Blender-mcp 建模与 Gazebo 仿真实战:从模型创建到虚拟环境部署全流程解析------通过模型的建立让你更加简单便捷的构建你所需要的机器人环境。
一、引言
在机器人仿真与 3D 建模领域,Blender-mcp 与 Gazebo 都是备受关注的工具。Blendermcp 以其强大的建模功能和便捷的操作流程,为用户提供了高效创建复杂 3D 模型的途径;而 Gazebo 作为专业的机器人仿真平台,能够模拟真实物理环境,助力机器人算法的测试与验证。本文将详细介绍如何使用 Blendermcp 创建模型,并将其无缝导入 Gazebo 进行仿真,帮助读者快速掌握这一技术流程,提升在机器人仿真开发中的实践能力。
通过claude,cursor,blender创建自己所需要的模型,然后将这个模型放到gazebo中去,帮助实现你自己所需要的仿真环境的创建。
GitHub - ahujasid/blender-mcp --------开源地址
1.1先配置uv
先决条件
- Blender 3.0 或更高版本
- Python 3.10 或更高版本
- UV 包管理器:
如果您使用的是 Mac,请将 uv 安装为
brew install uv
在 Windows 上
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
然后
set Path=C:\Users\nntra\.local\bin;%Path%
(这里的路径填对,一般在第一个指令完之后就会有路路径)
否则,安装说明在他们的网站上:安装 uv
二、Blender-mcp 建模基础
2.1 Blendermcp 工具介绍
Blendermcp 是基于 Blender 开发的一款插件,它结合了 Blender 强大的 3D 建模功能与 MCP(Model Creation Pipeline)的特定需求,适用于机器人、机械等领域的模型创建。详细说明其安装步骤,包括在 Blender 中如何找到插件安装入口、从何处获取 Blendermcp 插件包,以及安装过程中的注意事项。
- claude的相关配置
Research \ Anthropic -----这个链接是claude的网址;;;需要科学~你知道的;地址最好是加拿大(或者其他它允许的地点)
下载下来,不要用网页版。
接下来默认你已经下载了 。
接下来就是注册了,注册完了之后:
点击左上角file——setting;然后进入如下图;
选择Developer
:
点击进去会看见文件夹;;;
先在这里复制这个代码:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}
这个代码就是开源中的;;;;
点击红色箭头的文件;;;进去之后将代码复制进去:
将这个代码复制进去之后保存就好了。现在关于claude的部分就ok了。
- Cursor的配置
Cursor - The AI Code Editor ---这是网址 还是一样的下载下来
点击设置:
进入设置后点击左边的MCP;然后点击红色箭头那里:
这里的代码和之前的还是一样;放进来;这部分就完了。
- blender的配置(10及以上版本)
Download — blender.org;;;这里是网站
点击Edit 进入Pre~
然后点击这个Add_ones
找到这里;先不急着点开;然后这里需要先下载一个文件:
把这个文件下载下来;;然后点进来,选择你刚刚下载的文件(我这里多下载了一个,所以有个后缀)
然后点击添加;;
完了之后返回上个界面,然后将这个打上勾(一般都打上了)
然后回到设计界面;按下N(键盘上的n键);右边就会有这个界面
点击红色箭头;;;
红色的打勾一般没事,蓝色的打勾需要获取你的api,这个一般要钱。但是效果会好很多。。
点击连接。
然后在终端中输入:uvx blender-mcp
当这些都搞定了的时候;打开claude会出现这样的:这里会出现一个锤子。
打开cursor会出现这样的:蓝色箭头的地方blender会出现绿色的标记,不成功会是黄色的。 并且下面会有显示uvx blender-mcp的小字。
2.2 模型创建实操
这里就是通过使用这个MCP来创建模型了。
可以看见:这里是在claude的聊天框中我对他说出创建模型的要求,在此之前界面中默认有一个正方体的物体的,所以一般是需要将那个清除。
所以我的命令是:清除物体然后再创建模型。
可以看见,创建了一个手术床,但是效果很不好。所以还需要他重新来创建。
第二次创建的时候就是这样的模型了。效果不错。
然后就是将这个模型以stl格式导出来。
把这个文件保存好,然后打开你的Ubuntu系统,我们接下来去在gazebo中做仿真。
三、Gazebo 仿真平台概述
3.1 Gazebo 功能与应用场景
Gazebo 是一款功能强大的机器人仿真器,具有高度逼真的物理引擎,能够模拟多种传感器数据,广泛应用于机器人研发、教育教学和科研实验等领域。通过列举一些实际案例,如机器人导航、抓取任务仿真等,展示 Gazebo 在不同场景下的应用效果。
3.2 Gazebo 环境配置
1. 准备工作
- 确保已经安装了 Gazebo 以及相关的依赖项,并且环境配置正确。
- 拥有要导入的 base.stl 文件,确保该文件格式正确且完整。
2. 创建模型目录
- 在你的工作空间中,创建一个用于存放模型的目录。例如,在 ~/catkin_ws/src 下创建一个名为 my_models 的目录(如果是在 ROS 环境下)。
3. 定义模型结构
- 在 my_models 目录下,创建一个名为 chaung_model 的子目录(模型名称可自定义)。在 chuang_model 目录下,创建一个 model.config 文件,用于描述模型的基本信息,内容大致如下:
-
<?xml version="1.0"?> <model> <name>chuang_model</name> <version>1.0</version> <sdf version="1.6">model.sdf</sdf> </model>
- 将 base.stl 文件复制到 base_model/meshes 目录下。
- 创建一个 model.sdf 文件,用于定义模型在 Gazebo 中的具体属性和结构。以下是一个简单的示例:
接下来创建一个launch的启动文件:比如命名为:gazebo_simulation.launch
<launch>
<!-- 设置GAZEBO_MODEL_PATH环境变量 -->
<env name="GAZEBO_MODEL_PATH" value="$(env GAZEBO_MODEL_PATH):/home/zzq/catkin_ws/src/my_models"/>
<!-- 启动Gazebo服务器 -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<!-- 设置Gazebo的世界文件,这里使用空世界 -->
<arg name="world_name" value="$(find gazebo_ros)/worlds/empty.world"/>
<!-- 启动Gazebo GUI -->
<arg name="gui" value="true"/>
</include>
<!-- 在Gazebo中生成chuang_model,并设置初始位置 -->
<node name="spawn_chuang_model" pkg="gazebo_ros" type="spawn_model" args="-file /home/zzq/catkin_ws/src/my_models/chuang_model/model.sdf -sdf -model chuang_model -x 0 -y -0.5 -z 0" output="screen"/>
</launch>
这里设置了初始位置:-x 0 -y -0.5 -z 0
在此之前需要配置环境,找到你的model包: 替换成你自己的路径
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/zzq/catkin_ws/src/my_models
若你希望每次打开终端时都自动设置该环境变量,可以将设置命令添加到 .bashrc
文件中:
echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/zzq/catkin_ws/src/my_models' >> ~/.bashrc
source ~/.bashrc
roslaunch your_package_name gazebo_simulation.launch
将your_package_name换成你自己的包的名字。
就ok了;;;;;;