Skip to content

feat: crane_web_debugger に Game Control / Sim Control 機能を追加#1341

Merged
HansRobo merged 1 commit intodevelopfrom
viewer
Apr 21, 2026
Merged

feat: crane_web_debugger に Game Control / Sim Control 機能を追加#1341
HansRobo merged 1 commit intodevelopfrom
viewer

Conversation

@HansRobo
Copy link
Copy Markdown
Member

概要

crane_web_debugger の viewer にゲームコントローラ操作パネルとシミュレータ制御パネルを追加した。
ブラウザから直接 HALT/KICKOFF 等のコマンド送信、およびボール・ロボットのテレポートが行えるようになる。

背景・根本原因

試合運営のデバッグ時に、ブラウザの viewer 上からゲームコントローラへのコマンド発行と
シミュレータへのテレポート操作をワンストップで行えることが求められていた。

また今回の開発中に以下のバグを修正した:

  • Sim Edit 選択ヒットテストが「自ロボット優先」の固定順で距離比較なしだったため、
    ボール付近でクリックしてもロボットが選ばれる問題を修正
    → 全候補(自ロボット・ボール・相手ロボット)の距離を比較して最近接を選択する方式に変更
  • clientToFieldCoords の y 軸符号誤り(描画時の -y*1000 変換に対する逆変換の欠落)を修正

変更内容

  • viewer.html: Game Control パネル(HALT/STOP/KICKOFF/FREE KICK/PLACE、スコア操作、カード)と
    Sim Control パネル(Sim Edit モード・Reset Ball・UDP endpoint 設定 UI)を追加
  • viewer.js: GameControlClient クラスを追加(ssl-game-controller WebSocket API /api/control)、
    Sim Edit モード(クリックで選択、dblclick/Enter でテレポート、Esc でキャンセル)を実装、
    選択ロジック修正・y軸符号修正・dblclick ドラッグガード追加
  • websocket_server.cpp: SslSimulationSender クラス追加(UDP で SSL Simulation Protocol 送信、
    既定エンドポイント 127.0.0.1:10300)、sim_teleport_ball / sim_teleport_robot /
    sim_remove_robot / sim_set_endpoint WebSocket ハンドラを追加
  • CMakeLists.txt / package.xml: robocup_ssl_msgs / Protobuf 依存を追加

## 背景
viewer でゲームコントローラへの操作とシミュレータへのテレポートが
ブラウザから行えるようにするため、新機能を追加した。

## 変更内容
- viewer.html: Game Control パネル(HALT/STOP/KICKOFF等コマンド・スコア操作・カード)と
  Sim Control パネル(Sim Edit モード・Reset Ball・UDP endpoint 設定)を追加
- viewer.js: GameControlClient クラスを追加(ssl-game-controller WebSocket API)、
  Sim Edit モード実装(クリックでボール/ロボット選択、dblclick/Enter でテレポート)、
  選択ヒットテストを最短距離比較方式に修正(ボール専用半径 BALL_HIT_RADIUS_M 追加)、
  clientToFieldCoords の y 軸符号誤りを修正(-y*1000 描画に対する逆変換の欠落)、
  dblclick 時のドラッグガードを追加
- websocket_server.cpp: SslSimulationSender クラス追加(UDP で SSL Simulation Protocol 送信)、
  sim_teleport_ball / sim_teleport_robot / sim_remove_robot / sim_set_endpoint
  ハンドラを追加
- CMakeLists.txt / package.xml: robocup_ssl_msgs / Protobuf 依存を追加
@HansRobo HansRobo merged commit b62ccde into develop Apr 21, 2026
7 of 8 checks passed
@HansRobo HansRobo deleted the viewer branch April 21, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant