drawtonomy と Scenic
競合ではなく、レイヤが違う
Section titled “競合ではなく、レイヤが違う”drawtonomy と Scenic は競合関係ではなく、別のレイヤを担当しています。
- Scenic — シナリオを「空間と振る舞いの制約」として記述し、1 つの抽象的な仕様から多数の具体的なシーンを抽出する確率的プログラミング言語。UC バークレーで開発が始まったもの。
- drawtonomy — 1 つの具体的なシーンを視覚的に下書きするための 2D ブラウザホワイトボード。
Scenic は「テストしたいシナリオの空間はどう書けるか」に答え、drawtonomy は「特定の 1 シーンはどう見えるか」に答えるツールです。
Scenic が扱う領域
Section titled “Scenic が扱う領域”公式ドキュメント、GitHub リポジトリ、PLDI 2019 の元論文 によれば、扱う領域は次のとおりです。
- 確率的な制約としてシナリオを記述するドメイン固有言語。
- シナリオの抽出(1 つの抽象仕様から多数の具体シーンを生成)。
- 複数シミュレータとのインターフェース。CARLA との連携はドキュメント化されている。
- 自動運転のシステムを評価する研究ベンチマークで使用されてきた実績。
- BSD ライセンスのオープンソース。
「小さな仕様から大量のコーナーケースを抽出してテストしたい」というユースケースでは、確立した選択肢の 1 つです。
drawtonomy はどこを担当するか
Section titled “drawtonomy はどこを担当するか”drawtonomy には DSL も抽出機能も確率生成もありません。一度に 1 つの具体シーン を手で描くためのツールです。
両者は別の役割で隣り合うことができます。
- Scenic はテストしたいシナリオの空間を生成する。
- drawtonomy は、その中の代表的な 1 シーンを論文・スライド・テスト計画書向けに視覚的な図として描く。
Scenic を使っているなら drawtonomy はその置き換えにはなりませんし、逆に 1 シーンを手で描きたいだけなら Scenic はその目的には合いません。
同じエコシステムの仲間として
Section titled “同じエコシステムの仲間として”Scenic はシナリオ仕様化に関する研究系の大きな貢献で、学術界の AV テストコミュニティが確率的シナリオをどう捉えるかに影響を与えてきました。drawtonomy はもっとずっと狭い役割 — 1 シーンの視覚的な下書き — を担当していますが、Scenic が変換できるのと同じ OpenSCENARIO 形式を出力し、同じ下流プレイヤーを対象にしています。CARLA + ScenarioRunner、esmini、scenariogeneration などと並んで、同じオープンなシナリオテストコミュニティに違う角度から関わっています。