イントロダクション
Arduino IDEは、OpenCRおよびOpenCM9.04に互換性がある開発ツールです。
OpenCM IDEは、ArduinoIDEに置き換えることができますが、可能であればArduino IDEを使用することを推奨します。
Arduino IDEを使用すると、ユーザーはスケッチを作成するときにDYNAMIXEL SDKとDYNMAIXEL Workbenchを適用できます。
ソフトウェアのインストール
ダウンロード
Arduino IDE
Linuxにインストール
USBポート設定
OpenCR
OpenCRのUSBポートがルート権限なしでArduino IDEのプログラムをアップロードできるようにします。
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/99-opencr-cdc.rules
$ sudo cp ./99-opencr-cdc.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
OpenCM9.04
OpenCM9.04のUSBポートがルート権限無しでArduino IDEのプログラムをアップロードできるようにします。
wget https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCM9.04/master/99-opencm-cdc.rules
sudo cp ./99-opencm-cdc.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
コンパイラ設定
OpenCR / OpenCM9.04ライブラリは、32ビットプラットフォーム用に構築されているため、64ビットPCの場合はArduino IDEに関連する32ビット関連のコンパイラが必要です。
$ sudo apt-get install libncurses5-dev:i386
Arduino IDEのインストール(Linux)
arduinoの公式ホームページからArduino IDEの最新バージョンをダウンロードしインストールします。 現在、OpenCRおよびOpenCM9.04はバージョン1.6.4以降と互換性があります。
https://www.arduino.cc/en/Main/Software
次に、ダウンロードしたファイルを目的のフォルダに解凍し、ターミナルからインストールファイルを実行します。 この場合、以下に示す例では、ユーザーの最上位フォルダー(~/)にフォルダツールを作成します。 このフォルダは、Arduino IDEフォルダとして機能します。
$ cd ~/tools/arduino-1.8.3
$ ./install.sh
インストールされているArduino IDEのファイルパスを、PATHと呼ばれる絶対パスとしてbashrcファイルに設定します。 ここでは、geditエディターの使用をお勧めします。 (必要に応じて、別のエディターを使用してください。)最後に、変更を適用します。
$ gedit ~/.bashrc
$ export PATH=$PATH:$HOME/tools/arduino-1.8.3
$ source ~/.bashrc
Arduino IDEの実行(Linux)
LinuxプラットフォームでArduino IDEを実行するには、次のようにターミナルに入力します。
$ arduino
Arduino IDEへのポーティング(Linux)
環境設定
Arduino IDEを実行した後、IDEのトップメニューでファイル → 設定をクリックします。 設定ウィンドウが表示されたら、次のリンクをコピーして追加のボードマネージャーのURLをテキストボックスに貼り付けます。 ボードに基づいて適切なファイルURLを選択してください。
OpenCR
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json
OpenCM9.04
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCM9.04/master/arduino/opencm_release/package_opencm9.04_index.json
Boards Managerからボードパッケージをインストールする
ツール → ボード → ボードマネージャー をクリックします。 ネットワークの状態によっては、この手順に20分以上かかる場合があります。
OpenCR
テキストボックスにOpenCRと入力しOpenCR by ROBOTISパッケージを見つけます。 見つけたらインストールをクリックします。
インストール後、”INSTALLED”と表示されます。
OpenCR Boardがツール → ボードのリストにあるかどうかを確認します。 これをクリックしOpenCRボードのソースをインポートします。
OpenCM9.04
テキストボックスにOpenCM9.04と入力し、OpenCM9.04 by ROBOTISパッケージをみつけます。 見つけたらインストールをクリックします。
インストール後、”INSTALLED”と表示されます。
OpenCM9.04がツール → ボードのリストにあるか確認します。 これをクリックして、OpenCM9.04ボードのソースをインポートします。
ポート設定
このステップでは、プログラムアップロードのポート設定を示しています。 OpenCR/OpenCM9.04は、マイクロUSBポートを介してPCに接続する必要があります。
ツール → ポート → /dev/ttyACM0 を選択します。
警告:文字列 /dev/ttyACM0 の最後の桁の値 0 は、接続されているPC環境によって値が異なる場合があります。
Modemmanagerの削除
OpenCRのみがこの手順を必要とします。 OpenCM9.04を使用している場合は、この章をスキップしてください。
Arduino IDEでプログラミングし、プログラムをOpenCRにアップロードした後、OpenCRが再起動 → 再接続されます。 同時に、Linuxのモデム関連パッケージは、デバイスを管理するためにATコマンドを送信します。 このコマンドはOpenCRの接続エラーを示しているため、この手順を事前に実行する必要があります。
$ sudo apt-get purge modemmanager
Macにインストール
Arduino IDEのインストール(Mac)
arduinoの公式ホームページからArduino IDEの最新バージョンをダウンロードしインストールします。 現在、OpenCRおよびOpenCM9.04はバージョン1.6.4以降と互換性があります。
ダウンロード
Arduino IDE
Arduino IDEの実行(Mac)
MacプラットフォームでArduino IDEを実行するには、次のようにArduino IDEアイコンをクリックします。
Arduino IDEのポーティング(Mac)
環境設定
Arduino IDEを実行した後、IDEのトップメニューでファイル → 設定をクリックします。 設定ウィンドウが表示されたら、次のリンクをコピーして追加のボードマネージャーのURLをテキストボックスに貼り付けます。 ボードに基づいて適切なファイルURLを選択してください。
OpenCR
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json
OpenCM9.04
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCM9.04/master/arduino/opencm_release/package_opencm9.04_index.json
Boards Managerからボードパッケージをインストールする
ツール → ボード → ボードマネージャー をクリックします。 ネットワークの状態によっては、この手順に20分以上かかる場合があります。
OpenCR
テキストボックスにOpenCRと入力しOpenCR by ROBOTISパッケージを見つけます。 見つけたらインストールをクリックします。
インストール後、”INSTALLED”と表示されます。
OpenCR Boardがツール → ボードのリストにあるかどうかを確認します。 これをクリックしOpenCRボードのソースをインポートします。
OpenCM9.04
テキストボックスにOpenCM9.04と入力し、OpenCM9.04 by ROBOTISパッケージをみつけます。 見つけたらインストールをクリックします。
インストール後、”INSTALLED”と表示されます。
OpenCM9.04がツール → ボードのリストにあるか確認します。 これをクリックして、OpenCM9.04ボードのソースをインポートします。
ポート設定
このステップでは、プログラムアップロードのポート設定を示しています。 OpenCR/OpenCM9.04は、マイクロUSBポートを介してPCに接続する必要があります。
ツール → ポート → /dev/cu.usbmodem1411 を選択します。
警告:接続されているPC環境によっては、 /dev/cu.usbmodem1411 の値が異なる場合があります。
Windowsにインストール
ドライバーのインストール
WindowsでOpenCRおよびOpenCM9.04マイクロUSBポートをシリアルポートとして使用するには、USB CDCドライバーが必要です。 ST社が提供するUSBドライバをインストールできます。
http://www.st.com/en/development-tools/stsw-stm32102.html
Arduino IDEのインストール(Windows)
arduinoの公式ホームページからArduino IDEの最新バージョンをダウンロードしインストールします。 現在、OpenCRおよびOpenCM9.04はバージョン1.6.4以降と互換性があります。
ダウンロード
Arduino IDE
Arduino IDE for Windowsにはインストール版と圧縮版がありますので、好みの方法でインストールしてください。
Arduino IDEへのポーティング(Windows)
Preferences
Arduino IDEを起動したら、IDEのトップメニューにある ファイル → 環境設定 をクリックします。環境設定ウィンドウが表示されたら、以下のリンクをコピーして、Additional Boards Manager URLsのテキストボックスに貼り付けます。(この作業には約20分かかります。)
OpenCR
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json
OpenCM9.04
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCM9.04/master/arduino/opencm_release/package_opencm9.04_index.json
Boards Managerからボードパッケージをインストールする
ネットワークの状態によっては、この手順に20分以上かかる場合があります。
OpenCR
ツール → ボード → ボードマネージャー をクリックします。
テキストボックスにOpenCRと入力しOpenCR by ROBOTISパッケージを見つけます。 見つけたらインストールをクリックします。
インストール後、”INSTALLED”と表示されます。
OpenCR Boardがツール → ボードのリストにあるかどうかを確認します。 これをクリックしOpenCRボードのソースをインポートします。
OpenCM9.04
テキストボックスにOpenCM9.04と入力し、OpenCM9.04 by ROBOTISパッケージをみつけます。 見つけたらインストールをクリックします。
インストール後、”INSTALLED”と表示されます。
テキストボックスにOpenCM9.04と入力し、OpenCM9.04 by ROBOTISパッケージをみつけます。 見つけたらインストールをクリックします。
ポート設定
このステップでは、プログラムアップロード時のポート設定を行います。パソコンとOpenCRをUSBポートで接続する必要があります。 ツール → ポート → COM1を選択します。
注意 : COM1 の値は、PCに接続されている環境によって異なる場合があり 。
ライブラリAPI
Arduino IDEにライブラリを追加する方法は3つあります。
- ライブラリマネージャを使用する
- .zip ライブラリのインポート
- マニュアルインストール
それぞれの方法は Arduino Official Guideに詳しく記載されていますので、必要に応じて参考にしてください。
以下にライブラリマネージャの使用例を示します。
ライブラリマネージャからDYNAMIXEL2Arduino
を検索し、ライブラリをインストールします。
DYNAMIXEL2Arduinoライブラリが正常にインストールされている場合、DYNAMIXELを制御するために役に立つサンプルプログラムは、DYNAMIXEL2Arduinoカテゴリで見つけることができます。
Dynamixel2Arduinoライブラリ
Dynamixel2Arduinoクラス
- begin()
- getPortBaud()
- ping()
- scan()
- getModelNumber()
- setID()
- setProtocol()
- setBaudrate()
- torqueOn()
- torqueOff()
- ledOn()
- ledOff()
- setOperatingMode()
- setGoalPosition()
- getPresentPosition()
- setGoalVelocity()
- getPresentVelocity()
- setGoalPWM()
- getPresentPWM()
- setGoalCurrent()
- getPresentCurrent()
- readControlTableItem()
- writeControlTableItem()
マスタークラス
Dynamixel2Arduinoクラスは、マスタークラスから以下のパブリック関数を継承しています。
例
OpenCM9.04 例
アドバンスドユーザー
ブートローダの書き込み(OpenCR)
注意:OpenCRブートローダーが更新された場合にのみ、ブートローダーの更新を実行してください。 製品にはすでにデフォルトのブートローダーがインストールされています。
OpenCRボードのメインMCUに使用されるSTM32F7xxは、DFU(Device Firmware Upgrade)をサポートしています。 これにより、主にブートローダーの初期化、リカバリーモード、ブートローダーの更新をUSBで行うことで、MCUの内蔵ブートローダー単体でDFUプロトコルで起動させることができるようになります。 USBでブートローダーを使用しても、他のJTAG機器を使用せずにブートローダーを使用できることが最大の利点です。 STLinkなどの書き込み/デバッグ機器を使用せずに、MCUに内蔵されたDFUモードを使用してファームウェアを書き込みます。
プログラマの設定
ツール → DFU-UTIL を選択
Run DFU mode.
ブートボタン
が押されている間にリセットボタン
を押してください。これによりDFUモードが起動します。
Linux
DFUモードに正常に入り、端末にlsusbを入力すると、STMicroelectronicsSTM Device in DFU Mode
と表示されます。
Windows
DFUモードに正常に入り、デバイスマネージャーのUniversal Serial Bus devicesの下にSTM32 BOOTLOADER
と表示されます。
Burn Bootloader
ツール
>ブートローダーの書き込み
をクリックして、ブートローダーを書き込みます。