ブログ - 最新エントリー

ToFセンサとUSB-3WAY後継

カテゴリ : 
雑記
2017-7-31 17:10
興味を持って頂いた方には昨年より評価を行って頂いているToF(Time of Flight )センサですが、ワンメイクで終わらせずに採番し製品化する事を検討しています。
何種類かのセンサを試した上で、最終的にST社のLV53L0Xを装備し、例の如くDynamixelと同等のTTLないしRS-485 I/Fを介してアクセスする仕様としました。センサとI/F間の仲介役としてDXMIOと同様にNXP LPC824を搭載し、センサの情報を咀嚼してI/Fに流すといった役割を担います。
また、PSDセンサなどからの置き換えを意識し、アナログ電圧出力とデジタル出力を備えます。

製品化前ですが、評価時のドキュメントを最終版を意識して記載内容が更新されていますので、興味のある方はこちらをご覧下さい。

他に、プロトコルV2.0に対応したDynamixelシリーズが増えてきましたが、USB-3WAYやDXHUBは3Mbpsを超えるボーレートに対応していません。PCにおいて4Mbpsや4.5Mbpsで通信できれば、それだけで時間を有意義に利用できる事から、対応を望む声が少なからずありました。
単純にUSBシリアル変換ICをFT232Hに変更するだけで高いボーレートに対応しますが、それだけでは芸が無いので、USB-3WAYの後継のみ仕様を確定しました。
・D-SUBコネクタからの変換が既にレガシーなのでJSTのコネクタを装備
・Dongleシリーズでは中途半端に絶縁機能が入っていのでバスパワーのみで動作
・TTLとRS-485両I/Fに対応し、最大12Mbpsをサポート(FT232Hの仕様上限)


実機はこんな感じです(左:ToFセンサ、右:USBシリアル変換)。


製品化されたあかつきにはぜひご利用ください。

技術
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のヘッダでカバーできる範囲に無いため、別途ジャンパ線でつなぐ必要があります。詳細はこちらで。




技術

KONDO B3M用SHIELD

カテゴリ : 
その他
2017-5-18 11:00
DXSHIELDのコメントに「TTLやRS-485 I/Fを持ったパケット通信をサポートするDynamixel以外のサーボモータにも適用できます。」とあるものの、コネクタが違えば変換ケーブルなどで対応せざるを得ないし、そもそもつながるものかの判断がつかないとの要望があった事もあり、見直しをする事に。

ひとまずリクエストの大半を占めるKONDO B3MシリーズKRSシリーズで使える様にXHコネクタとピンヘッダが載る仕様に変更。



再リリースはしばしお待ち下さい。

技術

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として製品ラインナップに載せましたという告知でした


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

技術

DXLIB V3.3公開

カテゴリ : 
Dynamixel
2016-7-13 9:20
Dynamixel Library Version 3.3を公開しました。

主な変更点は以下の通りです。
  • Linux環境下でttyの設定が不十分な点を修正
  • Linux環境下でのスリープ処理をusleepに変更
#ご指摘いただきありがとうございます。

技術

Dynamixelの通信プロトコルについて

カテゴリ : 
Dynamixel
2016-6-23 10:50
Dynamixelのラインナップ拡充に伴い、新製品では順次PROシリーズのプロトコル(DYNAMIXEL2プロトコルが採用されています。ちなみに、今後DX・RX・AX・MXシリーズに採用されているプロトコルを暫定的にDYNAMIXEL1プロトコルと称します。

しかし、XL-320がDYNAMIXEL1プロトコルのERRORフラグの扱いを踏襲したDYNAMIXEL2プロトコルの亜種を搭載した都合から、実質3種類の通信プロトコルが存在しています。
ところが、XL-320の最近のファームウェアにおいてDYNAMIXEL2プロトコルに準拠した仕様変更が行われたため、最新版においては2種類に集約されています。

現在提されているDXCONFは3つのプロトコルが存在する前提で3種類のDXLIBを使用していますが、幸いにもXL-320は弊社において標準取扱品ではないのと、亜種なプロトコルは今後派生させないとの事ですので、弊社では2種類のDXLIBに集約したものに更新する予定です。

なお、現時点でPROシリーズ及びXMシリーズにおける通信プロトコルのインプリに、瑕疵がある事が判明しています。
今後ROBOTIS社において問題が解消された事が確認され、さらに弊社にて検証が完了した後に。XMシリーズの販売を開始する予定です。

最後に、お客様によるROBOTIS社RoboPlusを使用したファームウェアの更新は、正直なところリスクがあります。弊社ではファームウェアの更新に失敗した場合は、無償サポートの範疇としていませんのでご了承のほど。

技術

Dynamixel XMシリーズ

カテゴリ : 
Dynamixel
2016-4-21 9:50
Dynamixelネタで久しぶりの更新です。

近々XMシリーズが新たに加わります。
PROシリーズの下位の位置付で、ユーザからのフィードバックを一部反映したものとなります。


まず登場予定なのは機械的なスペックがMX-28に近く、ギア比違いのXM430の2種類。フランジを一掃し、ボディーにネジ穴が備わります。


コネクタ周りはケーブルの取り回しを意識した溝が設けられ、カバーができます。出力軸の裏側の蓋は、フリーホーンに換装可能です。


コネクタはJST製のものに変更されます。


PROシリーズの下位の位置づけという事もあり、デフォルトの通信プロトコルはPROシリーズに採用されているV.2ですが、旧来製品との混在を可能にするためにV.1もサポートします。

もう少し調整が必要なため、詳細については正式なリリースまでお待ちください。

技術