#ros2
19 件
control
制御ロジックを FW に置くか Host に置くかの判断
位置/速度 loop・FF・friction は FW、homing HSM・校正 orchestrator は Host。判断基準は「制御周期」「位相要求」「反復サイクル」の 3 点
controlembeddedlatency
ros
ROS 2 の監視→デバッグ→再デプロイをエージェントで閉ループにする
監視は決定的コード (token ゼロ)、LLM エージェントはイベント駆動で起きる。人間が rosbag を渡してフィードバックする工程を消す構成と token 消費の抑え方
agentllmdebugwatchdogmcp
ros
Gazebo — シミュレータの概要と問題点
Gazebo (旧 Ignition) の構成・機能一覧と、実務でハマる問題点をまとめた一般知識ノート。
gazebosimulation
ros
ROS 2 3D シミュレータの選定 — Gazebo vs Unity
導入コストと学習コストで比較。制御・ROS ネイティブ機能重視なら Gazebo、レンダリング品質やアセット重視なら Unity。
gazebounitysimulation
ros
ROS 2 画像トピックのコスト (同一 PC / ネットワーク / rosbag)
640x480 の raw 画像 1 本が何 MB/s か、同一 PC 内 publish は何が重いか、foxglove/rosbridge 経由の閲覧と rosbag 記録がなぜ効くか、compressed を使う判断基準
imagebandwidthrosbagfoxglove
ros
開発中ロボットの実行時検証 — 正しさでなく 4 層で見る
仕様が固まっていないコードの watchdog は「正しさ」を検証できない。普遍的不変条件・宣言済み contract・sim 真値 diff・golden run 回帰の 4 層に分解する
verificationwatchdogtestingsim
ros
短命プロセスの後始末は cgroup に任せる (systemd-run --scope)
ros2 run/launch の子は親の terminate で死なず残留・混信する。setsid+killpg の手書きは手続き依存で失敗する。systemd-run --user --scope + RuntimeMaxSec なら掃除を忘れても cgroup ごと必ず死ぬ
systemdcgroupprocessdebug
ros
URDF の joint origin と visual origin の使い分け
joint origin は機構の事実で TF/IK が読む。visual origin はメッシュの描画位置だけ
urdfkinematics
robotics
URDF の joint limit と状態依存拘束
URDF の `<limit>` は定数のみで他関節の値に依存できない。mimic は固定線形結合まで。状態依存の可動域はコード側(IK / planner / controller)で埋める
urdfjoint-limitkinematics
tools
Host↔FW レイテンシの測定手順
candump inter-arrival、round-trip probe、ROS jitter、正弦波位相遅れ、host loop dt の 5 段階で通信レイテンシの主因を切り分ける手順
latencymeasurementcan
tools
ROS 2 param expression の cross-reference 実装 (muParser)
yaml で param が他 param を参照する数式を書けるようにする実装 pattern。muParser の SetVarFactory + ClearVar + post_set_parameters_callback + pending snapshot の 4 点セット
parametermuparserexpressionpattern
tools
rosbag と一緒に「その時の状態」を残す (launch wrapper)
git rev + dirty diff + param snapshot + ros env を録画時に自動で残す。sidecar dir か MCAP 内蔵。実装は rc26 流儀の XML 1 ファイル + shell script (Option B) を採用
rosbagmcaplaunchreproducibilityworkflow
tools
URDF listener パターン (tf2::Buffer + Listener の URDF 版)
URDF 情報を複数 node で共有する時の pattern。/robot_description を transient_local で subscribe して urdf::Model に parse、query API を提供する Buffer + Listener を作る
urdftf2robot-descriptionpattern
tools
vendoring (依存のリポジトリ内取り込み)
外部依存のソースを自リポに取り込むこと。build 再現性を上げるが drift と二重管理の対価がある
builddependency-management
project
salamander のパッケージ配置と launch 階層
bringup は最上位 launch と URDF だけ。機能 launch・param は機能パッケージ側 (rc26 と同じ層分け)。2026-09-04 整理後の配置
salamanderlaunch
tools
Debug WebUI のアーキテクチャ
config-driven の debug UI パターン。settings ページで widget と launch/topic/service を bind、debug ページで実行、Foxglove layout も動的生成
webuifoxglovedebug
tools
Debug WebUI 機能カタログ
汎用 debug WebUI に追加すると効く機能を、安全・観測性・操作・記録・チーム・UX で分類。投資対効果と避けたいものも
webuidebug
tools
fibril_can の概要 (PC + マイコン間 CAN FD フレームワーク)
スキーマ YAML から両側 (PC ROS 2 / MCU C99) の通信コードを機械的に得るフレームワーク。マスターはスキーマ依存のビルド成果物を持たず、スレーブから受け取った blob で ROS Topic/Service/Param を実行時構築する
fibril-cancanframeworkrobotics
tools
fibril_can の使い方 (スキーマ YAML + vcan quickstart)
スキーマ YAML の最小構造、vcan でサンプルを動かす手順、bridge の主な ROS API と再プロビジョン方法
fibril-cancanquickstartschema