土佐市市議の中の民意不在の連中

どうやら、土佐市市議の中に、民意不在の連中がいるようだ!!

絆みらい土佐 の掲載する 山脇義英副議長に対する問責決議案 に違和感!!の続きです。

素朴な疑問だが、今回、問題に挙がっている、土佐市北原の産廃焼却処理施設は、土佐市民になにか利益をもたらすのか?
土佐市民への経済的恩恵や、社会福祉的恩恵、健康促進に寄与するのか?
多分、土佐市民側から見れば、利益は、何も得られない。
逆に、焼却による、CO2垂れ流し、運用を間違えれば、ダイオキシンの放出の危険性もある。逆に、土佐市民にとって、不利益でしかない。

土佐市の市会議員の選挙で選ばれた全議員は、有権者の代表であり、代弁者であるべきだろう。

しかるに、該産廃焼却処理施設に関して、土佐市市議会では、容認・推進派議員と反対派を積極的に支援する一部の議員が、あるそうだ。

容認・推進派議員 は、一体どの方角を向いているのか?
該施設が、土佐市民にとって、一切の利益ももたらさず、逆に不利益しかもたらさない事は、明白ではないか。

山脇議員の問責決議案のpdf をわざわざ公開している会派が、擁護・推進派に属するのは明らかか?
絆みらい土佐

推進派の自民党系市議や県議からは「県や国が認めた計画にそこまで強く反対し続けるのは、あなた自身や地域のためにならない」と反対運動の急先鋒である一部の議員に述べられたみたいだが、
そんな言を言い放った、者に逆に言いたい、反対しないなら、「あなた自身や地域のためにならない」と。
そっくり自分の吐いたつばが、自分の顔に落ちてくると。

言わせてもらえれば、反対派の活動こそ、日本全国に、土佐市を自慢できる唯一の事だ!!


世界で一つだけの、あなただけの革製品を、一つ一つオーダーメイドで作れる。
(広告)

絆みらい土佐 の掲載する 山脇義英副議長に対する問責決議案 に違和感!!

山脇義英副議長に対する問責決議案 上記、ページ を見たけど、一方的に自分たちの主張を掲載しいるだけなので、
少し、違和感を感じた!!

どうせ掲載するのだったら、それに対する市民の意見をつたえる書き込みリンクも、必要ではないのか?
せめて e-mail アドレス位あれば、ねーー
反対意見もあるだろうに。
このページ の公開は、見せしめみたいだよね。市議会に提出だけでその役目は終えていると思うが!!
名誉毀損にならないのかな?
法律上は、公然と他人の名誉を毀損... だから、事実でも構成要件に合致するけど、裁判所の判断は、事実だったら、大体、不問にしているか...残念!!
断っておくが、おんちゃんは、地方政治には、ごく普通程度の関心しか無い!!

ただし、土佐市の南風(まぜ)の 一件で、だれも責任を明確にせんのが、情けないだけ。
全国レベルで、土佐市の市民の評価を落とした。
高知県の評価も落とした。

一番の責任者である、板原市長は、自分たちが割って入れるような立場にないなど、
当初は、事実と反する事を、市議会、高知県知事、土佐市民に説明しておきながら、
結局は、土佐市が事件の中心的役割を果たしていたことが、明らかになり、雲行きが怪しくなるや、市議会で謝っただけじゃ。
一市長が、保身のため事実と反することを、ずっと言い続けて、責任逃れをしていた。この事実は、否定できない。

これも、本当に情けのない事だし、謝っただけで許される事柄では無い。
南風(まぜ) の件は、土佐市役所の過去から、今に至る事件だが、現職市長の保身のための虚偽の説明は、現在の事。どちらも、当事者が責任を取らねばならないだろ。

事件のあと、せめて市議会が、事の真相を明確にし、責任を追求して、新しい土佐市が再スタートする事を示さなければ、土佐市の評価は、地に落ちたまま。


シューズ、野球、サッカー、スキー等のスポーツ用品、
フィットネスで役立つウェアなど人気の最新アイテムから、
大型店でもなかなか手に入らないレアな商品まで、スポーツ用品が満載!
(広告)

Mini Pupper2 ros2 4足歩行 Policy 強化学習 4

Mini Pupper2 ros2 4足歩行 Policy 強化学習 4

