- Ubuntu 18.04
- ROS melodic
$ mkdir -p ws/src
$ cd ws
$ catkin init
$ wget https://raw.githubusercontent.com/chikuta/premaidai_controller/master/premaidai_controller.rosinstall .rosinstall
$ rosinstall .
$ catkin build
プリメイドAIの電源を入れて以下のコマンドを実行します。
$ cd ws
$ source devel/setup.bash
$ roslaunch premaidai_controller display.launch serial_port:=/dev/frcomm0 servo_off_mode:=true
$ cd ws
$ source devel/setup.bash
$ roslaunch premaidai_controller rviz_control.launch serial_port:=/dev/frcomm0
プリメイドAIの電源をつけたあとに以下のコマンドでBD Adressを取得します。
プリメイドAIのBlueToothは RNBT-XXXX
と認識されるので、このBD Addressをメモします。
ここでは 00:06:66:84:XX:XX
として表記します。
$ hcitool scan
Scanning ...
00:06:66:84:XX:XX RNBT-XXXX
次に接続時に使用するチャンネルを取得します。
出力される RFCOMM
の Channel
をメモします。
環境によって違いが出ると思うので以後 ${CHANNEL}
と表記します。
$ sdptool records 00:06:66:84:XX:XX
Service Name: RNI-SPP
Service RecHandle: 0x10000
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
/etc/bluetooth/rfcomm.conf
に以下を記述して再起動します。
rfcomm0 {
bind yes;
device 00:06:66:84:XX:XX;
channel ${CHANNEL};
comment "serial port";
}
以下のコマンドを入力してプリメイドAIを接続します。
$ sudo rfcomm release ${CHANNEL}
$ sudo rfcomm bind rfcomm0 00:06:66:84:XX:XX ${CHANNEL}
この場合、 /dev/rfcomm0
がプリメイドAIと接続がされたシリアルポートになります。
MIT