跳到正文

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載入模型還正常不,如果正常則說明沒毛病。

至此全部結束。