Mini Pupper2 ros2 4足歩行 Policy 強化学習 第4弾

1. Policy を、MlpPolicy から、LSTM 版の MlpLstmPolicy に替えてみた。
こちらは、時間記憶があるそうじゃ!!

これになると、Policy が本当に狡猾になるみたい。
注) これは、google ai の、PPO のパラメータ誤りの所為で、問題ない。

また、train が、重くもなるみたい。
当初 fps:7 程度しか出なくて、しかたなく、Gazebo の 周りの Obj を全て削除して、
更に、Gazebo を、4倍速で回して、ただし、見た目は、4倍速ではなくて、少し速くなった程度。
これで、やっと、fps:17 ほどになった。
train が進むと、fps:23 になった。
ただ、実際の model の weight の更新時の中断は、けっこうある。

PPO のパラメータでの注意!!
下記は、間違い。当初 google ai の言われるままに、下記で、train していたが、1歩目から、2歩目以降が、一向にでない。


sde_sample_freq=4
にして、やっと、pupper が動き出した!!


アウトドアや防災に活躍!大容量でコンセント使用可能なJackeryポータブル電源
(広告)

あきれたWi-Fi 通信業者!!

あきれたWi-Fi 通信業者!!

今日のメールに、カシモWiMAX(株式会社MEモバイル) からの料金値上げの通知が届いていた。

R8年10月1日から、594円 値上げとの事。
おいおい、今日は、8月7日じゃ。

契約当時、biglobeだっけ、より、600円程安かったので、カシモWiMAX を選んだのに、 もう値上げとは、どう言うことか?

600円のやすさで、集客しておいて、客があつまったから、もう値上げとは、
ほとんど、やすいっぽい業者の騙し行為ではないか!!
おまけに、値上げに応じられない人には、解約をすすめている。

本当に、不誠実で、手荒い事をする業者じゃ!!

そろそろ、会社を替え時か。
知らないうちに、安いところが増えているみたい。!!
おどろいた、随分と、カシモWiMAX は、高くなっていたみたい。

よそは、値下げ攻勢しているのに、値上げか。
もしかして、ここ、日々のコストダウンの努力を忘れて、慢心経営でもしているのか!!

もう二度と、カシモWiMAX を選ぶ事なかれ!!


アニメ・ゲーム好きの異性と出会いたいなら【ヲタ婚】
(広告)

Mini Pupper2 ros2 4足歩行 Policy 強化学習 2

Mini Pupper2 ros2 4足歩行 Policy 強化学習 2

Mini Pupper2 ros2 4足歩行 Policy 強化学習 第2弾
Policy を、MlpPolicy から、Locomotion Transformer に替えてみた。

SB3 + PPO + Locomotion Transformer で、
Ros2 Jazzy Gazebo(Hramonic) で mini_pupper_ros の Mini Pupper2 を使うのは、全てそのまま。

トランスフォーマー型 Policy(Locomotion Transformer など)
LeRobotのACTと同じように、4足歩行でもTransformer(自己アテンション機構)を採用する動きが主流になっています。
との事。
Transformer を使っているので、試してみた。

一番最初に、おんちゃんが今回学んだことを先に書いておきます。
1) Reward の評価方式。
i. Pupper の移動した位置+向きによる評価方式。
ii. /cmd_vel の 3速度一致による評価方式。
大雑把に言って、上記2方式がある。
i. Pupper の移動した位置+向きによる評価方式 は、train 初期 では、使えない。
train 初期では、数 steps 数 action で、Pupper は、とんでもない位置、向きになってしまう。
狂った位置、向きから、オリジナルの /cmd_vel を Pupper に送っても到底、目標とする本来の位置、向きに行ける訳がない。
なので 必然的に、 ii. 3速度評価方式 になると思う。
ii. 3速度評価方式 も、全ては、評価、減点の与え方のプログラムの追求になる!!
歩行の向きが合わないのは、reward_vyaw で、調整する。
歩行の前後の不一致、速度が合わないのは、reward_vx で、調整する。

2) 余分なReward 項目は、使わない。
上記で言えば、位置+向き の 2項目か、 3速度評価 による、 3項目。

3) 複数項目の場合の、reward のトータル方法。
後述の 一括マイナス方式 Isaac Gym / rsl_rl 標準 と 重み付き線形和 を参照してください。

