Skip to content

Commit ad6367d

Browse files
authored
Merge branch 'main' into feat/heatmap_visualizer/remove_package
2 parents 011c0be + 49289b6 commit ad6367d

File tree

67 files changed

+810
-3582
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+810
-3582
lines changed

common/tier4_adapi_rviz_plugin/README.md

+18
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,21 @@ Enable or disable of allow_goal_modification option can be set with the check bo
99
Push the mode button in the waypoint to enter waypoint mode. In this mode, the pose is added to waypoints.
1010
Press the apply button to set the route using the saved waypoints (the last one is a goal).
1111
Reset the saved waypoints with the reset button.
12+
13+
## Material Design Icons
14+
15+
This project uses [Material Design Icons](https://developers.google.com/fonts/docs/material_symbols) by Google. These icons are used under the terms of the Apache License, Version 2.0.
16+
17+
Material Design Icons are a collection of symbols provided by Google that are used to enhance the user interface of applications, websites, and other digital products.
18+
19+
### License
20+
21+
The Material Design Icons are licensed under the Apache License, Version 2.0. You may obtain a copy of the License at:
22+
23+
<http://www.apache.org/licenses/LICENSE-2.0>
24+
25+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
26+
27+
### Acknowledgments
28+
29+
We would like to express our gratitude to Google for making these icons available to the community, helping developers and designers enhance the visual appeal and user experience of their projects.

common/tier4_automatic_goal_rviz_plugin/README.md

+18
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,21 @@ In this situation, check the terminal output for more information.
7878

7979
- Often it is enough to try again.
8080
- Sometimes a clearing of the current route is required before retrying.
81+
82+
## Material Design Icons
83+
84+
This project uses [Material Design Icons](https://developers.google.com/fonts/docs/material_symbols) by Google. These icons are used under the terms of the Apache License, Version 2.0.
85+
86+
Material Design Icons are a collection of symbols provided by Google that are used to enhance the user interface of applications, websites, and other digital products.
87+
88+
### License
89+
90+
The Material Design Icons are licensed under the Apache License, Version 2.0. You may obtain a copy of the License at:
91+
92+
<http://www.apache.org/licenses/LICENSE-2.0>
93+
94+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
95+
96+
### Acknowledgments
97+
98+
We would like to express our gratitude to Google for making these icons available to the community, helping developers and designers enhance the visual appeal and user experience of their projects.

common/tier4_camera_view_rviz_plugin/README.md

+18
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,21 @@ Add the `tier4_camera_view_rviz_plugin/ThirdPersonViewTool` tool to the RViz. Pu
77
## BirdEyeView Tool
88

99
Add the `tier4_camera_view_rviz_plugin/BirdEyeViewTool` tool to the RViz. Push the button, the camera will turn to the BEV view, the target frame is consistent with the latest frame. Short cut key 'r'.
10+
11+
## Material Design Icons
12+
13+
This project uses [Material Design Icons](https://developers.google.com/fonts/docs/material_symbols) by Google. These icons are used under the terms of the Apache License, Version 2.0.
14+
15+
Material Design Icons are a collection of symbols provided by Google that are used to enhance the user interface of applications, websites, and other digital products.
16+
17+
### License
18+
19+
The Material Design Icons are licensed under the Apache License, Version 2.0. You may obtain a copy of the License at:
20+
21+
<http://www.apache.org/licenses/LICENSE-2.0>
22+
23+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
24+
25+
### Acknowledgments
26+
27+
We would like to express our gratitude to Google for making these icons available to the community, helping developers and designers enhance the visual appeal and user experience of their projects.

common/tier4_perception_rviz_plugin/README.md

+18
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,21 @@ You can interactively manipulate the object.
112112
| ADD | Shift + Click Right Button |
113113
| MOVE | Hold down Right Button + Drug and Drop |
114114
| DELETE | Alt + Click Right Button |
115+
116+
## Material Design Icons
117+
118+
This project uses [Material Design Icons](https://developers.google.com/fonts/docs/material_symbols) by Google. These icons are used under the terms of the Apache License, Version 2.0.
119+
120+
Material Design Icons are a collection of symbols provided by Google that are used to enhance the user interface of applications, websites, and other digital products.
121+
122+
### License
123+
124+
The Material Design Icons are licensed under the Apache License, Version 2.0. You may obtain a copy of the License at:
125+
126+
<http://www.apache.org/licenses/LICENSE-2.0>
127+
128+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
129+
130+
### Acknowledgments
131+
132+
We would like to express our gratitude to Google for making these icons available to the community, helping developers and designers enhance the visual appeal and user experience of their projects.

common/tier4_planning_rviz_plugin/README.md

+18
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,21 @@ This plugin displays the path, trajectory, and maximum speed.
125125
![select_planning_plugin](./images/select_planning_plugin.png)
126126
3. Enter the name of the topic where you want to view the path or trajectory.
127127
![select_topic_name](./images/select_topic_name.png)
128+
129+
## Material Design Icons
130+
131+
This project uses [Material Design Icons](https://developers.google.com/fonts/docs/material_symbols) by Google. These icons are used under the terms of the Apache License, Version 2.0.
132+
133+
Material Design Icons are a collection of symbols provided by Google that are used to enhance the user interface of applications, websites, and other digital products.
134+
135+
### License
136+
137+
The Material Design Icons are licensed under the Apache License, Version 2.0. You may obtain a copy of the License at:
138+
139+
<http://www.apache.org/licenses/LICENSE-2.0>
140+
141+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
142+
143+
### Acknowledgments
144+
145+
We would like to express our gratitude to Google for making these icons available to the community, helping developers and designers enhance the visual appeal and user experience of their projects.

control/autonomous_emergency_braking/include/autonomous_emergency_braking/node.hpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141

4242
#include <memory>
4343
#include <mutex>
44+
#include <optional>
4445
#include <string>
4546
#include <vector>
4647

@@ -140,10 +141,9 @@ class AEB : public rclcpp::Node
140141
bool hasCollision(
141142
const double current_v, const Path & ego_path, const std::vector<ObjectData> & objects);
142143

143-
void generateEgoPath(
144-
const double curr_v, const double curr_w, Path & path, std::vector<Polygon2d> & polygons);
145-
void generateEgoPath(
146-
const Trajectory & predicted_traj, Path & path, std::vector<Polygon2d> & polygons);
144+
Path generateEgoPath(const double curr_v, const double curr_w, std::vector<Polygon2d> & polygons);
145+
std::optional<Path> generateEgoPath(
146+
const Trajectory & predicted_traj, std::vector<Polygon2d> & polygons);
147147
void createObjectData(
148148
const Path & ego_path, const std::vector<Polygon2d> & ego_polys, const rclcpp::Time & stamp,
149149
std::vector<ObjectData> & objects);

control/autonomous_emergency_braking/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<description>Autonomous Emergency Braking package as a ROS 2 node</description>
77
<maintainer email="takamasa.horibe@tier4.jp">Takamasa Horibe</maintainer>
88
<maintainer email="tomoya.kimura@tier4.jp">Tomoya Kimura</maintainer>
9+
<maintainer email="mamoru.sobue@tier4.jp">Mamoru Sobue</maintainer>
910

1011
<license>Apache License 2.0</license>
1112

control/autonomous_emergency_braking/src/node.cpp

+24-21
Original file line numberDiff line numberDiff line change
@@ -309,16 +309,14 @@ bool AEB::checkCollision(MarkerArray & debug_markers)
309309
// step3. create ego path based on sensor data
310310
bool has_collision_ego = false;
311311
if (use_imu_path_) {
312-
Path ego_path;
313312
std::vector<Polygon2d> ego_polys;
314313
const double current_w = angular_velocity_ptr_->z;
315314
constexpr double color_r = 0.0 / 256.0;
316315
constexpr double color_g = 148.0 / 256.0;
317316
constexpr double color_b = 205.0 / 256.0;
318317
constexpr double color_a = 0.999;
319318
const auto current_time = get_clock()->now();
320-
generateEgoPath(current_v, current_w, ego_path, ego_polys);
321-
319+
const auto ego_path = generateEgoPath(current_v, current_w, ego_polys);
322320
std::vector<ObjectData> objects;
323321
createObjectData(ego_path, ego_polys, current_time, objects);
324322
has_collision_ego = hasCollision(current_v, ego_path, objects);
@@ -332,23 +330,25 @@ bool AEB::checkCollision(MarkerArray & debug_markers)
332330
// step4. transform predicted trajectory from control module
333331
bool has_collision_predicted = false;
334332
if (use_predicted_trajectory_) {
335-
Path predicted_path;
336333
std::vector<Polygon2d> predicted_polys;
337334
const auto predicted_traj_ptr = predicted_traj_ptr_;
338335
constexpr double color_r = 0.0;
339336
constexpr double color_g = 100.0 / 256.0;
340337
constexpr double color_b = 0.0;
341338
constexpr double color_a = 0.999;
342339
const auto current_time = predicted_traj_ptr->header.stamp;
343-
generateEgoPath(*predicted_traj_ptr, predicted_path, predicted_polys);
344-
std::vector<ObjectData> objects;
345-
createObjectData(predicted_path, predicted_polys, current_time, objects);
346-
has_collision_predicted = hasCollision(current_v, predicted_path, objects);
347-
348-
std::string ns = "predicted";
349-
addMarker(
350-
current_time, predicted_path, predicted_polys, objects, color_r, color_g, color_b, color_a,
351-
ns, debug_markers);
340+
const auto predicted_path_opt = generateEgoPath(*predicted_traj_ptr, predicted_polys);
341+
if (predicted_path_opt) {
342+
const auto & predicted_path = predicted_path_opt.value();
343+
std::vector<ObjectData> objects;
344+
createObjectData(predicted_path, predicted_polys, current_time, objects);
345+
has_collision_predicted = hasCollision(current_v, predicted_path, objects);
346+
347+
std::string ns = "predicted";
348+
addMarker(
349+
current_time, predicted_path, predicted_polys, objects, color_r, color_g, color_b, color_a,
350+
ns, debug_markers);
351+
}
352352
}
353353

354354
return has_collision_ego || has_collision_predicted;
@@ -384,9 +384,10 @@ bool AEB::hasCollision(
384384
return false;
385385
}
386386

387-
void AEB::generateEgoPath(
388-
const double curr_v, const double curr_w, Path & path, std::vector<Polygon2d> & polygons)
387+
Path AEB::generateEgoPath(
388+
const double curr_v, const double curr_w, std::vector<Polygon2d> & polygons)
389389
{
390+
Path path;
390391
double curr_x = 0.0;
391392
double curr_y = 0.0;
392393
double curr_yaw = 0.0;
@@ -397,7 +398,7 @@ void AEB::generateEgoPath(
397398

398399
if (curr_v < 0.1) {
399400
// if current velocity is too small, assume it stops at the same point
400-
return;
401+
return path;
401402
}
402403

403404
constexpr double epsilon = 1e-6;
@@ -435,14 +436,14 @@ void AEB::generateEgoPath(
435436
for (size_t i = 0; i < path.size() - 1; ++i) {
436437
polygons.at(i) = createPolygon(path.at(i), path.at(i + 1), vehicle_info_, expand_width_);
437438
}
439+
return path;
438440
}
439441

440-
void AEB::generateEgoPath(
441-
const Trajectory & predicted_traj, Path & path,
442-
std::vector<tier4_autoware_utils::Polygon2d> & polygons)
442+
std::optional<Path> AEB::generateEgoPath(
443+
const Trajectory & predicted_traj, std::vector<tier4_autoware_utils::Polygon2d> & polygons)
443444
{
444445
if (predicted_traj.points.empty()) {
445-
return;
446+
return std::nullopt;
446447
}
447448

448449
geometry_msgs::msg::TransformStamped transform_stamped{};
@@ -452,10 +453,11 @@ void AEB::generateEgoPath(
452453
rclcpp::Duration::from_seconds(0.5));
453454
} catch (tf2::TransformException & ex) {
454455
RCLCPP_ERROR_STREAM(get_logger(), "[AEB] Failed to look up transform from base_link to map");
455-
return;
456+
return std::nullopt;
456457
}
457458

458459
// create path
460+
Path path;
459461
path.resize(predicted_traj.points.size());
460462
for (size_t i = 0; i < predicted_traj.points.size(); ++i) {
461463
geometry_msgs::msg::Pose map_pose;
@@ -471,6 +473,7 @@ void AEB::generateEgoPath(
471473
for (size_t i = 0; i < path.size() - 1; ++i) {
472474
polygons.at(i) = createPolygon(path.at(i), path.at(i + 1), vehicle_info_, expand_width_);
473475
}
476+
return path;
474477
}
475478

476479
void AEB::createObjectData(

control/control_validator/src/control_validator.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@ bool ControlValidator::isDataReady()
121121

122122
void ControlValidator::onReferenceTrajectory(const Trajectory::ConstSharedPtr msg)
123123
{
124+
if (msg->points.size() < 2) {
125+
RCLCPP_ERROR(get_logger(), "planning trajectory size is invalid (%lu)", msg->points.size());
126+
return;
127+
}
128+
124129
current_reference_trajectory_ = msg;
125130

126131
return;

evaluator/tier4_metrics_rviz_plugin/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
<buildtool_depend>autoware_cmake</buildtool_depend>
1414

1515
<depend>diagnostic_msgs</depend>
16+
<depend>libqt5-charts-dev</depend>
1617
<depend>libqt5-core</depend>
1718
<depend>libqt5-gui</depend>
1819
<depend>libqt5-widgets</depend>

launch/tier4_localization_launch/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<maintainer email="anh.nguyen.2@tier4.jp">NGUYEN Viet Anh</maintainer>
1212
<maintainer email="taiki.yamada@tier4.jp">Taiki Yamada</maintainer>
1313
<maintainer email="shintaro.sakoda@tier4.jp">Shintaro Sakoda</maintainer>
14+
<maintainer email="masahiro.sakamoto@tier4.jp">Masahiro Sakamoto</maintainer>
1415
<license>Apache License 2.0</license>
1516
<author email="yamato.ando@tier4.jp">Yamato Ando</author>
1617

perception/front_vehicle_velocity_estimator/CMakeLists.txt

-30
This file was deleted.

perception/front_vehicle_velocity_estimator/README.md

-45
This file was deleted.

0 commit comments

Comments
 (0)