Closed
Description
Hi
I am trying to build these packages on ROS2 humble for my dissertation at university.
Despite being able to do this with other robot packages such as the Franka Emika Robot packages, the Humble packages using this repo seem to fail every time.
The main errors I keep getting back are like this and I do not understand them. It looks like Chat GPT 03-mini-high does not know what to do either...
Please let me know if you could help.
Thanks
hc@hc-OMEN-Transcend-Gaming-Laptop-14-fb0xxx:~/ur_ws$ colcon build --symlink-install
Starting >>> ur_dashboard_msgs
Starting >>> ur_moveit_config
Finished <<< ur_moveit_config [0.61s]
Finished <<< ur_dashboard_msgs [7.75s]
Starting >>> ur_controllers
--- stderr: ur_controllers
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/ur_configuration_controller.cpp: In member function ‘virtual controller_interface::CallbackReturn ur_controllers::URConfigurationController::on_activate(const rclcpp_lifecycle::State&)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/ur_configuration_controller.cpp:97:30: error: cannot convert ‘ur_controllers::URConfigurationController::on_activate(const rclcpp_lifecycle::State&)::<lambda(std::shared_ptr<ur_controllers::VersionInformation>)>’ to ‘const std::shared_ptr<ur_controllers::VersionInformation>&’
97 | robot_software_version_.set([this](const std::shared_ptr<VersionInformation> ptr) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98 | ptr->major = state_interfaces_[StateInterfaces::ROBOT_VERSION_MAJOR].get_value();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99 | ptr->minor = state_interfaces_[StateInterfaces::ROBOT_VERSION_MINOR].get_value();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100 | ptr->build = state_interfaces_[StateInterfaces::ROBOT_VERSION_BUILD].get_value();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101 | ptr->bugfix = state_interfaces_[StateInterfaces::ROBOT_VERSION_BUGFIX].get_value();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
102 | });
| ~~
In file included from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/ur_configuration_controller.hpp:47,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/ur_configuration_controller.cpp:41:
/opt/ros/humble/include/realtime_tools/realtime_tools/realtime_box.hpp:51:22: note: initializing argument 1 of ‘void realtime_tools::RealtimeBox<T>::set(const T&) [with T = std::shared_ptr<ur_controllers::VersionInformation>]’
51 | void set(const T & value)
| ~~~~~~~~~~^~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/ur_configuration_controller.cpp: In member function ‘bool ur_controllers::URConfigurationController::getRobotSoftwareVersion(ur_msgs::srv::GetRobotSoftwareVersion_Request_<std::allocator<void> >::SharedPtr, ur_msgs::srv::GetRobotSoftwareVersion_Response_<std::allocator<void> >::SharedPtr)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/ur_configuration_controller.cpp:117:34: error: ‘class realtime_tools::RealtimeBox<std::shared_ptr<ur_controllers::VersionInformation> >’ has no member named ‘try_get’
117 | return robot_software_version_.try_get([resp](const std::shared_ptr<VersionInformation> ptr) {
| ^~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp: In member function ‘virtual controller_interface::CallbackReturn ur_controllers::PassthroughTrajectoryController::on_deactivate(const rclcpp_lifecycle::State&)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:212:49: error: could not convert ‘(&((ur_controllers::PassthroughTrajectoryController*)this)->ur_controllers::PassthroughTrajectoryController::abort_command_interface_.std::optional<std::reference_wrapper<hardware_interface::LoanedCommandInterface> >::operator->()->std::reference_wrapper<hardware_interface::LoanedCommandInterface>::get())->hardware_interface::LoanedCommandInterface::set_value(1.0e+0)’ from ‘void’ to ‘bool’
212 | if (!abort_command_interface_->get().set_value(1.0)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
| |
| void
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:212:49: error: in argument to unary !
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp: In member function ‘virtual controller_interface::return_type ur_controllers::PassthroughTrajectoryController::update(const rclcpp::Time&, const rclcpp::Duration&)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:256:68: error: void value not ignored as it ought to be
256 | write_success &= transfer_command_interface_->get().set_value(TRANSFER_STATE_WAITING_FOR_POINT);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:265:77: error: void value not ignored as it ought to be
265 | write_success &= time_from_start_command_interface_->get().set_value(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
266 | duration_to_double(active_joint_traj_.points[current_index_].time_from_start));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:273:64: error: void value not ignored as it ought to be
273 | write_success &= command_interfaces_[i * 3].set_value(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
274 | active_joint_traj_.points[current_index_].positions[joint_mapping->at(joint_names_internal->at(i))]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:277:70: error: void value not ignored as it ought to be
277 | write_success &= command_interfaces_[i * 3 + 1].set_value(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
278 | active_joint_traj_.points[current_index_].velocities[joint_mapping->at(joint_names_internal->at(i))]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:280:72: error: void value not ignored as it ought to be
280 | write_success &= command_interfaces_[i * 3 + 2].set_value(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
281 | active_joint_traj_.points[current_index_]
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
282 | .accelerations[joint_mapping->at(joint_names_internal->at(i))]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:284:72: error: void value not ignored as it ought to be
284 | write_success &= command_interfaces_[i * 3 + 2].set_value(NO_VAL);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:287:70: error: void value not ignored as it ought to be
287 | write_success &= command_interfaces_[i * 3 + 1].set_value(NO_VAL);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/passthrough_trajectory_controller.cpp:288:70: error: void value not ignored as it ought to be
288 | write_success &= command_interfaces_[i * 3 + 2].set_value(NO_VAL);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
ue(1.0);
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp: In member function ‘bool ur_controllers::GPIOController::setPayload(ur_msgs::srv::SetPayload_Request_<std::allocator<void> >::SharedPtr, ur_msgs::srv::SetPayload_Response_<std::allocator<void> >::SharedPtr)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:519:102: error: no match for ‘operator=’ (operand types are ‘const std::_Swallow_assign’ and ‘void’)
519 | std::ignore = command_interfaces_[CommandInterfaces::PAYLOAD_ASYNC_SUCCESS].set_value(ASYNC_WAITING);
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:521:110: error: no match for ‘operator=’ (operand types are ‘const std::_Swallow_assign’ and ‘void’)
521 | std::ignore = command_interfaces_[CommandInterfaces::PAYLOAD_MASS].set_value(static_cast<double>(req->mass));
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:522:105: error: no match for ‘operator=’ (operand types are ‘const std::_Swallow_assign’ and ‘void’)
522 | std::ignore = command_interfaces_[CommandInterfaces::PAYLOAD_COG_X].set_value(req->center_of_gravity.x);
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:523:105: error: no match for ‘operator=’ (operand types are ‘const std::_Swallow_assign’ and ‘void’)
523 | std::ignore = command_interfaces_[CommandInterfaces::PAYLOAD_COG_Y].set_value(req->center_of_gravity.y);
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:524:105: error: no match for ‘operator=’ (operand types are ‘const std::_Swallow_assign’ and ‘void’)
524 | std::ignore = command_interfaces_[CommandInterfaces::PAYLOAD_COG_Z].set_value(req->center_of_gravity.z);
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp: In member function ‘bool ur_controllers::GPIOController::zeroFTSensor(std_srvs::srv::Trigger_Request_<std::allocator<void> >::SharedPtr, std_srvs::srv::Trigger_Response_<std::allocator<void> >::SharedPtr)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:548:108: error: no match for ‘operator=’ (operand types are ‘const std::_Swallow_assign’ and ‘void’)
548 | std::ignore = command_interfaces_[CommandInterfaces::ZERO_FTSENSOR_ASYNC_SUCCESS].set_value(ASYNC_WAITING);
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:550:88: error: no match for ‘operator=’ (operand types are ‘const std::_Swallow_assign’ and ‘void’)
550 | std::ignore = command_interfaces_[CommandInterfaces::ZERO_FTSENSOR_CMD].set_value(1.0);
| ^
In file included from /usr/include/c++/11/bits/unique_ptr.h:37,
from /usr/include/c++/11/memory:76,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/include/ur_controllers/gpio_controller.hpp:41,
from /home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/gpio_controller.cpp:38:
/usr/include/c++/11/tuple:1779:7: note: candidate: ‘template<class _Tp> constexpr const std::_Swallow_assign& std::_Swallow_assign::operator=(const _Tp&) const’
1779 | operator=(const _Tp&) const
| ^~~~~~~~
/usr/include/c++/11/tuple:1779:7: note: template argument deduction/substitution failed:
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(const std::_Swallow_assign&)’
1775 | struct _Swallow_assign
| ^~~~~~~~~~~~~~~
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Swallow_assign&’
/usr/include/c++/11/tuple:1775:10: note: candidate: ‘constexpr std::_Swallow_assign& std::_Swallow_assign::operator=(std::_Swallow_assign&&)’
/usr/include/c++/11/tuple:1775:10: note: no known conversion for argument 1 from ‘void’ to ‘std::_Swallow_assign&&’
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp: In member function ‘virtual controller_interface::CallbackReturn ur_controllers::FreedriveModeController::on_activate(const rclcpp_lifecycle::State&)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:156:53: error: could not convert ‘(&((ur_controllers::FreedriveModeController*)this)->ur_controllers::FreedriveModeController::abort_command_interface_.std::optional<std::reference_wrapper<hardware_interface::LoanedCommandInterface> >::operator->()->std::reference_wrapper<hardware_interface::LoanedCommandInterface>::get())->hardware_interface::LoanedCommandInterface::set_value(0.0)’ from ‘void’ to ‘bool’
156 | if (!abort_command_interface_->get().set_value(0.0)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
| |
| void
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:156:53: error: in argument to unary !
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp: In member function ‘virtual controller_interface::CallbackReturn ur_controllers::FreedriveModeController::on_cleanup(const rclcpp_lifecycle::State&)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:172:49: error: could not convert ‘(&((ur_controllers::FreedriveModeController*)this)->ur_controllers::FreedriveModeController::abort_command_interface_.std::optional<std::reference_wrapper<hardware_interface::LoanedCommandInterface> >::operator->()->std::reference_wrapper<hardware_interface::LoanedCommandInterface>::get())->hardware_interface::LoanedCommandInterface::set_value(1.0e+0)’ from ‘void’ to ‘bool’
172 | if (!abort_command_interface_->get().set_value(1.0)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
| |
| void
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:172:49: error: in argument to unary !
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp: In member function ‘virtual controller_interface::return_type ur_controllers::FreedriveModeController::update(const rclcpp::Time&, const rclcpp::Duration&)’:
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:212:68: error: void value not ignored as it ought to be
212 | write_success &= enable_command_interface_->get().set_value(1.0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:214:75: error: void value not ignored as it ought to be
214 | write_success &= async_success_command_interface_->get().set_value(ASYNC_WAITING);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:221:65: error: void value not ignored as it ought to be
221 | write_success &= abort_command_interface_->get().set_value(1.0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/hc/ur_ws/src/Universal_Robots_ROS2_Driver/ur_controllers/src/freedrive_mode_controller.cpp:223:73: error: void value not ignored as it ought to be
223 | write_success &= async_success_command_interface_->get().set_value(ASYNC_WAITING);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
gmake[2]: *** [CMakeFiles/ur_controllers.dir/build.make:90: CMakeFiles/ur_controllers.dir/src/scaled_joint_trajectory_controller.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/ur_controllers.dir/build.make:146: CMakeFiles/ur_controllers.dir/src/passthrough_trajectory_controller.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/ur_controllers.dir/build.make:76: CMakeFiles/ur_controllers.dir/src/force_mode_controller.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/ur_controllers.dir/build.make:132: CMakeFiles/ur_controllers.dir/src/gpio_controller.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/ur_controllers.dir/build.make:118: CMakeFiles/ur_controllers.dir/src/freedrive_mode_controller.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:380: CMakeFiles/ur_controllers.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed <<< ur_controllers [6.20s, exited with code 2]
Summary: 2 packages finished [14.1s]
1 package failed: ur_controllers
1 package had stderr output: ur_controllers
3 packages not processed
hc@hc-OMEN-Transcend-Gaming-Laptop-14-fb0xxx:~/ur_ws$ // gpio_command_interfaces_.emplace_back(hardware_interface::CommandInterface(
// "speed_scaling", "target_speed_fraction_cmd", &target_speed_scaling_factor_));
// cmd_interfaces.emplace_back(gpio_command_interfaces_[0]);
---- please help again