gokulp01 / ros2-ublox-zedf9p Goto Github PK
View Code? Open in Web Editor NEWROS2 drivers for U-blox ZED F9P
ROS2 drivers for U-blox ZED F9P
when I build packages, there were three types of error
In file included from /opt/ros/foxy/include/rclcpp/node.hpp:1224,
from /opt/ros/foxy/include/rclcpp/executors/single_threaded_executor.hpp:28,
from /opt/ros/foxy/include/rclcpp/executors.hpp:22,
from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
from /home/nuc/ublox_ws/src/ros2-ublox-zedf9p/ublox_gps/src/node.cpp:42:
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::_cxx11::basic_string; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor<std::allocator >]’:
/home/nuc/ublox_ws/src/ros2-ublox-zedf9p/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: error: no matching function for call to ‘rclcpp::ParameterValue::getrclcpp::ParameterType() const’
169 | ).get();
| ^
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:148:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_BOOL), const bool&>::type rclcpp::ParameterValue::get() const’
148 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:148:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:159:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_INTEGER), const long int&>::type rclcpp::ParameterValue::get() const’
159 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:159:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:170:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_DOUBLE), const double&>::type rclcpp::ParameterValue::get() const’
170 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::_cxx11::basic_string; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor<std::allocator >]’
/home/nuc/ublox_ws/src/ros2-ublox-zedf9p/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:254:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const bool&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::_cxx11::basic_string; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor<std::allocator >]’:
/home/nuc/ublox_ws/src/ros2-ublox-zedf9p/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:263:3: note: candidate: ‘template constexpr typename std::enable_if<(std::is_integral<_Tp>::value && (! std::is_same<T, bool>::value)), const long int&>::type rclcpp::ParameterValue::get() const’
263 | get() const
| ^~~
I've only copied a portion of the error message because it's too long. I can give you the rest of the error if you need it. I'm not sure which part needs to be modified. I haven't made any modifications to the package you provided. Please give me a solution. Thank you
Hi,I tried to build packages(ublox_gps) but errors occured
This is my environments:
Nvidia Orin ,arm 64
ubuntu20.04
foxy(ros1 noetic alse be installed)
rclcpp:
antobot@antobot-desktop:~/antobot_ws_ros2$ dpkg -l|grep rclcpp
ii ros-foxy-examples-rclcpp-minimal-action-client 0.9.4-1focal.20230527.081911 arm64 Minimal action client examples
ii ros-foxy-examples-rclcpp-minimal-action-server 0.9.4-1focal.20230527.081913 arm64 Minimal action server examples
ii ros-foxy-examples-rclcpp-minimal-client 0.9.4-1focal.20230527.082306 arm64 Examples of minimal service clients
ii ros-foxy-examples-rclcpp-minimal-composition 0.9.4-1focal.20230527.083901 arm64 Minimalist examples of composing nodes in the same process
ii ros-foxy-examples-rclcpp-minimal-publisher 0.9.4-1focal.20230527.075616 arm64 Examples of minimal publisher nodes
ii ros-foxy-examples-rclcpp-minimal-service 0.9.4-1focal.20230527.082308 arm64 A minimal service server which adds two numbers
ii ros-foxy-examples-rclcpp-minimal-subscriber 0.9.4-1focal.20230527.075636 arm64 Examples of minimal subscribers
ii ros-foxy-examples-rclcpp-minimal-timer 0.9.4-1focal.20230527.075645 arm64 Examples of minimal nodes which have timers
ii ros-foxy-examples-rclcpp-multithreaded-executor 0.9.4-1focal.20230527.075724 arm64 Package containing example of how to implement a multithreaded executor
ii ros-foxy-rclcpp 2.4.3-1focal.20230527.072753 arm64 The ROS client library in C++.
ii ros-foxy-rclcpp-action 2.4.3-1focal.20230527.081314 arm64 Adds action APIs for C++.
ii ros-foxy-rclcpp-components 2.4.3-1focal.20230527.082118 arm64 Package containing tools for dynamically loadable components
ii ros-foxy-rclcpp-lifecycle 2.4.3-1focal.20230527.082123 arm64 Package containing a prototype for lifecycle implementation
This is my error:
antobot@antobot-desktop:~/antobot_ws_ros2$ colcon build
Starting >>> ublox_serialization
Starting >>> lslidar_msgs
Starting >>> bno055
Finished <<< ublox_serialization [2.63s]
Starting >>> ublox_msgs
Finished <<< lslidar_msgs [3.72s]
Starting >>> lslidar_driver
Finished <<< bno055 [3.98s]
Finished <<< lslidar_driver [1.49s]
Finished <<< ublox_msgs [7.15s]
Starting >>> ublox_gps
--- stderr: ublox_gps
In file included from /opt/ros/foxy/include/rclcpp/node.hpp:1224,
from /opt/ros/foxy/include/rclcpp/executors/single_threaded_executor.hpp:28,
from /opt/ros/foxy/include/rclcpp/executors.hpp:22,
from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
from /home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:42:
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: error: no matching function for call to ‘rclcpp::ParameterValue::get<rclcpp::ParameterType>() const’
169 | ).get<ParameterT>();
| ^
In file included from /opt/ros/foxy/include/rclcpp/parameter.hpp:26,
from /opt/ros/foxy/include/rclcpp/node_interfaces/node_parameters_interface.hpp:28,
from /opt/ros/foxy/include/rclcpp/node.hpp:51,
from /opt/ros/foxy/include/rclcpp/executors/single_threaded_executor.hpp:28,
from /opt/ros/foxy/include/rclcpp/executors.hpp:22,
from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
from /home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:42:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:148:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_BOOL), const bool&>::type rclcpp::ParameterValue::get() const’
148 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:148:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:159:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_INTEGER), const long int&>::type rclcpp::ParameterValue::get() const’
159 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:159:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:170:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_DOUBLE), const double&>::type rclcpp::ParameterValue::get() const’
170 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:170:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:181:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_STRING), const std::__cxx11::basic_string<char>&>::type rclcpp::ParameterValue::get() const’
181 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:181:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:193:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_BYTE_ARRAY), const std::vector<unsigned char, std::allocator<unsigned char> >&>::type rclcpp::ParameterValue::get() const’
193 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:193:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:205:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_BOOL_ARRAY), const std::vector<bool, std::allocator<bool> >&>::type rclcpp::ParameterValue::get() const’
205 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:205:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:217:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_INTEGER_ARRAY), const std::vector<long int, std::allocator<long int> >&>::type rclcpp::ParameterValue::get() const’
217 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:217:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:229:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_DOUBLE_ARRAY), const std::vector<double, std::allocator<double> >&>::type rclcpp::ParameterValue::get() const’
229 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:229:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:241:3: note: candidate: ‘template<rclcpp::ParameterType type> constexpr typename std::enable_if<(type == rclcpp::PARAMETER_STRING_ARRAY), const std::vector<std::__cxx11::basic_string<char> >&>::type rclcpp::ParameterValue::get() const’
241 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:241:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:254:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_same<T, bool>::value, const bool&>::type rclcpp::ParameterValue::get() const’
254 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:254:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_same<T, bool>::value, const bool&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:254:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const bool&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:263:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<(std::is_integral<_Tp>::value && (! std::is_same<T, bool>::value)), const long int&>::type rclcpp::ParameterValue::get() const’
263 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:263:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<(std::is_integral<_Tp>::value && (! std::is_same<T, bool>::value)), const long int&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:263:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const long int&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:271:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_floating_point<_Tp>::value, const double&>::type rclcpp::ParameterValue::get() const’
271 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:271:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_floating_point<_Tp>::value, const double&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:271:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const double&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:279:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, std::__cxx11::basic_string<char> >::value, const std::__cxx11::basic_string<char>&>::type rclcpp::ParameterValue::get() const’
279 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:279:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, std::__cxx11::basic_string<char> >::value, const std::__cxx11::basic_string<char>&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:279:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::__cxx11::basic_string<char>&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:289:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<unsigned char, std::allocator<unsigned char> >&>::value, const std::vector<unsigned char, std::allocator<unsigned char> >&>::type rclcpp::ParameterValue::get() const’
289 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:289:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<unsigned char, std::allocator<unsigned char> >&>::value, const std::vector<unsigned char, std::allocator<unsigned char> >&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:289:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::vector<unsigned char, std::allocator<unsigned char> >&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:299:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<bool, std::allocator<bool> >&>::value, const std::vector<bool, std::allocator<bool> >&>::type rclcpp::ParameterValue::get() const’
299 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:299:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<bool, std::allocator<bool> >&>::value, const std::vector<bool, std::allocator<bool> >&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:299:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::vector<bool, std::allocator<bool> >&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:309:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<long int, std::allocator<long int> >&>::value, const std::vector<long int, std::allocator<long int> >&>::type rclcpp::ParameterValue::get() const’
309 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:309:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<long int, std::allocator<long int> >&>::value, const std::vector<long int, std::allocator<long int> >&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:309:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::vector<long int, std::allocator<long int> >&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:319:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<double, std::allocator<double> >&>::value, const std::vector<double, std::allocator<double> >&>::type rclcpp::ParameterValue::get() const’
319 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:319:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<double, std::allocator<double> >&>::value, const std::vector<double, std::allocator<double> >&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:319:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::vector<double, std::allocator<double> >&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:329:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<std::__cxx11::basic_string<char> >&>::value, const std::vector<std::__cxx11::basic_string<char> >&>::type rclcpp::ParameterValue::get() const’
329 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:329:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<std::__cxx11::basic_string<char> >&>::value, const std::vector<std::__cxx11::basic_string<char> >&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/antobot/antobot_ws_ros2/src/ros2-ublox-zedf9p-master/ublox_gps/src/node.cpp:253:62: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:329:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::vector<std::__cxx11::basic_string<char> >&>’
make[2]: *** [CMakeFiles/ublox_gps.dir/build.make:154: CMakeFiles/ublox_gps.dir/src/node.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:276: CMakeFiles/ublox_gps.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed <<< ublox_gps [19.3s, exited with code 2]
I have successfully built the other packages: ublox_serialization and ublox_msgs and also confirmed that the header files are present in the install folder. Howver, when it comes to the ublox_gps package the build fails with the following error:
fatal error: ublox_msgs/ublox_serialization.hpp: No such file or directory 43 | #include<ublox_msgs/ublox_serialization.hpp>
Using ROS humble on Ubuntu 22.04
Has anyone been able to successfully build all the packages given in this repo?
I was previously using a simple driver that I wrote myself (which just interfaces with the python library provided by SparkFun), but this one seems to be vastly superior. The only exception is that I see no way to provide RTCM3 correction data to the board. I have tried writing it to the same UART device as the one connected to by the driver, but then the driver crashes. If I run the correction data and then the driver, it seems like the board never receives the correction data.
If I use a separate USB cable, I can send correction data to the board (and the RTK light flashes), but it doesn't seem like I ever get a fix (and for some reason, the light stops flashing after a bit). This was not the behavior when I was using my own, simple driver. Likewise, I can see that the position_covariance in /fix never seems to go down, which is odd.
For context, my base station is about 51 Km, away, but this was close enough for a fix using my driver. It seems like it may be an issue with this driver, however, because the following line got printed by this driver:
[ublox_gps_node-1] [WARN] [1716407245.322928566] [ublox_gps_node]: INF: DGNSS long baseline (51 km)
~/ublox_ws$ colcon build
Starting >>> ublox_serialization
Finished <<< ublox_serialization [0.88s]
Starting >>> ublox_msgs
[Processing: ublox_msgs]
[Processing: ublox_msgs]
[Processing: ublox_msgs]
[Processing: ublox_msgs]
Finished <<< ublox_msgs [2min 3s]
Starting >>> ublox_gps
--- stderr: ublox_gps
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find asio (missing: ASIO_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
cmake/Findasio.cmake:4 (find_package_handle_standard_args)
CMakeLists.txt:16 (find_package)
Failed <<< ublox_gps [0.75s, exited with code 1]
Summary: 2 packages finished [2min 4s]
1 package failed: ublox_gps
1 package had stderr output: ublox_gps
1 package not processed
Is there anything missing? I followed the instructions and this happened. Can someone help me out?
Hi, I'm having issues running the ublox ROS2 node.
Here's my configuration:
The error I get, after updating the device
to /dev/ttyUSB0
and the uart1.baudrate
to 115200
in zed_fp9.yam
l config file, is the following:
ros2 launch ublox_gps ublox_gps_node_zedf9p-launch.py
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-05-19-07-34-31-474996-LUCA-42340
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ublox_gps_node-1]: process started with pid [42341]
[ublox_gps_node-1] [INFO] [1716104071.510691400] [ublox_gps_node]: U-Blox: Opened serial port /dev/ttyUSB0
[ublox_gps_node-1] terminate called after throwing an instance of 'std::runtime_error'
[ublox_gps_node-1] what(): Could not configure serial baud rate
[ERROR] [ublox_gps_node-1]: process has died [pid 42341, exit code -6, cmd '/ublox_ws/install/ublox_gps/lib/ublox_gps/ublox_gps_node --ros-args --params-file /ublox_ws/install/ublox_gps/share/ublox_gps/config/zed_f9p.yaml'].
I tested with minicom on the same machine with sudo minicom -b 115200 -D /dev/ttyUSB0
and I was able to correctly see all the messages from the serial. I also tried u-center on a Windows machine and with baud rate 115200 it was working fine.
I also did usermod -a -G dialout $USER
to be sure my user was in dialout group.
Do you have any idea on how to solve?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.