4) SB3 OPP の強化学習の基本は、どうやるの?
Pupperの 前後、左右への小さい動きの反復動作(探索動作) をする中で、より reward が多い方の動作を強化して行く事みたい。
reward は、+ でも - でも良い。OPPのパラメータが適切であれば、より大きい方が、使われる。
ただし、reward としては、+ の方が良い気がする。
1 step 0.0 から 1.0 などがよいみたい。
一番重要なのは、探索行動は、train が進むにつれて、小さくなって行く。
なので、その間に、より reward が大き方への動きが増えていく事が大事。
この、増えていくことが無いまま、train が、80万、100万となると、Pupperが動かなくなる。
後述の、v. OPP のパラメータの見直し。を参照してください。

5) 最初から強化学習するよりも、先に、模倣学習をして、その後で、強化学習がよいみたい。

おんちゃんが、こちらを選んだのは、
入力 observation の joint-state と、model の output の act(joint-controll) のフィールドが、対応している事。
input と output の位置が同じなのが、むだな学習が、生じなくていいと思う!!
MlpPolicy は、汎用的な model なので、必ずしも、4足ロボット向けと言うわけではなくて、
input と output の対応が取れていなくて、 train の過程で、関連付けるので、時間がかかりそう!!


Audibleは、いつでもどこでも気軽に音声でコンテンツを楽しむことができる、
世界最大級のオーディオエンターテインメントサービスです。
プロのナレーターや俳優、声優が読み上げる豊富なオーディオブックや、
ニュースからお笑いまでバラエティあふれるプレミアムなポッドキャストなど、全カタログ90万以上の作品を取り揃えています。
(広告)

Mini Pupper2 ros2 4足歩行 Policy 強化学習

Mini Pupper2 ros2 4足歩行 Policy 強化学習

Mini Pupper2 4足歩行 Policy を探したけど、どうもどこにあるのか判らん。
あったとしても、おんちゃんの PC の GPU gtx 1070 では、まるっきり歯がたたん。

ChatGTP に、いろいろ聞いているうちに、
Ros2 Jazzy Gazebo(Harmonic) で、Mini Pupper2 ros が動いているので、Gazebo のシミュレーション環境でも、いいんじゃない?(まるっきり、時間度外視であれば)
と、行き着いた。

ChatGPT を、おだてて、
4足歩行 Policy と、強化学習の torch train 等、一式書いてもらっての、テストじゃ。
今回は、この話じゃ!!
けっして、良い子は、まねをしないように。...

結局、Gazebo 上の Mini Pupper2 を、Policy の出力で、動かして、その結果が良ければ、+何点、 NG であれば、-何点と、強化学習を繰り返すだけ。
難点は、それを、一度に 1000とか同時にできるかどうかだけじゃ。
昔、台に乗った、ポールを倒さないように、台を動かす強化学習と同じ要領みたい。

Stable Baseline3(SB3) で、PPO(Proximal Policy Optimization) で、既存の MlpPolicy をすこしカスタマイズしてつかえば、出来上がるみたい。

Python コードの原型は、ChatGTP に教えてもらって、つくったぞね!!


日本製にこだわったレザーブランド。sot(ソット)
(広告)

ROS2 Jazzy Gazebo Harmonic で、Mini Pupper2 ROS を試す。

ROS2 Jazzy Gazebo Harmonic で、Mini Pupper2 ROS を試す。

ふう!! 今回は、結構つかれたが、
表題通り、Gazebo Harmonic で、mini_pupper_ros の Mini Pupper2 を、なんとか、動かせたので、記載しました。
実機が、8万ほどするので、びんぼうなおんちゃんには、高値の花!!
Gazebo で、ちょっと試してみようと思ったのが、まちがいじゃったか!!

本当は、もっと大きな、犬ころロボットを試してみたいと思ってはいるが、さきだつものが...
本格的犬ころロボットは、今は、中ちゃんメーカー1強みたい。
30万から40万らしいが、4足歩行 Policy を自分で開発してつかう版だと、100万オーダーらしい。
べつのメーカーが、安価なモーター版を開発中と言うが、そういったものが出てこないと、なかなか、開発に踏み込めない。

