PC2台を用いたドローンの操作¶
PC2台を用いてネットワーク経由でドローンを操作する場合、シミュレーションを実行するPC(サーバ)とドローンに指令を送信するPC(クライアント)を用意します。
2つのPC間でROSノードが通信できるようにするためには、サーバとクライアントを同一のネットワークに接続する必要があります。ここでは例として、サーバとクライアントのIPアドレスを以下のように設定します。
サーバのIPアドレス:192.168.0.10 サブネットマスク:255.255.255.0
クライアントのIPアドレス:192.168.0.20 サブネットマスク:255.255.255.0
IPアドレスの設定が完了したら、サーバとクライアントの疎通を「ping」コマンドで確認します。pingはネットワークのラウンドトリップ時間(Round Trip Time)を計測するコマンドです。ここでは、クライアントからpingを実行してサーバとの通信の疎通を確認します。端末を起動して、以下のコマンドを入力してください。
$ ping 192.168.0.10
サーバとクライアントが正常に通信できている場合は、ラウンドトリップ時間[ms]が表示されます。以上でサーバとクライアントの設定は完了です。
次に、サーバでドローンのシミュレーションを実行します。サーバで端末を開き、以下のコマンドを順番に入力してください。
$ cd ros2_ws
$ source install/setup.bash
$ ros2 launch choreonoid_ros2_sample_drone_tutorial flight_control_teleop_launch.xml
最後に、クライアントからドローンに指令を送信します。ここでは、例として端末にコマンドを入力してドローンに/cmd_velの指令を送信します。クライアントで端末を開き、以下のコマンドを入力してください。
$ ros2 topic pub /cmd_vel geometry_msgs/Twist '{linear: {x: 1.0}, angular: {z: 0.0}}'
コマンドを受信してドローンが前進すれば成功です。