unity通信用 Windowsホームフォルダのros2_wsにマウント ros2
docker run -v %UserProfile%/ros2_ws:/home/ubuntu/colcon_ws:cached -p 6080:80 -p 10000:10000 --shm-size=1024m tiryoh/ros2-desktop-vnc:galactic
rosとunityの通信用のパッケージインストール
cd ~/colcon_ws/src
git clone -b ROS2v0.7.0 https://github.com/Unity-Technologies/ROS-TCP-Endpoint
ワークスペースビルド
cd ~/colcon_ws/
colcon build
ワークスペースセットアップコマンドを「~/.bashrc」に追記
「~/.bashrc」はターミナル起動時に自動で実行される。
vim ~/.bashrc
.bashrcの最終行に以下を追加
source ~/colcon_ws/install/setup.bash
ワークスペースセットアップ
source ~/.bashrc
ros2トピック通信
パッケージ作成
cd ~/colcon_ws/src
ros2 pkg create --build-type ament_python my_topic --dependencies rclpy
setup.pyを編集
コード作成
送信コード(~/colcon_ws/src/my_topic/my_topic/my_publisher_node.py)作成
受信コード(~/colcon_ws/src/my_topic/my_topic/my_subscriber_node.py)作成
ワークスペースビルド
ワークスペースセットアップ
実行
terminal1
ros2 run my_topic my_publisher_node
terminal2
ros2 run my_topic my_subscriber_node
送信:ROS2 受信:Unity
terminal1
ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=0.0.0.0
terminal2
ros2 run my_topic my_publisher_node
送信:Unity 受信:ROS2
terminal1
ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=0.0.0.0
terminal2
ros2 run my_topic my_subscriber_node
ros2独自トピック通信
C言語パッケージ作成
cd ~/colcon_ws/src
ros2 pkg create --build-type ament_cmake my_custom_topic_msg
メッセージ定義ファイル作成
「~/colcon_ws/src/my_custom_topic_msg/msg/MyMessage.msg」作成
int32 x
int32 y
package.xml編集
CMakeList.txt編集
パッケージ作成
cd ~/colcon_ws/src
ros2 pkg create --build-type ament_python my_custom_topic --dependencies rclpy
setup.pyを編集
コード作成
送信コード(~/colcon_ws/src/my_custom_topic/my_custom_topic/my_publisher_node.py)作成
受信コード(~/colcon_ws/src/my_custom_topic/my_custom_topic/my_subscriber_node.py)作成
ワークスペースビルド
ワークスペースセットアップ
実行
terminal1
ros2 run my_custom_topic my_publisher_node
terminal2
ros2 run my_custom_topic my_subscriber_node
送信:ROS2 受信:Unity
terminal1
ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=0.0.0.0
terminal2
ros2 run my_custom_topic my_publisher_node
送信:Unity 受信:ROS2
terminal1
ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=0.0.0.0
terminal2
ros2 run my_custom_topic my_subscriber_node
ros2サービス通信
C言語パッケージ作成
cd ~/colcon_ws/src
ros2 pkg create --build-type ament_cmake my_service_srv
メッセージ定義ファイル作成
「~/colcon_ws/src/my_service_srv/srv/MyService.srv」作成
int32 x
int32 y
---
int32 sum
package.xml編集
CMakeList.txt編集
パッケージ作成
cd ~/colcon_ws/src
ros2 pkg create --build-type ament_python my_service --dependencies rclpy
setup.pyを編集
コード作成
送信コード(~/colcon_ws/src/my_service/my_service/my_client_node.py)作成
受信コード(~/colcon_ws/src/my_service/my_service/my_server_node.py)作成
ワークスペースビルド
ワークスペースセットアップ
実行
terminal1
ros2 run my_service my_server_node
terminal2
ros2 run my_service my_client_node
クライアント:ROS2 サーバー:Unity
terminal1
ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=0.0.0.0
terminal2
ros2 run my_service my_client_node
クライアント:Unity サーバー:ROS2
terminal1
ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=0.0.0.0
terminal2
ros2 run my_service my_server_node
コメントを残す