環境
PC: Ubuntu Mate 24.04
ROS2 Jazzy
Gazebo Harmonic

Git Source
Jazzy 版
@mangdangroboticsclub/mini_pupper_ros
上記 jazzy 版 ソースを、git clone して、Gazebo Harmonic で動作するように修正する事が、今回の手順になる。
楽な方法は、無い。Jazzy 版でも、Gazebo は、古い版のままじゃ!!

はっきり言って、そのままでは、動かん!!
基本的な作りが、ROS2 対応になっていない。
robot URDF modelの top link が、 base_link なのが、そもそも問題で、おまけに、
stanford_controller_node.py が、そもそも使いづらい。
こいつの誤差の大きさで、本当に苦労した。

もともとが、Humble 版なので、Jazzy版へ移行するさいに、Gazebo が、かなり違ったので、これを、吸収しないといかんが、
ここは、ほとんど Google Ai に聞きぱなっし。しかし、以前、WearHouse Tugbot を作った経験があったので、随分前の事で、ほとんど記憶に残っていなかったが、
部分的に、思い起こして、なんとかできた。


忘れ物防止タグが搭載された安全な次世代の革製品「LIFE POCKET ライフポケット」
(広告)

ROS2 Jazzy で、50x50[M] の static map を作って、使う。#2

ROS2 Jazzy で、50x50[M] の static map を作って、使う。の続きです。

こちらが、本題なので、先こちらを記述します。
前回は、50x50[M] の static map を作成したので、今回は、それを、実際 ROS2 で使ってみる話です。

50x50[M] の static map の 巨大サイズゆえの問題が顕在化しました。
従来の手順で、SBC で、Map をロードして、リモート PC の Rviz2 で表示すると、Map が受信できない状態になりました。
WiFi Lan のトラフィックが、対応していないのが原因みたいです。
対策は、幾つかあるみたいですが、今回は、SBC と リモート PC で、それぞれがローカルの、 pgm、yaml をロードして使う方法を試してみました。

方法 1.
今使っている、Static Map のロード launch rtabmap_ros_my localization.launch.py を修正して、topic を、/map 、/local_map の指定ができる様にする。
つまり、SBC と リモート PC で、 map server を、2 本立てて、それぞれ別の topic 名 で、publish させる。
一応、この方法も、OK でした。


オーライト 非常用ライト、キャンプライト色々。高品質・高性能のライトがおすすめ!!
(広告)

ROS2 Jazzy で、50x50[M] の static map を作って、使う。

最初は、50x50[M] の static map を作るから。
QGIS で、自宅を中心に、周辺の道路を、50x50[M] の Static Map に落としてみた。
今回も、Google Ai に聞きながらの作成ぞね!!

Google Ai に教わった手順ですが、
Step 1: プロジェクト作成と「メートル単位」の設定
まずはQGISを起動し、長さをメートルで扱えるように座標系を設定します。

QGISを開き、「新規プロジェクト」を作成します。
画面右下の 「EPSG:XXXX」(デフォルトはEPSG:3857など)をクリックします。
フィルター欄に 6677 と入力し、JGD2011 / Japan Plane Rectangular CS IX(平面直角座標第Ⅸ系:高知県などをカバー)を選択して「OK」を押します。
※もしお住まいが九州なら 6676、近畿なら 6674、関東なら 6681 など、お住まいの地域に合った平面直角座標系を選択してください。
おんちゃんは、四国なので、6672 を指定しました。
これでQGIS内の単位が完全に「メートル」になります。


簡単・長期保存・種類豊富・国産米使用かつ食物アレルギーに配慮したおいしい非常食。
いつ来るか分からない「いざ!」という時のために、普段から食べたくなる長期保存食を備えていると安心です。
包装/熨斗対応が可能な専用BOX入りのアソートセットもございます。
大切な方へ「安心」を贈るギフトとしても。
(広告)

DINOv2 を使って、ROS2 SLAM(自己位置推定)に役立てる。

前回、フィジカルAi で ROS2 自立走行ロボットを動かす。#2
で、Diffusion policy の input に、DINOv2 を使った model を試したが、

"DINOv2 の input 画像に何か入れると、特徴量を返してくる" 特性を活かすと、
一度通った場所のランドマークを記憶させられる様じゃ。
これを使えば、SLAM(自己位置推定)が、行える。もう、Static Map を予め作る必要がない。
Google Ai に色々訪ねていたら、教えてくれた。

