Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
* first commit

* Add CI

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

* release livox driver(beta ver.) (#1)

* add colcon build env. (base code is 0624e)

* move some hpp files, add src folder in livox driver

* trivial modification

* Update README.md

* remove unneccesary files

* remove unneccesary header

* move third-party source files

* update code(20210630)

* Delete different test files.

* README.md add "4. running"

* README crlf

* HwInterface/udp_socket.hpp

* modify for ros2 run error

* Update README.md

* accumulate_count

* time_stamp

* struct LivoxPointXyzrtl packed

* GetEchoNumPerPoint()

* cloud.width 24000

* time_base -> time_stamp

* code fix

* cloud.width update

* code fix

* code fix

* StreamStart retry 30sec

* code fix

* rviz2

* fix format

* <br>

* format ros2wrapper

* frame_id

* frame_id

* Update README.md

* Update README.md

* discussion_r664993039

* typo typo brief and only English in the comments. and LivoxDataCallback delete

* PI -> M_PI

* Revert "PI -> M_PI"

This reverts commit c54bbe3b3c1954f82247d38570bdf71a3ddf38b6.

* PI -> M_PI 2nd

* thread pointer -> shared_ptr

* modify CMakelists.txt and package.xml to using ament_cmake_auto

* README.md

* default node name

* add composable node (#4)

* add composable node

* fix conflicts

* fix exec node

* change sensor name fix to variable

* fix can use ros2_wrapper_main.cpp

* README.md

* default node name

* change namespace

* add namespace to topic names

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>

* package.xml maintainer and README.md

* #discussion_r666683800

* #discussion_r666712110

* #discussion_r665125337

* #discussion_r664995104

* #discussion_r666078326

* #discussion_r665121366

* #discussion_r665121366 Expansion

* typedef enum -> enum

* typedef enum -> enum

* #discussion_r665121708

* #discussion_r665124279

* #discussion_r664995791

* typo #discussion_r670300391

* #discussion_r664987903

* Revert "#discussion_r664987903"

This reverts commit 97d78e64c13e5bb59b98bd1f17f1bfd527384852.

* #discussion_r664987903

* #discussion_r664988302

* #discussion_r664989270

* #discussion_r664989004

* CMakeList.txt remove(-g -O0)

* smart_pointers. #issuecomment-878771481

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>
Co-authored-by: v-nagai7872@esol.co.jp <v-nagai7872@esol.co.jp>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>

* fix for the issue with the termination process when powering off (#5)

* add colcon build env. (base code is 0624e)

* move some hpp files, add src folder in livox driver

* trivial modification

* Update README.md

* remove unneccesary files

* remove unneccesary header

* move third-party source files

* update code(20210630)

* Delete different test files.

* README.md add "4. running"

* README crlf

* HwInterface/udp_socket.hpp

* modify for ros2 run error

* Update README.md

* accumulate_count

* time_stamp

* struct LivoxPointXyzrtl packed

* GetEchoNumPerPoint()

* cloud.width 24000

* time_base -> time_stamp

* code fix

* cloud.width update

* code fix

* code fix

* StreamStart retry 30sec

* code fix

* rviz2

* fix format

* <br>

* format ros2wrapper

* frame_id

* frame_id

* Update README.md

* Update README.md

* discussion_r664993039

* typo typo brief and only English in the comments. and LivoxDataCallback delete

* PI -> M_PI

* Revert "PI -> M_PI"

This reverts commit c54bbe3b3c1954f82247d38570bdf71a3ddf38b6.

* PI -> M_PI 2nd

* thread pointer -> shared_ptr

* modify CMakelists.txt and package.xml to using ament_cmake_auto

* README.md

* default node name

* add composable node (#4)

* add composable node

* fix conflicts

* fix exec node

* change sensor name fix to variable

* fix can use ros2_wrapper_main.cpp

* README.md

* default node name

* change namespace

* add namespace to topic names

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>

* package.xml maintainer and README.md

* #discussion_r666683800

* #discussion_r666712110

* #discussion_r665125337

* #discussion_r664995104

* #discussion_r666078326

* #discussion_r665121366

* #discussion_r665121366 Expansion

* typedef enum -> enum

* typedef enum -> enum

* #discussion_r665121708

* #discussion_r665124279

* #discussion_r664995791

* esol_ReviewNo6

* esol_ReviewNo26

* esol_ReviewNo24

* Revert "esol_ReviewNo24"

This reverts commit 0e8f33341186d6fa4a905de45c8f9aa28b8d29cb.

* Revert "esol_ReviewNo24"

This reverts commit 0e8f33341186d6fa4a905de45c8f9aa28b8d29cb.

* esol_ReviewNo24

* esol_ReviewNo27

* esol_ReviewNo17

* format

* esol_ReviewNo21

* develop #1 6bae863876bfda52db848ed31e415a3b16a0b6a8

* tab -> space

* develop marge

* CMakeLists.txt remove(-g -O0)

* T4PUB-358 1st

* format and bug-fix

* 5#discussion_r677475332

* Add comment semaphore_

* 5#discussion_r678802453

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>
Co-authored-by: v-nagai7872@esol.co.jp <v-nagai7872@esol.co.jp>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: h-mitsui-esol <57085544+h-mitsui-esol@users.noreply.github.com>

* Refactor 1st (#6)

* Refactor 1st

* pull/6#discussion_r681704754

* pull/6#discussion_r682172984

* pull/6#discussion_r681705368

* pull/6#discussion_r680921593 and pull/6#discussion_r680922194

* pull/6#discussion_r681711654

* 6#discussion_r682170555

* Use default qos for imu (#8)

Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>

* Fix/esol/livox driver utest (#9)

* Refactor 1st

* pull/6#discussion_r681704754

* pull/6#discussion_r682172984

* pull/6#discussion_r681705368

* pull/6#discussion_r680921593 and pull/6#discussion_r680922194

* pull/6#discussion_r681711654

* 6#discussion_r682170555

* livox_driver utest 1st

* T4PUB-437 bug fix.

* Fix merge failure 3371552e395f1817adb3a32ea9f95360d72019f8

* pull/9#discussion_r689167375 and pull/9#discussion_r689204716

* Livox Diagnostics (#10)

* Livox Diagnostics. Initial non working commit

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* clang. add tier4 format

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* gitignore. Add Tier4 ignore file

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* wip

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* wip 2

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* code adaptations to new main branch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* wip 3 get device status from sensor

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* adaptations for diagnostics from eth packet

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* RosWrapper. parse and report Diagnostics

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* lidar_driver. fix getcommandid switch

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. fix switch indent

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* git workflow. test CI token

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* livox_command. Remove unused CommandPushAbnormalState struct

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* add fallthroughts

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* apply t4 formatting

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* livox_diagnostics. remove unnecessary code for boolean vars

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. clarify level comparison with enum

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* livox_diagnostics. remove unncessary comma at the end of enum

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. group diagnostics members

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* gitignore. remove aw related entries

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. simplify ros diagnostics string

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* revert fallthroughs on switch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* replace shift logic for bit fields

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* add private keyword to clarify

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* separate diagnostics, remove static definition

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* add missing StatusCodeToLivoxMotorStatus

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Separate diagnostics to multiple reports

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* update status from sensor

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* wrapper. remove the namespace from the diagnostic task

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_wrapper. remove unncessary lidar_identifier

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* nebula structure

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula wip

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* remove transport driver

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* move livox, start nebula base

* reorganize pkg

* Initial POC Hesai driver structure

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* POC Hesai driver hw interface

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* initial 'working' version

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* restructuration

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* README

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* attempts at getting the UDP driver to work

* fix hw_interface

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* clang. update with t4 format

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. add missing headers

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* start of packet handling

* hesai_msgs. add jumbo message

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* hesai. add packet parsing and scan formation code

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* apply clang formatting

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* hesai_ros. reorder includes

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* hesai_ros. todo

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* initial working hesai udp driver

* apply clang format

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ROS wrappers

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* add hesai_decoders base and implementations

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Hesai initial full working version

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* small cleanup and standardization

* Velodyne Release

* GitLab CI YAML

* Update .gitlab-ci.yml

* Update README.md

* overflow bug fix

* Update .gitlab-ci.yml

* velodyne. add vlp16 launch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. add hdl32 launch file

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. add vlp16hr

Signed-off-by: PE <abraham.monrroy@tier4.jp>

* pandar40 decoder. fix typo

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. v2. tcp/diag/monitoring

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* v2.1. PandarAT128 Dual only support

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. add pandar128 sample launch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar at128. single last/strongest echo + ptp timestamp support

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* fix: prevent build error from logger parenthesis

* v2.1. hesai/velodyne setup single/dual at launch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Bump actions/checkout from 2 to 3.1.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: build error from Hesai hardware interface

* tcp depend, readme

* move to composable node

* .py launch for all sensors

* .py launch how-to

* deprecate esol driver

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Bump streetsidesoftware/cspell-action from 1.1.1 to 2.15.0

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 1.1.1 to 2.15.0.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v1.1.1...v2.15.0)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump actions/checkout from 3.1.0 to 3.2.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Nebula decoder test pr (#12)

* Offline bug fix

* Extract pcd and bag for each pandar_packets

* initial test decorder code (hesai at128)

* Offline bug fix

* Extract pcd and bag for each pandar_packets

* initial test decorder code (hesai at128)

* testing decorder

* Changed package name back to pandar_msgs

* add_launch_test was tried, but it didn't work

* cleanup

* fix naming

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* messages. hesai cleanup

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* gtests. cmake cleanup

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* sample. fix warnings

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* messages. remove c++ tests from ROS messages

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* cleanup comments

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* code cleanup

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* offline_sample. remove dependencies

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. velodyne add missing dependency

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. add missing dependency

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula oofline. add missing dependency

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Update build-and-test.yml

CI. adapt default branch name.

* Bump streetsidesoftware/cspell-action from 2.15.0 to 2.15.1 (#15)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.15.0 to 2.15.1.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.15.0...v2.15.1)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Testing decoder (AT128 & XT32M) (#14)

* Testing decoder (AT128 & XT32M)

* clang format. add clang format testing and formatting

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* .clang-format. remove file

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* tests. use relative path for tests

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* README. How to run tests

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CMakeLists. default to C++17

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* tests. code clean up

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* github actions. enable CI testing

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* repos.  replace dependency repository branch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* tests. reset node at the end of the test exection

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. fix naming for composable nodes and simplify

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* bug. add missing streamstart for hw composable nodes

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* apply clang format

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Github Actions. Run CI tests only for nebula packages

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Testing decoder (40P, 64, QT64, XT32, VLP16) (#17)

* Testing decoder (AT128 & XT32M)

* velodyne_ros_offline_extract_pcd

* Add 40P, 64, QT64, XT32

* vlp16

* vlp16 fix

* velodyne_http. update api to transport drivers with beast requiring namespaces

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Bump ros-tooling/setup-ros from 0.2 to 0.5 (#20)

Bumps [ros-tooling/setup-ros](https://github.com/ros-tooling/setup-ros) from 0.2 to 0.5.
- [Release notes](https://github.com/ros-tooling/setup-ros/releases)
- [Commits](https://github.com/ros-tooling/setup-ros/compare/v0.2...v0.5)

---
updated-dependencies:
- dependency-name: ros-tooling/setup-ros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump streetsidesoftware/cspell-action from 2.15.1 to 2.16.0 (#18)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.15.1 to 2.16.0.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.15.1...v2.16.0)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 3.2.0 to 3.3.0 (#16)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build_depends. update transport_drivers repo

* Testing VLS128 (#21)

* Testing VLS128

* transport_drivers. api

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* 312cd76's forgotten items...

* build_depends. switch to boost from asio on transport_drivers

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

---------

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Pandar OT 128E4X Initial support (#25)

* wip. pandar ot

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* wip. missing correction

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar128e4x. add calibration file

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar_ot. initial working version

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar_ot. clean up

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. apply clang format

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

---------

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Fix cpu (#27)

* fix decoders

* add declaration of dual_return_distance_threshold

* nebula_common. reorder return modes to match previous definition

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

---------

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: tokuda99 <kosuke.tokuda@tier4.jp>

* Fix velodyne cpu (#28)

* fix declaration of descriptor.type and delete dual_return_distance_threshold of velodyne

* add dual_return_distance_threshold to paramCallback option and add it to launch file param

* clang-format

* Docs of nebula driver (#19)

* nebula common 1

* nebula common 2

* hesai, velodyne

* Bump streetsidesoftware/cspell-action from 2.16.0 to 2.20.0 (#26)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.16.0 to 2.20.0.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.16.0...v2.20.0)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump ros-tooling/setup-ros from 0.5 to 0.6 (#33)

Bumps [ros-tooling/setup-ros](https://github.com/ros-tooling/setup-ros) from 0.5 to 0.6.
- [Release notes](https://github.com/ros-tooling/setup-ros/releases)
- [Commits](https://github.com/ros-tooling/setup-ros/compare/v0.5...v0.6)

---
updated-dependencies:
- dependency-name: ros-tooling/setup-ros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump streetsidesoftware/cspell-action from 2.20.0 to 2.22.0 (#32)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.20.0 to 2.22.0.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.20.0...v2.22.0)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump ros-tooling/action-ros-ci from 0.2 to 0.3 (#31)

Bumps [ros-tooling/action-ros-ci](https://github.com/ros-tooling/action-ros-ci) from 0.2 to 0.3.
- [Release notes](https://github.com/ros-tooling/action-ros-ci/releases)
- [Commits](https://github.com/ros-tooling/action-ros-ci/compare/v0.2...v0.3)

---
updated-dependencies:
- dependency-name: ros-tooling/action-ros-ci
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* first commit

* Add CI

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

* release livox driver(beta ver.) (#1)

* add colcon build env. (base code is 0624e)

* move some hpp files, add src folder in livox driver

* trivial modification

* Update README.md

* remove unneccesary files

* remove unneccesary header

* move third-party source files

* update code(20210630)

* Delete different test files.

* README.md add "4. running"

* README crlf

* HwInterface/udp_socket.hpp

* modify for ros2 run error

* Update README.md

* accumulate_count

* time_stamp

* struct LivoxPointXyzrtl packed

* GetEchoNumPerPoint()

* cloud.width 24000

* time_base -> time_stamp

* code fix

* cloud.width update

* code fix

* code fix

* StreamStart retry 30sec

* code fix

* rviz2

* fix format

* <br>

* format ros2wrapper

* frame_id

* frame_id

* Update README.md

* Update README.md

* discussion_r664993039

* typo typo brief and only English in the comments. and LivoxDataCallback delete

* PI -> M_PI

* Revert "PI -> M_PI"

This reverts commit c54bbe3b3c1954f82247d38570bdf71a3ddf38b6.

* PI -> M_PI 2nd

* thread pointer -> shared_ptr

* modify CMakelists.txt and package.xml to using ament_cmake_auto

* README.md

* default node name

* add composable node (#4)

* add composable node

* fix conflicts

* fix exec node

* change sensor name fix to variable

* fix can use ros2_wrapper_main.cpp

* README.md

* default node name

* change namespace

* add namespace to topic names

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>

* package.xml maintainer and README.md

* #discussion_r666683800

* #discussion_r666712110

* #discussion_r665125337

* #discussion_r664995104

* #discussion_r666078326

* #discussion_r665121366

* #discussion_r665121366 Expansion

* typedef enum -> enum

* typedef enum -> enum

* #discussion_r665121708

* #discussion_r665124279

* #discussion_r664995791

* typo #discussion_r670300391

* #discussion_r664987903

* Revert "#discussion_r664987903"

This reverts commit 97d78e64c13e5bb59b98bd1f17f1bfd527384852.

* #discussion_r664987903

* #discussion_r664988302

* #discussion_r664989270

* #discussion_r664989004

* CMakeList.txt remove(-g -O0)

* smart_pointers. #issuecomment-878771481

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>
Co-authored-by: v-nagai7872@esol.co.jp <v-nagai7872@esol.co.jp>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>

* fix for the issue with the termination process when powering off (#5)

* add colcon build env. (base code is 0624e)

* move some hpp files, add src folder in livox driver

* trivial modification

* Update README.md

* remove unneccesary files

* remove unneccesary header

* move third-party source files

* update code(20210630)

* Delete different test files.

* README.md add "4. running"

* README crlf

* HwInterface/udp_socket.hpp

* modify for ros2 run error

* Update README.md

* accumulate_count

* time_stamp

* struct LivoxPointXyzrtl packed

* GetEchoNumPerPoint()

* cloud.width 24000

* time_base -> time_stamp

* code fix

* cloud.width update

* code fix

* code fix

* StreamStart retry 30sec

* code fix

* rviz2

* fix format

* <br>

* format ros2wrapper

* frame_id

* frame_id

* Update README.md

* Update README.md

* discussion_r664993039

* typo typo brief and only English in the comments. and LivoxDataCallback delete

* PI -> M_PI

* Revert "PI -> M_PI"

This reverts commit c54bbe3b3c1954f82247d38570bdf71a3ddf38b6.

* PI -> M_PI 2nd

* thread pointer -> shared_ptr

* modify CMakelists.txt and package.xml to using ament_cmake_auto

* README.md

* default node name

* add composable node (#4)

* add composable node

* fix conflicts

* fix exec node

* change sensor name fix to variable

* fix can use ros2_wrapper_main.cpp

* README.md

* default node name

* change namespace

* add namespace to topic names

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>

* package.xml maintainer and README.md

* #discussion_r666683800

* #discussion_r666712110

* #discussion_r665125337

* #discussion_r664995104

* #discussion_r666078326

* #discussion_r665121366

* #discussion_r665121366 Expansion

* typedef enum -> enum

* typedef enum -> enum

* #discussion_r665121708

* #discussion_r665124279

* #discussion_r664995791

* esol_ReviewNo6

* esol_ReviewNo26

* esol_ReviewNo24

* Revert "esol_ReviewNo24"

This reverts commit 0e8f33341186d6fa4a905de45c8f9aa28b8d29cb.

* Revert "esol_ReviewNo24"

This reverts commit 0e8f33341186d6fa4a905de45c8f9aa28b8d29cb.

* esol_ReviewNo24

* esol_ReviewNo27

* esol_ReviewNo17

* format

* esol_ReviewNo21

* develop #1 6bae863876bfda52db848ed31e415a3b16a0b6a8

* tab -> space

* develop marge

* CMakeLists.txt remove(-g -O0)

* T4PUB-358 1st

* format and bug-fix

* 5#discussion_r677475332

* Add comment semaphore_

* 5#discussion_r678802453

Co-authored-by: mitui.hide <h-mitsui@esol.co.jp>
Co-authored-by: v-nagai7872@esol.co.jp <v-nagai7872@esol.co.jp>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: h-mitsui-esol <57085544+h-mitsui-esol@users.noreply.github.com>

* Refactor 1st (#6)

* Refactor 1st

* pull/6#discussion_r681704754

* pull/6#discussion_r682172984

* pull/6#discussion_r681705368

* pull/6#discussion_r680921593 and pull/6#discussion_r680922194

* pull/6#discussion_r681711654

* 6#discussion_r682170555

* Use default qos for imu (#8)

Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>

* Fix/esol/livox driver utest (#9)

* Refactor 1st

* pull/6#discussion_r681704754

* pull/6#discussion_r682172984

* pull/6#discussion_r681705368

* pull/6#discussion_r680921593 and pull/6#discussion_r680922194

* pull/6#discussion_r681711654

* 6#discussion_r682170555

* livox_driver utest 1st

* T4PUB-437 bug fix.

* Fix merge failure 3371552e395f1817adb3a32ea9f95360d72019f8

* pull/9#discussion_r689167375 and pull/9#discussion_r689204716

* Livox Diagnostics (#10)

* Livox Diagnostics. Initial non working commit

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* clang. add tier4 format

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* gitignore. Add Tier4 ignore file

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* wip

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* wip 2

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* code adaptations to new main branch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* wip 3 get device status from sensor

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* adaptations for diagnostics from eth packet

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* RosWrapper. parse and report Diagnostics

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* lidar_driver. fix getcommandid switch

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. fix switch indent

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* git workflow. test CI token

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* livox_command. Remove unused CommandPushAbnormalState struct

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* add fallthroughts

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* apply t4 formatting

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* livox_diagnostics. remove unnecessary code for boolean vars

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. clarify level comparison with enum

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* livox_diagnostics. remove unncessary comma at the end of enum

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. group diagnostics members

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* gitignore. remove aw related entries

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_driver_wrapper. simplify ros diagnostics string

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* revert fallthroughs on switch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* replace shift logic for bit fields

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* add private keyword to clarify

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* separate diagnostics, remove static definition

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* add missing StatusCodeToLivoxMotorStatus

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Separate diagnostics to multiple reports

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* update status from sensor

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* wrapper. remove the namespace from the diagnostic task

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ros2_wrapper. remove unncessary lidar_identifier

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* nebula structure

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula wip

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* remove transport driver

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* move livox, start nebula base

* reorganize pkg

* Initial POC Hesai driver structure

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* POC Hesai driver hw interface

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* initial 'working' version

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* restructuration

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* README

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* attempts at getting the UDP driver to work

* fix hw_interface

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. add missing headers

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* start of packet handling

* hesai_msgs. add jumbo message

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* hesai. add packet parsing and scan formation code

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* apply clang formatting

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* hesai_ros. reorder includes

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* hesai_ros. todo

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* initial working hesai udp driver

* apply clang format

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* ROS wrappers

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* add hesai_decoders base and implementations

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* Hesai initial full working version

Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>

* small cleanup and standardization

* Velodyne Release

* GitLab CI YAML

* Update .gitlab-ci.yml

* Update README.md

* overflow bug fix

* Update .gitlab-ci.yml

* velodyne. add vlp16 launch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. add hdl32 launch file

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. add vlp16hr

Signed-off-by: PE <abraham.monrroy@tier4.jp>

* pandar40 decoder. fix typo

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. v2. tcp/diag/monitoring

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* v2.1. PandarAT128 Dual only support

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. add pandar128 sample launch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar at128. single last/strongest echo + ptp timestamp support

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* fix: prevent build error from logger parenthesis

* v2.1. hesai/velodyne setup single/dual at launch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* fix: build error from Hesai hardware interface

* tcp depend, readme

* move to composable node

* .py launch for all sensors

* .py launch how-to

* deprecate esol driver

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Bump actions/checkout from 2 to 3.1.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Nebula decoder test pr (#12)

* Offline bug fix

* Extract pcd and bag for each pandar_packets

* initial test decorder code (hesai at128)

* Offline bug fix

* Extract pcd and bag for each pandar_packets

* initial test decorder code (hesai at128)

* testing decorder

* Changed package name back to pandar_msgs

* add_launch_test was tried, but it didn't work

* cleanup

* fix naming

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* messages. hesai cleanup

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* gtests. cmake cleanup

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* sample. fix warnings

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* messages. remove c++ tests from ROS messages

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* cleanup comments

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* code cleanup

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* offline_sample. remove dependencies

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. velodyne add missing dependency

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula. add missing dependency

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula oofline. add missing dependency

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CI. test

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Testing decoder (AT128 & XT32M) (#14)

* Testing decoder (AT128 & XT32M)

* clang format. add clang format testing and formatting

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* .clang-format. remove file

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* tests. use relative path for tests

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* README. How to run tests

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* CMakeLists. default to C++17

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* tests. code clean up

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* github actions. enable CI testing

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* repos.  replace dependency repository branch

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* tests. reset node at the end of the test exection

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. fix naming for composable nodes and simplify

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* bug. add missing streamstart for hw composable nodes

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* apply clang format

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Testing decoder (40P, 64, QT64, XT32, VLP16) (#17)

* Testing decoder (AT128 & XT32M)

* velodyne_ros_offline_extract_pcd

* Add 40P, 64, QT64, XT32

* vlp16

* vlp16 fix

* velodyne_http. update api to transport drivers with beast requiring namespaces

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* build_depends. update transport_drivers repo

* Testing VLS128 (#21)

* Testing VLS128

* transport_drivers. api

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* 312cd76's forgotten items...

* build_depends. switch to boost from asio on transport_drivers

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

---------

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: Abraham Cano <abrahammonrroy@yahoo.com>

* style(pre-commit): autofix

* style(pre-commit): autofix

* Update build_depends.repos

* Bump streetsidesoftware/cspell-action from 2.22.0 to 2.24.0 (#35)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.22.0 to 2.24.0.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.22.0...v2.24.0)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 3.3.0 to 3.4.0 (#36)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add Documentation (#37)

* Documentation. Initial MkDocs+MkDoxy Generator

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* github actions. enable mkdocs

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* github actions. documentation add sudo

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* github actions. documentation add pip

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* github actions. documentation add pip

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* github actions. documentation add pip

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

---------

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* documentation. run only on succesful merge

* Bump actions/cache from 2 to 3 (#39)

Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump streetsidesoftware/cspell-action from 2.24.0 to 2.25.0 (#38)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.24.0 to 2.25.0.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.24.0...v2.25.0)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump streetsidesoftware/cspell-action from 2.25.0 to 2.26.0 (#40)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.25.0 to 2.26.0.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.25.0...v2.26.0)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump streetsidesoftware/cspell-action from 2.26.0 to 2.26.1 (#42)

Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 2.26.0 to 2.26.1.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v2.26.0...v2.26.1)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Point timestamp returntype update to match T4 requirements (#41)

* Add setup_sensor flag for hw drivers

* point timestamp, point.return_type

* Support QT128

* qt to qt64

* pandar128e4x. change point type

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar128e4x. clean up

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar128. reserve data

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* signed to unsigned, debug

* fixed

* QT128 Dual

* QT128 timestamp fixed

* Repository restructure

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* config. restructure files

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* driver. restructure

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* offline_sample. require nebula

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Separate Nebula into multiple libraries

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Apply clang format

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* nebula_common. rearrange return types

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* mkdocs. update generation to match new repository structure

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Ament Bug. Component not installing binaries

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* hw_interface. do not fail when packet size is incorrect

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* hesai_status. PAndatAT128 support Dual only

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* at128 decoder. store the azimuth value

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* launch. add missing correction file param

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* cmake. fix velodyne missing export from nebula_common

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* return_type(VLP32)

* hesai_hw_interface. reduce verbosity

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* docs. add/update mkdocs

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Load correction dat with resolution

* at128. cleanup

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* nebula_monitor. cleanup

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* return_type of hesai

* QT64 fix

* nebula all. apply clang format

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula_decoders. cleanup decoders

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* velodyne_decoders. cleanup

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* nebula_decoders. clang format

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* Mkdocs. add how to add sensor

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* IDENTICAL in QT128

* Changed ReturnType from velodyne_scan_decoder to nebula_common

* code cleanup

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* wip. get calibration from sensor

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* get calib from sensor with callback

* README. update return modes

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* cleanup. remove comments

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* clang. apply clang

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* add syncGetLidarCalibration

* Remove livox_msgs

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* rename messages to nebula_messages

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* messages. rename to nebula_messages

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* add new point type

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* clang. apply

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Create nebula_sensor_driver metapackage

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Use local file if connect fails

* apply clang format

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* out pcd only xyz

* TEST using only a single PCD including only XYZ

* test. update ci testing

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* clean up. angle dependencies

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* README. include new point type

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* github. ci. dont updgrade base image to accelerate build

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* decoders. remove type warnings

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

---------

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Signed-off-by: amc-nu <abraham.monrroy@gmail.com>
Co-authored-by: Kyutoku <github@kyutoku.cloud>

* delete unecessary packages

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Remove old doc files

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* package.xml remove unnecessary dependencies

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* remove deprecated packages

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Add PointCloud conversion methods

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Replace AT128's PCD file to fix testing (#43)

* replace AT128 pcd file for test

* apply clang format

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

---------

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>
Co-authored-by: Kyutoku <github@kyutoku.cloud>

* Cpu optimization (#44)

* Remove Boost warnings

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Optimize Pandar40P

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Pandar64 optimization

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* PointTypes. standardize point types

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Add radian based elevation calculation Pandar40P,64

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* qt64. radian based coordinate calculation

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* xt32. radian based coordinate calculation

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* qt128. radian based coordinate calculation

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* qt128. radian based coordinate calculation

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandar40. precalculate sin/cos

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* pandarxt. precalculate te sin/cos

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* apply sin/cos optimization to all decoders

Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>

* launch. fix python launch file

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* point_type. caetr SSE alignment optimization

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* hesai_hw. remove warning

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* point_types. add sse description for caetr

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* README. run tests only for nebula packages

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* clang. apply ament_clang reformat

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Replace 40P, 64, QT64 and XT32s' PCD files to fix testing

* remove clang-format from tests

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* Local path check not required for online acquisition

* Adding timeouts to correction data acquisition

* Disable calibration query

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

---------

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>
Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Co-authored-by: Kyutoku <github@kyutoku.cloud>

* style(pre-commit): autofix

* style(pre-commit): autofix

* remove unnecesary dependency

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* velodyne. add monitor to velodyne

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* monitor. reduce reporting verbosity, frequency

Signed-off-by: amc-nu <abraham.monrroy@gmail.com>

* style(pre-commit): autofix

---------

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>
Signed-off-by: amc-nu <abrahammonrroy@yahoo.com>
Signed-off-by: Abraham Cano <abrahammonrroy@yahoo.com>
Signed-off-by: PE <abraham.monrroy@tier4.jp>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: amc-nu <abraham.monrroy@gmail.com>
Co-authored-by: h-mitsui-esol <h-mitsui@esol.co.jp>
Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp>
Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: n-hamaike-esol <50005860+n-hamaike-esol@users.noreply.github.com>
Co-authored-by: v-nagai7872@esol.co.jp <v-nagai7872@esol.co.jp>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: h-mitsui-esol <57085544+h-mitsui-esol@users.noreply.github.com>
Co-authored-by: Kosuke Takeuchi <kosuke.tnp@gmail.com>
Co-authored-by: Jacob Lambert <jacob.lambert@tier4.jp>
Co-authored-by: Jacob Lambert <yacob.lambert@gmail.com>
Co-authored-by: PE <abraham.monrroy@tier4.jp>
Co-authored-by: David Wong <david.wong@tier4.jp>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Q <github@kyutoku.cloud>
Co-authored-by: tokuda99 <kosuke.tokuda@tier4.jp>
Co-authored-by: tokuda99 <110436081+tokuda99@users.noreply.github.com>
Co-authored-by: wep21 <wep21@users.noreply.github.com>
Co-authored-by: tier4-nebula-app[bot] <tier4-nebula-app[bot]@users.noreply.github.com>
Co-authored-by: amc-nu <amc-nu@users.noreply.github.com>
  • Loading branch information
20 people authored May 25, 2023
1 parent 2f18e34 commit b47442e
Show file tree
Hide file tree
Showing 201 changed files with 31,816 additions and 2 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: ROS2 CI

on:
pull_request:
branches:
- "main"

jobs:
test_environment:
runs-on: [ubuntu-latest]
strategy:
fail-fast: false
matrix:
ros_distribution:
- foxy
- galactic
- rolling
include:
# Foxy Fitzroy (June 2020 - May 2023)
- docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-foxy-ros-base-latest
ros_distribution: foxy
ros_version: 2
# Galactic Geochelone (May 2021 - November 2022)
- docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-galactic-ros-base-latest
ros_distribution: galactic
ros_version: 2
# Rolling Ridley (June 2020 - Present)
- docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-rolling-ros-base-latest
ros_distribution: rolling
ros_version: 2
container:
image: ${{ matrix.docker_image }}
steps:
- name: Checkout
uses: actions/checkout@v3.4.0
with:
fetch-depth: 2

- name: Search packages in this repository
id: list_packages
run: |
echo ::set-output name=package_list::$(colcon list --names-only)
- name: Setup ROS environment
uses: ros-tooling/setup-ros@v0.6
with:
required-ros-distributions: ${{ matrix.ros_distribution }}

- name: build and test
uses: ros-tooling/action-ros-ci@v0.3
with:
package-name: ${{ steps.list_packages.outputs.package_list }}
target-ros2-distro: ${{ matrix.ros_distribution }}
vcs-repo-file-url: build_depends.repos
import-token: ${{ secrets.GITHUB_TOKEN }}
28 changes: 28 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: documentation
on:
pull_request:
types: [closed]
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
key: ${{ github.ref }}
path: .cache
- uses: actions/setup-python@v4
with:
python-version: 3.x
- run: |
sudo apt update && sudo apt install -y doxygen && \
pip install mkdocs-material \
mkdocs \
mkdocs-material \
Jinja2 \
ruamel.yaml && \
pip install git+https://github.com/JakubAndrysek/mkdoxy
- run: mkdocs gh-deploy --force
23 changes: 23 additions & 0 deletions .github/workflows/spell_check_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Check spelling

on:
pull_request:
branches:
- main

jobs:
spellcheck:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3.4.0

- name: Retrieve spell check dictionary
run: |
curl --silent --show-error \
--output .github/workflows/.cspell.json \
https://raw.githubusercontent.com/tier4/autoware-spell-check-dict/main/cspell/.cspell.json
- uses: streetsidesoftware/cspell-action@v2.26.1
with:
config: ".github/workflows/.cspell.json"
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,17 @@ install/
log/

# Python
srv/_*.py
*.pyc

# Ignore generated docs
*.dox
.mkdoxy/
*.wikidoc
site/
# eclipse stuff
.project
.cproject

# qcreator stuff
CMakeLists.txt.user
12 changes: 12 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
stages:
- build

test_build:
stage: build
image: ros:foxy
script:
- DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install libboost1.71-dev
- rosdep update
- mkdir -p src_tmp/$CI_PROJECT_NAME && mv `find -maxdepth 1 -not -name . -not -name src_tmp` src_tmp/$CI_PROJECT_NAME && mv src_tmp src
- DEBIAN_FRONTEND=noninteractive rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
- colcon build
201 changes: 199 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,200 @@
# ros2-project-template
# Nebula Lidar Driver

Project template for ROS2
## How to build

Builds on ROS Galactic and Humble. Be sure to install dependencies using `rosdep`:

`rosdep install --from-paths src --ignore-src -y -r`

A [TCP enabled version of ROS' Transport Driver](https://github.com/MapIV/transport_drivers/tree/tcp) is required to use Nebula. You can install it manually or pull it inside this repository using vcs:

`vcs import . < build_depends.repos`

Then compile with colcon, optionally enabling symlink:

`colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release`

## How to run Tests

Run tests:

```
colcon test --event-handlers console_cohesion+ --packages-above nebula_common
```

Show results:

```
colcon test-result --all
```

## Generic Launch File

You can easily run the sensor hardware interface, the sensor hardware monitor and sensor driver using (e.g. Pandar64):

`ros2 launch nebula_ros nebula_launch.py sensor_model:=Pandar64`

If you don't want to launch the hardware (i.e. working on rosbag) set the `launch_hw` flag to false:

`ros2 launch nebula_ros nebula_launch.py sensor_model:=Pandar64 launch_hw:=false`

If you don't want the hardware driver to perform the sensor configuration communication (i.e. limited number of connections) set the `setup_sensor` flag to false:

`ros2 launch nebula_ros nebula_launch.py sensor_model:=Pandar64 setup_sensor:=false`

You should ideally provide a config file for your specific sensor, but default ones are provided `nebula_drivers/config`

`ros2 launch nebula_ros nebula_launch.py sensor_model:=Pandar64 config_file:=your_sensor.yaml`

## Hesai LiDARs

Supported models, where sensor_model is the ROS param to be used at launch:

| Model | sensor_model |
| ------------- | ------------ |
| Pandar 64 | Pandar64 |
| Pandar 40P | Pandar40P |
| Pandar XT32 | PandarXT32 |
| Pandar XT32M | PandarXT32M |
| Pandar QT64 | PandarQT64 |
| Pandar QT128 | PandarQT128 |
| Pandar AT128 | PandarAT128 |
| Pandar 128E4X | Pandar128E4X |

Supported return modes per model:

| Sensor Model | return_mode | type |
| ------------ | -------------- | ------ |
| Pandar XT32M | Last | Single |
| Pandar XT32M | Strongest | Single |
| Pandar XT32M | LastStrongest | Dual |
| Pandar XT32M | First | Single |
| Pandar XT32M | LastFirst | Dual |
| Pandar XT32M | FirstStrongest | Dual |
| Pandar XT32M | Dual | Dual |
| --- | --- | --- |
| Pandar AT128 | Last | Single |
| Pandar AT128 | Strongest | Single |
| Pandar AT128 | LastStrongest | Dual |
| Pandar AT128 | First | Single |
| Pandar AT128 | LastFirst | Dual |
| Pandar AT128 | FirstStrongest | Dual |
| Pandar AT128 | Dual | Dual |
| --- | --- | --- |
| Pandar QT128 | Last | Single |
| Pandar QT128 | Strongest | Single |
| Pandar QT128 | LastStrongest | Dual |
| Pandar QT128 | First | Single |
| Pandar QT128 | LastFirst | Dual |
| Pandar QT128 | FirstStrongest | Dual |
| Pandar QT128 | Dual | Dual |
| --- | --- | --- |
| Pandar QT64 | Last | Single |
| Pandar QT64 | Dual | Dual |
| Pandar QT64 | First | Single |
| --- | --- | --- |
| Pandar 40P | Last | Single |
| Pandar 40P | Strongest | Single |
| Pandar 40P | Dual | Dual |
| --- | --- | --- |
| Pandar 64 | Last | Single |
| Pandar 64 | Strongest | Single |
| Pandar 64 | Dual | Dual |

Common ROS params:

| Parameter | Type | Default | Accepted Values | Description |
| ------------ | ------ | ------- | -------------------------- | ---------------- |
| sensor_model | string | | See supported models | |
| return_mode | string | | See supported return modes | |
| frame_id | string | pandar | | ROS frame ID |
| scan_phase | double | 0 | degrees [0, 360[ | Scan start angle |

### Hesai Hardware Interface

Launches the UDP hardware connection to a live sensor and publishes HesaiScan messages. E.g.:
`ros2 launch nebula_ros hesai_hw_interface.xml sensor_model:=Pandar40P return_mode:=Dual`
Unique params:

| Parameter | Type | Default | Accepted Values | Description |
| --------------- | ------ | ----------- | ----------------- | --------------- |
| sensor_ip | string | 192.168.0.1 | | Sensor IP |
| host_ip | string | 192.168.0.1 | | Host IP |
| data_port | uint16 | 2368 | | Sensor port |
| gnss_port | uint16 | 2369 | | GNSS port |
| frequency_ms | uint16 | 100 | milliseconds, > 0 | Time per scan |
| packet_mtu_size | uint16 | 1500 | | Packet MTU size |

### Hesai Driver

Launches the hesai driver which subscribes to HesaiScan messages and converts them to PointCloud2. E.g.:
`ros2 launch nebula_ros hesai_driver.xml sensor_model:=Pandar40P return_mode:=Dual`
Unique params:

| Parameter | Type | Default | Accepted Values | Description |
| ---------------- | ------ | ------- | --------------- | ---------------------- |
| calibration_file | string | | | LiDAR calibration file |

## Velodyne LiDARs

| Model | sensor_model | Config |
| --------------------- | ------------ | ------------------ |
| VLP-16 | VLP16 | VLP16.yaml |
| VLP-16-HiRes | VLP16 | VLP16_hires.yaml |
| VLP-32 | VLP32 | VLP32.yaml |
| VLS-128 (Alpha Prime) | HDL64 | VLS128.yaml |
| | | |
| Untested: | | |
| HDL-32 | PandarQT64 | HDL32.yaml |
| HDL-64E (default) | HDL64 | HDL64e_utexas.yaml |
| HDL-64E S2 | HDL64 | HDL64e_s2.yaml |
| HDL-64E S3 | HDL64 | HDL64e_s3.yaml |

Supported return modes:

| Mode | return_mode |
| ------------------ | --------------- |
| Single (First) | SingleFirst |
| Single (Strongest) | SingleStrongest |
| Single (Last) | SingleLast |
| Dual | Dual |

Common ROS params:

| Parameter | Type | Default | Accepted Values | Description |
| ------------ | ------ | ------- | -------------------------- | ---------------- |
| sensor_model | string | | See supported models | |
| return_mode | string | | See supported return modes | |
| frame_id | string | pandar | | ROS frame ID |
| scan_phase | double | 0 | degrees [0, 360[ | Scan start angle |

### Velodyne Hardware Interface

Launches the UDP hardware connection to a live sensor and publishes VelodyneScan messages. E.g.:
`ros2 launch nebula_ros velodyne_hw_interface.xml sensor_model:=VLS128 return_mode:=Dual`
Unique params:

| Parameter | Type | Default | Accepted Values | Description |
| --------------- | ------ | ----------- | --------------- | --------------- |
| sensor_ip | string | 192.168.0.1 | | Sensor IP |
| data_port | uint16 | 2368 | | Sensor port |
| gnss_port | uint16 | 2369 | | GNSS port |
| frequency_ms | uint16 | 100 | ms, > 0 | Time per scan |
| packet_mtu_size | uint16 | 1500 | | Packet MTU size |

### Velodyne Driver

Launches the Velodyne driver which subscribes to VelodyneScan messages and converts them to PointCloud2. E.g.:
`ros2 launch nebula_ros velodyne_driver.xml sensor_model:=VLS128 return_mode:=Dual`
Unique params:

| Parameter | Type | Default | Accepted Values | Description |
| ---------------- | ------ | ------- | ---------------- | --------------------------------------- |
| calibration_file | string | | | LiDAR calibration file |
| min_range | double | 0.3 | meters, >= 0.3 | Minimum point range published |
| max_range | double | 300 | meters, <= 300 | Maximum point range published |
| view_width | double | 360 | degrees ]0, 360] | Horizontal FOV centered at `scan_phase` |

## Diagrams

![DriverOrganization](docs/diagram.png)
5 changes: 5 additions & 0 deletions build_depends.repos
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
repositories:
# TCP version of transport drivers
transport_drivers:
type: git
url: https://github.com/MapIV/transport_drivers
version: tcp
Empty file added docs/about.md
Empty file.
7 changes: 7 additions & 0 deletions docs/add_sensor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# How to add your sensor

1. Add your sensor to the `SensorModel` enumeration class located in the `nebula_common.hpp` header inside the `nebula_common` package.
2. Add your sensor model string to the `SensorModelFromString` method in the `nebula_common.hpp` header inside the `nebula_common` package.
3. Write the sensor decoder for your sensor. This class is in charge of converting raw packets to point clouds. This class should implement the abstract class defined in `nebula_driver_base.hpp` inside the `nebula_decoders` package. Add methods as the sensor requires.
4. Write the sensor hardware interface. This class is in charge of obtaining raw packets from the sensor using the `transport_drivers` library, accumulating them to form a scan, and making them available for consumption through callbacks. This class should implement the `nebula_hw_interface_base.hpp` inside the `nebula_hw_interfaces` package. Add methods as the sensor requires.
5. Write the ROS wrappers. The ROS wrappers use the sensor libraries to obtain raw data, decode it and convert it to PointCloud2 ROS messages. The Decoder wrapper receives the configuration and calibration data from files and sends them as structures to the decoder and the hw_interface.
Loading

0 comments on commit b47442e

Please sign in to comment.