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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions