2020/06/07
計測と制御が好きで、
2輪の倒立振子を何度か製作して楽しんだ経験があれば、
次のステップとして一輪車をやってみたくなりますよね。
やってみましたー。
製作過程について写真や記事を準備してあったのですが...。
残念ですが、非公開です。

ヽ( ´_`)丿
spec:Teensy3.2,MPU-6050,TB6612FNG,18650x2
2020/06/21
一輪車ロボットは、まだ続きがあります。
しばらく、一輪車ロボットへのモチベーションが低下していましたが、
少しずつですがモチベーションが上昇してきました。
実は、一輪車ロボットの最終型は10年くらい前からイメージがあります。
ただ、順を追って着実に最終型の完成へと駒を進めるために、
基本的な、もう一つの、ある方法で、自分の技術を試すために、
一輪車ロボット試作品の完成を目指します。
主要部品は、今までと同様に以下を使用する予定です。
Teensy3.2,MPU-6050,TB6612FNG,18650x2
\(^o^)/
2020/06/30
もう一つの方法の基礎的な部分で苦戦中です。
試作と実験の繰り返しで煮詰まってきました。
この方法は、やってる人が何人もいるので簡単にできると思っていたんですけどね。
まあ、できるまで、やり続けるので、いつかは完成するはず。
この方法が完成しないと、その先へ進めないのでさっさと完成させたい。
(」*´∇`)」
2020/07/05
最近のこと。
設計→製作→実験→失敗、設計→製作→実験→失敗、設計→製作→実験→失敗。
できるのはゴミばかり!
(;д;)
やっと理解した。
失敗の原因は、経験不足と知識不足。
明日から、
効率よく実験をやって短期間に沢山の経験を積むために、
完成がはっきりとイメージできるまで、
仮想空間で修行します。
\( ‘ω’)/
2020.06.16
| コメント(0) | トラックバック(0) | 一輪車ロボット
2019/12/01
6月にAMAZONで二輪型倒立振子を買いました。
ELEGOO Tumbller Self-Blancing プログラミング二輪ロボットキット 子供向け Arduinoと互換できるSTEM玩具
倒立振子は、過去に何度かやりましたけどね。
買った理由は色々とあるのですが、
理由の一つが、
「がっしりとした2相エンコーダ付減速機DCモータ で制御実験してみたい」
ということなんですよ。
130系モータしか使ったことありませんから。
(^-^)/
2019/12/07
2輪ロボットの本体を3Dプリンタで自作中です。

モーターマウントがABSだとよわよわで制御の邪魔をしてくれそうですが、
とりあえずこのまま完成させようと思います。
2019/12/14
本体フレーム、カバー、モーターマウント、ホイール等の全部品をABSで3Dプリントしました。

