ブログパーツUL5

ワイヤレスコントローラの検討

 ROBOZAKが発売されていた当時には、PS2ワイヤレスコントローラでRZ-1を操縦できるキットが発売されていましたが、すぐに完売してもう購入できません。当時は受信モジュールが大きく購入を躊躇っていたので、購入するタイミングを失ってしまいました。PS2本体もすでに発売中止となっているので、いつまでPS2ワイヤレスコントローラが入手できるのかちょっと心配で、そのうち入手できなくなるのでしょう。
VS-1C
 PS2ワイヤレスコントローラはオークションを覗くとコピー品が安く購入できるようです。しかし、受信モジュールが大きく、コピー品を購入するのはどうも気が引けます。
 また、ヴィストン株式会社からロボット専用コントローラーとしてVS−C1というのを発売しており、基本機能はPS2ワイヤレスコントローラのようなので、現在はこれをROBOSHOPや秋月電子などで購入することができる。


    写真はVS−C1(秋月電子より引用)

 RZ-1の改造とモーションプログラムの変更もひと段落したこともあり、以前のPS2ワイヤレスコントローラについてインターネットでいろいろ調べてみました。PS2コントローラ解析の情報はあるのですが、ROBONOVAやROBOZAKなどのMR-C3024マイコンボードに対応した情報が極端に少なくなります。受信側のモジュールは当然RZ-1本体に搭載するので小型で軽量なことが最大の要求事項で、以前に紹介した「赤外線通信とZigBee通信でロボット操縦ができる」のようにセットになっているものありますが、搭載実績がすくないようです。操作面ではPS2タイプで決まりですが、2.4GHz無線、Bluetooth、ZigBeeなどの通信方式も含め、通信データやその変換方法をどうするか総合評価が必要です。

 VS-C1は対応マイコンボードが決まっており、Robovie-X/X Lite、Robovie-i、RB2000、RB300などのVS-RC003/HV搭載ロボットと、Hotproceed社開発の「REV-1(レボ-ワン)」で近藤科学社製の「RCB-3」「RCB-3J」などのマイコンボードでご利用できるだけです。残念ながら、MR-C3024のマイコンボードには対応するアダプタがありません。どうも出来合いのキットは、購入してもうまくいかない場合や改良したくてもできないことが不満です。

 そこで、今回、勉強を兼ねてアダプタを自作してみようと思案しており、やはりデータ変換をするのは使い慣れたPICマイコンで製作したいと考えています。UARTを内蔵している16F688か16F628Aを使用して、元プログラムを参考にMR-C3024用プログラムとして改良できるようにしておくつもりです。
