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

LiDAR timestamping policy is required #1249

Closed
6 tasks done
drwnz opened this issue Jul 6, 2022 · 2 comments
Closed
6 tasks done

LiDAR timestamping policy is required #1249

drwnz opened this issue Jul 6, 2022 · 2 comments
Assignees
Labels
component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) type:new-feature New functionalities or additions, feature requests.

Comments

@drwnz
Copy link
Contributor

drwnz commented Jul 6, 2022

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I've agreed with the maintainers that I can plan this task.

Description

Currently, individual LiDAR drivers have differing implementations on how timestamps are applied to pointcloud messages.
In the commonly used Velodyne and Hesai drivers, the pointcloud message timestamp comes from the timestamp of the first point of the pointcloud. This has some drawbacks:

  • When there are no points in the pointcloud, the message header behavior is undefined
  • When there is a blockage or other cause of no points to be returned at the start of the scan, the pointcloud message timestamp will be later than expected (the time between consecutive pointcloud timestamps will not necessarily be constant)
  • Unpredictable pointcloud message timestamps may cause downstream synchronization tasks to fail or give incorrect correspondences

Purpose

Determine a policy for how pointclouds should be timestamped, considering downstream perception tasks and synchronization.

Possible approaches

  • Include parameters in the LiDAR drivers to enable the user to choose how timestamps are added to messages
  • Use the pointcloud's first packet timestamp for the message header timestamp
    • This may not coincide perfectly with the start of the scan, as packets contain multiple points that may result in the pointcloud start being somewhere in the middle of the packet
  • Use the timestamp from the first point even when no point is present (azimuth and ring data is still in the packet even when there is no return)
  • Also consider options to timestamp at the end of the scan, or middle of the scan to ease synchronization with other sensors

Definition of done

Definition of a LiDAR pointcloud message timestamping policy for Autoware.

  • Determine the desired behavior for reliable operation in downstream tasks
  • Implement the timestamping methodology in the Hesai, Velodyne, and other supported LiDAR drivers to align with the defined policy
  • Test operation in pointcloud preprocessor and perception tasks (especially where synchronization is required between sensors)
@drwnz drwnz added type:new-feature New functionalities or additions, feature requests. component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) labels Jul 6, 2022
miursh pushed a commit to miursh/autoware.universe that referenced this issue Jul 12, 2022
* release v0.4.0

* remove ROS1 packages temporarily

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

* Revert "remove ROS1 packages temporarily"

This reverts commit a2dc52036f5950188b5b4caedb2edcd36d3e5860.

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

* add COLCON_IGNORE to ros1 packages

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

