ros-drivers/ros2_ouster_drivers

ROS2 Driver Support for OSx on Eloquent

ermuir opened this issue · 1 comments

I have a requirement to (still) run ROS2 Eloquent on Ubuntu 18.04 and would like to integrate an OS0-32 and an OS2-32 sensor. I am able to successfully build from the Eloquent-devel branch, but the repo indicates it is for OS1 lidars. When I attempt to build from the ros2 branch, I get an error I believe due to the underlying ROS2 Eloquent (see below).

I am trying to make the move to Ubuntu 22.04 (which I successfully installed the ros2 branch on a different computer). But in the mean time, I was curious if anyone has had success with running all OSx lidars on ROS2 Eloquent.

Thanks,

Eric

Here is the error from running: colcon build

Starting >>> ouster_msgs
Finished <<< ouster_msgs [3.14s]
Starting >>> ros2_ouster
--- stderr: ros2_ouster
CMake Warning (dev) at /usr/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (eigen) does
not match the name of the calling package (PCL). This can lead to problems
in calling code that expects find_package result variables (e.g.,
_FOUND) to follow a certain pattern.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:153 (find_package_handle_standard_args)
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:638 (find_eigen)
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:850 (find_external_library)
CMakeLists.txt:23 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (PCL_COMMON)
does not match the name of the calling package (PCL). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:911 (find_package_handle_standard_args)
CMakeLists.txt:23 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

/home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/src/ouster_driver.cpp: In constructor ‘ros2_ouster::OusterDriver::OusterDriver(std::unique_ptr<ros2_ouster::SensorInterface>, const rclcpp::NodeOptions&)’:
/home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/src/ouster_driver.cpp:51:50: error: no matching function for call to ‘ros2_ouster::OusterDriver::declare_parameterstd::__cxx11::string(const char [9])’
this->declare_parameterstd::string("lidar_ip");
^
In file included from /opt/ros/eloquent/include/rclcpp_lifecycle/lifecycle_node.hpp:665:0,
from /home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/include/ros2_ouster/interfaces/lifecycle_interface.hpp:20,
from /home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/src/ouster_driver.cpp:22:
/opt/ros/eloquent/include/rclcpp_lifecycle/lifecycle_node_impl.hpp:135:1: note: candidate: template auto rclcpp_lifecycle::LifecycleNode::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&)
LifecycleNode::declare_parameter(
^~~~~~~~~~~~~
/opt/ros/eloquent/include/rclcpp_lifecycle/lifecycle_node_impl.hpp:135:1: note: template argument deduction/substitution failed:
/home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/src/ouster_driver.cpp:51:50: note: candidate expects 3 arguments, 1 provided
this->declare_parameterstd::string("lidar_ip");
^
/home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/src/ouster_driver.cpp:52:53: error: no matching function for call to ‘ros2_ouster::OusterDriver::declare_parameterstd::__cxx11::string(const char [12])’
this->declare_parameterstd::string("computer_ip");
^
In file included from /opt/ros/eloquent/include/rclcpp_lifecycle/lifecycle_node.hpp:665:0,
from /home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/include/ros2_ouster/interfaces/lifecycle_interface.hpp:20,
from /home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/src/ouster_driver.cpp:22:
/opt/ros/eloquent/include/rclcpp_lifecycle/lifecycle_node_impl.hpp:135:1: note: candidate: template auto rclcpp_lifecycle::LifecycleNode::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&)
LifecycleNode::declare_parameter(
^~~~~~~~~~~~~
/opt/ros/eloquent/include/rclcpp_lifecycle/lifecycle_node_impl.hpp:135:1: note: template argument deduction/substitution failed:
/home/volair/ros2_ouster_drivers/ros2_ws/src/ros2_ouster_drivers/ros2_ouster/src/ouster_driver.cpp:52:53: note: candidate expects 3 arguments, 1 provided
this->declare_parameterstd::string("computer_ip");
^
make[2]: *** [CMakeFiles/ouster_driver_core.dir/src/ouster_driver.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/ouster_driver_core.dir/all] Error 2
make: *** [all] Error 2

Failed <<< ros2_ouster [10.9s, exited with code 2]

Summary: 1 package finished [14.2s]
1 package failed: ros2_ouster
1 package had stderr output: ros2_ouster

Latest PR resolves.