跳到正文

Wiki

Launch與包依賴配置

約 2 分鐘閱讀

本文由簡體中文內容確定性轉換,並受版本化術語表保護。

1.Launch與包依賴配置

修改launch重定向到咱們的模型,主要先看下面的launch:

  • pb2025_nav_bringup裏的rm_navigation_reality_launch.py

    • 同功能包下的robot_state_publisher_launch.py
  • rmu_gazebo_simulator裏的bringup_sim.launch.py

    • 同功能包下的spawn_robots.launch.py
    • 同功能包下的package.xml
  • robot_description裏的robot_description_launch.py

1.1.robot_state_publisher_launch.py(機械人關節TF發佈入口)

    pkg_pb2025_robot_description_dir = get_package_share_directory(
        "pb2025_robot_description"
    )

    declare_robot_name_cmd = DeclareLaunchArgument(
        "robot_name",
        default_value="pb2025_sentry_robot",
        description="The file name of the robot xmacro to be used",
    )

改成

    pkg_robot_description_dir = get_package_share_directory(
        "robot_description"
    )

    declare_robot_name_cmd = DeclareLaunchArgument(
        "robot_name",
        default_value="reality_robot",
        description="The file name of the robot xmacro to be used",
    )

1.2.spawn_robots.launch.py(生成仿真機械人)

    pkg_pb2025_robot_description = get_package_share_directory(
        "pb2025_robot_description"
    )

    robot_xmacro_path = os.path.join(
        pkg_pb2025_robot_description,
        "resource",
        "xmacro",
        "simulation_robot.sdf.xmacro",
    )

改成:

    pkg_robot_description = get_package_share_directory(
        "robot_description"
    )

    robot_xmacro_path = os.path.join(
        pkg_robot_description,
        "resource",
        "xmacro",
        "simulation_robot.sdf.xmacro",
    )

1.3.robot_description_launch.py(機械人模型加載入口)

def generate_launch_description():
    # Get the launch directory
    bringup_dir = get_package_share_directory("pb2025_robot_description")

改成

def generate_launch_description():
    # Get the launch directory
    bringup_dir = get_package_share_directory("robot_description")

1.4.pb2025_nav_bringup裏的package.xml(導航啓動包依賴)

這個包的 robot_state_publisher_launch.py 會加載 robot_description,因此補上運行依賴:

<exec_depend>robot_description</exec_depend>

robot_state_publisher_launch.py 的默認入口為 reality_robot;描述包自身的 robot_description_launch.py 默認仍為 simulation_robot。Gazebo 的 spawn_robots.launch.py 繼續加載 simulation_robot.sdf.xmacro。

1.5.rmu_gazebo_simulator裏的package.xml(仿真包依賴)

<depend>pb2025_robot_description</depend>

改成

<depend>robot_description</depend>

1.6.測試

rm -rf build install log
colcon build --symlink-install
source install/setup.bash
ros2 launch rmu_gazebo_simulator bringup_sim.launch.py
source install/setup.bash

ros2 launch pb2025_nav_bringup rm_navigation_simulation_launch.py \
  world:=rmuc_2025 \
  slam:=False

測試下Gazebo加載模型還正常不,如果正常則説明沒毛病。

至此全部結束。