上肢帯のあるロボット6
サーボ全体(ID:0xFF)で、返信要求をして一気に全サーボの情報を読み取る作戦ですが…
先週の時点で、”350μsecずつずらして、それが最適値”、という話だったのですが、時々チェックサムエラーが出ていることに気が付いたので、中華製の1,000円のロジックアナライザで解析してみることにしました。
ロジックアナライザを買ってから相当眠らせてたのを思い出して、ただ使ってみたかっただけ、という面もあります(笑)
(真っ黒な無印中華製ロジアナ、8ch対応で、1chとGNDだけサーボのTTL通信のラインに接続します)
計測の結果は下記の通り。
全体に同時に返信要求のパケットを送っているので、本来理論通りなら等間隔で返答があるはずなのですが、モーターの内部のシリアルのバッファを処理するタイミングなどがあるのか、個体差があるかのようにすこしずつ間隔がずれて返答があります。
中でも20番目と21番目が、毎回かならず衝突しかかったような返答を返してくるので、これはまずいですね。
すぐ400μsecずつずらしたケースも試してみましたが、こちらの方が余裕があって、精神衛生上も良さそうなので、こっちを採用することにしたいと思います。
若干制御周期が遅くなって、80Hzちょっとという感じです。
しかし、ロジックアナライザ、見事に通信の”見える化”が出来ますね!
長期間眠らせておいてなんですが、必須アイテム化しそうです。
さてさて、コントロールソフトの方は、リアルタイムティーチングプレイバックに加えて、通常のポーズ間補完方式モーション機能も実装しました。
さっそく、PPAPに合わせて動かしてみたり、上肢帯の機構をアピールするモーションを作ってみたり。
モーションを作ってみて思ったのは、モーションに実行時間を持たせて繋いでいく方式は、”ダンスには不向き”ということ。
タイムラインでモーションを入力していく方式でないと少なくともダメですね。
それを実装してるエディタと言えば…。
双葉の本家モーションエディタじゃないですか!
今までRPU-11を通信のための経由ハブにしたり、C言語でプログラム書き込んだり、かなり使い倒してきたものの、本家のモーションエディタだけはあまり使ってなくて、舐めてました。
今のままじゃ、これの劣化版でしかないので…。
超えるしかないですね!
まぁ、超え方については、いろいろあると思いますが(ぇ
コメントを残す