ブログ - 最新エントリー

4Kディスプレイ

カテゴリ : 
雑記
2014-3-24 18:09
マルチディスプレイから4Kへ変更。
遅い・・・。ビデオカード買い換え必要。


入れ替えたとたんに勝手にサイズをでかくしてくれるが、100%に戻すと文字サイズがサブノート級。
LabVEIWにはうってつけのでかさだが、テキストエディタは表示方法考えないともったいなくていかん。
KRSLIBについて、早速お問い合わせいただきました。
そのついでと言っては申し訳ありませんが、本日付けでファイルにNI社のLabVIEWのサンプルを追加しておきました。

LabVIEWは外部のdllを呼び出す機能が備わっています。それを利用してKRSLIBの主要APIをアイコン化して貼り付けるだけで利用できる様にしました。LabVIEWでDLLを扱う際の参考になると思います。


あわせて、それらのviを組み合わせたtest.viも同梱しました。スピード・ストレッチ・位置の指令と現在位置のモニタが一緒にできます。


ブロックダイアグラムはたったこれだけです(緑色のアイコンがAPI)。


是非活用してください。
昨日に引き続き、ROBO-ONE標準化APIとして双葉電子工業殿 RSシリーズ向けのライブラリを公開します。
FUTABA RS Library 1.1
Dynamixelと似たパケット構成となっているため、概ね同一の操作感で使用可能。
なお、リターンパケットに含まれるFlagは、直前の要求パケットが処理された時点の状態ではなく、一つ前の要求パケット時点の状態を返すので注意が必要。

KO ICS3.0/3.5向け標準化ライブラリ

カテゴリ : 
ROBO-ONE
2014-3-13 13:51
昨年ROBO-ONE標準化APIとして各メーカのアクチュエータをPCから利用する際の規格を作りました。
先行して公開しているDynamixel向けのライブラリ以外に、近藤科学殿KRSシリーズ(ICS3.0/3.5)及び双葉電子工業殿 RSシリーズ向けのライブラリを作成し、ROBO剣にて概ね目的を達成しました。

イベントも終了しましたので、ひとまずKONDO ICSに対応したライブラリを先行して以下に公開します。
KONDO KRS Library 1.1
ICSでは採用していないアドレスとデータの概念を仮想メモリマップを利用することで標準化。アドレスに対してデータを読み書きを行う数個の関数を用意。
なお、使用するI/Fによって若干の違いがあるため、それを吸収する関数を用意。
高級言語で簡単に制御したいといった場合にご利用ください。

後日FUTABA RSシリーズ向けのライブラリも公開します。
AVRマイコンボードシリーズを改版した事もあり、次回のGCC Developer Liteの更新時にシリアル通信ライブラリの仕様を変更します。
ARMコアのマイコンボード用シリアル通信ライブラリと記述を合わせる事で、基本的にコード互換向上を考えた上での措置となります。

主な変更は以下を予定しています。
  • システムクロックの引用
    ボーレートの決定にシステムクロックを指定し、標準的に適用している周波数と異なるクロックに対応。
  • ボーレートの指定
    ボーレートジェネレータの分周値の指定から、直接ボーレートの指定に変更。
  • 割り込み版とポーリング版の両対応
    割り込みを使用しないアプリケーションや割り込み処理内に記述できる様に送受信割り込みを使用しないバージョンを追加。
  • 送信割り込み処理変更
    送信データが多くて割り込みが連続する場合の負荷軽減。
  • 送信バッファの返値変更
    ~tx_buff関数の返値は送信バッファにたまっているデータのバイト数を返す様に変更。
  • 関数名の変更
    ポーリング版はus_~/us0_~/us1_~、割り込み版はus_int_~/us0_int_~/us1_int_~のプレフィクスに変更。
残念ながらソース互換ではなくなるため、リリースに合わせてサンプルプログラムも修正します。

技術

Dynamixel通信環境チェックツール

カテゴリ : 
その他
2013-12-10 18:01
通信環境が生命線であるDynamixel。無線ではないので断線なんぞはもってのほかですし、瞬断も許容できません。おまけに軸数が増えると電線の距離も長くなり、電気屋でも考えたくない現象まで意識せざるを得なくなってきます。

一応プログラマー向けのツールはDXCONFDXLIBといった感じでそこそこ用意はしていますが、オールOKの前提でプログラミングされてしまうといざというときにシステム全体が瓦解しかねません。

また、各APIからはアラームステータスを返す事になっていますが、全ての事象がそのステータスで把握できないため、それだけでシステムとしての故障状態が軽度なのか重度なのかは簡単には判断がつきません。
正常に取得できたアラームステータスを使ってできる事は、人間で例えると微熱だけどもうちょっとがんばるか・はりきりすぎて筋肉痛ぅといったそこそこ動ける「軽度」な状況の時だけで、足がしびれて立ち上がったとたんに足の甲が地面・走ってたらアキレス腱がプチッ・ヘルニアで突然脱力!(例えが痛々しくてごめんなさい)といった「重度」な状況での動作を考えるのは至難の業です。
ましてやアテにしている通信の応答すら断線等で得られないとなると、神経が切れてしまったの如くどうのしようもありません。

それらを全て解消するという訳ではありませんが、少なくともネットワークの健全性ぐらいは簡単に確認できても良いだろうということで、今回簡単なツールを用意しました。
全然仰々しい物ではなく、IDを書き連ねてスタートかけると各IDのデバイス名を取得して延々と通信し続けてその状況をレポートするだけです。


