Skip to content

Colcon build issue #1293

Closed
Closed
@hcrane2093

Description

@hcrane2093

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions