MoveItConfigsBuilder 配置机器人的完整示例

from moveit_configs_utils import MoveItConfigsBuilder

moveit_config = (

MoveItConfigsBuilder("fairino3_v6_robot", package_name="fairino3_v6_left_arm")

.robot_description(file_path="config/fairino3_v6_robot.urdf.xacro")

.robot_description_semantic(file_path="config/fairino3_v6_robot.srdf")

.robot_description_kinematics(file_path="config/kinematics.yaml")

.joint_limits(file_path="config/joint_limits.yaml")

.trajectory_execution(file_path="config/moveit_controllers.yaml")

.planning_scene_monitor(

publish_robot_description=True,

publish_robot_description_semantic=True,

publish_geometry_updates=True,

publish_state_updates=True,

publish_transforms_updates=True,

)

.planning_pipelines(

pipelines="ompl", "stomp", "pilz_industrial_motion_planner",

default_planning_pipeline="ompl",

)

.to_moveit_configs()

)

示例解释:

  1. 初始化:

    • MoveItConfigsBuilder("fairino3_v6_robot", package_name="fairino3_v6_left_arm"):创建一个 MoveItConfigsBuilder 对象,指定机器人的名称为 fairino3_v6_robot,ROS 包的名称为 fairino3_v6_left_arm
    • 。
  • 机器人描述:

    • .robot_description(file_path="config/fairino3_v6_robot.urdf.xacro"):加载机器人的 URDF 文件,用于描述机器人的物理结构
  • 。

  • .robot_description_semantic(file_path="config/fairino3_v6_robot.srdf"):加载机器人的 SRDF 文件,用于描述机器人的语义信息,如碰撞检测、运动学约束等

  • 。

  • .robot_description_kinematics(file_path="config/kinematics.yaml"):加载运动学配置文件,定义机器人的运动学参数

  • 。

  • .joint_limits(file_path="config/joint_limits.yaml"):加载关节限制配置文件,定义关节的运动范围和速度限制

    • 。
  • 轨迹执行:

    • .trajectory_execution(file_path="config/moveit_controllers.yaml"):加载轨迹执行配置文件,定义控制器的名称、类型和控制的关节
    • 。
  • 规划场景监控:

    • .planning_scene_monitor(...):配置规划场景监控器,设置是否发布机器人描述、几何更新、状态更新和变换更新等信息
    • 。
  • 规划管道:

    • .planning_pipelines(...):配置运动规划管道,指定可用的规划管道(如 ompl、stomp、pilz_industrial_motion_planner)以及默认的规划管道
    • 。
  • 生成配置:

    • .to_moveit_configs():将所有配置信息转换为 MoveIt 配置文件
    • 。

这个示例涵盖了 MoveIt 配置的多个关键方面,可以根据具体需求进行调整和扩展。

相关推荐
wangxiaoxuan2173 分钟前
理解 MoveIt:机器人状态、规划场景和规划流水线
机器人·科沃斯八界·机械臂控制
北漂人Java5 分钟前
基于 Spring AI Alibaba WorkFlow 构建 Java 生产级 AI Agent
java·人工智能·spring
丘山录25 分钟前
本地部署 llama.cpp,3.9G 盒子只能开 5.8 万
人工智能
tinggu29 分钟前
从 $6.22 到 $113.96:拆解 AI 用纯 Python 在 Blender 5.2 中“手搓”百万面 3D 场景的工程真相
人工智能
Linye33 分钟前
AI 写的 HTML 原型全是空壳?聊聊真实 DOM 交互避坑
前端·人工智能
师夷长技以自愈42 分钟前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python
调接口的阿光1 小时前
调用对话接口时输出被截断怎么办:先看 finish_reason,再决定是续写一次、缩小范围,还是换成更短的格式(Python)
人工智能·python
东鸿电子Eastron1 小时前
工厂节能降本落地指南:从精准能源计量搭建数字化管理基础
大数据·人工智能·能源·智能电表·能耗管理
师夷长技以自愈1 小时前
手搓 AI Agent 第 6 篇:先别动刀——Plan Mode 让 AI 报完方案才动手
人工智能
Sincerelyplz1 小时前
Voice Agent 实践与落地(二):从唤醒到多轮对话,拆解实时语音链路
人工智能