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, 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_parameter(const char [9])’
this->declare_parameter("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_parameter("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_parameter(const char [12])’
this->declare_parameter("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_parameter("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]
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 expectsfind_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 expectsfind_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, 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_parameter(const char [9])’
this->declare_parameter("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(
^("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_parameter(const char [12])’
this->declare_parameter("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(
^("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
~~~~ /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_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_parameterFailed <<< 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