なんとも便利な Model を、Meta(旧 Facebook)が作ってくれたもんじゃ!!

1. 概略は、
1.1 SLAM データ作成。
1) 屋外で、ロボットの走行コース上で、10[M] ごとに、RGB Camera の画像と、その時の、gnss-rtk から求めた、緯度、経度と、ロボットの向きのデータを集めて回る。
この時、no を順に割り当てて行く。

2) 上記データの画像をDINOv2 の feed させて、その特徴データを、Faiss( ベクトルデータが扱える DB) に、順に登録する。
以上で、 今回の、SLAM コース情報の出来上がり。

1.2 ROS2 diff car ロボットでの利用。
3) ROS2 diff car ロボットで、RGB カメラの画像を、DINOv2 の feedさせて、 出てきた特徴量で、Faiss の検索をかける。
特徴量が見つかると、Faiss は、登録時の no を返してくるので、
先に集めた、data の no と一致する、緯度、経度から、今の 位置を得る。
しかし、gnss-rtk があれば、必要が無いが!!
gnss-rtk が使えない、室内だと使えるかも。

検証コードは、python pytorch で、簡単に書ける。
Googl Ai に聞けば、コードを教えてくれる。
このページの 1.概略 の部分を Google Ai に聞けば教えてくれる。
コード自体は、簡単だから、試してみては?

ただし、Inference 時のハードのリソースが、結構要求される。
ROS2 実機 Diff Drive Car で実装、テストするには、ここが難問か!!

以前、SLAM でランドマークを使う方法を模索していたが、
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#15 Robot Localization
これが、上記の、回答になりそう。


◆◇DMM FX◇◆ お得な特典!【最大500,000円キャッシュバック】
・申込は簡単5分で入力完了!
・【最短即日で】取引スタート!※1
面倒な郵送物の受け取り不要。
急な相場変動や、夜〜深夜にマーケットが大きく動いた際でも取引チャンスを逃さない!
※1 最短手続きで本人認証が完結した場合の申込完了から登録審査完了までの時間。
当社休業日や申込内容等に不備があった場合は除く
(広告)

フィジカルAi で ROS2 自立走行ロボットを動かす。#2

ACT の sub goal が、芳しくないので、業を煮やして、diffusion の sub goal を試してみた。
まだ、作っている途中だが、簡単に動いた。
こちらは、優秀みたいじゃ。
なんじゃこりゃ、こんなに、簡単にうごくの?

LeRobot ACT sub goal で、使った 同じ ROS2 bag ファイルを使って、 train させました。
ROS2 Gazebo WearHouse Tugbot で、 sub goal node を作って、走行させたら、うまく完走できるようです。
当初、TF 補正ナシで、走行させていましたが、TF 補正有りが必要だとわかって、TF 補正して、走行させたら、うまく完走できるようになりました。
しかし、あまりに、障害物の近くを走行するので、見ていて冷や冷やします。

ROS2 広域 Planner の走行パスを使って、複数のチェックポイントを、 model に入力して、走行させますが、
model は、それを完全になぞることはせずに、自分の学習脳の判断で、あくまで走行します。
ここが、ROS2 Nav2 の走行とちょっと違うかな?

train 用の、ROS2 bag データを採る時は、障害物から少しゆとりをもって離れた場所を走行させた方がよいぞね!!

フィジカルAi で ROS2 自立走行ロボットを動かす。

Google Ai に、質問していたら、ROS2 自作 Turtlebot3 で色々走行させて、データを取れば、
それを、フィジカルAI の 適当な model(ここは、Lerobot ACT、diffusion etc) に学習させれば、自立走行させられそう!!
フィジカルAI の学習は、エピソード単位でさせる!!
ので、基本、目的地は、1箇所。
しかし、これをベースにして、目的地を告げて、複数ヶ所へ到達させることも出来るとの事じゃ!!

