macでkachakaでros2でdocker
Mac上でROS2の開発環境を構築中.
kachakaのros2_bridge を動かして,ros2のdocker(Tiryoh)を動かしたはいいけれど,その2つの間がつながっていないので通信ができない….
【Docker】networksで複数のDocker Compose環境間を通信可能にするって記事を参考に作業を進めてみたものの,ros2_bridgeのネットワークが見えない….
wataru@Mac-mini-3 ros2_bridge % docker network ls NETWORK ID NAME DRIVER SCOPE 58e46623f322 bridge bridge local 64f5ce0c2712 host host local 4cbb4fba2ca2 none null local
kachakaのdocker-compoerを見ると,network_mode: “host”になっている.
これ,Mac だと動かないのでは?
仕方がないので,発想の転換.
まずは,ros2のdockerを動かし,そちらのネットワークに対してkachakaの方から接続しに行きましょう.
というわけで,kachakaの方のdocker-compose.yaml の最後に以下を追加.
(今から考えると,nameの項目ってテキトーかも)
networks: default: name: rcll2025_default external: true
ros2のdockerの方もdocker-compose.yamlを用意して,
ports: - "6080:80" - "10000:10000" - "10022:22"
で,localhost の10022番ポートに接続することで,sshでつながるようになりました.
ubuntu@b58884aa0df5:~$ ros2 topic list /kachaka/back_camera/camera_info /kachaka/back_camera/image_raw /kachaka/back_camera/image_raw/camera_info /kachaka/back_camera/image_raw/compressed /kachaka/diagnostics/error_status /kachaka/front_camera/camera_info /kachaka/front_camera/image_raw /kachaka/front_camera/image_raw/camera_info /kachaka/front_camera/image_raw/compressed /kachaka/goal_pose /kachaka/imu/imu /kachaka/joint_states /kachaka/layout/locations/list /kachaka/layout/shelves/list /kachaka/lidar/scan /kachaka/manual_control/cmd_vel /kachaka/mapping/map /kachaka/robot_description /parameter_events /rosout /tf /tf_static
コメントを残す