0

    腕と肩の運動モーション

     腕と肩のサーボのテスト用にちょっとおもしろモーションプログラムを作成してみました。RZ-1がこの腕と肩の運動モーションをしているのを見ながら、自分も真似てやって運動するのもいいかも知れません(脳の活性化にもなる)。難易度がレベル1からレベル3まで連続して変化します。このモーションは初心者でも簡単に作成できますので、チャレンジしてみてください。

    上半身だけの動作(下半身はポーズに事前に設定)
    レベル1:左右の腕を別々に下、横、上を繰返す。
    レベル2:左右の腕を別々に下、横、上、前を繰返す。
    レベル3:レベル2の動作に、首を左右に、手の動作を加える。

    *肩のサーボは通常位置に戻してあります。

    '=======================================================
    taisou:
    MOVE G6B, 100, 30, 85,100 , , ,
    MOVE G6C, 100, 30, 85,100 , , ,
    SPEED 10
    HIGHSPEED SETON
    '-- levei-1
    FOR i=0 TO 3
    MOVE G6B, 100, 30, 85, , , ,
    MOVE G6C, 100, 30, 85, , , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, , , ,
    MOVE G6C, 100, 30, 85, , , ,
    DELAY 500
    MOVE G6B, 100, 170, 110, , , ,
    MOVE G6C, 100, 100, 100, , , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, , , ,
    MOVE G6C, 100, 170, 110, , , ,
    DELAY 500
    MOVE G6B, 100, 30, 85, , , ,
    MOVE G6C, 100, 100, 100, , , ,
    DELAY 500
    NEXT i
    '-- level-2
    FOR i=0 TO 1
    MOVE G6B, 100, 30, 85, , , ,
    MOVE G6C, 100, 30, 85, , , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, , , ,
    MOVE G6C, 185, 30, 85, , , ,
    DELAY 500
    MOVE G6B, 100, 170, 110, , , ,
    MOVE G6C, 100, 100, 100, , , ,
    DELAY 500
    MOVE G6B, 100, 30, 85, , , ,
    MOVE G6C, 100, 170, 110, , , ,
    DELAY 500
    MOVE G6B, 100, 170, 110, , , ,
    MOVE G6C, 100, 100, 100, , , ,
    DELAY 500
    MOVE G6B, 185, 30, 85, , , ,
    MOVE G6C, 100, 100, 100, , , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, , , ,
    MOVE G6C, 100, 170, 110, , , ,
    DELAY 500
    MOVE G6B, 100, 170, 110, , , ,
    MOVE G6C, 100, 30, 85, , , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, , , ,
    MOVE G6C, 100, 170, 110, , , ,
    DELAY 500
    NEXT i
    '-- level-3
    FOR i=0 TO 1
    MOVE G6B, 100, 30, 85,115, , ,
    MOVE G6C, 100, 30, 85,115, , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, 60, , ,
    MOVE G6C, 185, 30, 85,110, , ,
    DELAY 500
    MOVE G6B, 100, 170, 110,110, 60, ,
    MOVE G6C, 100, 100, 100, 60, , ,
    DELAY 500
    MOVE G6B, 100, 30, 85,115,100, ,
    MOVE G6C, 100, 170, 110,110, , ,
    DELAY 500
    MOVE G6B, 100, 170, 110,110, , ,
    MOVE G6C, 100, 100, 100, 60, , ,
    DELAY 500
    MOVE G6B, 185, 30, 85,115, , ,
    MOVE G6C, 100, 100, 100, 60, , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, 60,140, ,
    MOVE G6C, 100, 170, 110,110, , ,
    DELAY 500
    MOVE G6B, 100, 170, 110,110,100, ,
    MOVE G6C, 100, 30, 85,115, , ,
    DELAY 500
    MOVE G6B, 100, 100, 100, 60, , ,
    MOVE G6C, 100, 170, 110,110, , ,
    DELAY 500
    NEXT i
    HIGHSPEED SETOFF
    MOVE G6B, 100, 30, 85,100 , , ,
    MOVE G6C, 100, 30, 85,100 , , ,
    RETURN
    '=======================================================
    0

      RZ-1の肩の軽量化は断念(回転角を変更)

       脚の直交化に伴うモーションの見直しをしておりましたが、今までのモーションを整理をしながら全モーションの見直しがやっと完了しました。
       次のテーマである肩のサーボを交換して軽量化を検討していましたが、こちらはRS306MDのギア欠けとトルク不足という問題があり、置換えによる軽量化は断念しました。
      U字型ブラケット再設定
       そこで、肩のサーボは今まで前後に±90°の回転角でしたが、サーボはそのままで回転角をシフトして−45°〜135°になるようにU字型ブラケットを設定しなおしました。
       但し、この変更を行なうとモーションプログラムの互換性が全くなくなります。また、ゼロポイントの調整がやりにくくなります。


          前側の回転角の最大角135°         後側の回転角の最大角45°
      前の回転角後の回転角
       これでまた全モーションを見直ししなければなりませんが、MOVEの値を45を引けばいいのでRS306MDの置換えて回転角を変更した場合よりも変更は簡単である。
       問題点が2つ発生しました。1つはゼロポイント調整で肩のサーボだけやりにくくなる。もう1つは後転と仰向けの起上がりなどの後ろ側のモーションの大幅見直しが必要となる。
      (1)ゼロポイント調整では立ちポーズでの誤差を見ながら、数値を修正することとで対処できる。
      (2)後転と仰向けの起上がりのモーションでは、腕を外側に向ければ真後ろにできるので、脚のMOVEは余り変更せずに肩と腕のMOVEを見直して実現できる。
      以上の対策で、基本モーションのプログラムは修正できました。

       回転角の設定で何が出来るようになったかは、これからモーションを考えます。例として、ナチス式敬礼ができるようになりますが、それだけではあまり意味はありません。
      0

        RS306MDが早くもギア欠け

         RZ-1の軽量化の改造に伴いすべてのモーションプログラムを修正していた時の出来事でした。ROBOZAKで提供されていた側転のモーションを修正していて、腕からカリカリと異様な音がしはじめて次第に脱力したようになってコントロールできなくぶらぶらになりました。側転のモーションはRZ-1の全重量が両腕にかかるので、負荷が非常に大きいためのようです。脚の直交化のRS306MDへの負荷はあまり大きくないようですが、こちらはネジが緩みやすいという問題がありそうです。

        RS306MDのギア欠け 問題のRS306MDで発生した歯の欠けたギアは最終段ギアではなく、中間ギアの別の2つ(2回も発生)でした。HSR-9848HBでは最終段ギアだけが壊れやすい特徴がありましたが、ギアの材質の違いか負荷のかかり方の違いか壊れるギアの場所が違いました。壊れるギアはケーブルの長さの関係で肩の軽量化で利用しようとしたサーボのギアと交換して即日修理しました。ギアを入手するまでは肩の軽量化の検討とモーションの変更は中断せざるを得ない状況となりました。

         写真は1回目の時のもので、ピンボケですが右側にあるのが、歯が欠けて壊れたギアです。2回目はその隣のギアでした。因みに一番大きなギアが最終段ギアでベアリングが上下に2つ入っています。

         従って、RZ-1の腕に使用するRS306MDは金属ギアに交換しないと危ないということになります。それにしてもギアが小さいのにはびっくりで外形が小さいので当たり前といえば当たり前ですが、大きな負荷にはプラスチックギアのままでは弱いですね。RZ-1の腕のサーボを元のHSR-9848HBに戻して、肩の軽量化にRS306MDをまわすということも検討しています。思わぬところに伏兵がいて、とりあえず側転モーションは封印することになります。

         ところで、ロボゼロでは大丈夫なのでしょうか?軽量だから大丈夫だと思っても過激なモーションは注意が必要でしょう。
        0

          RZ-1の肩の軽量化

          試作ボディーにRS306MDを取り付ける RS306MD対応のU字型ブラケットを製作して、RZ-1の肩の部分を置き換えることを検討しています。試作したボディーフレームにRS306MDを取り付け、予備のマイコンボードも取り付けてテスト動作をさせて状況を見ています。サーボを置き換える前に動作方向をプログラムで指定するかRS306MDの設定で変えるかを決めて、設定後にゼロポイント調整で微妙なズレを合せ込みします。
           roboBASICのMOVEで10〜190でサーボを動作させますが、RS306MDは回転角範囲が±144°と広くなるので、従来は±90°ですからどうしてもモーションの修正は必須となる。モーション用のシミュレータ(?)を製作して実際に動作させながら検討しています。
          実際に回転角の確認 写真の左側が今までの角度で、右側はRS306MDに置き換えるとここまで上りる。今までのモーションではモータ6と12の回転だけでは、腕が真前か真後までしか行かず真上にはいきませんでした。しかし、置換えただけで斜め前まで上がるようになります。後側もムダにいくことが出来てしまいので、そのモーションとしては気持ち悪いものになります。さらに、プログラムの互換性はすでにあきらめているのだから、サーボホーンを45°前にずらしてセッティングすることも検討としてみる。

           RS306MDのサーボホーンを45°ずらすと、roboBASICのMOVEの範囲で下記のような回転角になる。
          190 →  190°(真上)
          127 →   90°(前の中間) 
           70 →    0°(真下)
           10 → − 95°(後の中間)
           この設定で検討すると、旧サーボのMOVE値による回転角を実現するために、RS306MDでのMOVE値の換算表を作成しないと全てのモーションプログラムを変更するのが大変そうである。
          0

            RZ-1の腕の軽量化(2)

             RZ-1の脚の直交化をしていてRS306MDのトルク不足で利用しなかった2個をどのように活用するか、再び軽量化の検討を始めました。RZ-1の上半身はすでに半分以上をRS306MDに置き変えており、上腕と肩のサーボのどちらかとなりますが、肩はすでに試作も済んでいるので、上腕をどのようにするかを検討してすることになります。
            試作部品
             従来のサーボを単純に置き換える場合の部品をいろいろ試作してみました(写真はその一部)。しかし、製作の折り曲げ精度が難しく、致命的なのは腕の長さが短くなり、RZ-1の体型バランスが悪くなり、従来のモーションを大幅に見直す必要がある。

            自由度+
             ロボゼポと同じように上腕の自由度を1つ増やす案も検討したが、自由度を増すとサーボが肩にぶつかり、RZ-1のように真上に腕を上げることが出来ない(ロボゼロも同様)。自由度を増しても動作範囲を制限されては意味がない。この場合も従来のモーションを大幅に見直す必要がある。
             サーボの向きを変えた組合せでは連結部品の強度が持たないことがわかりました。→ボツ

             従って、RZ-1全体の体型バランスから腕は現状のままにして、サーボを交換するのは、検討済みの肩部分のサーボにすることに決めた。しかし、すでに2回もRZ-1をバラバラに分解して組み立てており、さすがに今すぐにはやりたくない。それよりも脚の直交化によるモーションの修正を行なう必要があるので、暫くはそちらを優先して進めることにした。RZ-1に内蔵している3つのメモリICにはそれぞれ大きなプログラムが入っているので、その修正をしており、すでに2つは修正できたので残り1つというところです。

             RZ-1改造のための金属加工はこれで一応終了することにします。まあ、余り物で何か作るかもしれませんが。 
            0

              RZ-1用の直交軸の試作(5)

               ロール軸(RZ-1の横方向)のサーボを当初計画にRS306MDからHSR-8498HBに戻し、ヨー軸(RZ-1の回転方向)はRS-306MDを追加して、直交軸を実現させることにしました。再度、RZ-1を分解してバックボディーパネルから交換して、組上げることになりました。背側のサーボの補強はサーボが衝撃に対して外観は頑丈なので少しでも軽量にすることで省略しました。なお、取り付けたHSR-8489HBは流用なので、フラットなバックケースがなくそのままです。RZ-1の外観上はお尻が大きくなりましたがバックカバーで倒れても直接ぶつかることはありません。なお、サーボの接続はロール軸のサーボを従来と同じモーター4とモーター22に、ヨー側のサーボをモーター5とモーター23にしました。ヨー軸にRS306MDを採用したので、胴体内の空間に確保されており従来どおりのバッテリーがそのまま使用できます。

               今回は部品加工を丁寧にして上出来だと思っていましたが、組み立てて写真に撮るとやはり精度は今一なのがわかります。出来上がってゼロポイント調整している時は意外と精度よく出来たと思っていましたが、写真はありのままが写るので怖い。

                    出来立ての改造RZ-1の胸側            出来たての改造RZ-1の背側
              改造RZ-1の胸側改造RZ-1の背側

               改造したRZ-1の横側改造RZ-1の横側

               今回の改造ではロール軸のサーボを従来と同じHSR-8498HBにして、ヨー軸(RZ-1の回転方向)を新しいRS306MDを追加した形にしました。また、脚の長さが殆ど変っていないので、モーションが作成しやすくなる効果があります。
               腕にRS306MDを追加してハンドにしたのと同じように、脚に回転軸が新たに加わりましたが、基本動作にちょっと足を広げるという程度にすれば、基本的なモーショーンは従来どおり利用できることができます。従って、追加したサーボは固定して従来のモーションをそのまま動作させることができるので、思ったより簡単に修正することができます。今後のモーション作成も同じようなやり方で作成するつもりです。
              0

                RZ-1用の直交軸の試作(4)

                 いよいよ本体に組み込んでみることにしました。
                RZ-1バラバラ
                 この改造は大改造というかRZ-1をバラバラに分解することから始めなければなりません。元に戻せるかちょっと不安です。

                 深呼吸してから着手。

                RZ-1の後側
                 直交化したサーボがわかりやすくす、組上げたRZ-1の後姿の写真です。

                 必死に組上げてなんとか元通りに戻れたかも。でも...


                 新しいサーボの設定とセロポイントの再設定を行い、電源をONにした立ち姿からなんとか形に戻りました。モーションは修正中で未完成です。モーションの中に、モーター5とモーター23のデータが入っていたものがあり、いきなり想定外の動作をして脚が絡んであせる(汗)。
                 今回の分解と組立の作業の間に、音声認識モジュールとのケーブルがコネクタの根元で断線するというトラブルも発生しました。とりあえず半田付けも考えましたが、手持ちのコネクタピンで補修してなんとか動作を確認しました。この時にも接続ミスして音声認識モジュールを壊したかと思いましたが、大丈夫でした。

                外観上はあまり変えないで直交化ができたかも
                組上げたRZ-1

                 しかし、軽量化と直交化を組み込みましたが、大きな問題が発生しました。

                問題点
                〆までRZ-の1脇の下に装着していた増設のメモリICとディップSWが直交化のサーボとぶつかる。
                背側に取り付けたロール軸のRS306MDのトルクが不足しており、脚を広げることは出来ますが、脚を閉じることが出来ません。

                対策案
                〜設メモリICとディップSW
                メモリICとSWを装着
                 いろいろ検討しましたが恒久的な対策をとることにして、メモリICとディップSWの設置場所を探す。

                 メモリICは本体に格納してボディーカバーを外せば交換できるようにして、メモリIC切替のディップSWは肩に分けて取付けることにした。

                 ⇒なんとか解決

                ▲機璽椶離肇襯不足
                RS306MDのトルク不足は動作電圧が7.4Vでなく、RZ-1のバッテリーの6Vで動作させているのも大きな原因です。ロボゼロでは問題ないトルクなのでしょうが、ROBOZAKUの重量とバッテリ電圧ではトルク不足になります。

                ・何もせずバッテリを7.4Vまで上げる方法もあるが、バッテリーサイズの問題とHSR-8498HBの7.4V対応の未確認であり、リスクが大きい。メリットは本体の加工がない。デメリットは動作時間が短くなる。
                ・同じシリーズのRS303MRでトルクが大きいものに交換する方法もありますが、実際にテストしてみないとわからない。しかも高価なので簡単に導入できない。メリットは本体の加工がない。デメリットはトルク解消できるか未確認で不明。
                ・背側に取り付けたロール軸のサーボだけ古いHSR-8498HBに戻す。手持ちですぐにできるが、バックパネルの加工と部品を作り直さないといけない。メリットは手持ちサーボででき、モーションはほとんど変更しなくてよい。デメリットは重心が後ろ側に移動。

                以上のことから、今すぐできることからやることにした。トルクの大きなサーボが入手できた時にも対応できるようにしておく。従って、一度組上げたRZ-1ですが、再度、分解して新旧混合サーボで直交化を組上げることにした。
                0

                  RZ-1用の直交軸の試作(3)

                   脚の直交化を検討するためにRZ-1用のフロントボディーフレームを製作して、バックボディーフレームは古いものを流用して検討していました。そろそろ活況に入ってきたので、バックボディーフレームも必要となり製作することにしました。軽量化ための中抜き加工と折り曲げ加工が大変でした、なんとか製作することができました。問題は精度と、耐久性です。そのため、腰の部分のサーボには衝撃にも強くするため、簡単な補強板を付けました。
                  フロントボディーバックボディー
                         フロントボディー                バックボディー

                   下の写真は新しく完成した自作ボディーです。なお、後ろ側に取り付けたサーボには転倒衝撃等に耐えるように余りの材料で補強部品を追加しました。
                  新しいボディー
                   入手したRS306MDをテストボードに繋いでTTLコマンドにて初期設定を変更してからボディーフレームに取り付けます。
                  0

                    ROBO XERO(ロボゼロ)12号

                     インターネットで予約していた12号が配達されてきました。ROBOXERO(ロボゼロ)も3の倍数の号数になるとサーボが支給されてきますが、完成されたサーボにネジがついてくる号とネジが付いてこない号があります。今回はネジが付いてくる号なので、お得な感じです。特に、入手しづらい長いM1.7のネジは貴重ですが、M2mm×3mmのタッピングネジの方が在庫もなくなり貴重なネジです。
                    ROBOXERO12号

                    【12号のパーツ】
                    ・RS306MD-DC(150mm)
                    ・M1.7x25mmネジ×3
                    ・M2x3mmネジ×7

                     今回の購入で、RZ-1の脚の直交化ができるので、その動作がうまくいけば今までの全モーションの修正を行い、重量の軽量化と脚の直交化を活かした新しいモーションにでもチャレンジできればと考えています。直交化した以降のモーションは互換性を失うので、モーションプログラムのソース公開はしない方針です。
                    0


                      カレンダ

                        12345
                      6789101112
                      13141516171819
                      20212223242526
                      2728293031  
                      << August 2017 >>