なんとか二輪ロボットの形になりました。
よくあるシンプルな二輪ロボットです。
2輪ロボットについて学び始めるには、このシンプルさが私には丁度良いかと思っています。
〔電気部品〕
マイコン:Teensy3.2
IMU:MPU-6050
Bluetooth:HC-06
モータドライバ:TB6612FNG
DCモータ:GA37-520 12V 360RPM シャフト径6mm ギヤ比1:30
2019/12/14
4脚ロボットと同様に2輪ロボットもモータOFFの状態から起き上がれるようにプログラムを工夫してみました。
モータOFFの状態から起き上がらせるにはどうしたらよいのかを実験で確かめてみました。
その結果わかったのは、
・バランスPD制御のみで起き上がらせ、起きたと判断したら速度制御を加えて安定させる。
・制御の切り替え判定、切り替えタイミングをシーケンス制御で行なう。
その結果がこの動画です。
トリッキーな起き上がり方で、まぐれで立ちのように見えますが、ちゃんと再現性があります。
実験で成功した後、動画撮影で4、5回やりましたが失敗は1度もありませんでした。
2019/12/14
2輪ロボットに、一輪車の基本動作のアイドリングをやらせてみました。
※一輪車のアイドリングは、頭を軸に車輪を前後に振って停止する動作です。
少しずつ後方にズレていますが、気にせず次のステップへ進みたいと思います。
2020/03/08
年明けの1月2日に、今年はBoston DynamicsのHandleみたいなロボットが作りたいと書いてから2ヶ月がた経ちましたね。
1月と2月は自作3Dプリンタに興味が集中していて、ロボットのことを考えることはほとんど無かったんですが・・・。
しかし、遂に動き出しましたよ。
12月に製作した2輪ロボットに脚を付けてみました。
脚はつけたんですが、電気配線がまだなのでメカロックして格好だけとなってます。
脚をつけた分だけ重心が高くなったので、倒立の確認と外乱を与えてロバスト性を確認してみました。
いやこれが、予想以上に良い感じでビックリでした。
(^-^)/
2020/03/14
脚サーボ6個の配線をやりました。
とりあえず全サーボ の原点復帰動作をプログラミングして立ち姿勢で動作テストしました。
今回の動作テストの目的は、
・この重心の高さで立てるのか?
・移動も可能なのか?
・サーボ6個分のバックラッシュの悪影響はどれほどか?
主に、この3点です。
いやいや、これもあっさり合格点。
このあっさり合格は、ある意味良くないですね。
w( ̄o ̄)w
2020/03/21
スクワットをやってみる。
2輪ロボットに脚が着いて、まず確認してみたいこと。
足のホイール回転中心から重心までの距離が動的に変化することで何が起きるのか?
以下のようなことが関係してくると思うけど。
I: 慣性モーメント(moment of Inertia)
M: 質量(mass)
r: 回転半径(radius)
a: 角加速度(angular acceleration)
T: トルク(torque)
慣性モーメントI = Mr^2
トルクT = Ia
脚の長さが変わるということは、回転半径が変わり慣性モーメントが変わる。
それに前後移動や転倒時の角加速度が足モータの負荷トルクになるね。
これだけなら計算で済むことだけど。
これに、
・脚サーボのガタ
・DCモータのギヤのガタ
・脚の変形によるXZ方向の重心のブレ
・タイヤと床との摩擦
・機械損失
・コネクタの電気的な接触不良
考えすぎるとキリがない。
とりあえずフィードバックゲインは固定でスクワットをやらせてみました。
転倒もなく、予想より良い結果です。
しかし、動きに再現性がない。
ここから先の開発がちょっと心配。
(´・_・`)
2020/03/28
ロボットを、ちょっと跳ねさせてみた。
この動作は、ゲームやシミュレーションでよく使われる、ボールの跳ね返りの計算を使用しました。
上下方向の加速度は、加速度a=力F/質量mの力Fをロボットの挙動を見ながら調整。
反発係数は、減衰させないので1としました。
映像がいつもと違う?レンズが汚れていたようです。
(T_T)
・・・
2020/04/18
2輪脚ロボット 左足首のハンチングの原因調査と対策。
症状:
ロボットの足を縮めるて座った姿勢にすると左足首サーボがプルプルとハンチング。
立ち姿勢にするとハンチングは収まる。
原因調査:
左足首サーボ(KRS2552)のパラメータ、ストレッチ60を30に設定変更すると収まる。
ストレッチを60から58、56、54と下げていくと30でハンチングが治まった。
しかし、ストレッチ30では動作が遅くて、このロボットには使えない。
ハンチングの原因は、サーボの寿命と判断し調査終了。
対策:
正常なサーボ に交換。
結果:
OK
以上
2020.05.03
| コメント(0) | トラックバック(0) | 2輪ロボット
2020/03/12
300mmまで測定可能なノギスを購入
購入理由:
・リニアシャフトやフレームの平行度の測定
・ノズルとテーブルの隙間調整で使用するコピー用紙の厚さ測定
アマゾン 電子デジタルノギス
測定範囲:0−300mm、最小読み取り値:0.01mm
0.05-0.20mmのシンワ製シックスネスゲージを、試しに一通り測ったらドンピシャ。
期待以上の結果だった。

2020/03/14
ステッピングモータの静音化に用いるモータドライバTMC2100(中国製)をeBayで購入。
5個で¥2,600(送料込)。
安ーい!

ちなみに、5年前にドイツからTMC2100(ドイツ製)を購入したときは、5個で¥10,000くらい(送料込)だった。
この価格なら何個焼けてもヘッチャラ。
2020/04/07
自作3Dプリンタの調子が良すぎて何も手を加える気がしない。
形状によってはUpPlus2以上にきれいに印刷できている。
ただし、印刷速度はUpPlus2の1.5倍から2倍かかる。

2020/12/26
自作3Dプリンタ2号機 CoreXY方式の設計開始
主な仕様:
・装置サイズ400x400x400mm
・印刷サイズ200x200x100mm
・ベッドは両持ち。
・2020アルミフレーム (剛性不足になる?)
・ダイレクト式エクストルーダ(ボーデン式への交換も想定し設計する)
・電源電圧DC12V(印刷評価後にDC24Vに変更することも想定し設計する)
・排気装置の装備(現在Up Plusのエンクロージャで使用中のシロッコファンでDC12VかDC24Vのもの)
・ファームウェア: Marlin
・PCソフト: Repetier-Host
第1ステップの目標:
・とりあえず、デザインや精度はどうでいいから印刷できるものを完成させる。
・仕事の方が繁忙期なので年末年始の連休中に作り上げる。
・PLA印刷のみ。
2020.04.07
| コメント(0) | トラックバック(0) | 3Dプリンタ
製作中のリモコンで数値設定に使おうと思い購入しました。
Amazon.com ロータリーエンコーダ HW-040
簡単にプログラム作ってカウントさせてみたところ次のような問題が発生。
・A相の立上り割込みでカウントさせたら、1クリックで3、4カウントしてしまう。
・割り込みを使用せずカウントさせたら、2クリックで1カウントになる。
なんだこれ?思いのほか手こずりました。
最終的にできた、割込みを使わない1クリックで1カウントのプログラムがこれです。
#define ENC_A 2 // CLK pin --- Arduino nano D2
#define ENC_B 3 // DT pin --- Arduino nano D3
void setup(){
Serial.begin(115200);
pinMode(ENC_A,INPUT);
pinMode(ENC_B,INPUT);
}
void loop(){
static int count = 0;
static bool LastENC_A = digitalRead(ENC_A);
bool NowENC_A = digitalRead(ENC_A);
if(NowENC_A != LastENC_A){
if(NowENC_A){
if(digitalRead(ENC_B))
count --;
else
count ++;
}else{
if(digitalRead(ENC_B))
count ++;
else
count --;
}
Serial.println(count);
}
LastENC_A = NowENC_A;
delay(1);
}
A相の立上りと立ち下がりのときに、B相の状態をみてカウントさせています。
では!(^-^)/
2020.01.20
| コメント(0) | トラックバック(0) | Arduino
2020年になりました。
皆様、あけましておめでとうございます!
今回は何もしないで新年が明けてしまいました。
勿体無かったなー、折角の連休なのに。
理由は、ですね。
2019年12月19日に国際ロボットへ行ったんですが、
その2日後にインフルエンザが発症しまして、
頭痛、めまい、吐き気、高熱で1週間ほど寝込んでました。
今日、やっと、やっと、本調子に戻れた感じです。
こんな感じでスタートした2020年ですが、
今年は、大好きなボストンダイナミクス社のHandleのような車輪の付いたロボットに挑戦したいと思っています。
本年も、どうぞよろしくお願いいたします。
(^-^)/
2020.01.02
| コメント(0) | トラックバック(0) | 雑記
« | ホーム |
»