Skip to content

Commit

Permalink
Merge branch 'main' into nebula_robosense
Browse files Browse the repository at this point in the history
  • Loading branch information
amc-nu authored Sep 5, 2023
2 parents 64c09dc + e0d05a7 commit 11833de
Show file tree
Hide file tree
Showing 9 changed files with 22 additions and 4 deletions.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,17 @@
Nebula is a sensor driver platform that is designed to provide a unified framework for as wide a variety of devices as possible.
While it primarily targets Ethernet-based LiDAR sensors, it aims to be easily extendable to support new sensors and interfaces.
Nebula provides the following features:
- Support for Velodyne and Hesai sensors, with other LiDAR vendor support under development
- ROS 2 interface implementations
- Abstraction of sensor decoders and hardware interfaces available as libraries
- TCP/IP and UDP communication implementations
- Abstraction of sensor decoders and hardware interfaces available as libraries
- Handling of standard LiDAR functionality, including but not limited to:
- Configuration of communication settings such as sensor and host IP addresses and communication ports
- Configuration of scan speed, synchronization settings, scan phase, and field of view
- Receiving and conversion of UDP packet data into point clouds in Cartesian co-ordinates
- Receiving and interpretation of diagnostics information from the sensor
- Support for multiple return modes and labelling of return types for each point


With a rapidly increasing number of sensor types and models becoming available, and varying levels of vendor and third-party driver support, Nebula creates a centralized driver methodology. We hope that this project will be used to facilitate active collaboration and efficiency in development projects by providing a platform that reduces the need to re-implement and maintain many different sensor drivers. Contributions to extend the supported devices and features of Nebula are always welcome.

Expand Down
1 change: 1 addition & 0 deletions nebula_common/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<author>Tier IV</author>

<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>ros_environment</buildtool_depend>

<depend>libpcl-all-dev</depend>
<depend>pcl_conversions</depend>
Expand Down
1 change: 1 addition & 0 deletions nebula_decoders/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<author>Tier IV</author>

<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>ros_environment</buildtool_depend>

<depend>angles</depend>
<depend>libpcl-all-dev</depend>
Expand Down
1 change: 1 addition & 0 deletions nebula_examples/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<author>Tier IV</author>

<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>ros_environment</buildtool_depend>

<depend>diagnostic_msgs</depend>
<depend>diagnostic_updater</depend>
Expand Down
4 changes: 2 additions & 2 deletions nebula_messages/pandar_msgs/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
<name>pandar_msgs</name>
<version>0.0.0</version>
<description>
ROS message definition for the Heisai PandarQT/Pandar64/Pandar40P/Pandar20A/Pandar20B/Pandar40M LiDAR
ROS message definition for the Hesai PandarQT/Pandar64/Pandar40P/Pandar20A/Pandar20B/Pandar40M LiDAR
sensor.
</description>
<maintainer email="[email protected]">hirakawa</maintainer>
<license>Apache 2</license>

<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>rosidl_default_generators</buildtool_depend>

<depend>builtin_interfaces</depend>
Expand Down
2 changes: 1 addition & 1 deletion nebula_messages/velodyne_msgs/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<maintainer email="[email protected]">Perception Engine</maintainer>
<license>BSD</license>

<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>rosidl_default_generators</buildtool_depend>

<depend>std_msgs</depend>
Expand Down
1 change: 1 addition & 0 deletions nebula_ros/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<author>Tier IV</author>

<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>ros_environment</buildtool_depend>

<depend>diagnostic_msgs</depend>
<depend>diagnostic_updater</depend>
Expand Down
5 changes: 5 additions & 0 deletions nebula_ros/src/velodyne/velodyne_decoder_ros_wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ VelodyneDriverRosWrapper::VelodyneDriverRosWrapper(const rclcpp::NodeOptions & o
void VelodyneDriverRosWrapper::ReceiveScanMsgCallback(
const velodyne_msgs::msg::VelodyneScan::SharedPtr scan_msg)
{
auto t_start = std::chrono::high_resolution_clock::now();

// take packets out of scan msg
std::vector<velodyne_msgs::msg::VelodynePacket> pkt_msgs = scan_msg->packets;

Expand Down Expand Up @@ -85,6 +87,9 @@ void VelodyneDriverRosWrapper::ReceiveScanMsgCallback(
rclcpp::Time(SecondsToChronoNanoSeconds(std::get<1>(pointcloud_ts)).count());
PublishCloud(std::move(ros_pc_msg_ptr), aw_points_ex_pub_);
}

auto runtime = std::chrono::high_resolution_clock::now() - t_start;
RCLCPP_DEBUG(get_logger(), "PROFILING {'d_total': %lu, 'n_out': %lu}", runtime.count(), pointcloud->size());
}

void VelodyneDriverRosWrapper::PublishCloud(
Expand Down
1 change: 1 addition & 0 deletions nebula_tests/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<author>Tier IV</author>

<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>ros_environment</buildtool_depend>

<depend>diagnostic_msgs</depend>
<depend>diagnostic_updater</depend>
Expand Down

0 comments on commit 11833de

Please sign in to comment.