• カテゴリ Dynamixel の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - Dynamixelカテゴリのエントリ

DXSHIELDその後

カテゴリ : 
Dynamixel
2018-12-12 9:40
絶版になって久しいDXSHIELDですが、色々なリクエストを元に少し仕様を変更した上で再登板させることになりました。

  • 一部の方には試作製造分を案内していたDXSHIELDの電子回路部分だけ抜き出したI/Fコンバータモジュールを製品化します。それに伴い新しいDXSHIELDは通信にかかる回路をそのモジュールにまかせ、実質単純なコネクタの集合基板化されます。

  • スライドスイッチでArduino側の占有端子の切り替えを行う機能はそのままに、もっと自由に端子を選べるようにリード線を容易に利用できるようにします。これによりArduino互換レイアウトのコネクタを装備した評価基板等にもDXSHIELDを適用しやすくなっているかと思います。
  • Dynamixelへの電源供給ですが、旧来のVHコネクタの他にACアダプタが利用できます。実際にはコネクタかジャックを排他で選んでハンダ付けしてもらいます。
もちろんこちらのムックの内容は踏襲されます。
誠意製造中ですので、今しばらくお待ち下さい。

技術
Dynamixel Xシリーズでは位置と速度を合わせたカスケード制御が行えます(MXシリーズもファーム書き換えで対応)。しかし、モーションのようにキーフレーム間の遷移時間が指定されている場合、時間を速度に変換するとアイテムの持つ分解能による誤差が気になる事があります。
黎明期から時間と速度のどちらを指定するかの議論があったのですが、MXシリーズから非接触センサを採用した事でホイール用に使用する事も多くなった事もあり、今まで速度指定が採用されていました。
最近はモデル間の電気的ないしソフト的な差異が小さくなり、ファームウェアの共通化が図られて来た事もあり、以前より要望の多かった遷移時間による位置決め制御のβテストがスタートしました。つまり、現在の位置を基準に目標位置と移動時間を指定する事が今後できるようになります。人柱になってみたい方は是非試していただいて、バグ出しに協力いただければと思います。

技術

Dynamixel Library更新作業中

カテゴリ : 
Dynamixel
2018-1-31 10:30
Dynamixelの通信プロトコルを意識せずにコントロールテーブルへ簡便にアクセスする目的で作ったDynamixel Library(V1,V2)ですが、モデルによってコントロールテーブルの互換性が失われつつある状態では複数のモデルを一緒くたに扱いづらく、違いを意識たプログラミングを心がけないと動かないまでか重篤な事態を生じる事も起こりえました。

それらを踏まえ、以下を前提とした機能をDynamixel Libraryに追加しています。
  • 低層は従来のDynamixel Libraryをそのまま使用
  • ユーザが意識するのはDynamixelの情報はIDのみで、多少面倒な手順操作が必要な所はライブラリ内で処理
  • 基本的に予め接続されたDynamixelのモデル情報を抽出してから運用するものとし、未検出のIDに対するアクセスは以後遮蔽
  • 角度・速度・電流といった物理値で指令ないし読み出し
  • 動作モードはXシリーズを基準
  • モデルに無い機能を使用した場合は無視
  • 通信エラー等による処理のリカバリは一切行わない
また、KONDO KRS/B3MシリーズとFUTABA RSシリーズ向けに作ったライブラリにも同様のAPIを追加し、メーカに関わらずほぼ同様のコードで利用できる事も考えています。
暖かくなる頃には公開できればと。

技術

ROBOTIS RoboPlusの不具合について

カテゴリ : 
Dynamixel
2017-10-30 20:04
Windows UpdateにてKB4041676を適用すると、RoboPlus Dynamixel Wizardは既知の不具合に記載されている通り「外部データベース ドライバー (1) で予期しないエラーが発生しました。 (Microsoft JET データベース エンジン)」といったエラーメッセージを表示した後に終了してしまいます。
必ずインターネットに接続した環境でRoboBoplusの起動画面で「Check for updates」ボタンを押してアップデートを促し、アップデートを適用してからてからDynamixel Wizardを使用して下さい。

