Conversation
## 背景 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 依存を追加
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
crane_web_debugger の viewer にゲームコントローラ操作パネルとシミュレータ制御パネルを追加した。
ブラウザから直接 HALT/KICKOFF 等のコマンド送信、およびボール・ロボットのテレポートが行えるようになる。
背景・根本原因
試合運営のデバッグ時に、ブラウザの viewer 上からゲームコントローラへのコマンド発行と
シミュレータへのテレポート操作をワンストップで行えることが求められていた。
また今回の開発中に以下のバグを修正した:
ボール付近でクリックしてもロボットが選ばれる問題を修正
→ 全候補(自ロボット・ボール・相手ロボット)の距離を比較して最近接を選択する方式に変更
clientToFieldCoordsの y 軸符号誤り(描画時の-y*1000変換に対する逆変換の欠落)を修正変更内容
Sim Control パネル(Sim Edit モード・Reset Ball・UDP endpoint 設定 UI)を追加
GameControlClientクラスを追加(ssl-game-controller WebSocket API/api/control)、Sim Edit モード(クリックで選択、dblclick/Enter でテレポート、Esc でキャンセル)を実装、
選択ロジック修正・y軸符号修正・dblclick ドラッグガード追加
SslSimulationSenderクラス追加(UDP で SSL Simulation Protocol 送信、既定エンドポイント
127.0.0.1:10300)、sim_teleport_ball/sim_teleport_robot/sim_remove_robot/sim_set_endpointWebSocket ハンドラを追加robocup_ssl_msgs/ Protobuf 依存を追加