(本記事は岐阜大学ロボコンサークルの2023年度制御班体験会にて使用しているものです)
目標はこれ
Dynamixelサーボモーターを個人のPCからUSB経由で操作する。
このとき簡単にPythonに触れて、ちょっとしたアレンジができるようになる。
さっそく始めよう!
※ 記事を丁寧に読んで進めてください。
以下空いている時間を使用してU2D2 Hub Boardの組み立てやDynamixelの準備を行なうとよい
手順1. Anacondaをインストールしよう
Free Download | Anaconda
ここから普通にダウンロード・インストールする。
なお、インストール時にインストール場所を聞かれるが、このインストール場所をWindowsのメモ帳か何かにコピペしておく。
他は特にいじらずにひたすら「次へ」を押す。
無事完了すればOK。
手順2. AnacondaのPATHを通そう
-
表示される下画像左側のような画面のなかから「環境変数」のボタンをクリック。
-
クリックすると下画像右側のような画面が出てくるので、その中のシステム環境変数の中のPathという部分をクリックして青い選択状態にしたら画面右下の「編集」をおす。
-
このような画面が表示されたら下画像のように「PC」→「OS(C:)」をクリックしてその先も同様に「OS(C:)」の中の「ユーザー」→「(自分のユーザー名)」とたどってその中の「anaconda3」のフォルダを選択し右下のOKを押す。
-
すると「環境変数名の編集」の画面にて「C:\Users(自分のユーザー名)\anaconda3」の1行が追加されていることを確認する。
※「\」が「¥」で表示されていても問題ない。 -
同様にして「PC」→「OS(C:)」→「ユーザー」→「(自分のユーザー名)」→「anaconda3」→「Library」→「mingw-w64」→「bin」でOKを押す。
-
同様にして「PC」→「OS(C:)」→「ユーザー」→「(自分のユーザー名)」→「anaconda3」→「Library」→「usr」→「bin」でOKを押す
-
同様にして「PC」→「OS(C:)」→「ユーザー」→「(自分のユーザー名)」→「anaconda3」→「Library」→「bin」でOKを押す
-
同様にして「PC」→「OS(C:)」→「ユーザー」→「(自分のユーザー名)」→「anaconda3」→「Scripts」でOKを押す
-
ここまでやって同様に「環境変数名の編集」の画面にて下の5行があることを確認。
C:\Users\(自分のユーザー名)\anaconda3
C:\Users\(自分のユーザー名)\anaconda3\Library\mingw-w64\bin
C:\Users\(自分のユーザー名)\anaconda3\Library\usr\bin
C:\Users\(自分のユーザー名)\anaconda3\Library\bin
C:\Users\(自分のユーザー名)\anaconda3\Scripts
確認出来たら、ここまでで開いた画面ですべてOKを押して閉じる。
追加し終わったらPCを再起動
再起動したら、PCのコマンドプロンプトを開いてconda info -e
と入力して赤字のエラーが出なければOK!
手順3. VSCodeと拡張機能をインストールしよう
Visual Studio Code - Code Editing. Redefined
ここからダウンロードして特に何もいじらずインストールする。
インストール出来たらPython拡張機能「Python Extention Pack」を入れる。
同様にして、日本語化拡張機能も入れる(検索画面から「Japanese」で検索)
ここまで出来たら一度HelloWorldで実行できるか確認する。
…参照 1. 最速習得!Pythonでプログラミング自由自在! - Qiita
上手くHelloWorldできてたらOK!
手順5.GithubからDynamixel_tutorialをダウンロードしよう
G-robo/Dynamixel_tutorial
上のGitHubからZipで必要なファイル・ライブラリをダウンロードする。
ダウンロード出来たら解凍。
※解凍とは
zip形式とはファイルのサイズを圧縮して小さくなっている状態です。
解凍したいzipファイルを右クリックするといくつか表示される選択肢の中に「すべて展開」というものがあるはずです。それをクリックしてOKを押したら解凍が始まり、しばらくして無事終了したらOKです。
すると、zipファイルの近くに「.zip」じゃない同じ名前のフォルダが確認できるはずです。確認出来たら元のzipファイルは要らないので削除してください。以後この「.zip」じゃない同じ名前のフォルダを「解凍したフォルダ」と呼びます(一般用語です)。
解凍したフォルダをVSCodeで開きます。
開いたらDynamixelSDKフォルダの中にあるpythonフォルダを右クリック
「統合ターミナルで開く」を選択
このとき開かれるターミナルが「コマンドプロンプト」であることを確認。
ターミナルが開いたらそこでpython setup.py install
と入力し セットアップする。
それっぽい表示が出たらOK。
手順6. サンプルプログラムを動かそう
Dynamixel_tutorial >DynamixelSDK > python> tests > protocol2_0 のフォルダを開き
read_write.pyをクリック、プログラムコードの中の104行目にあるDEVICENAME = '/dev/ttyUSB0'
の部分を下の手順に沿って書き換える。
手順:
0、Dynamixel及びU2D2をPCにUSBで接続する。このとき、U2D2 hub boradにACアダプターを差して、電源をオンにしておく。
1、Windowsからデバイスマネージャーを開く
2、「ポート(COMとLPT)」をクリックして「COM?」と表示されている番号を確認。
※ ここで「ポート(COMとLPT)」が表示されず、「その他」に「usb>> serial-converter」が表示されている場合
→ CDM212364_Setup.zip (2.2 MB) ← ここをクリックして、Zipをダウンロードして解凍する(右クリック→「すべて展開」→OK→.zipファイルを削除)。解凍したフォルダの中にある「.exe」ファイルをダブルクリックして実行。指示に従って適当にOK、OKと押していく。特にいじらなくてOK。最後まで行ってインストール出来たっぽければ閉じる。もう一度デバイスマネージャーを確認して「ポート(COMとLPT)」→「COM?」が表示されていれば完了!元のCDM212364_Setupフォルダは削除してOK。
3、先ほどのプログラムの104行目をDEVICENAME = 'COM?'
のように書き換える。
※COM?をシングルクオーテーション' '
で挟むことに注意(Shit+7キー)
ここまで出来たら実行。
※ read_write.pyが画面に表示されている状態で、右上の△マークをクリック。すると統合ターミナルで
Press any key to continue! (or press ESC to quit!)
の表示がされることを確認して、統合ターミナル上のどこかを一度クリックして選択状態にしておく。
(早い話が、右上の△マークをクリックした後は「Press any key to continue! (or press ESC to quit!)」の文字周辺を一度クリックする。)
そして、なにかキーボードをたたくたびに回転すればOK。
※ 終了するときはCtrlキーを押しながらcキーを押せば終了する(強制終了コマンド)。
動かないときの対処法
・エラーが出ている→読んだり調べたりする。
・謎(もう箱が開けてあったDynamixelを使用している)→一度read_write.pyと同じフォルダにある「factory_reset.py」を実行(もちろん同様にCOM?に書き換える)してからもう一度read_write.pyを実行する。
手順7. 他のプログラムも実行してみよう!
「Dynamixel_tutorial」の中にあるsample_position.pyやsample_velocity.pyも実行してみよう。
実験:キーボードの右矢印キーや左矢印キーを押すとどうなりますか?
※ 終了するときはCtrlキーを押しながらcキーを押せば終了する(強制終了コマンド)。
詳しい解説 > 2. 最先端サーボモーター「Dynamixel」を自由自在に動かそう! - Qiita
手順8. アレンジしてみよう
数値やボタンでのifによる条件分岐を試してみよう