Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-successive way points generated by A-star algorithm in freespace planner #1151

Closed
3 tasks done
NorahXiong opened this issue Jun 22, 2022 · 2 comments · Fixed by #1504
Closed
3 tasks done

Non-successive way points generated by A-star algorithm in freespace planner #1151

NorahXiong opened this issue Jun 22, 2022 · 2 comments · Fixed by #1504
Assignees
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) priority:low Lower urgency, can be addressed later. type:bug Software flaws or errors.

Comments

@NorahXiong
Copy link
Contributor

NorahXiong commented Jun 22, 2022

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I'm convinced that this is not my fault but a bug.

Description

Way points generated by A-star algorithm are not successive as the red circle shows. It could result in poor trajectory following performance.

image

Expected behavior

Way points generated by A-star algorithm are successive. Here successive means the vehicle can move from the former point to the next point through a movement in the transition_table_. Possible transitions are defined as below.
AstarSearch::TransitionTable createTransitionTable function

Actual behavior

Way points generated by A-star algorithm are not successive.

Steps to reproduce

  1. Start autoware planning simulator using default
  2. Set pose estimate and goal pose the parking lot

(These steps can not guarantee the problem will repeat. According to my experience, there is a higher probability if the number of arcs in ReesShepp solution is large.)

Versions

  • OS: Ubuntu 20.04
  • ROS2: Galactic
  • Autoware: Autoware.universe:main

Possible causes

image

According to the transition table design, two consecutive points should be like the blue arrows. The yellow ones(shift_theta greater than dθ) and the green ones(can not reach the next point precisely through any of the transition types) should not have been appeared.

If the preceding node changed, the nodes behind should recheck the transition relation and recalculate the actual cost or just break the connection. But these steps are not implemented now. So if a node in the closed list is rewritten during the search, and its child node stays the same, the output may be as the green arrows show.

For example. In the following picture, S is the start point, G is the goal point and P(P*) is the non-successive point. At first, nodes P* is in the closed list and its child D is in the open list. Then point C is chosen from the open list and node P is pushed into the open list (again) as a child of C. Actually P and P* are the same node in search space cause they are in the same grid and have the same orientation. In other words, P and P* use the same part of memory and share the same index in search space. Even though P is not totally equal to P*, D keeps pointing to P/P*. If D is chosen from the open list, the problem may appear as S-C-P-D-G has a chance to be selected as the best way. In that case, we will get a non-successive way point array as the figure shows.

astar

Additional context

No response

@NorahXiong NorahXiong added type:bug Software flaws or errors. component:planning Route planning, decision-making, and navigation. (auto-assigned) labels Jun 22, 2022
@mitsudome-r
Copy link
Member

@TakaHoribe Could you assign someone from Planning team to take a look at this?

yukkysaito pushed a commit to yukkysaito/autoware.universe that referenced this issue Jun 29, 2022
* release v0.4.0