技術

RoboPlus 2.0

カテゴリ : 
Dynamixel
2017-8-1 17:30
RoboPlus 2.1.15へのアップデートが公開されました。
RoboPlus 2をアップデートした後、 Dynamixel Xシリーズをお使いの方は最新ファームウェアv40へ更新してください。

8/2 16:30更新


プロファイルを使用した位置決め制御時のバグの改修の目処が付き、ファームウェアのアップデートが近日中に提供されます。提供が開始された段階で再度告知しますので、その際はDynamixel XL・XM・XHシリーズをお持ちの方は必ずアップデートを行ってください。

ファームウェアの自動更新
PCからDynamixelのコントロールテーブルを操作したり、最新ファームウェアの取得機能とファームウェアのDynamixelへの適用機能が備わったRoboPlus 2.0というソフトウェアが提供されています。
RoboPlus 2.0の更新ボタンを押すと、その時点で最新のツール本体とファームウェアをインターネット経由でダウンロードし適用します。

ツールの更新が完了した後、Dynamixelのファームウェアに起因する問題が改修されている場合がありますので、改修内容を確認した上でDynamixelのファームウェアをアップデートします。
Dynamixel MXシリーズのプロトコルV2対応
Dynamixel MXシリーズのファームウェアをRoboPlus 2.0で書き換えると、Dynamixel XL・XM・XHシリーズと同じコントロールテーブル構成及び制御が適用され、通信プロトコルはV2に変更されます。

これにより、MXシリーズとXL・XM・XHシリーズを同じネットワークに混在させて使用する事ができるようになります。
なお、RoboPlus 2.0がサポートするのは、プロトコルV2に対応した以下のDynamixelシリーズのみとなります。
  • MXシリーズ (ファームウェアのアップデート必須)
  • XL320
  • Xシリーズ (XL・XM・XH)
  • Proシリーズ

技術

DynamixelプロトコルV2対応したXH/XMシリーズ及びMXシリーズに搭載されるファームウェアにおきまして、プロファイルを併用した位置決め制御に重大な瑕疵が見つかりました。
症状としましては加減速を伴う位置決め制御を行う際にProfile VelocityやProfile Acceleration のアイテムを使用すると、パケットの送信タイミングによっては予期しない制御(位置のリミットを超えた運転や想定と異なる加減速等)が行われる場合があります。

ご不便をおかけしますが、改修済ファームウェアがリリースされる間は、位置決め制御を行う場合にGoal Positionのみへ指令するようお願い申し上げます。

また、ファームウェアがリリースされた際は、更新方法等を別途お知らせ致します。

技術

ArduinoでDynamixelを動かす4

カテゴリ : 
Dynamixel
2017-6-26 12:00
Arduino UNOのI/Oやメモリでは不足する場合は、Arduino MEGAを使う方も多いかと思います。DXSHIELDはArduino UNOのみを想定したハード及びライブラリ構成となっていたため、Arduino MEGAの機能を活用できませんでした。

今回の製造ロットに合わせてライブラリに少し手を加え、任意のハードウェアシリアルオブジェクトを選択できるようにしました。これにより、Arduino MEGAではデフォルトのSerialの他にSerial1~Serial3のハードウェアシリアルを利用する事ができます。なお、Serial1~Serial3のTX/RX端子はDXSHIELDのヘッダでカバーできる範囲に無いため、別途ジャンパ線でつなぐ必要があります。詳細はこちらで。




技術

ArduinoでDynaixelを動かす3

カテゴリ : 
Dynamixel
2016-12-12 10:50
DXSHIELDにて公開しているライブラリですが、近々Dynamixel Protocol V2に対応したものを公開します。更新されたライブラリを用いる事でDynamixel XM/XH/XL/ProシリーズをDXSHIELDで簡便に活用できるようになります。

なお、ライブラリそのものがArduino UNOを想定していますので、ライブラリ自体がメモリを消費してしまうと自身のスケッチに使用するメモリを圧迫しかねません。今後は基本的な送受信ルーチン(TxPacket/RxPacket)を用意した上で、大半をそれを用いたラッパルーチンに変更します。