ここにきて、やっと、フィジカルAi と ROS2 自立走行ロボットの勉強がつながったぞね!!
ちょっと、ROS2 Jazzy Tugbot の Gazebo で、学習data を作ってためしてみます。
開発環境:
Ubuntu Mate 24.04
ROS2: Jazzy
Gazebo
Tugbot wearhouse
Navigation2 with AMCL front rgb camera, front scan
Model:
LeRobot ACT
注) ROS2 の環境と、virtual_env で作った、torch、lerobot の環境の2 を、使い分けます。
lerobot_env: virtual_env で作ります。
lerobot_env で、
$ python -m pip install mcap mcap-ros2-support opencv-python numpy [torch] [lerobot]

1. Gazebo Tugbot wearhouse を、Navi2 で動かして、bag data を保存します。

ROS2 環境が必要なので、下記をターミナルからたたく
$ source /opt/ros/jazzy/setup.bash
$ source ~/colcon_ws-jazzy/install/local_setup.bash
$ export ROS_DOMAIN_ID=30 #TURTLEBOT3
$ export TURTLEBOT3_MODEL=waffle
$ export GZ_SIM_SYSTEM_PLUGIN_PATH=/opt/ros/jazzy/lib

下記、launch で、 Gazebo Weahouse Tugbot が Nav2 で、操作出来ると思う。
最新版を、up しているか、自信がないが!!
tosa-no-onchan/turtlebot3_navi_my/launch/tugbot_amcl_scan.launch.py
すでに、SLAM で、map が作成されていると思うので、その Map を使います。
上記、 launch.py の上部の起動手順に従って、Rviz2 で、Nav2 操作が出来る状態にします。
#  2.2 navigation
の部分。

初めてのフィジカルAi。Huggingface の LeRobot の ACT model で学ぶ。#3

LeRobot ACT model で、モーション分割 Datasets で、学習を行う!! 第2段!!
初めてのフィジカルAi。Huggingface の LeRobot の ACT model で学ぶ。#2 の続きです。

今回は、本当に、オリジナルの データ・セット lerobot/svla_so101_pickplace を、各エピソードを、複数モーションに分割して学習させてみました。

初めに、Demo にて確認します。
$ export PYTHONPATH=$PYTHONPATH:/home/your-id/local/git-download/lerobot/src <-- git clone した場所の src
$ lerobot-dataset-viz --repo-id lerobot/svla_so101_pickplace --episode-index 0

外置きのカメラが、2台あるみたい。observation.images.up と observation.images.side
なので、 class ACT は、2 images inputs にしないといけない。
この、Detasets は、FPS:30[hz] なので、これも、train.ipynb に反映させないといかん!!

1. Datsets: lerobot/svla_so101_pickplace を、3 モーションに区分けして、 3 Datasets ファイルにする。
$ make_3motions_data.py

本来のこの3分割の目的は、motion1、motion2、motion3 に分割したあと、学習が弱い部分の motion? を、新たなデータから加えて、
motion1、motion2、motion3、montion1b の様に、組み合わせて学習させるのが、本来の目的じゃ。!!

2. train
train.ipynb を、lerobot/svla_so101_pickplace に合うように、
input、output を修正して、
jupyter notebook で、train させます。
1 epoch のデータ数が、ちょっと少ないので、10 epochs 程、学習が必要です。
8 batch で、
Steps 13400 | Loss: 0.167124 | LR: 0.000003
Model saved! (Step Best Loss: 0.1671)

Loss: 0.11 辺りになれば、良いとおもいますだ!

初めてのフィジカルAi。Huggingface の LeRobot の ACT model で学ぶ。#2

LeRobot ACT model で、モーション分割 Datasets で、学習とシミュレーションの inference を学ぶ!!
初めてのフィジカルAi。Huggingface の LeRobot の ACT model で学ぶ。 の続きです。

今回は、オリジナルの データ・セット lerobot/aloha_sim_transfer_cube_human を、各エピソードを、複数モーションに分割して学習させてみました。
オリジナルのデータは、必ず、start - end の決まった流れで、複数エピソードを学習させています。
前回の学習済 ACT model で、シミュレーションでのテストをずっと見ていましたが、
なんとなく、キューブを見つける性能が弱い気がするし、最後の手渡しする部分も弱い気がしました。
できれば、その部分だけ、もっと学習させれば、良い気がしました。
そのためには、いつも1 エピソードを学習させるのでは無くて、部分的に強化した学習が出来ないかと考えた結果、
モーションを区切って学習させたらどうじゃろか? と思って、作ってみました。

