コンテンツにスキップ

ウェイポイントナビゲーション

ウェイポイントナビゲーション(Nav2 + EMCL2)を2026しらたまDocker環境で実行する方法を説明します。

1. セットアップ(初回のみ)

  • 作業ディレクトリの作成

    mkdir -p shiratama && cd shiratama
    

  • Dockerイメージの取得

    docker pull takabnbn/raspicat_full:v2
    

  • 起動スクリプトの作成

    cat <<EOF > run_docker.sh
    

  • GUI表示の許可

    xhost +local:docker > /dev/null
    

  • コンテナの起動

    docker run -it --rm \\
      --net=host \\
      --env="DISPLAY" \\
      --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \\
      takabnbn/raspicat_full:v1
    EOF
    

  • 実行権限の付与

    chmod +x run_docker.sh
    

2. コンテナの起動とビルド

  • コンテナの起動(PC)
    ./run_docker.sh
    
  • ワークスペースの構築(コンテナ内)
    コンテナに入った後、環境の初期化とビルドします。
    cd /opt/project
    
    # キャッシュのクリアと再ビルド
    rm -rf build/ install/ log/
    colcon build --symlink-install
    
    # 環境の読み込みと通信設定
    source install/setup.bash
    export ROS_DOMAIN_ID=1
    

通信設定の確認

重要: ロボット(Raspberry Pi)とノートパソコン(Dockerコンテナ)の両方で、 必ず以下の環境変数が設定されていることを確認してください。

export ROS_DOMAIN_ID=1

3. ナビゲーション

  • PC側の実行
    ros2 launch raspicat_navigation emcl2_raspicat_nav2.launch.py map:=/opt/project/map.yaml
    
  • ラズパイ側の実行
    ros2 launch raspicat raspicat.launch.py
    ros2 service call /motor_power std_srvs/SetBool '{data: true}'