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()
)
示例解释:
-
初始化:
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 配置的多个关键方面,可以根据具体需求进行调整和扩展。