资讯动态

ROS2:Microban 机器人仿真搭建

发布时间:2026/10/18 4:15:51 来源:尧图企业网站定制
1、系统环境ROS2-Jazzy Gazebo2、项目整体搭建流程2.1、建立工作空间与包结构创建 microban_ws 工作空间建立标准机器人资源包目录urdf/机器人模型文件config/控制器 yaml 配置launch/仿真启动脚本package.xml包依赖声明CMakeLists.txt编译安装规则2.2、编写核心文件microban.urdf机器人连杆、关节、传感器、ros2_control 插件controllers.yaml关节位置控制器、状态广播器配置launch.py启动 Gazebo、状态发布、机器人生成、桥接、控制器2.3、依赖安装与编译rosdep 自动安装依赖colcon 编译工作空间source 环境变量启动仿真3、问题问题1colcon build 报错找不到 setup.py报错原因package.xml 声明为ament_python包但本项目是纯资源包urdf/launch/config不需要 Python 编译。解决方法将 package.xml 编译类型改为ament_cmake新建 CMakeLists.txt 实现资源目录安装问题2source install/setup.bash 提示不存在原因ROS2 Jazzy 新版只生成setup.sh不再生成 setup.bash。解决统一使用source install/setup.sh问题3Gazebo 启动报错 --shadows 参数不存在原因Gazebo8Jazzy 默认删除了 --shadows 旧参数。解决删除 launch 中 --shadows 启动参数。问题4ros_gz_bridge No template specialization 桥接失败原因Jazzy 桥接语法顺序旧写法颠倒。正确新格式/topicROS类型GZ类型例/imusensor_msgs/msg/Imugz.msgs.Imu问题5URDF 第770行 noise 标签解析失败原因noise 标签未闭合、嵌套错误、非法放置只能在 IMU 内部。解决修正标签闭合或临时删除 noise 块保证模型先跑通问题6Gazebo 崩溃Couldnt parse params-file $(find)致命核心问题今天最难的坑原因GZ Sim 插件不支持 ROS 的 $(find) 语法URDF 中 gz_ros2_control 插件读取 yaml 路径失败直接导致仿真内核崩溃终止。临时解决可跑通仿真暂时删除 URDF 中的 ros2_control plugin 块、注释 launch 控制器 spawner。最终根治方案后续使用绝对路径加载 controllers.yaml。问题5RMW 中间件实现未安装系统环境变量 RMW_IMPLEMENTATION 设置为 rmw_cyclonedds_cpp但对应的共享库 librmw_cyclonedds_cpp.so 不存在于系统中导致所有 ROS2 节点无法初始化并崩溃。错误信息failed to load shared library librmw_cyclonedds_cpp.so due to dlopen error: librmw_cyclonedds_cpp.so: cannot open shared object file: No such file or directory解决方案方案一安装 CycloneDDS推荐sudo apt update sudo apt install ros-jazzy-rmw-cyclonedds-cpp # 查看当前 RMW 实现 echo $RMW_IMPLEMENTATION # 验证 ROS2 环境 ros2 doctor --report | grep rmw # 检查已安装的 RMW 包 dpkg -l | grep rmw安装后重新运行 launch 文件即可。方案二切换到默认 RMW 实现如果不想使用 CycloneDDS可以切换到 ROS2 默认的 Fast DDS# 临时切换仅当前终端 unset RMW_IMPLEMENTATION # 或 export RMW_IMPLEMENTATIONrmw_fastrtps_cpp # 重新运行 ros2 launch microban microban_gz.launch.py永久配置可选将 RMW 设置添加到 ~/.bashrc# 使用 Fast DDS echo export RMW_IMPLEMENTATIONrmw_fastrtps_cpp ~/.bashrc source ~/.bashrc # 或继续使用 CycloneDDS echo export RMW_IMPLEMENTATIONrmw_cyclonedds_cpp ~/.bashrc source ~/.bashrc附加问题VMware 3D 加速日志中还出现了 3D 渲染警告VMware: No 3D enabledlibEGL warning: egl: failed to create dri2 screen这可能导致模型渲染异常。如需完整 3D 体验关闭虚拟机VMware 设置 → Display → 启用 Accelerate 3D graphics分配至少 256MB 显存重启虚拟机4、最终成功运行状态Gazebo 正常启动无崩溃URDF 模型解析成功、无 XML 报错robot_state_publisher 正常启动机器人成功生成在仿真世界桥接语法错误消除CycloneDDS安装成功5、后续待完成任务修复 ros2_control 绝对路径问题恢复控制器功能优化 URDF 惯性矩阵、增加 dummy_link 消除警告恢复 IMU noise 传感器噪声参数编写关节控制节点实现机器人站立、运动控制

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