* ROS2 Porting: raw_vehicle_cmd_converter (autowarefoundation#9)

* remove dependency to unused std_msgs package

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

* rm COLCON_IGNORE

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

* port raw_vehicle_cmd_converter to ROS2

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

* port raw_vehicle_cmd_converter.launch to ROS2

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

* fix typo

Co-authored-by: Frederik Beaujean <72439809+fred-apex-ai@users.noreply.github.com>

* fix typo

Co-authored-by: Frederik Beaujean <72439809+fred-apex-ai@users.noreply.github.com>

* remove include_directories form CMakeLists.txt

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

* fix order of includes

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

* add missing comments

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

Co-authored-by: Frederik Beaujean <72439809+fred-apex-ai@users.noreply.github.com>

* fix duration unit for RCLCPP_*_THROTTLE (autowarefoundation#75)

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

* 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: raw_vehicle_cmd_converter (autowarefoundation#161)

* Add linters

* Process linter corrections

* apply env_var to  use_sim_time (autowarefoundation#222)

* Ros2 v0.8.0 raw vehicle cmd converter (autowarefoundation#268)

* restore raw_vehicle_cmd_converter files for 0.8.0 update

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

* fix typos in vehicle modules (autowarefoundation#954)

* add get func (autowarefoundation#1088)

* Revert "restore raw_vehicle_cmd_converter files for 0.8.0 update"

This reverts commit f243f26e20490757a332566aa92196553a682aa6.

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* update target branch for ci (autowarefoundation#309)

* update target branch for ci

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

* [as]: Fix lint

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

* [latlon_muxer]: Fix lint

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

* [map_based_prediction]: Fix lint

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

* [raw_vehicle_cmd_converter]: Fix lint

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

* [remote_cmd_converter]: Fix lint

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

* [turn_signal_decider]: Fix lint

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

Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp>

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

* add plot_accel_brake_map.py (autowarefoundation#1249) (autowarefoundation#1296)

* add plot_accel_brake_map.py (autowarefoundation#1249)

* add plot_accel_brake_map.py

* call plotter from rosrun

* add permission

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

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* delete debug message

* Add license

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

* apply format

* fix code

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp>
Co-authored-by: tomoya.kimura <tomoya.kimura@tier4.jp>

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

* enable to designate directory of maps (autowarefoundation#1301) (autowarefoundation#1480)

* enable to designate directory of maps

* add error handling

* use argparser

Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com>

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

* Feature/vehicle interface improvements (autowarefoundation#1361) (autowarefoundation#1688)

* Feature/vehicle interface improvements (autowarefoundation#1361)

* add vehicle msg

* add pacmod interface

* add eps controller

* use each control commands instead of vehicle command

* fixed details

* fixed speell check

* const

* fixed brake status

* publish cmd when recieving ctrl cmd

* fix shift cmd ptr

* remove unused function and set proper license

* fix names

* fix typo for pacmod

* remove unnecessary waiting

* use flags, limit, multiarray

* remove accel brake dependency

* fix retrun value

* replace eps to steer

* cosmetic change for namespace

* fix segfo and retval

* Use Enum instead of int

* remove unused var

* add const

* rename to calcFFMap

* prev time steer calc

* add sample csv

* add new line

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

* Apply lint

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

* Fix build failure for remote cmd converter

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

* Fix lint

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

* replace to vehicle cmd emergency (autowarefoundation#1710) (autowarefoundation#1717)

* Fix subscriber topic type

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

* Fix rclcpp::Time initialization

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

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

* default debug value false in raw vehicle cmd converter (autowarefoundation#1755)

* default debug value false in raw vehicle cmd converter

* spell check

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

* [raw vehicle cmd converter] apply autoware auto msgs (autowarefoundation#519)

* remove ignore

* replace to autoware auto control message

* use localization odometry

* apply steering report

* appluy clang format

* cosmetic change

* fix spell check

* update to readme

* update launch

* minor fix

* precommit fix

* update README.md

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

* using AckermannControlCommand

* fix format

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

* move cmd converters to control pkg (autowarefoundation#642)

* auto/revert cmd converter (autowarefoundation#680)

* Revert "move cmd converters to control pkg (autowarefoundation#642)"

This reverts commit 19a10f9419aa25ef7a37e51c5df8f65b75cf8887.

* fix topic

* Auto/readme cmd converter (autowarefoundation#692)

* fix format

* add readme external cmd converter

* fix lint

* fiix sentence

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

* fix format

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

* fix sentence

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

* better expression

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

Co-authored-by: taikitanaka3 <taiki.tanaka@tier4.jp>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* fix door cmd topic (autowarefoundation#711)

* fix door cmd topic

* fix topic

Co-authored-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp>
Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com>
Co-authored-by: Frederik Beaujean <72439809+fred-apex-ai@users.noreply.github.com>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Nikolai Morin <nnmmgit@gmail.com>
Co-authored-by: Jilada Eccleston <jilada.eccleston@gmail.com>
Co-authored-by: Kosuke Murakami <kosuke.murakami@tier4.jp>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp>
Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: Keisuke Shima <keisuke.shima@tier4.jp>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>
Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com>
Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp>
Co-authored-by: Keisuke Shima <19993104+KeisukeShima@users.noreply.github.com>
Co-authored-by: taikitanaka3 <taiki.tanaka@tier4.jp>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
@stale
Copy link

stale bot commented Sep 4, 2022

This pull request has been automatically marked as stale because it has not had recent activity.

@stale stale bot added the status:stale Inactive or outdated issues. (auto-assigned) label Sep 4, 2022
@stale stale bot removed the status:stale Inactive or outdated issues. (auto-assigned) label Sep 14, 2023
@drwnz
Copy link
Contributor Author

drwnz commented Sep 14, 2023

This is now discussed here: https://github.com/orgs/autowarefoundation/discussions/3578

And largely handled by this proposal: https://github.com/orgs/autowarefoundation/discussions/3442#discussioncomment-5986829

Therefore, this issue will be closed.

@drwnz drwnz closed this as completed Sep 14, 2023
saka1-s pushed a commit to saka1-s/autoware.universe that referenced this issue May 23, 2024
…-out-improve

feat(behavior_velocity_run_out): cherry pick feature improvements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) type:new-feature New functionalities or additions, feature requests.
Projects
None yet
Development

No branches or pull requests

5 participants