Repository navigation
fix(autoware.repos): bump autoware_auto_msgs to include the missing IDL includes - #14
masahiro-kubota wants to merge 1 commit into
Conversation
…DL includes Foxglove の "Definition of ros2 schema x has changed during the server's runtime" は、autoware_auto_msgs の IDL が Pose / PoseWithCovariance の #include を欠いて いたことが原因(foxglove/ros-foxglove-bridge#253)。修正は tier4/autoware_auto_msgs#45 で入っているので、これを含む最小のコミットまで上げる。 f6642370 -> 1e8b6d23 で取り込まれるのは以下の2コミットのみ。 - e1795354 add UP_LEFT_ARROW and UP_RIGHT_ARROW for traffic_light (autowarefoundation#42) - 1e8b6d23 add missing includes for used types Pose and PoseWithCovariance (autowarefoundation#45)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 476ccc8b6b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| type: git | ||
| url: https://github.com/tier4/autoware_auto_msgs.git | ||
| version: f6642370c6f4f42a5dc0b6c1fc4a21396d4dc34c | ||
| version: 1e8b6d234e2690c9da386f006bb60835cdccddfd |
There was a problem hiding this comment.
Preserve the existing traffic-light wire values
When this manifest is used with a prebuilt AWSIM publisher or an existing rosbag/MCAP containing TrafficLightElement values from the previous pin, this update silently changes their meaning: the included e1795354 inserts two constants at values 9 and 10, shifting DOWN_ARROW through UNKNOWN by two. For example, a previously encoded DOWN_ARROW value of 9 is decoded as UP_LEFT_ARROW, which can corrupt perception and planning behavior without a type or build failure. Please use a revision containing the IDL-include fix without this renumbering, or retain explicit values for the existing constants and append the new ones.
Useful? React with 👍 / 👎.
概要
autoware.reposのcore/external/autoware_auto_msgsのピンを、Foxglove のスキーマエラーを直す修正を含む最小のコミットまで上げる。core/external/autoware_auto_msgs: # TODO(mfc): Remove when autoware_msgs is merged type: git url: https://github.com/tier4/autoware_auto_msgs.git - version: f6642370c6f4f42a5dc0b6c1fc4a21396d4dc34c + version: 1e8b6d234e2690c9da386f006bb60835cdccddfd背景
foxglove_bridge を繋ぐと
Definition of ros2 schema x has changed during the server's runtimeが出て、autoware_auto_perception_msgs/msg/DetectedObjectsなどが Studio 側で読めなくなる。原因は autoware_auto_msgs の IDL が、使っている型の
#includeを欠いていたこと。foxglove/ros-foxglove-bridge#253 で切り分けられていて、メンテナも「その版に tier4/autoware_auto_msgs#45 が入っているか確認してほしい」と回答している。修正 tier4/autoware_auto_msgs#45(2023-09-01 マージ)が追加したのは
#include3 行だけ。autoware_auto_perception_msgs/msg/DetectedObjectKinematics.idlgeometry_msgs/msg/PoseWithCovariance.idlautoware_auto_perception_msgs/msg/TrackedObjectKinematics.idlgeometry_msgs/msg/PoseWithCovariance.idlautoware_auto_planning_msgs/msg/TrajectoryPoint.idlgeometry_msgs/msg/Pose.idl現在のピン
f6642370は 2023-01-30 で、この修正より前。なぜ 1e8b6d23 なのか(最新にしない理由)
tier4/mainの履歴は線形で、現在のピン以降は次の 3 コミットしかない。e17953541e8b6d23624aae9f1e8b6d23が autowarefoundation#45 を含む最小のコミットなので、ここで止めている。最新の624aae9fはコメント追加だけで実利が無いため入れていない。注意点:autowarefoundation#42 が TrafficLight の定数値を振り直している
1e8b6d23に上げるとe1795354(autowarefoundation#42)も一緒に入る。これは飛ばせない(線形履歴のため)。autowarefoundation#42 はUP_LEFT_ARROW/UP_RIGHT_ARROWを列挙の途中に挿入しているので、以降の定数値がずれる。UP_LEFT_ARROWUP_RIGHT_ARROWDOWN_ARROWDOWN_LEFT_ARROWDOWN_RIGHT_ARROWCROSSSOLID_OFFSOLID_ONFLASHINGUNKNOWNワークスペース内は影響なしと確認した
AutomotiveAIChallenge/autoware.universeのawsim-stableを clone して確認した。TrafficLight::の定数を参照しているのは以下の 11 ファイルで、すべて記号名での参照。数値べた書きは無いcommon/tier4_traffic_light_rviz_plugin,perception/crosswalk_traffic_light_estimator,perception/traffic_light_classifier(3ファイル),perception/traffic_light_visualization(2ファイル),planning/behavior_velocity_planner(crosswalk / intersection / traffic_light)traffic_light_classifierのstate2label_も定数をキーにした対応表で、値がずれても整合するSOLID_ONなどの数値対応表を持つ箇所は無いUP_LEFT_ARROW/UP_RIGHT_ARROWを参照している箇所は universe 側に存在しない(=ビルドが壊れる要素も、挙動が変わる分岐も増えない)ワークスペースは全体を同じ msgs でビルドし直すので、番号の振り直しは内部的に一貫する。
残るリスク
このワークスペースの外で作られた数値とは整合しなくなる。具体的には次の 2 つで、こちらでは検証できていない。
レースのシナリオで信号を使っていないなら、いずれも実害は無いはず。使っている場合はマージ前に確認してほしい。
代替案(採用しなかった)
autowarefoundation#42 をどうしても避けたい場合は、org 側に
autoware_auto_msgsを fork してf6642370の上に autowarefoundation#45 だけ cherry-pick し、autoware.reposの url をその fork に向ける方法がある。ただし維持対象の fork が 1 つ増えるうえ、上で見たとおり autowarefoundation#42 のワークスペース内への影響が無いので、単純なバンプを選んだ。必要ならこちらに切り替える。確認したこと
autoware.reposの 1 行のみ1e8b6d234e2690c9da386f006bb60835cdccddfdがtier4/main上に存在し、sound_player, update about sound file relative path autowarefoundation/autoware#45 のマージコミットであることを API で確認済みvcs importからの再ビルドが必要