Servo86 ライブラリ

86Duino IDEはCodi​​ng 209以降、このライブラリを追加しました。Arduino/86Duinoの既存のサーボライブラリとの完全な下位互換性に加え、プレイヤーがRCサーボベースのロボット(プレイヤー型二足歩行ロボットや六足歩行ロボットなど)をより簡単に操作できるように、多くの新機能が追加されました。Servo86ライブラリを使用すると、ユーザーは以下のことが可能になります。

  1. 単一のサーボの角度と速度を指定し、複数のサーボが同時に動作するように設定します
  2. ロボットのすべてのサーボ角度を単一のアクションフレーム(フレーム)として保存でき、アクションフレームの再生時間間隔を自由に決めてロボットのアクションを再現または記録できます。

Servo86 ライブラリは、この記事で説明されているように、Arduino Servo ライブラリの PWM ジッターも改善します。

Servo86 ライブラリを使用して、ロボット モーション エディタを作成しました: 86ME (86Duino Motion Editor)。これを使用すると、ロボットのモーション フレームを編集し、Servo86 ライブラリを呼び出すスケッチ コードを自動的に生成できます。

Servo86 カテゴリ

Servo クラス

このカテゴリは、Arduino/86Duino の古い サーボ ライブラリ のサーボ カテゴリのすべての機能を提供し、サーボの動作フローと回転速度を制御するためのより高度な機能を追加します。

マルチサーボ同期動作機能

以下の機能は、サーボのバッチ処理機能であり、任意の指定数のサーボの同時動作を制御することができます。

ServoFrame クラス

市販のロボットモーション編集ソフトウェアの多くは、コンピュータアニメーションの分野におけるキーフレームの概念を用いてロボットの動作を表現しており、ロボットのポーズ、つまりロボット上のサーボの位置のリストはフレームと呼ばれます。Servo86ライブラリは、モーションフレームでロボットの動作を制御するという概念をサポートするためにServoFrameカテゴリを提供しており、このカテゴリではServo86ライブラリ専用のロボットモーションフレームファイルの読み込みと生成も可能です。

ユーザーは、ServoFrameのsave()関数を使って直接アクションフレームファイルを生成するだけでなく、86MEロボットアクションエディタを使ってアクションフレームファイルを編集・生成することもできます。その後、ServoFrameのload()関数を使ってアクションフレームファイルをプログラムに読み込むことができます。

ServoFramePololu クラス

これは ServoFrame の派生であり、Pololu のモーション エディター Maestro Control Center によって生成されたロボット モーション ファイルの読み取りをサポートし、Servo86 ライブラリで使用するためのロボット モーション フレームを生成します。

ServoFrameKondo クラス

これは ServoFrame の派生であり、KONOD のモーションエディタ HeartToHeart3 によって生成されたロボットモーションファイルの読み込みをサポートし、Servo86 ライブラリで使用できるロボットモーションフレームを生成します。さらに、KONDO サーボの現在の位置をリアルタイムでキャプチャする特別な機能も提供します。

ServoFrameInno クラス

これは ServoFrame の派生であり、Innovatiモーション エディター によって生成されたロボット モーション ファイルの読み取りをサポートし、Servo86 ライブラリで使用するロボット モーション フレームを生成します。

ServoFrameVstone クラス

これはServoFrameの派生であり、VstoneのアクションエディタRobovieMaker2で生成されたロボットアクションファイルを読み込み、Servo86ライブラリで使用できるロボットアクションフレームを生成することをサポートします。(このカテゴリは86Duino Coding 300でサポートされています。)

マルチモーションフレームモーションスムージング機能

86Duino Coding 300以降、Servo86ライブラリはCubic Splineモーションパス補間法をサポートしています。これにより、連続するフレーム間のモーションパンニングがよりスムーズになり、関節機構の振動が低減されます。以下の関数は、連続モーションフレームに対してこのスムーズな補間機能を有効にします。

ServoOffset クラス

Servo86ライブラリは、このような誤差を補正するためにサーボセンターオフセットの微調整をサポートしており、各サーボを正確に調整することができます。このカテゴリでは、サーボセンターオフセットの微調整値(Offset)をServo86ライブラリに定義、保存、読み込むことができます。

ServoOffsetKondo クラス

ServoOffset の派生であり、KONOD のモーション エディタ HeartToHeart3 によって生成されたロボット モーション ファイルからオフセット微調整値を読み取り、それを Servo86 ライブラリに提供してサーボの中心位置の誤差を補正することをサポートします。

ServoOffsetInno クラス

ServoOffset の派生製品であり、Innovatiモーション エディター によって生成されたオフセット微調整値ファイルの読み取りと、サーボ中心の位置誤差を補正するために Servo86 ライブラリへの提供をサポートします。

ServoOffsetVstone クラス

ServoOffsetの派生版で、VstoneのモーションエディタRobovieMaker2で生成されたモーションプロファイルからオフセット微調整値を読み取り、Servo86ライブラリに提供することでサーボの中心位置の誤差を補正します。(このカテゴリは86Duino Coding 300からサポートされています。)


使用制限

TimerOneライブラリとServoライブラリもタイマーを使用します。そのため、ライブラリ間の競合を避けるため、これら3つのライブラリのうち、一度に使用できるのは1つだけです。


86ME モーションエディター

86ME(86Duino Motion Editor)は、ロボットの動作をアニメーションのように編集できるオープンソースのロボットモーションエディタです。ServoFrameで読み込み可能なロボットモーションフレームファイルの生成をサポートし、86Duinoに直接書き込めるロボットモーションプログラムを自動生成できます。詳細は86MEユーザーマニュアルをご覧ください。


デモビデオ


ライブラリリファレンスホーム

86Duinoリファレンスのテキストは、Arduinoリファレンスを改変したもので、Creative Commons Attribution-ShareAlike 3.0ライセンスに基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。

上部へスクロール