ロボットアーム向けの費用対効果に優れた電動モーターの選定
この記事では、ロボットマニピュレータで最も重要な部品である電動モーターをどのように選定したのかについてお話しします。まずは、Aloha 2 や Pi0 といった研究プロジェクトで最も人気のあるソリューションの一つである Viper X 300 S マニピュレータにおいて、Trossen Robotics が選んだ解決策の概要から始めます。
Viper X 300 S マニピュレータのサーボドライブ
ViperX 300 S マニピュレータのサーボドライブ
まず初めに、6DOF(6自由度)を備えたマニピュレータの既存のソリューションを調べました。私が注目したマニピュレータは Viper X 300 Sです。もともと Aloha 2 の部品リストに含まれていたからです。メーカーがドキュメントや図面の一部を公開しており、これらのソリューションを再利用するのは素晴らしいアイデアだと思いました。
ViperX-300 6DOF デスクトップ型ロボットアーム
手頃な価格のマニピュレータを作るうえでの主な課題は、高トルクで入手しやすいドライブを見つけることです。Viper X 300 S では、Trossen Robotics は DYNAMIXEL XM430-W350 ストールトルク 4 Nm のサーボモーターを使用しており、価格は $290, and DYNAMIXEL XM540-W270-T/R ストールトルク 10 Nm のサーボモーターを使用しており、価格は $430. A total of 9 サーボ motors がこのようなマニピュレータの製作に必要となり、総コストは $3,590 に達します。これはもはや手頃とは言えません。
| ID | 関節名 | サーボ | ボーレート | 価格 |
| 1 | 腰 | XM540-W270 | 1Mbps | $430 |
| 2 | 肩 | XM540-W270 | 1Mbps | $430 |
| 3 | 肩(補助) | XM540-W270 | 1Mbps | $430 |
| 4 | 肘 | XM540-W270 | 1Mbps | $430 |
| 5 | 肘(補助) | XM540-W270 | 1Mbps | $430 |
| 6 | 前腕の回転 | XM540-W270 | 1Mbps | $430 |
| 7 | 手首の角度 | XM540-W270 | 1Mbps | $430 |
| 8 | 手首の回転 | XM430-W350 | 1Mbps | $290 |
| 9 | グリッパー | XM430-W350 | 1Mbps | $290 |
| 合計 | $3590 | |||
現在このプロジェクトに携わっているエンジニア(以下、アラン)が、全長 700 mm、積載能力 750 グラムのマニピュレータアームについて運動学的計算を行いました。
ViperX 300 の関節
| バージョン 1.1 — 0.75 kg | |||||||
| 慣性の安全係数 — 1.5 | |||||||
| 関節 | 軸 | 肩、cm | 負荷 | kg*sm | kg*sm | 先端の重量 | kg |
| ベース | 0 | 0 | 3 | 7 | |||
| 肩 | 1 | 20 | 1,8 | 54,0 | 81 | 積載物 | 0,75 |
| 肘 | 2 | 20 | 1,5 | 30,0 | 45,0 | グリッパー | 0,25 |
| 前腕 | 3 | 0 | 1,2 | 0 | 0 | サーボ | 0,1 |
| 手 -1 | 4 | 15 | 1,1 | 16,5 | 24,8 | ||
| 手 — 2 | 5 | 0 | 1 | 0 | 0 | ||
| グリッパー | 6 | 0 | 0,75 | 0 | 0 | ||
計算によると、アームのベースには合計で 81 kg·cm、すなわち 8 Nm の必要トルクを持つドライブが必要です。つまり、ベースにそれぞれストールトルク 4 Nm のサーボモーターを2台設置すれば十分なはずです。しかし、ここで非常に重要なのは、サーボモーターのストールトルクが 4 Nm であっても、安定して動作できるピーク実効トルクは通常その約半分の値になるという点です。これは次のグラフに示されています。 Performance Graph.
XM430-W350 Performance Graph
この制約は、マニピュレータがモーターに過度な負担をかけることなく目的の負荷を扱えるようにするために考慮する必要があります。
サーボドライブの種類
私は、低価格のマニピュレータにどのような種類のモーターが使われているのかを調べ始めました。
- Nema 17、Nema 23 などのステッピングモーター。
Nema 17 ステッピングモーター
- PWM(パルス幅変調)モーター。たとえば Dsservo 160 kg·cm など。
Dsサーボ DS51160MG
- UART(汎用非同期送受信機)モーター。たとえば Feetech STS 3215-C01 など。
Feetech-STS3215
どの重要な指標に注目するのか?
- トルク
- 精度
- 電流、電圧
- フィードバック(温度、電流、位置センサー)
- 重量
- コスト
モーターのトルクとは何か?
トルク = 力(F)× 距離(d)
モーターのトルクとは、モーターを回転させる力のことです。モーターが仕事をするのを助ける「ねじる力」だと考えることができます。トルクが高いほど、モーターは加速したり重い負荷を持ち上げたりしやすくなります。これは自動車にとっても重要です。良好なトルクは、より良い加速や坂道の走破に役立ちます。
モーターのトルクは、加えられた力と、支点からその力が加わる点までの距離の積として定義されます。式は次のとおりです。
トルク = 力 × 距離(または トルク = F × d)。トルクが高いほど、このモーターが扱える腕の長さ(レバレッジ)は大きくなります。
位置決め精度
ロボティクスにおいて、これは最も重要な指標の一つです。サーボドライブの役割は、アームを空間内で正確に位置決めすることであり、これを高精度に実現できればできるほど良いからです。ロボットアームの主な特性は、繰り返し精度と絶対精度です。
繰り返し精度
これは、複数回のサイクルの後にマニピュレータが空間内の同じ点へ戻る能力を指します。ミリメートル単位で測定されます(たとえば ±0.01 mm)。値が小さいほど、動作の繰り返し精度は高くなります。
絶対精度
これは、グローバル座標系に対して空間内の指定された点へマニピュレータが到達する能力です。ミリメートル単位で測定されます(たとえば ±0.1 mm)。絶対精度は通常、運動学における誤差の累積により繰り返し精度よりも劣ります。
フィードバックセンサー
位置センサー
- ホール効果センサー: これらのセンサーはロータの位置を判定します。磁石を利用して、モーターの可動部(ロータ)がどこにあるか、またはどのくらいの速さで回転しているかを把握します。
ホール効果センサーの動作原理
- レゾルバ: 回転角を正確に判定します。精密な「角度検出器」として機能し、モーターロータの正確な位置を示します。
レゾルバの動作原理
- ポテンショメータ: ボリューム調整器に似たこの装置は、モーターの動きに応じて抵抗値が変化し、シャフトの位置を示します。
ポテンショメータの動作原理
- 光学式エンコーダ: ロータの位置と速度に関する情報を提供します。スリットの入った小さなホイールを想像してください。光がこれらのスリットを通過し、その点滅を数えることで、モーターが何回回転したか、どこに位置しているかを判定します。
光学式エンコーダの動作原理
- 磁気式エンコーダ: こちらも磁界を利用して位置と速度を測定します。磁石を使ってモーターの位置を追跡し、過酷な条件下でも良好に動作します。
磁気式エンコーダの動作原理
電流センサー
- 電流測定センサー: モーターが消費する電流を測定して負荷を評価します。
電流測定センサーの動作原理
温度センサー
- 熱電対またはサーミスタ: モーターの温度を監視し、過熱を防止します。
熱電対の動作原理
ステッピングモーター
ステッピングモーターの構造図
ステッピングモーターについては、そのサイズ、より重い重量、低いトルク、そして低い位置決め精度のため、詳しくは検討しませんでした。
For example, the Nema 17 Bipolar 1.8° 36Ncm は、低価格の UART サーボモーターと比較できます。それが ST3215-C018 で、価格帯も同程度です。Nema 17 は重量 280 グラムで、トルクは 36 N·cm(つまり 3.6 kg·cm)、ステップ角は 1.8 度です。
Nema 17 ステッピングモーター
同程度の価格帯のサーボモーターである Feetech ST3215-C018は、重量 55 グラム、トルク 30 kg·cm、位置決め精度 0.09 度です。
| モーターのモデル | 質量/グラム | 定格トルク/kg | 精度/度 | 価格/$ |
| Nema 17 Bipolar 1.8deg 36Ncm | 280 | 3,6 | 1,8 | 10,75 |
| Feetech ST3215-C018 | 55 | 15 | 0,09 | 16.45 |
したがって、私たちがアームについて考慮した重要な特性、すなわち重量 × トルク × 位置決め精度に基づいて比較すると、その差は(280 / 55)×(15 / 3.6)×(1.8 / 0.09)≈ 424 倍になります。もちろん、これら3つのパラメータだけでこれらの種類のモーターを比較することはできません。RPM、減速比、騒音、バックラッシュなど、他にも多くの要素を見落としています。それらを比較表に加えれば、差はもはやそれほど大きくはなくなります。シナリオによっては、Nema モーターのほうが良い選択になることもあります。
PWM 対 UART
サーボドライバの基本構成図
私は、高トルクで手頃なサーボを探し始めました。最初に見つけたのは Dsサーボ RDS51150で、トルクは 150 kg·cm と、この種のサーボとしては非常に高い値です。これらのサーボの特徴は、ポテンショメータをベースとした位置センサー付きの制御システムを備えていることです。しかしポテンショメータの精度と感度には限界があるため、フィードバックの取得や位置制御が難しくなります。
パルス幅変調の原理
Dsservo モーターの動作の特徴は、それが PWM(パルス幅変調)モーターであることです。これは、電流のオンとオフをパルス状に切り替えることで電力を制御する方法です。これらにはシャフトの現在位置を伝える磁気式エンコーダがなく、内蔵コントローラもありません。これらのモーターは、位置決め精度とフィードバックが重要なロボットシステムでの使用には適していません。
私は、これらの欠点をどう補うかを考えました。4600 ポジションを備えた適切な磁気式エンコーダ AS5600 を見つけました。さらに、PWM で動作できるコントローラも必要でした。
AS5600 磁気式エンコーダ
アランは、ロボティクスの分野で活動している優秀なプログラマーを紹介してくれました。彼は、PWM をやめて UART(汎用非同期送受信機)モーターを採用することを提案しました。ソフトウェア制御や技術的な実装における追加の複雑さは、おそらく見合わないからです。安価な PWM モーターの信頼性も、UART と比べると疑問が残ります。速度検出用の内蔵ポテンショメータがしばしば故障するためです。
| PWM | UART | |
|---|---|---|
| 動作原理 | アナログ:パルス幅変調による電力制御 | デジタル:シリアルインターフェース経由のコマンド送信 |
| 主な役割 | スムーズな速度調整(DC モーター) | 正確な位置決め(サーボドライブ) |
| 精度 | 速度については高く、位置については低い | 位置決めについて高い(ステップ精度) |
| 通信 | 一方向(制御 → モーター) | 双方向(フィードバックに対応) |
| ハードウェアの複雑さ | 最小限(ドライバ + PWM ジェネレータ) | 高い(UART + プロトコルを備えたコントローラ) |
| エネルギー効率 | より高い(直接的な電力制御) | より低い(プロトコルと処理に依存) |
| 代表的な用途 | ドリル、ファン、サーボドライブ | 3D プリンター、CNC、ロボティクス |
UART モーターの場合、1本のバス上に直列に接続でき、位置、電流の強さ、モーター温度に関するフィードバックを得られます。ただし、同程度のトルクを持つこうしたモーターのコストは大幅に高くなります。
私は適切な UART モーターの検討を始め、入念に調べた結果、次の種類に決めました。Feetech の 30 kg と 50 kg です。100 個単位のロットで購入する場合、コストは $12 each.
サーボモーター Feetech STS3215-C018。トルクとバックラッシュ
Feetech STS3215 サーボモーター
エンジニアは、販売サイトに記載されたトルク値に基づいてシステムの運動学的計算を行いました。ここでアランは、モーターについて指定されているトルクはストールトルクであると指摘しました。これは、負荷がかかった状態でモーターが完全に停止する前に動作できる最大トルクです。したがって、このトルクをマニピュレータの積載能力の検討に使うことはできません。そのような負荷の下では、そもそもモーターは動かないからです。
トルク、出力、効率、電流のグラフ
リンク先の following graphs のグラフが助けになり、注目すべき最大の動作トルクが実際には表示値の半分であることを示しています。これはグラフの中央で確認できます。具体的には、15 と 25 kg·cm が示されています。つまり、700 mm のレバーアームと 50 kg 定格のモーター2台を使った場合、達成できる最大積載能力は 240 グラムにとどまり、これでは不十分だということです。
先月、アランは自宅でのテスト用にいくつかのサンプルを注文しました。そこで気づいたことは次のとおりです。
Feetech STS3215 のバックラッシュ測定
このサーボモーターのバックラッシュは、表示値(≤0.5°)の2倍にあたります。 the technical documentationアーム長 160 mm で 3 mm に達し、これは約 1.072 度に相当します。
次に、一定の負荷をかけた状態で温度を測定しました。
テスト 1: 静的負荷を保持した状態での過熱チェック。
静的負荷による過熱テスト。Feetech STS3215
ダンベルを取り付けたアームを横向きに配置し、レバーアーム 15 cm で 1 kg のおもりを保持させたところ、トルクは 15 kg·cm になりました。10 分間で温度は 48 °C まで上昇し、その後1時間はそれ以上上がることなく安定していました。
テスト 2: ±90 度の範囲での揺動。温度測定
±90 度の範囲での揺動。温度テスト。Feetech STS3215
48 °C から始まり、温度は 50 分後に 60 °C に達しました。その後の 20 分間は温度が上がりませんでした。そこで、加熱を促進するために揺動速度を下げました(下の注記を参照)。71 °C に達するにはさらに 40 分を要し、その時点でモーターが過熱しました。
結論
- 臨界温度のしきい値:71 °C になると、昨日と今日の実験(2件)で観測されたとおり、モーターに不具合が現れます。内蔵の過熱保護はないようなので、この温度に達したら手動で停止する必要があります。
- 加速度が発熱に与える影響:加速度を下げると、温度上昇の速度が増しました。最初は加速度 5 で温度が 60 °C に達しました。加速度を 2 に下げると、さらに時間が経過した後に過熱しました。明日のさらなるテストでは、加速度 5 で過熱に要する時間を測定します。加速度 2 は私たちの用途には遅すぎるからです。
電動モーターについては、今のところ以上です。ロボティクスにおける私たちの進捗の最新情報は、必ずウェブサイトで公開します!
コメントするにはログインしてください。