Skip to content

ScoutM zed fork Repo from zed_robot_integration results in build failure for scout_base_ros #49

@Core310

Description

@Core310

Preliminary Checks

  • This issue is not a duplicate. Before opening a new issue, please search existing issues.
  • This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description

When building the zed-ros2 from the stereolabs ros2 fork, it results in a build failure due to wrongly updated method overloads and several other minor issues.

Opening this issue to see if it's a common issue as I've found a workaround fork here. If it's reproducible I'll add in a PR to mention this fork in the tutorial.

Steps to Reproduce

Follow zed_robot_integration steps in Install the dependencies.

cd <ros2_workspace>/src
git clone https://github.com/stereolabs/scout_ros2.git
git clone https://github.com/westonrobot/ugv_sdk.git
git clone https://github.com/westonrobot/async_port.git
cd ..
sudo apt update
rosdep update
rosdep install --from-paths src --ignore-src -r -y # install dependencies
colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release --parallel-workers $(nproc) # build the workspace
source ~/.bashrc

Expected Result

colcon build should proceed without issue and running both of the following commands should produce no issues:

ros2 launch scout_base scout_mini_base.launch.py 

ros2 run teleop_twist_keyboard teleop_twist_keyboard 

Actual Result

Build for scout_base_ros package fails.

Output of build error:

391 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate expects 4 arguments, 1 provided /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:20:26: error: no matching function for call to ‘westonrobot::ScoutBaseRos::declare_parameter(const char [11])’ 20 | this->declare_parameter("odom_frame"); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/include/scout_base/scout_base_ros.hpp:16, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:10: /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: candidate: ‘template auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’ 421 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: template argument deduction/substitution failed: /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:20:26: note: candidate expects 4 arguments, 1 provided 20 | this->declare_parameter("odom_frame"); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/include/scout_base/scout_base_ros.hpp:16, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:10: /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: candidate: ‘template auto rclcpp::Node::declare_parameter(const string&, const ParameterDescriptor&, bool)’ 434 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: template argument deduction/substitution failed: /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:20:26: note: couldn’t deduce template parameter ‘ParameterT’ 20 | this->declare_parameter("odom_frame"); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/include/scout_base/scout_base_ros.hpp:16, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:10: /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, const rclcpp::ParameterValue&, const ParameterDescriptor&, bool)’ 366 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate expects 4 arguments, 1 provided /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, rclcpp::ParameterType, const ParameterDescriptor&, bool)’ 391 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate expects 4 arguments, 1 provided /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:21:26: error: no matching function for call to ‘westonrobot::ScoutBaseRos::declare_parameter(const char [11])’ 21 | this->declare_parameter("base_frame"); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, rclcpp::ParameterType, const ParameterDescriptor&, bool)’ 391 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate expects 4 arguments, 1 provided /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:22:26: error: no matching function for call to ‘westonrobot::ScoutBaseRos::declare_parameter(const char [16])’ 22 | this->declare_parameter("odom_topic_name"); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/include/scout_base/scout_base_ros.hpp:16, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:10: /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: candidate: ‘template auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’ 421 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: template argument deduction/substitution failed: /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:22:26: note: candidate expects 4 arguments, 1 provided 22 | this->declare_parameter("odom_topic_name"); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/include/scout_base/scout_base_ros.hpp:16, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:10: /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: candidate: ‘template auto rclcpp::Node::declare_parameter(const string&, const ParameterDescriptor&, bool)’ 434 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: template argument deduction/substitution failed: /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:22:26: note: couldn’t deduce template parameter ‘ParameterT’ 22 | this->declare_parameter("odom_topic_name"); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/include/scout_base/scout_base_ros.hpp:16, from /home/cinnalab/github/FRANCIS/src/scout2Mini/scout_ros2/scout_base/src/scout_base_ros.cpp:10: /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, const rclcpp::ParameterValue&, const ParameterDescriptor&, bool)’ 366 | declare_parameter( | ^~~~~~~~~~~~~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate expects 4 arguments, 1 provided

ZED Camera model

ZED2i

Environment

- Ubuntu 22.04.5 LTS
- ROS2 Humble
- Jetpack 6.1 
- Nvida AGX Orion 
- zed2i (but doesn't matter)

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions