README

Environments

  • Ubuntu 18.04
  • ROS melodic

How to build

  $ mkdir -p ws/src
  $ cd ws
  $ catkin init
  $ wget https://raw.githubusercontent.com/chikuta/premaidai_controller/master/premaidai_controller.rosinstall .rosinstall
  $ rosinstall .
  $ catkin build

How to launch

サーボをOFFにしてPremaidAIの状態表示

プリメイドAIの電源を入れて以下のコマンドを実行します。

  $ cd ws
  $ source devel/setup.bash
  $ roslaunch premaidai_controller display.launch serial_port:=/dev/frcomm0 servo_off_mode:=true

rvizでPremaidAIを操作

  $ cd ws
  $ source devel/setup.bash
  $ roslaunch premaidai_controller rviz_control.launch serial_port:=/dev/frcomm0

How to connect

プリメイド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

次に接続時に使用するチャンネルを取得します。 出力される RFCOMMChannel をメモします。 環境によって違いが出ると思うので以後 ${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と接続がされたシリアルポートになります。

Refers

LICENSE

MIT