1. まずは、2 分割のモーションで試してみます。
オリジナルの lerobot/aloha_sim_transfer_cube_human を分割する python コードを作る必要があります。
例によって、Google Ai の助け(ほとんどだが) で、なんとかできました。
make_3motions_data.py

今回は、これで、 2分割させたモーションデータを使ってみます。
分割した Datasets を、確認するのは、
$ export PYTHONPATH=$PYTHONPATH:/home/your-id/local/git-download/lerobot/src
$ lerobot-dataset-viz --repo-id local/split_dataset_0 --root outputs/split_dataset_0 --episode-index 0

train コードは、前回作成した notebook の train.ipynb を、少し修正すれば、
学習済 ACT model が出来ます。

とりあえず、5 - 6 epochs 学習させてみます。
train.ipynb
use_ex=True
で学習させます。こちらが、train 時間が少ないので...

一応、非分割のデータ・セットと同じ様に、今回の 2モーション分割の場合も、Loss が減っていって、学習できている様です。

Steps 12400 | Loss: 0.175373 | LR: 0.000003
Model saved! (Step Best Loss: 0.1754)
本当は、Loss: 0.11 辺りが良いと思う!!

初めてのフィジカルAi。Huggingface の LeRobot の ACT model で学ぶ。
ACT モデルを、使っての Train と Predict の一連の流れを試してみる。

サイトは、下記
lerobot
githubは、
@huggingface/lerobot
インストールを、下記ページに従って行います。
lerobot/installation

virtual_env を使うと良いと思う。
$ cd
$ python3 -m virtualenv lerobot_env
$ source lerobot_env/bin/activate
おんちゃんの開発環境は、
ubuntu mate 24.04
GPU: gtx 1070

先に、pytorch 2.10.0 etc をインストールしておく。
$ python -m pip install torch==2.10.0 torchvision==2.25.0 torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cu126

lerobot のライブラリーは、最新を使うので、github 版を clone します。
あとは、git clone をして、clone したデイレクトリーへ移って、
$ cd relobot
$ python -m pip install -e .
その後、Simulations を使うので、続けて、
aloha をインストールします。
$ python -m pip install -e ".[aloha]" # or "[pusht]" for example

ROS2 自作 Turtlebot3 による 草刈りロボット開発。#17 Transformer で経路計画をする。No.2

ROS2 自作 Turtlebot3 による 草刈りロボット開発。#8 Transformer で経路計画をする。 の続きです。

同じ Transfomer model を、Pytorch で、作ってみました。
Pytorch のほうが、コードがシンプルで分かりやすいぞね!!

今回の Pytorch Transformer のモデルについて、ちょっと説明します。
ベースは、Transformer の Speech to Text の処理をベースに作っています。
詳細は、オリジナルのページを参照してください。

今回、特筆したいのは、model の outputs の取り出し方法です。
どうやら、大きく言って、2種類あるみたい。
1 は、Keras 版でも使っていた、predict 結果を、一度( 150 の位置 class) に取り出す方法と 。
2 は、最近 google ai の話だと、1個ずつ、ループして、必要分だけ取り出すほうほうです。 ここで、結構はまりました。
最終的には、onnx 変換で、1 の方しかできないので、1 の方式をメインにします。

機械の音で、故障の診断 Sound Sensor Transformer.

機械の音で、故障の診断 Sound Sensor Transformer.

CNN-Transformer ハイブリッドモデル で、動画のクラス分類をする。
かって、CNNとLSTMを組み合わせたモデルの「LRCN (Long-term Recurrent Convolutional Networks)」の、 LSTM 部分を、
Transformer に置き換えたモデル。第2段。
今回は、上記をベースに、
教師なし Transformer (Temporal AutoEncoder) を使います。
よく、わからん。Google AI の口車に乗せられて、とりあえず、作ってみました。

要は、正常の音(今回は、動画の Sound 部分) のデータばかり、学習させて、
取り込んだ音から model に再現させて、同じになるように、weight を学習させる。
その、オリジナルの音と、model が再現させた 音の違いを、
比較して、どれくらい、違いがあるかによって、正常、異常を判定する。とのことじゃ。
最終的に、オリジナルと再現の違いの算出方法と、どの程度の threshold をするかに、良し悪しが、出るみたいじゃ。

