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

feat: added raw twist in gyro_odometer #676

Merged

Conversation

kminoda
Copy link
Contributor

@kminoda kminoda commented Apr 12, 2022

Signed-off-by: kminoda koji.minoda@tier4.jp

Description

Modified gyro_odometer so that the node outputs raw twist data.

The current version only outputs twist data with a zero-mask function which converts twist.angular to 0 when the vehicle is stopped.
By additionally publishing the raw twist data, we can estimate gyroscope bias in a more simple and stable fashion.

Screenshot from 2022-04-12 16-25-32

Screenshot from 2022-04-12 16-08-34

Tests performed

Run logging_simulator.launch.xml with my rosbag and confirmed the following points:

  • All the estimation works fine
  • gyro_odometer outputs /localization/twist_estimator/twist_with_covariance_raw, which has non-zero value even when the vehicle is stopped

Notes for reviewers

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.
  • The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

Signed-off-by: kminoda <koji.m.minoda@gmail.com>
@kminoda kminoda changed the title feat: added raw twist output from gyro_odometer feat(gyro_odometer): added raw twist output from gyro_odometer Apr 12, 2022
@kminoda kminoda changed the title feat(gyro_odometer): added raw twist output from gyro_odometer feat: added raw twist output from gyro_odometer Apr 12, 2022
@codecov
Copy link

codecov bot commented Apr 12, 2022

Codecov Report

Merging #676 (8870b15) into main (dc682e6) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #676      +/-   ##
==========================================
- Coverage   10.59%   10.59%   -0.01%     
==========================================
  Files         734      734              
  Lines       51719    51761      +42     
  Branches     6596     6596              
==========================================
  Hits         5482     5482              
- Misses      41777    41819      +42     
  Partials     4460     4460              
Flag Coverage Δ *Carryforward flag
differential 0.00% <0.00%> (?)
total 10.59% <0.00%> (+<0.01%) ⬆️ Carriedforward from 7548ac2

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files Coverage Δ
...alization/gyro_odometer/src/gyro_odometer_core.cpp 0.00% <0.00%> (ø)
...or_path_planner/src/behavior_path_planner_node.cpp 0.00% <0.00%> (ø)
...r/src/freespace_planner/freespace_planner_node.cpp 0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dc682e6...8870b15. Read the comment docs.

@kminoda kminoda marked this pull request as ready for review April 12, 2022 07:19
@kminoda kminoda requested a review from YamatoAndo April 12, 2022 07:23
@kminoda kminoda self-assigned this Apr 12, 2022
13304490790 pushed a commit to 13304490790/autoware.universe that referenced this pull request Apr 12, 2022
* Porting remote cmd selector (autowarefoundation#1286)

* Feature/add remote cmd selector (autowarefoundation#1179)

* Add in/out args of remote_cmd_converter.launch

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

* Change remote input topic of vehicle_cmd_gate

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

* Add msgs for remote_cmd_selector

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

* Add remote_cmd_selector

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

* Rename remote_cmd_selector to external_cmd_selector

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

* Remove VehicleCommand support in autoware_joy_controller

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

* Support external_cmd_source in autoware_joy_controller.launch (autowarefoundation#1194)

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

* Fix porting miss

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

* fix missing function

* modify xml format

* fix include guard

* add callback group

* modify remap name

* Revert "modify remap name"

This reverts commit 169cc8d28442825b1d61b0439b9892c913304527.

* change topic name

* use rclcpp_component

* Remove autoware_debug_msgs from autoware_joy_controller

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

* Change default mode of autoware_joy_controller

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>

* fix ament (autowarefoundation#1307)

* Ros2/create/external commands (autowarefoundation#1299)

* add remote message

* add remote commands

* fix topic

* remove unnecessary topic

* remove unused topic

* add external cmd instead

* ToExternalComd

* fix topic in joy con

* 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>

* suppress warnings for control packages (autowarefoundation#1892)

* add Werror

* add maybe unused

* Add autoware api (autowarefoundation#1979)

* Move launch file of external_cmd_selector (autowarefoundation#2017)

* Move launch file of external_cmd_selector

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

* Add copyright

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

* Use DeclareLaunchArgument

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

* Fix external command api name

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

* Move common parameters

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

* Fix format

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

* Fix format

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

* 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

* 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>

* Fix missing dependency of external_cmd_selector (autowarefoundation#2324)

Signed-off-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>

* port part of external_cmd_selector (autowarefoundation#497)

* port part of external_cmd_selector

Signed-off-by: Kosuke Murakami <kosuke.murakami@tier4.jp>

* add convert function

Signed-off-by: kosuke murakami <kosuke.murakami@tier4.jp>

* port signal

Signed-off-by: kosuke murakami <kosuke.murakami@tier4.jp>

* Update control/external_cmd_selector/include/external_cmd_selector/external_cmd_selector_node.hpp

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* Fix publisher in external_cmd_selector (autowarefoundation#676)

Co-authored-by: Keisuke Shima <keisuke.shima@tier4.jp>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>
Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Keisuke Shima <19993104+KeisukeShima@users.noreply.github.com>
Co-authored-by: Kosuke Murakami <kosuke.murakami@tier4.jp>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>
Signed-off-by: kminoda <koji.m.minoda@gmail.com>
@kminoda kminoda changed the title feat: added raw twist output from gyro_odometer feat: added raw twist in gyro_odometer Apr 12, 2022
@kminoda kminoda requested a review from yukkysaito April 13, 2022 07:43
@yukkysaito
Copy link
Contributor

@kminoda @YamatoAndo Currently, bias estimation seems to be done by the calibration tool, but can it be estimated online?
If not, then it appears that bias estimation needs to be done inside gyro odometor. If so, is this topic necessary?

@kminoda
Copy link
Contributor Author

kminoda commented Apr 13, 2022

@yukkysaito (cc: @YamatoAndo )
Thank you for the comment.

Currently, we only have an offline estimation tool, but we do have a plan to develop and release an online yaw rate bias estimation function. The following figure is one possible architecture, which can also make use of the twist_raw proposed in this PR. (just one of the several possible architectures)
スクリーンショット 2022-04-14 8 20 01

Although the goal of this PR at this moment is an offline estimation using calibration_tools, we also have the above online estimation architecture in our mind.

@kminoda kminoda merged commit 1da3e61 into autowarefoundation:main Apr 14, 2022
@kminoda kminoda deleted the feature/add_raw_twist_in_gyro_odometer branch April 14, 2022 08:13
boyali referenced this pull request in boyali/autoware.universe Sep 28, 2022
* feat: added raw twist output from gyro_odometer

Signed-off-by: kminoda <koji.m.minoda@gmail.com>

* fix: prettier

Signed-off-by: kminoda <koji.m.minoda@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
* feat: added raw twist output from gyro_odometer

Signed-off-by: kminoda <koji.m.minoda@gmail.com>

* fix: prettier

Signed-off-by: kminoda <koji.m.minoda@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
* feat: added raw twist output from gyro_odometer

Signed-off-by: kminoda <koji.m.minoda@gmail.com>

* fix: prettier

Signed-off-by: kminoda <koji.m.minoda@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 19, 2022
* feat: added raw twist output from gyro_odometer

Signed-off-by: kminoda <koji.m.minoda@gmail.com>

* fix: prettier

Signed-off-by: kminoda <koji.m.minoda@gmail.com>
iwatake2222 pushed a commit to iwatake2222/autoware.universe that referenced this pull request Jan 17, 2025
Kazunori-Nakajima pushed a commit to Kazunori-Nakajima/autoware.universe that referenced this pull request Feb 6, 2025
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.

3 participants