元はと言えばDXLIBを使う際のタイムアウトオフセット値をいくつにするべきかを判断するために作った代物ですが、DXLIBを使用したユーザアプリとはさほど乖離していないだろうと考えて公開します。
Dynamixel I/F Checker
ちなみに、本ツールは通信環境の健全性を見定めるためにRead Instructionのみを使用し、アクチュエータへの位置指令等は一切行いません。

openocd

カテゴリ : 
雑記
2013-12-3 15:17
ここのところopenocdに手を染めていない事に気づく。久々にgitしてみると結構いい感じに修正されている様だ。

従来の設定ではlinux上でwin32ターゲットのクロスコンパイルがうまくいかない様なので、ついでということで長らくやってないMinGWでビルドしてみる。それもつまらないので、まっさらから新しくなったMinGWのインストーラで環境を再構築。後から手動でツール群を入れてたものが標準でお膳立てができてて楽ちん。

libusbxlibftdiを適当なトコにおいて、 LIBUSB1_CFLAGSへ適当に指示してあげればよさげ。今更ながらisasciiで止まるとは...。usbprogはもう除外。
種々のプラットフォーム対応はもうちょっとといった所だが、概ね意図している事はわかった。
多少小細工は施したが、たいした問題もなく再構築完了。


ということで新しいバイナリを置いときました。

そうそう、Windows8からとっても野暮ったくなった署名なしのデバイスドライバですが、こちらの手順を踏んでからインストールして下さいね。

ROBO-剣

カテゴリ : 
ROBO-ONE
2013-11-6 21:18
ROBO-剣で使えそうな物をAX-12でこさえてみる。
とは言っても単純な構成なので、アーム部分はあり合わせのパーツで何とかできあがり。


委員長ロボと対戦する体。
相手はMX。


地べたへの固定はまねっこして吸盤。ベースは3Dプリンタでにゅるにゅると。


一応DXHUBも搭載。もうちょっと収まり良くしたほうがいいかなと。


とりあえずROBO-ONE用のサーバの設定はAX-12を選んで難なく完了。
古いバージョンだとダメダメでした。

後は軸へ指令するプログラムをしこしここさえるだけ。
とりあえず簡単なモーションエディタみたいな物をこさえてみようかと。

Dynamixel Configuratorβ版公開

カテゴリ : 
その他
2013-10-9 18:53
リリース版をご利用ください。
2013/10/11


Dynamixel Configuratorのβ版を公開します。

今回より本ソフトウェア1つでDynamixelだけではなくAX-S1・IRARRAY・USS3・UD3等にも対応させました。これにより複数のデバイスが混在している環境での操作性が向上していると思います。



主な変更点
  • 最新DXLIB適用(現時点で未リリース版)
  • Dynamixe MXシリーズの最新コントロールテーブル対応
  • USS3対応
  • AX-S1対応
  • UD3/UD3.5のDXCLIENT時対応
  • 複数デバイス対応の都合、メインウィンドウ上からポジション指令用のダイアルを廃止
  • スキャン機能の安定化
  • トレンドグラフウィンドウを追加し、それに各デバイス特有の操作パネルを装備
  • BTE068BのターミネータON/OFF対応
  • 64ビットWindowsにネイティブ対応
  • COMポートのレイテンシ(待ち時間)の設定変更を容易にするダイアログボックス追加(管理者権限必須)
  • マイナーバグフィクス

もちろん旧バージョンでと感じていた方は、基本的な操作は旧バージョンを踏襲していますので、詳細はひとまず以下に公開したβ版を使ってみてください。
DXCONFINST2.1.0.0Beta.exe
なお、32/64bit環境によってインストールされる実行プログラムが変わりますが、動作は全く同じものとなります。
今後大きな問題がないようでしたら、近日中に正式版としてリリースする予定です。

※弊社では署名付のファイルを提供しておりませんので、ダウンロードや実行時にブラウザやアンチウィルス等によるウォーニングメッセージが表示される可能性があります。無視しても特に支障はありませんが、そういったメッセージが気になる方は安全のため使用しないで下さい。

DXLIB更新

カテゴリ : 
雑記
2013-9-17 8:00
Dynamixel Library Version 2.9を公開しました。

今回の主な変更はタイムアウトの指定を無くしたことにあります。従来タイムアウトは受信をあきらめるまでの時間を意味し、基本的にボーレートと受信バイト数に依存するものでした。しかし受信パケットのバイト数が判然としていない限り計算が困難であった事が「パケットを意識せず」という意図からずれていると判断し、ライブラリ内で処置する事としました。
その代わりという訳ではありませんが、OSやI/Fに依存する応答性を考慮したタイムアウト値を別途設定出来るようにしました。

また先にお知らせした新しいCDCエミュレーションを使用したファームウェアを内蔵したマイコンを仲介した際に、Windowsによるポートのオープン・クローズの判定用としてDTRの制御をONにしました。

最後にLinuxで使用される際の問い合わせが大半を占める様になってきたこともあり、コンフィギュレータ以外のマイコンを仲介した場合でも使用できる様にボーレートの設定方法を見直しました。

なお、ROBO-ONE標準APIも本仕様に合わせて修正しましたので、その仕様に合わせた各社向けdllが近々公開のサーバに適用されます。

たいそうな代物ではありませんので、活用の一助になればといったところ。