技術

I/F各種

カテゴリ : 
Dynamixel
2016-8-25 16:30
ちょとニッチな使い方もあるとの事で、いくつかシリアル系のI/Fを作ってみました。とは言え既製のものと大差は無いので、そちらで十分であればスルーしていただければと。

USBの絶縁
ベステクには過電圧で壊れたUSBポートを持ったPCが何台かあったりします・・・。小綺麗にPCを使っている方にはあまり遭遇する事は無い事ですが、USBポートは電気的にブチ壊れる事があります。
また、開発中のボードを活線状態ICEでつなごうとすると、ぱちっと静電気が飛んでPCがフリーズしたりICEが逝ってしまったり・・。
電位差がある所に電線をつなごうとすれば電流が流れようとしますので、そのときのショックを受け止め切れなければ何か起こるのは避けられず。
そういった場合にUSBポートそのものを絶縁してお茶を濁そうというのがこちらのUSBISOです。

USB 2.0 FSのみに対応してるので、残念ですがそれ以外の規格には使えません。
また、通常のバスパワーよりは目減りしますが、最大2Wまで絶縁型の電源を装備しています。
RS-485及び1ワイヤTTLシリアルドングル
USBケーブルなしでPC直結して使用するドングル型のがあればRaspberry Piにこぢんまりと収まるというリクエストでできたのがこちらのUSB2RS485 dongleUSB2TTL dongleです。

Dynamixelへの電源の供給方法はユーザにお任せと割り切り、USB-3WAYやDXHUBの各I/F部分だけを切り貼りしただけのものです。と言いたいところですが、いずれもそこそこの耐圧を持った絶縁措置を施しましたので、イザというときでもPCのUSBポートまで壊すことは無いかと。
マルチファンクションI/O
ディスコンから長らく代替品の用意ができず申し訳ありませんでした。CPUをAtmel社のATmega168からNXP社のLPX824に変更し、必要以上に小さくしたDXMIO(RS485)DXMIO(TTL)を用意しました。
 
小さくしすぎでアクセサリ用の電源容量が小さくなってしまいましたが、全端子が12bitのADコンバータ・汎用GPIOとして使用できます。
現時点ではDynamixelのプロトコルで動作するスレーブ用ファームウェア(若干貧弱ですが)を書き込んだ上で出荷します。
なお、今後GCC Developer Liteによるプログラミング環境を提供しますので、Dynamixelのホストとして機能させたり純粋なマイコンボードとして使用する事ができます。その際にはFreeRTOSをサポートしますので、小さいながらもマルチタスクの恩恵をあずかる事ができます。
技術

ArduinoでDynamixelを動かす2

カテゴリ : 
Dynamixel
2016-8-2 16:00
ArduinoからDynamixelを動かすネタを一年ほど前に書いたのですが、その際にコネクタを並べただけの簡単なシールドの紹介をしたと思います。その後なかなか試作後の踏ん切りがつかなかったのですが、そこそこ数がまとまった場合にのみちまちまと作っていました。

その半量産版は高いボーレートで使用でき、占有するArduinoの端子によって3つの使い方ができるようになっています。
  • 他が犠牲になっても高速なボーレートが欲しい時
  • とりあえずDynamixelが動かせて、同時にシリアルターミナルを使いたい時
  • Dynamixelの設定や制御をPCから行いたい時

いずれの場合でも送受信に使用するGPIOが2本あれば良いのですが、高速な通信となるとソフトウェアシリアルではまかない切れないため、その時だけハードウェアシリアル(ようするにUARTの端子)を使うといった感じになっています。

Arduinoと本シールドさえあればDynamixelを動かす環境が全て整いますし、自信のスケッチで利用できるライブラリと簡単なテストコードも用意しました。
もちろん、ソフトウェアさえがんばれば、同種のI/Fで制御できるサーボモータ全てで利用できます。

で、なぜ今頃昔の話を持ち出したかというと、多少ですが余剰ができたのでDXSHIELDとして製品ラインナップに載せましたという告知でした


ご興味があれば試食してみて下さい。

技術