zero-to-robot サンプルアプリ

ゼロからロボット工学を学ぶ過程で作った、ブラウザで動く 17 のシミュレーションです。インストール不要で、カードを選ぶとそのまま動かせます。

A. まず触る

ブラウザで開くだけの、いちばん手軽なシミュレーター。

お片付けロボットアーム

2 関節のアームがブロックを箱に片付ける。逆運動学と、なめらかな動きの作り方を 6 ステップで追える。

逆運動学 / 軌道生成

倒れない二輪ロボット

車輪 2 つで立つ倒立振子。センサーが遅れると倒れる様子を、押したり遅らせたりして試せる。

LQR 制御 / むだ時間

配膳ロボットの自律移動

自分の位置を推定しながら、障害物をよけて道を探し、その道を走る。

A* / Pure Pursuit / EKF

B. 本物のアームとドローン

実在するロボットのモデルを、物理エンジン MuJoCo(WebAssembly)でそのまま動かす。

本物のアームでお片付け

7 関節の Franka Panda が、指と摩擦だけでブロックをつかんで箱へ運ぶ。

MuJoCo / 微分 IK / 零空間

障害物をよけて腕を動かす

壁にぶつからない道を、ランダムな木の枝で自分で探す。

RRT-Connect / 衝突判定

力を加減してなぞる

机が 1 cm ずれても、ばねのように力を加減して線を描く。

インピーダンス制御 / トルク制御

ドローンを飛ばす

横向きの力を出せないドローンを、傾けて進ませる 3 段の制御。突風にも耐える。

カスケード制御 / 姿勢制御

C. カメラで見る・測り直す

画像から位置を求め、ずれたカメラを測り直す(sim2real)。

カメラで見つけて片付ける

天井カメラの画像から、ブロックの位置と向きを求めてつかむ。

色検出 / 位置・向きの推定

カメラの取り付けがずれていたら?

カメラが数 cm ずれるだけでつかめない。手の印で位置を測り直す。

キャリブレーション / Kabsch 法

D. 学習で覚えさせる

学習は事前に済ませ、ブラウザでは学習済みの結果を再生する。

お手本から学ぶ

手順書をお手本にして、ネットに真似させる。お手本の数と揺れで成功率が変わる。

模倣学習 / Behavior Cloning

強化学習で倒立振子を立たせる

お手本なし。「倒れなければ 1 点」だけで、立ち方を覚えていく。

強化学習 / 報酬 / 方策

E. 実機へ

これから買うロボットを、先にシミュレーターで動かす。

SO-101 のデジタルツイン

実機と同じ口(send_action / get_observation)を持つ、SO-101 のシミュレーター。

デジタルツイン / 追従誤差

F. 家庭菜園

作る前に、全体をシミュレーターで通してみる。

家庭菜園の水やりロボット

土の湿り気を測って、足りない株にだけ水をやる。センサーの故障にも気づく。

しきい値制御 / 故障検知

ミニトマト収穫ロボット

カメラで赤い実だけを見分けて、へたを切ってかごへ運ぶ。

色検出 / アプローチ姿勢

G. 家の中で使うロボット

作る前に、全体をシミュレーターで通してみる。

ロボット掃除機

ぶつかったら曲がる、渦巻き、地図を作って往復。同じ部屋で比べる。

SLAM / 被覆経路計画

猫じゃらしロボット

測れる反応だけから、猫に合う動かし方を学ぶ。

バンディット / UCB

レーザーで猫と遊ぶロボット

光が猫の頭の近くを通らないように、3 次元で距離を計算する。

安全設計 / 幾何計算