HRF−A05 Part2
本体
|
材質 | アルミ(A5052)、ABS、POM |
メイン制御基板 | KONDO RCB−3 | |
関節数 | 24 | |
使用モーター | KRS−4014HV | |
第13回ROBO−ONEも終わってから、もう、1週間たつんですね。
今回は、なんだか身の回り、色々とあったのでエントリーしませんでした。
A05のお披露目は、次回の大会になってしまいました。
ということで、いつもの事ですが、Part3に移行します。
昨日は、ロボット王国でPICkit2を購入、秋月で小物を購入しました。
なんだかよく分からないまま、インストール完了。
いつもは、PICの書き込みは秋月のPICプログラマーを使用していましたが、今回初めてICSPで書き込んでみました。
秋月で購入したPIC16F88 CPUボードモジュールキット Ver.2に直接配線して書き込み。最初うまくいかなくて調べてみたら、配線を間違えていました。PICが発熱していて壊したかとおもいつつ配線を直して再度書き込み。
ライト、ベリファイで問題なさそうです。PICも壊れていないよう。
このPIC16F88は、AD変換とシリアルが使用できるので、感圧センサーの入力に使用する予定です。
私が持っているKRS−4014HVは、初期のものから強化ギヤになったものまで混在しています。
それが原因かはまだ分かりませんが、KCB−1でうまくシリアルになってくれないみたい。なので、強化ギヤのサーボで組み立てられるところを作業しました。と言っても、6個しかありません。そのうち2個は膝に使用しているので4個が使えます。
4個中2個は、前回のROBO−ONEで手の部分にしようしていたのですが、残りの2個がどこに付けたか分からなくなっていたので探してみたら、足首に使っていました。取り外してしまいました。
サーボが4個揃ったところで、この前作った部品を使用して胴体部分を組み立てました。スイッチやセンサーの配線ルート、取り付け位置もまだ確定していないので仮です。
KCB−1のプログラムは、まだまだお試し中の状態で、色々といじくっています。で、今回、4個目のサーボを付けて動作させていると、4個目だけが動いたり動かなかったり・・・。コマンド送信部分でウェイトを少し入れてみて動くようになりました。ICS2.0では、サーボにコマンドを送信するとサーボからレスポンスが帰ってくるのですが送受信でかちあってるのかな。この辺は、まだ実験中なのでこれでよいのですがタイミングを調べる必要がありそうです。
こんな部品を作っていました。なんだかんだで、なかなか進んでいませんね。
今回も手持ちの材料で作成したので、色が・・・
本当は、丸い部品も黒にしようと思っていたのですが、1個削ってみてどうも寸法が合わなく、何が原因か調べるので手こずっていました。なので、黒のABSがなくなってしまいナチュラルになってしまいました。
結局、寸法が合わなかったのは、Gコードを作るソフト側でポケットのGコードを作った時に切削ピッチがうまくいっていなかったようです。(バグ???)
てなことで、今回の部品は、丸いのが厚さ5mmのナチュラル色のABSで、黒いほのが厚さ6.6mmくらいのPOMから4.5mmまで削っています。
丸い部品の出っ張ったところが、POMのくぼみに入るようになっています。
ちょっとややこしい形になっていますが、4枚目の写真のように、配線を通すことが出来ます。
またまた、センサー追加です。
今度は、以前、秋月で購入していた3軸加速度センサー(KXM52−1050)を付けました。
このセンサーは、標準3.3Vとなっていますが、電源電圧が2.7V〜5.5Vまで対応しているので、KCB−1の端子からそのまま電源を供給しました。
X,Y、Z軸の3軸なので、KCB−1のAD3、AD4、AD5に接続。
昨日載せたプログラムで、センサー入力を確認して、OKそうです。
ICS2Configで、シリアルの設定をするとエラーになるサーボをつなぐと、やっぱりうまく動作してくれない。
で、ICS2.0コマンドリファレンスを見ていると、7ページの下のところに書いてあるフラグの詳細の表の横の※3に、「PWM禁止設定は、ファームウェアアップデート後に有効です。」となっている。以前ダウンロードしたSerialManagerV1.0でもこのPWM禁止の設定がありますが、うまくいっているようにも見えます。
確かに、私が持っているKRS−4014HVは、初期のものと強化軸に変わったものと混在している(古いほうが多い)ので、これが原因なのかな。メーカーからは正式にファームのバージョンアップについてはアナウンスがなかったような・・・。この辺は、近いうちにメーカーに問い合わせてみます。
ということで、シリアル設定がうまくいったサーボを使って実験です。
KCB−1を搭載した新型のボディーで、基板の取り付け位置が深いところになったため、プログラムライトのスイッチとリセットスイッチを取る付けて、ついでにKRG−3をAD1とAD2に接続。
簡単なプログラムを作って動作させてみました。ほとんど、サンプルプログラムに毛が生えたようなものですが・・・。
プログラムは、起動してから初期化後にLED緑が点灯してサーボが動作、少ししてからサーボが動作、その後のWhileのところで、サーボの現在位置にジャイロの値を加算しています。
一応、今回テスト用に作成したプログラムを載せますが、フォント設定とタブの設定がうまくいかなかったので見づらいですがご了承ください。
#include <ad.h>
#include <com.h>
#include <sio.h>
#include <led.h>
void main(void)
{
int i;
int srv0_pos;
int srv1_pos;
cpu_init (); // CPU初期化
com_open(BR19200, 8, 1, PARITY_EVEN); // COMをオープン
sio1_init (); // SIO1初期化
ad_repeat_sweep0(); // AD初期化
ad_start(); // AD開始
ledgrn_on(); // LED緑ON
wait(2000000);
for(i=0; i<2; i++) {
sio1_set_speed (i, 127); // スピード:127
wait(1000);
sio1_set_stretch (i, 60); // ストレッチ:60
wait(1000);
}
// 動作1
srv0_pos = 4850;
srv1_pos = 9800;
sio1_set_pos(0, srv0_pos);
sio1_set_pos(1, srv1_pos);
wait (2000000);
// 動作2
srv0_pos = 4000;
srv1_pos = 8000;
sio1_set_pos(0, srv0_pos);
sio1_set_pos(1, srv1_pos);
// AD値により動作
while(1) {
printf("%04d %04d %04d %04d %04d %04d %04d\n", ad1, ad2, ad3, ad4, ad5, ad6, ad7);
sio1_set_pos(0, srv0_pos+ad1);
sio1_set_pos(1, srv1_pos+ad2);
wait(1000);
}
}
KCB−1を搭載した新型のボディー作成中です。
手持ちの材料から削りだしたので色がナチュラルと黒が混在しています。やっぱり接着は難しいです。
KCB−1のプログラムですが、サーボがうまくシリアルモードにならないところは、sioのイニシャライズの後に、ちょっと長めにウエイトを入れてみて動作させて何とか対応できそうです。これから、まだ色々と試してみないと・・・。
KCB−1ですが、かなり手こずっています。
お決まりのサンプルで、Hello World!をCOMポートに出力するプログラムは問題なく動作。LEDもOK。
IOの入出力とADはテストしていません。
サーボのID設定用に、ICS2Configと言うソフトが入っているのですが、このソフトでは、サーボのIDとPWM、シリアルの設定が出来るようになっています。
で、10個のサーボを設定してみましたが、サーボのIDは設定できるのですが、シリアル設定がうまくいかないサーボが7個。設定失敗:15のメッセージが出る。ちなみに、このサーボをPWM設定すると、設定失敗:7のメッセージが出る。
どうにもならないので、このまま続けることにして、サーボを動作させるSIO_MULTIというサンプルを動かしてみたが、動いたり動かなかったりしています。
どうも、起動時にサーボがシリアルモードにならないようです。サーボの電源を入れてから一定時間、信号ラインに5Vがかかっているとシリアルモードになるはずなのですが、KCB−1ではサーボの電源のOFF、ONが出来ないです。説明書に書いてあるSW端子にジャンパーをはずしてここにSWを付けることで電源のOFF、ONが出来るように書いてありますが、サーボの電源は切れないです。
このSIO_MULTIというサンプルでは、電源が入ってすぐにプログラムが動作して、サーボにコマンドを送信するので、サーボがシリアルモードに入らないのではないかなと思います。
もう少し、対応策を考えて見ます。
こんなことになっていたので、本題のモーション再生が出来るプログラム作成はまだです。実際、どのような処理にしたら良いか良く分かっていません。これから、試行錯誤で作ることになります。
KONDOから発売されたKCB−1をゲットしました。
浅草ギ研のA33FとKONDOのKCB−1のどちらかを試してみようと思っていたのですが、価格的にKCB−1を購入。
小さいです。プログラムは自分で作らないと動かせないですね。
私の作っているHRFシリーズは、最初の頃は姫路のHSWB−01、HSWB−02とを使い、上位CPUはL−Card+とかN−Cardの組み込みLINUXを使用していたのですが、電源周りで、モーター電源とCPU電源を別々にしないと、モーターに電気が食われた時にCPUがリセットしてしまうのと、Linuxの起動が遅かったので、RCB−3HVに変えていました。
KCB−1でちょっとたくらんでいることがあるのですが、やってみないとどうなるか分からないですね。
A05ですが、膝を変更したことで、前のモーションを修正していますが、もともと、足裏にはゴムを貼り付けてグリップ足で作っていたモーションで、まだまだ不安定なのを、今のA05に修正なので、なかなかうまくいかないです。
また、肩の位置がちょっと下すぎるのを変更したいので、上半身の設計をしている最中です。
膝ギヤのバックラッシュ対策の部品を一部交換と、作業が後になってしまったアルミブロックの加工も終了。
足裏は、前に書いた時は「差し込んだところ」と書きましたが、ここを両面テープで固定。実際に組み立てると、足裏のABSとその上のアルミ板との間を1mm空けてあります。
浅草ギ研の感圧センサーの中は、北陸電気工業(株)の微小フォースセンサを使っているようですが、北陸電気工業(株)のHPにある応用例として、タッチパネルへの応用があります。こんな所に使う方法があるんですね。で、でA05の足裏もこれと同じですね。マノイセンサーボードに接続して、動作確認だけはしました。
色々と部品が出来たので、右脚の組み立てと左脚の組み直ししました。手のほうですが、取り外したところに、サーボケースを取り付けています。
配線カバーやギヤカバーは出来ていませんが、これでモーション作成は出来るようになりました。
これとは別で、第13回ROBO−ONEで、皆さんはモーションの起動をどのような方法で考えているのだろう。と言うのも、第13回から大会の進め方が変わっていて、参加資格審査(スロープ歩行)、予選デモンストレーション、規格審査の順で行われます。
で、プログラムのローディングは禁止となっています。参加資格審査と予選デモンストレーションとのモーション切り替えをどうしようか考えています。今考えている方法は、2種類で、RCB−3HVで行う方法とマノイセンサーボードを使用する方法を考えています。
今日は、ROBOZAKのNo.53の発売日。で、この号にA05が載っています。
第12回ROBO−ONEの時の状態です。
今は、脚ももう少しで新しくなり、かにのような手はもうすでに取り外しています。
昨日は、プロクソンCNCのスピンドルモーター交換後のABS切削で問題ないようなので、今日は、アルミ板を切削しました。
スピンドルモーターの最高回転数が、前のモーターよりも遅い感じです。もう少し早くしたい所ですが、どうにか削れました。
で、足裏を仮組。なんだかいい感じ。
この、浅草ギ研の感圧センサーですが、まだ必要数揃っていないので、今はここまでです。
今回は、実験とデータ取りを考えていますが、実際問題、RCB−3では入力する端子が足りないです。なので、実験は他のCPUで何か作ることで考えています。
実際にA05の動作の条件としてこのセンサーの値を使用する事を考えると、KONDOの次期コントローラーのKCB−1か浅草ギ研の次期コントローラーのA33Fにするか迷っています。
アルミブロックを切削中に、急に削っている音が大きくなったので見てみると、変なところを削っていた。どうも脱調したようです。
で、再度削ろうとしたら、スピンドルの音がおかしい。確認してみると、ブラシレスモーターの外側ケースが外れていてうまく直らない状況だったため、今作っている自作CNCに取り付けたブラシレスモーターと交換。
音が静かなようです。トルクとか回転数とかが今までと変わるか分からないので、ABSの加工をしていました。
まずは、足裏を作成。写真のように、また今回も実験できるようにしてます。浅草ギ研の感圧センサーを取り付けられるようにしています。このセンサーの説明で、取り付けの穴を直接ねじで固定すると、センサーのパターンに接触する場合があるようです。
樹脂の直径4mm、穴径2mmのものがあれば、輪切りにすればいいのですが、手持ちがないので2枚目の写真のような部品を作成。
実際に、A05に取り付けるには、アルミ板からもう1つ部品を作らないといけません。まあ、モーターのテストを兼ねて削ろうと思います。
右脚の進捗状況は、脚側板の切削とローハイトホーン、フリーホーン、そしてギヤの仮組まで進んでいます。
後は、アルミブロックの切削ですが、これ、時間がかかるのでちょっと気合がいりますね。
もう少しで、両脚ともに実装でき、モーション作成が出来るようになるので、早いとこ作業しなくては・・・
右脚用のギヤ加工終了。この前から、刃を折ったり、加工中にギヤがずれてしまったりで、なかなか進んでいませんでしたが、どうにか完成。
加工は、写真のようにABS板にギヤが入る穴(ポケット加工)をあけて、ネジで固定。両サイドにあけた溝は、加工終了後にギヤを取り外すためにあけています。
右脚も新タイプにするために、ギヤのバックラッシュ対策でつけたピロボールの手持ちがなかったので買ってきました。
探しても同じタイプのものがなかったので、少し形状の違う物を購入しました。
で、帰ってきてM3のビスを付けようとしたら、入っていかない。よく見ると、逆ネジになっていました。幸い、ターンバックルも同時に購入していたのでこれを使うことにします。取り付け方を少し変えないと・・・
これで、周辺部品がそろったので、ギヤの加工、脚側板の切削、アルミブロックの切削を一気にやってしまおうと思います。作業は明日以降です。
A05の新タイプの脚ですが、ギヤに下部分のバックラッシュ対策は、まあいい感じです。ただ、今度はサーボ自体のバックラッシュが気になってきました。と言うのも、ギヤ化した事でバックラッシュも2倍になってしまいます。
そこで、以前購入してあったスプリングを取り付けました。これでましになったようです。
右側の脚も早急に作ろうと思います。
軽量化関係では、ハンド部分は取り外そうと思っています。これ、前回のROBO−ONEでのキャッチボール用に急遽作成したのですが、次回は必要ないでしょう。
昨日は、tom-iが第4回わんだほーろぼっとか〜にばるに参加のため、一緒に行ってきました。
どぎもをぬかれた機体が1体。これを見ると、私のA05の膝部分のギヤ構造はかわいいものです。
昨日、今日と実作業はしていませんが、A05の膝のギヤの保護と、ギヤにものを巻き込まないようにするのが目的で、カバーなんかを考えています。
昨年、ガンダム00の1/60のエクシアを作ったのですが、アニメを見ていて、このエクシアの膝が気になっていて、プラモが発売されてすぐに購入して作成していました。参考になりそうです。
足踏みモーションで動作確認、新しい脚の膝が、やっぱり柔らかい感じはありますが、なんとかなりそうです。
前回のROBO−ONE用に作成したモーションをちまちま修正しながら確認しています。
今後、足裏は作り直すのと、上半身サーボ配置の変更とABSボックス構造の見直し(結構重くなってるみたいなので)、次の大会には必要ないであろうハンド部分の取り外しなど、もう少し改良したいと考えています。
ギヤを引き寄せる構造ですが、昨日追加したところは、実際に動かしてみると横に飛び出た状態だったので手の部分があたったり、こけた時にぶつけるなど、あまり良くないので少し改良しました。
左脚をA05に取り付け、動作確認しました。
まず、トリム位置の調整。この時点での感触としては、やはり旧脚の膝より新脚の方がやわらかい感じです。
RCB−3は、バージョンアップして戻ってきたままで、モーションは消えた状態だったので前回のROBO−ONEの時の前後のモーションだけダウンロードして動作確認です。ただ、前回のROBO−ONEで重量が3kgを越えていたため足裏を小さく切り落としているので当然ですが、このままではこけてしまいます。雰囲気、大丈夫感じなので、右側も作成して交換予定です。
サーボの設定ですが、他のサーボのストレッチはディフォルトのままで、ストレッチ1が60、ストレッチ2が30、ストレッチ3が15になっていますが、今回交換した左膝は柔らかい感じなので2倍のストレッチ1が120、ストレッチ2が60、ストレッチ3が30にしてみました。まあ、この値は今後動かしてみて決めようと思います。
もう1つ気になるところは、出力軸側ギヤのねじ穴は、ギヤのかみ合わせを調整しながら締め付けられるように長穴にしてあるのですが、この部分が負荷によりずれなければいいなと思います。
やっぱり、ギヤのところでバックラッシュが出てしまいました。
アルミで作成したブロックは、ギヤの隙間を調整できるようにサーボに固定する部分の穴は長丸の穴にしてあったのですが、うまくない状況です。
実際の組み付けで、儀や同士の隙間がなくなるように押し当ててブロックを固定するのですが、実際に動作させていると、負荷がかかった場合にブロックがずれてしまいます。
今回使用したギヤは、旧脚に使用したギヤよりも直径が小さい為、ギヤの先にかなりの力が加わっているようです。アルミのブロックの固定もM2のネジ2本なのでこの部分がずれてしまいます。
手持ちのRCカー用部品などで、ギヤの軸を引き寄せる構造を追加しました。(暫定)
これで、やっと動作確認が出来ます。
ギヤの加工終了。
で、サーボ裏面に取り付けるブロックはこの前作った右足用のものを取り付けました。このまま行くことにします。また、脚の外側と内側の側板をジョイントする部品は、寸法を同じにしてあったのでA05のものをはずして取り付けました。
写真を見て分かると思いますが、かなりスリム足になっています。
新しい脚は、配線カバーやギヤカバーを取り付ける予定ですが、現状のままで、重量の比較を行いました。旧脚の重量は268g、新脚の重量は、156g。その差、112g。両足だと、224gも軽量化できます。
これから、右足は旧のまま、左足を今回作成したものに交換して屈伸などなど試してみます。
昨日は、プロクソンCNCのX軸が脱調するのでメンテナンスのため、切削作業は出来ませんでした。
X軸を調整して、前より動きがスムーズになったので、早速部品切削作業をしました。
今日は、脚側板を片足分、切削しました。まあまあの出来です。
写真左は、今出来ている部品で組み立てたところです。あとは、サーボ裏面に取り付けるブロックの削りだしと、サーボ出力側に取り付けるギヤの加工、外側と内側の側板をジョイントする部品の作成をすれば、一応完成。
今回、なぜこの様な取り付け方になったかと言うと、現状のA05の太もも、膝、脛をそのまま取り替えられるようにした為で、ホーンの高さを同じにする為です。
もう少しで、片足を交換して実験できます。
昨日作った部品を取り付けてみました。
昨日取り付けた写真は、実は、サーボの裏に付けた部品は反対の脚用で、実際にはサーボ裏用の部品を作ることになります。
で、M3のタップをかけようとしたら、下穴の直径が小さかったようで、タップがうまく入らず、M3のドリルで穴あけし、ナットで固定しました。時間があれば作り直そうと思います。
サーボの出力軸側に取り付けアルミフリーホーンをこの部品に取り付けます。ホーンから上が空いているのは、ここに脚の側板とギヤを入れるためのスペースです。今回は、教育歯車のS50B 42A-0208を使用します。追加加工が必要です。
サーボ裏側用に作成する部品は、ギヤを付けないのでもう少し低いものになります。
昨日作った図面から、切削用のGコードを作成して、削りました。
XYテーブルとZ軸レールのガタとかで、斜めや円弧はがたがたしてますが、大丈夫でしょう。
10mm厚のA5052から削りだしました。久々の島加工でしたがどうにか削れました。テーブルのガタで島の部分(円柱)のところは円になっていないです。
下の2枚の写真は、取り付けイメージです。まだ、部品を加工しないと組み立てが出来ないので仮止めです。
年末年始にプロクソンCNCの調整確認を兼ねて、CNC部品を削っていましたが、まあ何とか良さそうなので、今日はロボット部品を作成する準備として図面を書いていました。
膝を改良した脚を試してみようと思っています。うまくいかなかったら、現状の脚の軽量化をもう少し行う予定。
明日にでも、削ってみようかな・・・
HitecCup、その他もろもろ、色々あってA05の方は停滞していましたが、第13回ROBO−ONEに向けての改良しなくては・・・
軽量化については、現在、膝のサーボを1つにして2軸出す形に変更しようか考え中です。A01の頃にやったのと同じになってしまいます。
だた、当時やっていたサーボは、トルクが8.5kgで、今のA05の軸間よりかなり長いものだったので、4014HVで現在のA05の軸間だと大丈夫かな。
とりあえず、片足の膝部分と脚の側板部品を作り直して屈伸でもさせて試してみようと思います。
今、部品の図面を書いているのですが、切削用に何分割かにしないと出来ない感じ・・・。
RCB−3は、先週バージョンアップ完了して戻ってきていたのですが、A05は配線処理を手直しする為にばらしていました。
どんな手直しかというと、それぞれの脚サーボ電源の共通化です。上半身も同様に手直ししました。
第12回ROBO−ONE直後の上半身の重量が1364g、下半身の重量が1696gの合計3060gだったのが、手直し後の上半身重量が1352g、下半身重量が1654gの合計3006g。
下半身が軽くなったのは、配線が少なくなったのもありますが、配線本数を減らしたことで、下半身から上半身までのところで10Φのステンレスばねを使っていたところを7Φのものに取り替えました。これが結構きいています。したの写真は、左足が完了した時点で撮影しましたが、現在は両方ともに完了しています。
ひざに付けているギヤの肉抜きとか、上半身の胴体部分の肉抜きとか、まだ細かいところで軽量化は出来そうです。
昨日は、訳ありで上半身と下半身を元に戻していたA05からRCB−3を取り外し、ROBO SPOTに持っていきました。
バージョンアップの為です。戻ってくるのは来週かな???。それまでは動かせません。
A05の軽量化でも考えないといけないですが、黒NOVAのほうでHitecCupにエントリーしてしまいました。
ロボット名はいい加減適当でありきたりですが、ブレイカー ジュニアにしてしまいました。
この前、上半身と下半身を取り外したのですが、訳ありでまた元に戻しました。
それなんで、RCB−3のV1.1へのバージョンアップにはまだ出していません。でも、V1.1に不具合があったようでV1.1aになるみたいですね。今回は急がなくて正解だったようです。
MANIOのセンサーボードですが、センサーの接続端子が2mmピッチのものが必要です。
とりあえず、変換ケーブルを作りました。左の写真で、手前がコネクタですが、左のは2.54mmピッチのコネクタで右が2mmピッチのものです。千石で購入していたものを使いました。
RCB−3をバージョンアップするまで実験はお預けです。来週にでも送ろうかな・・・。