
操作方法
①ロボットカーに電池をセットする。
電池の向きコードの接続は下の画像を参照する。

②カメラを座標0.0の真上にセットする。
③Raspberry Pi 5のターミナルから起動。
その他のコマンド
sudo bluetoothctl # bluetoothctlコマンドのインタラクティブモードで実行する
connect 6B:CF:6F:C4:1D:9E # ペアリングは済んでいるので接続する ※ジョイスティックを接続可能にしておく
disconnect 6B:CF:6F:C4:1D:9E # 切断する
Raspi5のターミナル2 --- ジョイステックをROS2に接続する。
ros2 run joy_linux joy_linux_node
ターミナル3 --- カメラの画像とカメラ情報をトピックで出力する。
ros2 run usb_cam usb_cam_node_exe --ros-args --remap video_device:=/dev/video0 -p framerate:=30.0
ターミナル4 --- 画像を確認する。
ros2 run rqt_image_view rqt_image_view
ターミナル5 --- 画像トピックからマーカー情報をトピックで出力する。
ros2 run ros2_aruco aruco_node --ros-args -p aruco_dictionary_id:=DICT_4X4_50 -p image_topic:=/image_raw -p camera_info_topic:=/camera_info
Raspi5のターミナル6 --- micro-ROS-Agentを起動する
ros2 run micro_ros_agent micro_ros_agent udp4 -p 8888
※dockerを使う場合
sudo docker run -it --rm -v /dev:/dev --privileged --net=host microros/micro-ros-agent:jazzy udp4 --port 8888
Raspi5のターミナル1 --- ジョイステックをRaspi5にペアリングする
ジョイステックをPC(ubuntu)にペアリングする場合(参照)。
④PC1(WSL2)のファイアウォール再設定する。操作方法
⑤ジョイスティックでロボットをコントロールするプログラムを起動する。
PC1(WSL2)のターミナル --- ロボットをコントロールするAPP
source ~/myenv/bin/activate --- 仮想環境に入る
ros2 run dc_motor_encoder micro_ROS_joy2cmd_vel --- APPを起動する
ジョイスティックの操作
十字ボタン | 上下→前進/行進 左右→左右の回転 | 停止状態からは、6回押して動き出す。 |
〇ボタン | 停止 | 停止と同時に巡回も打ち切る。 |
✕ボタン | 現在地の座標設定 x:0,y:0,theta:0 | |
△ボタン | 座標x:0,y:0に移動し、 マーカーの座標で更新する | マーカーを監視するカメラが動作していること。 |
🔲ボタン | 巡回パターン3 | |
L1ボタン | 巡回パターン1 | |
R1ボタン | 巡回パターン2 | |
OPTIONボタン | トピックで指定した巡回パターン | 下の「トピック/waypointsを使った巡回パターンの使い方」参照。 |
トピック/waypointsを使った巡回パターンの使い方
トピック/waypointsは、文字列型のトピックで、巡回する座標を指定する。
p:[x座標]/[y座標] ------ 指定する座標と次の座標との区切り文字は';'(セミコロン)である。
座標0,0を指定するとロボットのマーカーをカメラが認識し、現在のオドメトリーを更新する。
c:- ------ これ以前に指定した内容をクリアする。
指定例
ros2 topic pub --once /waypoints std_msgs/msg/String "{data: p:0.0/1.8;p:-1.0/1.0;p:-1.5/0.0;p:-1.0/-0.5;p:-0.7/0.5;p:0.0/0.0}"
ros2 topic pub --once /waypoints std_msgs/msg/String "{data: p:-0.5/0.0;p:-1.0/-0.5;p:-1.5/0.0;p:-1.0/1.0;p:0.0/1.8;p:0.0/0.0}"
# これ以前の指定をクリアする。
ros2 topic pub --once /waypoints std_msgs/msg/String "{data: c:-}"
動作環境
PC1 | Windows11上のWSL2 Ubuntu 24.04.1 LTS jazzy ※ESP32 dev ModuleがCOMポートで認識しない。 |
PC2 | Ubuntu 24.04 LTS ※joystickのBluetooth接続ができるので使用。 |
Raspberry Pi 5 | Ubuntu 24.04.1 LTS jazzy Arduino IDE 1.8.19 |
ESP32 | ESP32 dev Module 38pin |
実験車 | こちらを参照 |
—-