2輪ロボット

2019/12/01

6月にAMAZONで二輪型倒立振子を買いました。

ELEGOO Tumbller Self-Blancing プログラミング二輪ロボットキット 子供向け Arduinoと互換できるSTEM玩具

倒立振子は、過去に何度かやりましたけどね。

買った理由は色々とあるのですが、

理由の一つが、

「がっしりとした2相エンコーダ付減速機DCモータ で制御実験してみたい」

ということなんですよ。

130系モータしか使ったことありませんから。

(^-^)/




2019/12/07

2輪ロボットの本体を3Dプリンタで自作中です。

191207_IP写真

モーターマウントがABSだとよわよわで制御の邪魔をしてくれそうですが、

とりあえずこのまま完成させようと思います。






2019/12/14

本体フレーム、カバー、モーターマウント、ホイール等の全部品をABSで3Dプリントしました。

191214_2WIP.jpg

なんとか二輪ロボットの形になりました。

よくあるシンプルな二輪ロボットです。

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輪ロボット

自作3Dプリンタ メモ

2020/03/12
300mmまで測定可能なノギスを購入

購入理由:
・リニアシャフトやフレームの平行度の測定
・ノズルとテーブルの隙間調整で使用するコピー用紙の厚さ測定

アマゾン 電子デジタルノギス
測定範囲:0−300mm、最小読み取り値:0.01mm

0.05-0.20mmのシンワ製シックスネスゲージを、試しに一通り測ったらドンピシャ。
期待以上の結果だった。
200312_ノギス300mm








2020/03/14
ステッピングモータの静音化に用いるモータドライバTMC2100(中国製)をeBayで購入。
5個で¥2,600(送料込)。 
安ーい!
200314_TMC2100_CHN.jpg
ちなみに、5年前にドイツからTMC2100(ドイツ製)を購入したときは、5個で¥10,000くらい(送料込)だった。
この価格なら何個焼けてもヘッチャラ。





2020/04/07
自作3Dプリンタの調子が良すぎて何も手を加える気がしない。

形状によってはUpPlus2以上にきれいに印刷できている。

ただし、印刷速度はUpPlus2の1.5倍から2倍かかる。

20200407_3DPRT.jpeg





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プリンタ

ロータリーエンコーダ HW-040

製作中のリモコンで数値設定に使おうと思い購入しました。

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年 新年の挨拶

2020年になりました。
皆様、あけましておめでとうございます!

今回は何もしないで新年が明けてしまいました。
勿体無かったなー、折角の連休なのに。

理由は、ですね。
2019年12月19日に国際ロボットへ行ったんですが、
その2日後にインフルエンザが発症しまして、
頭痛、めまい、吐き気、高熱で1週間ほど寝込んでました。

今日、やっと、やっと、本調子に戻れた感じです。

こんな感じでスタートした2020年ですが、
今年は、大好きなボストンダイナミクス社のHandleのような車輪の付いたロボットに挑戦したいと思っています。

本年も、どうぞよろしくお願いいたします。
(^-^)/


スポンサーリンク

2020.01.02 | コメント(0) | トラックバック(0) | 雑記

4脚ロボット 近所で出会った犬の歩容にチャレンジ

19/11/20

この歩容を作成して歩かせたのですが、

不安定で、よく転ぶため動画は撮影していません。

将来、動歩行の安定化制御が完成したときに改めて挑戦します。




19/11/13

この犬(ボストンテリア)の歩容が変わっていて、

トロット歩容のゆっくり歩きなのですが、

後ろ足の動作が半円の軌跡なんですよ。

こんな感じ↓

191113_WalkPtn.png

こんな歩容が自作4脚ロボットで可能なのか?


先ずはシミュレーションでチャレンジしてみます!


(^^)ノ





スポンサーリンク

2019.11.20 | コメント(0) | トラックバック(0) | 4足歩行ロボット

«  | ホーム |  »

最新記事

アマゾンのAudibleオーディオブックが聴き放題になる Jan 08, 2022
10年パスポートの更新 Jan 06, 2022
自作3Dプリンタ2号機 CoreXY方式  とりあえず印刷まで Jan 03, 2021
再挑戦! 2輪2脚ロボット Oct 01, 2020
自作の回路とソフトで一輪車を倒立させることはできるのか? Jun 16, 2020

スポンサーリンク

counter