故障の音が入った場合は、再現された音と大きく異なる事で、異常を判定する。との事。

動画 で簡単分類、おそるべし Video Transformer.

動画 で簡単分類、おそるべし Video Transformer.

画像と音(スペクトログラム)で分類、マルチモーダルTransformer.
の続きです。

CNN-Transformer ハイブリッドモデル で、動画のクラス分類をする。
かって、CNNとLSTMを組み合わせたモデルの「LRCN (Long-term Recurrent Convolutional Networks)」の、 LSTM 部分を、
Transformer に置き換えたモデル。

犬の動画(今回は、映像部分のみ) を使って、わんこの気持ちを予測します。

今回は、わんこの動画(mp4) の Video 部分だけを、使って、転移学習から、Full Scratch 学習まで行います。

クラス数=5 なので、とにかく簡単に、学習が完了します。

github に上げました。
dog_feel_classify_light

犬の気持を、ビデオ映像から、Deep Learning で予測。

画像と音(スペクトログラム)で分類、マルチモーダルTransformer.

Transformer に、画像と音(スペクトログラム)を同時入力して、クラス分類ができるみたい。
たとえば、犬の画像(動画) と、鳴き声を同時に入力して、犬の状態が分類できる、モデルができるみたいじゃ。

しかし、部屋の犬だったら、動き回るから、カメラで捉えづらい。
ゲージの中にいる犬だった、映像と音声が撮れそうかも。
マルチモーダルで、場合によっては、鳴き声だけの処理にすれば、可能か!!

転移学習するには、まず学習用の動画を集めないといかん。

ネットから、犬の動画をかき集めて、転移学習 or ファインチューニング しました。
class 数=5 で、train loss = 0.3 位になりました。

4[秒] の動画から、 8 フレームの静止画をサンプル抽出して、音声は、スペクトログラム化して、model に class 分類させました。
torch model を作成して、 onnx に変換して、Orange pi 5 で、実行すると、
1 predict に 3.5[秒] でした。
本当は、 Orange pi 5 rknn に変換したかったのですが、変換時にエラーが出て、これは、失敗しました。
いまは、学習に使った動画の本数が少ないですが、一応、分類できる状態です。

少しずつ、学習データを増やして、Full Scratch で学習させて、試していますが、
学習データさえ、メリハリのあるものを用意すれば、結構具合がいいみたい。

ぜひ、一度、自分で動画ファイルを用意して、ためしてみとうせ!!
orange pi 5 で、USB Camera を使って、
$ python dog_feel_watch.py
で、OKぞね!!

Orange pi 5 に Joshua Riek Ubuntu 24.04 を使ってみた。

Orange pi 5 に Joshua Riek Ubuntu 24.04 を使ってみた。

いままで、Orange pi 5 Armbian をずっと使っていたが、今回、上記を使ってみた。
と言うのも、Orange pi 5 Armbian 24.04 だと、 NPU のデバイスドライバーが、標準で入っていないのが、問題でした。

Joshua Riek Ubuntu 24.04 だと、そこらへんが、標準で入っているので、使ってみました。
大元は、
Joshua-Riek/ubuntu-rockchip
ダウンロードは、
Joshua Riek Ubuntu download
-> Orange Pi 5
-> Ubuntu 24.04 LTS Desktop with Linux 6.1

ダウンロードして、dd で書き込み。
$ xz -dc ubuntu-24.04-preinstalled-desktop-arm64-orangepi-5.img.xz | sudo dd of=/dev/sdb bs=4M status=progress
$ sync

注) dd を使わなくても、書き込み用、 sdhc をつなげて、xxx.img.xz をクリックすれば、OK だった。

あとは、 Orange pi 5 で立ち上げて、初期設定で、OK でした。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アイテム

  • 20250815_162019-2.jpg
  • 20250813_160727.jpg
  • 20250729_181747-2.jpg
  • 20250729_150531.jpg
  • 20250726_155011.jpg
  • v_6.jpg
  • 2024-09-30 14-25-56-1b.jpg
  • 2024-09-30 17-59-18-1.jpg
  • 2024-09-30 17-04-16-1.jpg
  • 2024-09-30 14-25-56-1.jpg

カテゴリ

月別 アーカイブ

ウェブページ

サイトナビ