Dynamixelの通信プロトコルを意識せずにコントロールテーブルへ簡便にアクセスする目的で作ったDynamixel Library(
V1,
V2)ですが、モデルによってコントロールテーブルの互換性が失われつつある状態では複数のモデルを一緒くたに扱いづらく、違いを意識たプログラミングを心がけないと動かないまでか重篤な事態を生じる事も起こりえました。
それらを踏まえ、以下を前提とした機能をDynamixel Libraryに追加しています。
- 低層は従来のDynamixel Libraryをそのまま使用
- ユーザが意識するのはDynamixelの情報はIDのみで、多少面倒な手順操作が必要な所はライブラリ内で処理
- 基本的に予め接続されたDynamixelのモデル情報を抽出してから運用するものとし、未検出のIDに対するアクセスは以後遮蔽
- 角度・速度・電流といった物理値で指令ないし読み出し
- 動作モードはXシリーズを基準
- モデルに無い機能を使用した場合は無視
- 通信エラー等による処理のリカバリは一切行わない
また、KONDO KRS/B3MシリーズとFUTABA RSシリーズ向けに作ったライブラリにも同様のAPIを追加し、メーカに関わらずほぼ同様のコードで利用できる事も考えています。
暖かくなる頃には公開できればと。
技術