H='''
''' E='
' P={} P['LOG21']='''
ROS 2 · NODE GRAPH
カメを動かす信号は、トピックを流れている
NODE
teleop_turtle
TOPIC
/turtle1/cmd_vel
NODE
turtlesim
$ ros2 topic echo /turtle1/cmd_vel
linear: {x, y, z}   angular: {x, y, z}
''' P['LOG22']='''
RVIZ2 · AXES
'''+''.join(f'' for i in range(10))+''.join(f'' for t in [0,.25,.5,.75,1])+'''
X前
Y左
Z上
REP-103 · RIGHT-HANDED
''' P['LOG23']='''
UNITY ⇄ ROS 2
脳と体をつなぐ
BRAIN
ROS 2
計算・指令
TCP :10000
BODY
Unity
mechArm を召喚
''' P['LOG29']='''
DIGITAL TWIN · NEXT STEPS
次に挑む3つの実験
01Python でシーケンス制御EXP 1
02Unity ➔ ROS 2 の双方向同期EXP 2
03リアルタイム・テレオペEXP 3
''' sw=[('#2f6fdf','予約語','def · class · if'),('#f2f2f2','関数・メソッド','publish()'),('#b5b5b5','文字・数値','"link1" · 0.5'),('#6b6b6b','コメント','# メモ'),('#d9d9d9','変数・クラス名','node · msg')] P['LOG32']='
PYTHON · SYNTAX COLORS
色分けは、役割の地図
'+'
'.join(f'' for c,w in [('#2f6fdf',60),('#f2f2f2',110),('#b5b5b5',80),('#6b6b6b',140),('#d9d9d9',70),('#2f6fdf',40),('#f2f2f2',90)])+'
'+''.join(f'
{t}{s}
' for c,t,s in sw)+'
' P['LOG36']='''
HRI · CONFIDENCE GAUGE
確信度を、色で周辺視野に伝える
安心
注意
警告
HudManager.cs
''' P['LOG74']='''
ROLES · GEMINI × HUMAN × CLINE
三者の線引き
STRATEGY
Gemini
設計する
DECISION
自分
決める
IMPLEMENT
Cline
実装する
''' P['LOG75']='''
RECOVERY PROTOCOL
不具合の大きさで、戻し方を変える
01作業単位の差し戻しGIT
02シーン単位の復旧UNITY
03完全復旧GOOGLE DRIVE
''' P['LOG77']='''
COST · CLINE
定額と従量課金の壁
定額(Pro) 従量(API) TOKENS →
''' P['LOG104']='''
ハコブくん
ハコブくんにおまかせ!
ロボット開発の記録、全部頭に入ってるよ。
なんでも聞いてね!
このプロジェクトって何をやってるの? 失敗したことその原因を教えて 一番苦労したのはどこ?
HAKOBU · AI AGENT
01ナレッジベース
02チャットフロー
03カスタムUI
''' P['LOG105']='''
REPOSITORIES · 2
コードも記事も、戻せる状態に
REPO 1
コード
Unity · Python
REPO 2
コンテンツ
記事 · 図解
CLAUDE.mdAI エージェントへの決まりごと
''' for k,v in P.items(): open(k+'.html','w').write(H+v+E)