1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

myoをROS上で動かす。

Last updated at Posted at 2020-05-27

Ubuntu上でMyoと接続したい! 
↑3分で出来る。と思いきや、しょうもない事で何回かハマったのでメモ

開発環境

  • Ubuntu16.04LTS
  • ROS kinetic
  • Python2.7

ROS上でmyoを起動する

myoに関するプロジェクトをダウンロード

Githubで「ros myo」と検索した所複数ヒット、
しかし、一部プロジェクトでは接続不安定だったので相性とかあるのかも?
今回利用させて頂いたのは以下のリポジトリ、
https://github.com/roboTJ101/ros_myo.git

ROSのWorkspaceに移動してgit cloneします。以下を実行してください。

git clone https://github.com/roboTJ101/ros_myo.git
前提パッケージをインストールする。
  • enum34
  • pySerial
    上記2つのPythonPackageをインストールします。以下を実行してください。
sudo pip install enum34
sudo pip install pySerial

pipがデフォルトでPython2系ではない人は上記のコマンドではインストール出来ません。
Pipのデフォルトは確認するには、以下を実行してください。

pip -V | grep -P -o "python[0-9\.]+"

色付きの文字で、python3.x(xは数字)とか出たら、
sudo pip install〜〜をpip→pip2.7とかに変えてインストールしてくれ。

catkin_makeする

rosのworkspaceに移動してcatkin_makeしましょう。以下を実行してください。

cd <ROSのWorkspaceのPath>
catkin_make

myoを充電

何らかのデバイスとUSB接続していると、上手く通信出来ないようです。
また、myoには電源ボタンが無く、常にスタンバイモードです。
一応、満充電から一周間程度維持出来るらしい。

myo付属のドングルを装着

ハマったポイントです。
MyoはBluetooth接続ですが、Myo付属のドングルを装着しないと上手く動作できませんでした。
しかも、ダミー底の下とかいう滅茶苦茶わかりづらい位置にマウントされています。

S__59842563.jpg

myoと接続するためのNodeを立ち上げる

roscoreしましょう。ターミナル上で以下を実行してください。

roscore

myoと通信する為のNodeを起動します。
roscoreしたターミナルとは別で、以下を実行してください。

rosrun ros_myo myo-rawNode.py

以上でmyoと接続完了です。

myoが配信するtopicについて

トピック名 メッセージ型 備考
myo_imu Imu 普通のImu型、加速度や角速度、quaternion(HWで計算済みの角度※)が取得できる
myo_ori Vector3 euler[rad](HWで計算済みの角度※)
myo_ori_deg Vector3 euler[degree](HWで計算済みの角度※)
myo_emg MyoArray 8つの筋電センサの値を取得できる
myo_arm MyoArm 未確認
myo_gest MyoPose 握るなどのジェスチャーが対応する数字で取得できる
myo_gest_str String 握るなどのジェスチャーが文字列で取得できる
pose PoseStamped Myoの姿勢が配信されます。rviz上で簡単に確認できる

※Myo内蔵のチップで計算された値。応答速度・正確性が高い、Yaw軸は時間とともにズレるので注意。(該当コードを参照したところ、Myoから送られたデータをそのまま使用しているため、内臓チップで計算された値と判断)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?