* Change localization diag namespace (autowarefoundation#718)

* Change default value of output_diagnostics_topic

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove localization_diagnostic.js from web_controller

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Integrate localization diag to diagnostic_aggregator

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Delete old and unused publisher

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* remove ROS1 packages temporarily

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Revert "remove ROS1 packages temporarily"

This reverts commit 63dc7f4e1defe5fd908eeefc7a2cdfac7cb47022.

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* add COLCON_IGNORE to ros1 packages

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Rename launch files to launch.xml (autowarefoundation#28)

* ROS2 Porting: autoware_error_monitor (autowarefoundation#42)

* Temporary add the autoware_error_monitor package for conversion

* Renaming to adhere to convention
 - Modify CMakeList to compile using ROS2
 - TODO: fix FMT import

* Replace node implementation with ROS2 version
 - Rename core
 - Fix FMT library linking and ROS-related compilation erros
 - Add Readme
 - Add publisher and subscribers
 - Add timer

* Launch configurationse
 - Add ROS2 launch file
 - Modify config file with ROS2 conventions
 - Convert package.xml
 - Fix CMakelist
 - Bug fixes
   - Launch file correct indentation
   - Fix param.yaml to not use nested lists
   - Use as_string_array() when getting string array parameters

* Remove old files

* Fix cmake and package xml
 - Use ament cmake auto

* Fix parameters
 - Use dots as delimiters for nested parameter names
 - Move parameter declaration to constructor initialization list where possible
 - Update parameter file
 - Update launch files

* Fix launch and param files
 - Aggregator node doesn't appear to be working as expected with the launch files...
 - Fix cmake
 - Aggregator doesn't seem to allow multiple top level diagnostics

* Fix config

* Add rqt_robot_monitor to exec depends in package.xml

* Update rate should be converted to a period

Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com>

* Address PR comment:
 - Change top level namespace to autoware

* Remove commented out code

* Address PR comment:
 - Fix root for keys
 - Correct update rate

Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com>

* Adjust copyright notice on 532 out of 699 source files (autowarefoundation#143)

* Use quotes for includes where appropriate (autowarefoundation#144)

* Use quotes for includes where appropriate

* Fix lint tests

* Make tests pass hopefully

* Add linter tests (autowarefoundation#204)

* Ros2 v0.8.0 autoware error monitor (autowarefoundation#281)

* Rename ROS-related .yaml to .param.yaml (autowarefoundation#352)

* Rename ROS-related .yaml to .param.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove prefix 'default_' of yaml files

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Rename vehicle_info.yaml to vehicle_info.param.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Rename diagnostic_aggregator's param files

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix overlooked parameters

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ros2 v0.8.0 fix packages2 (autowarefoundation#354)

* fix topic name

* fix duration rate

* fix sensing.yaml

* fix topic name

* add latch-option to autoware_state_monitor

* fix timer callback

* fix autoware state monitor config

* fix sensing.yaml

* Fix autoware error monitor (autowarefoundation#362)

* Remove cpu_load_average

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Disable resource monitoring in planning_simulator

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix diagnostic_aggregator's params

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* [Update v0.9.0] system monitor (autowarefoundation#365)

* Disable CPU Load Average warning. (autowarefoundation#1147)

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Fix cpu_monitor respawning forever. (autowarefoundation#1150)

* Disable cpu_temperature in planning simulation (autowarefoundation#1151)

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Net Monitor: Handle as an error if specified device not exist. (autowarefoundation#1152)

* Handled as an error if specified device not exist.

* Disable network diags in simulation

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* apply ament_uncrustify

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Disable resource monitoring in planning_simulator (autowarefoundation#1172)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Treat logging errors as safe faults (autowarefoundation#1164)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix test code of system_monitor (autowarefoundation#1178)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>

* Import v0.9.1 (autowarefoundation#431)

* add local optimal solution ocillation check to ndt_scan_matcher (autowarefoundation#1182)

* Add obstacle_crush diagnostic (autowarefoundation#1186)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix diagnostics api (autowarefoundation#1185)

* Fix diagnostics api

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Don't overwrite level

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Overwrite level of No Fault diagnostics

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add missing diag in autoware_error_monitor.yaml (autowarefoundation#1187)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Filter hazard_status (autowarefoundation#1191)

* Filter hazard_status

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Filter leaf diagnostics

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix wrong calculation of available memory. (autowarefoundation#1168)

* Fixed wrong calculation of available memory.

* Added comments about output example of free -tb command.

* Change monitoring method to get HDD temperature and usage per specified device. (autowarefoundation#1195)

* Changed monitoring method to get temperature and usage per specified device.

* Fixed test codes.

* Removed unnecessary (void) parameter.

* return input pointcloud when ground plane not found (autowarefoundation#1190)

* fix yaw-smoothing bug (autowarefoundation#1198)

* Fix lint

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Taichi Higashide <taichi.higashide@tier4.jp>
Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* Fix typo in system module (autowarefoundation#434)

* Fix typo in system module

* Change variable name

* Move comments

* Apply uncrustify

* add use_sim-time option (autowarefoundation#454)

* Treat NTP offset error as safe fault (autowarefoundation#1220)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix for rolling (autowarefoundation#1226)

* Replace doc by description

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Replace ns by push-ros-namespace

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix/fix porting miss (autowarefoundation#1254)

* Fix porting miss of vehicle_cmd_gate

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix mistake of autoware_error_monitor.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove use_sim_time for set_parameter (autowarefoundation#1260)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* error monitor for foa controller (autowarefoundation#1369)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Add diagnostics config for ros2_socketcan (autowarefoundation#1447)

* Add markdownlint and prettier (autowarefoundation#1661)

* Add markdownlint and prettier

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ignore .param.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* fix typo (autowarefoundation#1711)

* suppress warnings for declare parameters (autowarefoundation#1724)

* fix for lanelet2_extension

* fix for traffic light ssd fine detector

* fix for topic_state_monitor

* fix for dummy diag publisher

* fix for remote cmd converter

* fix for vehicle_info_util

* fix for multi object tracker

* fix for freespace planner

* fix for autoware_error_monitor

* add Werror for multi object tracker

* fix for multi object tracker

* add Werror for liraffic light ssd fine detector

* add Werror for topic state monitor

* add Werror

* add Werror

* add Werror

* add Werror

* fix style

* Fix -Wunused-parameter (autowarefoundation#1836)

* Fix -Wunused-parameter

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix mistake

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* fix spell

* Fix lint issues

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ignore flake8 warnings

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp>

* enable autonomous recovery (autowarefoundation#1904)

* add aggregator config at planing error monitor (autowarefoundation#1955) (autowarefoundation#1963)

* add trajectory monitoring setting (autowarefoundation#2018)

* Fix typo `obstacle_crush` to `obstacle_crash` (autowarefoundation#2031)

* Use EmergencyState instead of deprecated EmergencyMode (autowarefoundation#2030)

* Use EmergencyState instead of deprecated EmergencyMode

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Use stamped type

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* add sort-package-xml hook in pre-commit (autowarefoundation#1881)

* add sort xml hook in pre-commit

* change retval to exit_status

* rename

* add prettier plugin-xml

* use early return

* add license note

* add tier4 license

* restore prettier

* change license order

* move local hooks to public repo

* move prettier-xml to pre-commit-hooks-ros

* update version for bug-fix

* apply pre-commit

* Sync rc v1.5.0 (autowarefoundation#2058)

* Cleanup autoware_error_monitor launch (autowarefoundation#2143)

* Improve diagnostic tree for future extensions (autowarefoundation#2153)

* change resource monitoring group

* implement diagnostic tree proposal

* rename v2x param file

* add v2x to launch

* add dummy analyzer to avoid format error

* modify external control

* rename vehicle_ecu_errors

* fixup

* remove num_items

* fix error

* add heartbeat to external command selector

* Restore sensing/node_alive_monitoring

* Update system/autoware_error_monitor/config/diagnostic_aggregator/sensing.param.yaml

Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>

* add sensor_kit arg for diagnostic_agg

* change sensor_kit's default value

* add _ prefix to hide parameter file

* delete dummy parameter

* change to use update_functions

* add extra_agg_config_file_vehicle

* change initializer

* remove line

* Update system/autoware_error_monitor/config/diagnostic_aggregator/system.param.yaml

Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>

* change hearbeat diag

* add clock group

* update sensing diag

* Remove discard and v2x

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix heartbeat name

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add remote_external_control

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add external_control

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Rename remote_control to external_control

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Rename command_gate to control_command_gate

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Simplify resource monitoring

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove sensing from autoware_error_monitor.param.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove trajectory_deviation

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove vehicle specific settings

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add blank lines

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ignore matching_score error

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove debug_data_logger

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add trajectory_validation

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Specify children for performance_monitoring

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Comment out route_validation

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Revert "Remove trajectory_deviation"

This reverts commit 199132f1a6c7083440f0ef9a956b0663d45f4531.

* Remove control_command_topic_status

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Disable some diagnostics for planning simulator

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add TODO comment

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Enable /autoware/vehicle/node_alive_monitoring in planning simulator

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Change autoware_error_monitor config format (autowarefoundation#2244)

* Change autoware_error_monitor config file

use automatically_declare_parameters_from_overrides

Change yaml format

replace default value

move nodeoption to core

simplify parameter splitting code

use set

fix to use at function

merge for loop

add explanation for new format

fix default value

replace DiagLevel

Update system/autoware_error_monitor/src/autoware_error_monitor_core.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

Update system/autoware_error_monitor/src/autoware_error_monitor_core.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

use fmt

change to use uniform initialization

* Change autoware_error_monitor config file

* Fix format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Change formatter to clang-format and black (autowarefoundation#2332)

* Revert "Temporarily comment out pre-commit hooks"

This reverts commit 748e9cdb145ce12f8b520bcbd97f5ff899fc28a3.

* Replace ament_lint_common with autoware_lint_common

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove ament_cmake_uncrustify and ament_clang_format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply Black

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix for cpplint

* Fix include double quotes to angle brackets

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add COLCON_IGNORE (autowarefoundation#500)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* support .auto message (autowarefoundation#529)

* remove VehicleStateReport/VehicleStateCommand/VehicleControlCommand (autowarefoundation#549)

* fix autoware_error_monitor

* fix state monitor

* fix emergency handler(vehicle_state_report)

* fix emergency Handler(vehicle_state_command)

* fix shift_decider

* fix emergency_handler(vehicle_control_command)

* fix topic name

* fix readme

* Update system/autoware_state_monitor/Readme.md

Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>

* fix format

* Update system/autoware_state_monitor/launch/autoware_state_monitor.launch.xml

Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>

* fix typo

Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>

* Fix autoware monitors readme (autowarefoundation#629)

* Fix readme of autoware_state_monitor

* Fix readme of autoware_error_monitor

Co-authored-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>
Co-authored-by: Nikolai Morin <nnmmgit@gmail.com>
Co-authored-by: Jilada Eccleston <jilada.eccleston@gmail.com>
Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com>
Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>
Co-authored-by: Taichi Higashide <taichi.higashide@tier4.jp>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: s-murakami-esol <81723883+s-murakami-esol@users.noreply.github.com>
Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Keisuke Shima <19993104+KeisukeShima@users.noreply.github.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
yukkysaito pushed a commit to yukkysaito/autoware.universe that referenced this issue Jun 29, 2022
* release v0.4.0

* Fixed uninitialized variable. (autowarefoundation#763)

* Fixed various bugs. (autowarefoundation#768)

* Fixed various bugs.

* Fixed wrong status report of NIC.

* Added the mode of CPU Usage to check statistics calculated as averages among all processors by default. (autowarefoundation#788)

* fix uninitialized variables (autowarefoundation#816)

* remove ROS1 packages temporarily

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Revert "remove ROS1 packages temporarily"

This reverts commit a9436882d50dc09fa5b8d6c0a151a10def76b242.

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* add COLCON_IGNORE to ros1 packages

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Rename launch files to launch.xml (autowarefoundation#28)

* Port system monitor to ros2 (autowarefoundation#71)

* Implement a utility function that spins and updates a monitor node.

* Port cpu monitor

* Port hdd monitor.

* Port mem_monitor to ROS2

* Port  net_monitor to ROS2

* Port  ntp_monitor to ROS2

* Port  process_monitor to ROS2

* Port GPU_monitor to ROS2

* Port msr_reader and hdd_reader to ROS2

* Clean up the build and launch files:

* Clean up and comment on CMake and package files.
* Port the launch file to ROS2

* Rename h files to hpp (autowarefoundation#142)

* Change includes

* Rename files

* Adjustments to make things compile

* Other packages

* Adjust copyright notice on 532 out of 699 source files (autowarefoundation#143)

* Use quotes for includes where appropriate (autowarefoundation#144)

* Use quotes for includes where appropriate

* Fix lint tests

* Make tests pass hopefully

* Run uncrustify on the entire Pilot.Auto codebase (autowarefoundation#151)

* Run uncrustify on the entire Pilot.Auto codebase

* Exclude open PRs

* ROS2 Linting: system_monitor (autowarefoundation#207)

* Add linters

* Fix clang-tidy error in util.hpp

* Ros2 v0.8.0 system monitor (autowarefoundation#276)

* fix dependency of system_monitor

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Rename ROS-related .yaml to .param.yaml (autowarefoundation#352)

* Rename ROS-related .yaml to .param.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove prefix 'default_' of yaml files

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Rename vehicle_info.yaml to vehicle_info.param.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Rename diagnostic_aggregator's param files

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix overlooked parameters

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Exclude SwPowerCap as an error. (autowarefoundation#1146) (autowarefoundation#364)

Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com>

* [Update v0.9.0] system monitor (autowarefoundation#365)

* Disable CPU Load Average warning. (autowarefoundation#1147)

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Fix cpu_monitor respawning forever. (autowarefoundation#1150)

* Disable cpu_temperature in planning simulation (autowarefoundation#1151)

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Net Monitor: Handle as an error if specified device not exist. (autowarefoundation#1152)

* Handled as an error if specified device not exist.

* Disable network diags in simulation

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* apply ament_uncrustify

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Disable resource monitoring in planning_simulator (autowarefoundation#1172)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Treat logging errors as safe faults (autowarefoundation#1164)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix test code of system_monitor (autowarefoundation#1178)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>

* Use thread for ntpdate. (autowarefoundation#1160) (autowarefoundation#375)

* Use thread for ntpdate. (autowarefoundation#1160)

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* removed unused variable

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>

* Import v0.9.1 (autowarefoundation#431)

* add local optimal solution ocillation check to ndt_scan_matcher (autowarefoundation#1182)

* Add obstacle_crush diagnostic (autowarefoundation#1186)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix diagnostics api (autowarefoundation#1185)

* Fix diagnostics api

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Don't overwrite level

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Overwrite level of No Fault diagnostics

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add missing diag in autoware_error_monitor.yaml (autowarefoundation#1187)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Filter hazard_status (autowarefoundation#1191)

* Filter hazard_status

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Filter leaf diagnostics

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix wrong calculation of available memory. (autowarefoundation#1168)

* Fixed wrong calculation of available memory.

* Added comments about output example of free -tb command.

* Change monitoring method to get HDD temperature and usage per specified device. (autowarefoundation#1195)

* Changed monitoring method to get temperature and usage per specified device.

* Fixed test codes.

* Removed unnecessary (void) parameter.

* return input pointcloud when ground plane not found (autowarefoundation#1190)

* fix yaw-smoothing bug (autowarefoundation#1198)

* Fix lint

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Taichi Higashide <taichi.higashide@tier4.jp>
Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* Fix typo in system module (autowarefoundation#434)

* Fix typo in system module

* Change variable name

* Move comments

* Apply uncrustify

* Split system_monitor config (autowarefoundation#452)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove unnecessary diagnostic update. (autowarefoundation#455)

* add use_sim-time option (autowarefoundation#454)

* Sync public repo (autowarefoundation#1228)

* [simple_planning_simulator] add readme (autowarefoundation#424)

* add readme of simple_planning_simulator

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Update simulator/simple_planning_simulator/README.md

* set transit_margin_time to intersect. planner (autowarefoundation#460)

* Fix pose2twist (autowarefoundation#462)

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Ros2 vehicle info param server (autowarefoundation#447)

* add vehicle_info_param_server

* update vehicle info

* apply format

* fix bug

* skip unnecessary search

* delete vehicle param file

* fix bug

* Ros2 fix topic name part2 (autowarefoundation#425)

* Fix topic name of traffic_light_classifier

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix topic name of traffic_light_visualization

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix topic name of traffic_light_ssd_fine_detector

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix topic name of traffic_light_map_based_detector

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix lint traffic_light_recognition

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix lint traffic_light_ssd_fine_detector

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix lint traffic_light_classifier

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix lint traffic_light_classifier

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix lint traffic_light_ssd_fine_detector

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>

* Fix issues in hdd_reader (autowarefoundation#466)

* Fix some issues detected by Coverity Scan and Clang-Tidy

* Update launch command

* Add more `close(new_sock)`

* Simplify the definitions of struct

* fix: re-construct laneletMapLayer for reindex RTree (autowarefoundation#463)

* Rviz overlay render fix (autowarefoundation#461)

* Moved painiting in SteeringAngle plugin to update()

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* super class now back to MFD

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* uncrustified

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* acquire data in mutex

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* back to RTD as superclass

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* Rviz overlay render in update (autowarefoundation#465)

* Moved painiting in SteeringAngle plugin to update()

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* super class now back to MFD

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* uncrustified

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* acquire data in mutex

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* removed unnecessary includes and some dead code

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* Adepted remaining vehicle plugin classes to render-in-update concept. Returned to MFD superclass

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

* restored RTD superclass

Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: Makoto Tokunaga <vios-fish@users.noreply.github.com>
Co-authored-by: Adam Dąbrowski <adam.dabrowski@robotec.ai>

* Fix issues in gpu_monitor (autowarefoundation#1248)

* Fix issues in gpu_monitor
* Fix uninitialized variables
* Use range-based for loop
* Fix compile errors of tegra_gpu_monitor
* Replace C-style to C++-style

* Make iterators const

* Fix fmt::format() usage error

* Unify Apache-2.0 license name (autowarefoundation#1242)

* Remove use_sim_time for set_parameter (autowarefoundation#1260)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* [system_monitor] change some nodes into components (autowarefoundation#1234)

Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: Takeshi Miura <takeshi.miura@tier4.jp>
Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp>

* add system_monitor.launch.py (autowarefoundation#1238)

* add system_monitor.launch.py

* refactor system_monitor.launch.py

* fix launch bug

* fix typo

* fix launch py

* fix param loading

* format code

* fix system monitor executor to publish diagnostics asynclonously (autowarefoundation#1283)

* Fix lint errors (autowarefoundation#1378)

* Fix lint errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix variable names

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add kernel CPU usage. (autowarefoundation#1465)

* Add kernel CPU usage.

* Change CPU x: usage to CPU x: total.

* Changed variable name.

* Add markdownlint and prettier (autowarefoundation#1661)

* Add markdownlint and prettier

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ignore .param.yaml

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* suppress warnings for system monitor (autowarefoundation#1723)

* fix for hdd_monitor

* fix no initialization and warning

* change command for ntp_monitor (autowarefoundation#1705)

* [EVT4-403] change command for ntp_monitor

* [EVT4-403] fixed CI build error

* [EVT4-403] fixed cpplint error

* delete executeChronyc thread, fix error topic and log output code

* fix cpplint error and code style divergence

* fix cpplint error(missing correction)

* Fix MD029 (autowarefoundation#1813)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix -Wunused-parameter (autowarefoundation#1836)

* Fix -Wunused-parameter

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix mistake

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* fix spell

* Fix lint issues

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ignore flake8 warnings

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp>

* add gpu usage per process (autowarefoundation#1798)

* add gpu usage per process

* change illegal usage(4294967295%) to 0%, and fix CI running errors

* Replace gettimeofday with rclcpp::Node::now().

* Fix uncrustify error.

* Replace rclcpp::Node::now() with rclcpp::Clock(RCL_SYSTEM_TIME).

Co-authored-by: ito-san <fumihito.ito@tier4.jp>

* fix some typos (autowarefoundation#1941)

* fix some typos

* fix typo

* Fix typo

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* suppress warnings for system directory autowarefoundation#2046

* add sort-package-xml hook in pre-commit (autowarefoundation#1881)

* add sort xml hook in pre-commit

* change retval to exit_status

* rename

* add prettier plugin-xml

* use early return

* add license note

* add tier4 license

* restore prettier

* change license order

* move local hooks to public repo

* move prettier-xml to pre-commit-hooks-ros

* update version for bug-fix

* apply pre-commit

* Add execution time logging. (autowarefoundation#2066)

* Add markdown-link-check pre-commit (autowarefoundation#2215)

* add markdown-lint-check pre-commit

* delete files argument

* add optional hook

* modify comment

* add comment

* delete hook

* add retry option

* add option

* add files arg

* Fix links in hdd_reader.md

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ignore 403

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Ignore tier4 github url

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Update link

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Change formatter to clang-format and black (autowarefoundation#2332)

* Revert "Temporarily comment out pre-commit hooks"

This reverts commit 748e9cdb145ce12f8b520bcbd97f5ff899fc28a3.

* Replace ament_lint_common with autoware_lint_common

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove ament_cmake_uncrustify and ament_clang_format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply Black

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix for cpplint

* Fix include double quotes to angle brackets

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add COLCON_IGNORE (autowarefoundation#500)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* remove COLCON_IGNORE in system_packages and map_tf_generator (autowarefoundation#532)

Co-authored-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>
Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: Nikolai Morin <nnmmgit@gmail.com>
Co-authored-by: Yunus Emre Çalışkan <yunus.ec@gmail.com>
Co-authored-by: Jilada Eccleston <jilada.eccleston@gmail.com>
Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: Takagi, Isamu <isamu.takagi@tier4.jp>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>
Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>
Co-authored-by: Taichi Higashide <taichi.higashide@tier4.jp>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Makoto Tokunaga <vios-fish@users.noreply.github.com>
Co-authored-by: Adam Dąbrowski <adam.dabrowski@robotec.ai>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: Takeshi Miura <takeshi.miura@tier4.jp>
Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp>
Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp>
Co-authored-by: v-kitahara8153 <86092199+v-kitahara8153@users.noreply.github.com>
Co-authored-by: ito-san <fumihito.ito@tier4.jp>
Co-authored-by: Keisuke Shima <19993104+KeisukeShima@users.noreply.github.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
@xmfcx xmfcx added this to the Bus ODD Sep-Oct Milestone milestone Jul 19, 2022
@xmfcx xmfcx moved this to Todo in Bus ODD Project Jul 26, 2022
@xmfcx xmfcx added the priority:low Lower urgency, can be addressed later. label Jul 26, 2022
@NorahXiong
Copy link
Contributor Author

The bug is caused by queuing a node more than once and modifying the node elements for different queues. Such operation results in incorrect data association and exploded when retrieving a queue to generate the final path. It can be fixed by creating an new node instance for data storage every time the node is queued. Another strategy is just to forbid a node to be queued second time just as the implementation in ROS-Nav2.

I tried to fix it by the first method but the node data storage implementation needs alteration as we don't know exactly how many times will a node be queued. I simply substituted the pre-allocation by instant-allocation and the memory consumption obviously decreased and meanwhile the time consumption obviously increased. In general, the performance is not very good. Maybe some other container such as map could improve the instant-allocation performance.

So instead I used the second method with reference to ROS-Nav2 implementation even though it will block some possible paths. I tested several cases after the fix and it works for them all. Maybe the tiny constraint of search space has little influence on the result because the visit to search space is originally very sparse in most cases. In ROS-Nav2 implementation, some tricks as AnalyticExpansion are composed into the main algorithm and I think it could benefit the algorithm to some extent.

If there are better solutions, please let me know.

Repository owner moved this from Todo to Done in Bus ODD Project Sep 6, 2022
saka1-s pushed a commit to saka1-s/autoware.universe that referenced this issue Mar 4, 2024
…dation#6445) (autowarefoundation#1151)

* fix: blockage_range_angle bug



* chore: refactor



* Revert "chore: refactor"

This reverts commit fc43094.

---------

Signed-off-by: badai-nguyen <dai.nguyen@tier4.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) priority:low Lower urgency, can be addressed later. type:bug Software flaws or errors.
Projects
No open projects
Status: Done
3 participants