RealManRobot / ros2_rm_robot

ROS2 was developed for the Realman robot (http://www.realman-robotics.com/).
Other
31 stars 11 forks source link

colcon build failed. [rm_service.h:1651:33: note: candidate expects 5 arguments, 4 provided] #11

Open ipc-robot opened 1 month ago

ipc-robot commented 1 month ago
[Processing: rm_driver]                                         
--- stderr: rm_driver                                           
/root/ws_realman/src/rm_driver/src/rm_driver.cpp: In function ‘void my_handler(int)’:
/root/ws_realman/src/rm_driver/src/rm_driver.cpp:20:28: warning: unused parameter ‘sig’ [-Wunused-parameter]
   20 | static void my_handler(int sig)  // can be called asynchronously
      |                        ~~~~^~~
/root/ws_realman/src/rm_driver/src/rm_driver.cpp: In member function ‘void RmArm::Arm_Set_Gripper_Pick_On_Callback(rm_ros_interfaces::msg::Gripperpick_<std::allocator<void> >::SharedPtr)’:
/root/ws_realman/src/rm_driver/src/rm_driver.cpp:863:45: error: no matching function for call to ‘RM_Service::Service_Set_Gripper_Pick_On(SOCKHANDLE&, int&, int&, bool&)’
  863 |     res = Rm_Api.Service_Set_Gripper_Pick_On(m_sockhand, speed, force, block);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/ws_realman/src/rm_driver/include/rm_driver/rm_driver.h:35,
                 from /root/ws_realman/src/rm_driver/src/rm_driver.cpp:16:
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1193:33: note: candidate: ‘int RM_Service::Service_Set_Gripper_Pick_On(SOCKHANDLE, int, int, bool, int)’
 1193 |     RM_SERVICESHARED_EXPORT int Service_Set_Gripper_Pick_On(SOCKHANDLE ArmSocket, int speed, int force, bool block, int timeout);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1193:33: note:   candidate expects 5 arguments, 4 provided
/root/ws_realman/src/rm_driver/src/rm_driver.cpp: In member function ‘void RmArm::Arm_Set_Gripper_Pick_Callback(rm_ros_interfaces::msg::Gripperpick_<std::allocator<void> >::SharedPtr)’:
/root/ws_realman/src/rm_driver/src/rm_driver.cpp:888:42: error: no matching function for call to ‘RM_Service::Service_Set_Gripper_Pick(SOCKHANDLE&, int&, int&, bool&)’
  888 |     res = Rm_Api.Service_Set_Gripper_Pick(m_sockhand, speed, force, block);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/ws_realman/src/rm_driver/include/rm_driver/rm_driver.h:35,
                 from /root/ws_realman/src/rm_driver/src/rm_driver.cpp:16:
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1182:33: note: candidate: ‘int RM_Service::Service_Set_Gripper_Pick(SOCKHANDLE, int, int, bool, int)’
 1182 |     RM_SERVICESHARED_EXPORT int Service_Set_Gripper_Pick(SOCKHANDLE ArmSocket, int speed, int force, bool block, int timeout);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1182:33: note:   candidate expects 5 arguments, 4 provided
/root/ws_realman/src/rm_driver/src/rm_driver.cpp: In member function ‘void RmArm::Arm_Set_Gripper_Position_Callback(rm_ros_interfaces::msg::Gripperset_<std::allocator<void> >::SharedPtr)’:
/root/ws_realman/src/rm_driver/src/rm_driver.cpp:911:46: error: no matching function for call to ‘RM_Service::Service_Set_Gripper_Position(SOCKHANDLE&, int&, bool&)’
  911 |     res = Rm_Api.Service_Set_Gripper_Position(m_sockhand, position, block);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/ws_realman/src/rm_driver/include/rm_driver/rm_driver.h:35,
                 from /root/ws_realman/src/rm_driver/src/rm_driver.cpp:16:
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1203:33: note: candidate: ‘int RM_Service::Service_Set_Gripper_Position(SOCKHANDLE, int, bool, int)’
 1203 |     RM_SERVICESHARED_EXPORT int Service_Set_Gripper_Position(SOCKHANDLE ArmSocket, int position, bool block, int timeout);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1203:33: note:   candidate expects 4 arguments, 3 provided
/root/ws_realman/src/rm_driver/src/rm_driver.cpp: In member function ‘void RmArm::Arm_Get_Lift_State_Callback(std_msgs::msg::Empty_<std::allocator<void> >::SharedPtr)’:
/root/ws_realman/src/rm_driver/src/rm_driver.cpp:1098:40: error: no matching function for call to ‘RM_Service::Service_Get_Lift_State(SOCKHANDLE&, int*, int*, int*)’
 1098 |     res = Rm_Api.Service_Get_Lift_State(m_sockhand, &height, &current, &err_flag);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/ws_realman/src/rm_driver/include/rm_driver/rm_driver.h:35,
                 from /root/ws_realman/src/rm_driver/src/rm_driver.cpp:16:
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1651:33: note: candidate: ‘int RM_Service::Service_Get_Lift_State(SOCKHANDLE, int*, int*, int*, int*)’
 1651 |     RM_SERVICESHARED_EXPORT int Service_Get_Lift_State(SOCKHANDLE ArmSocket, int* height,int* current,int* err_flag, int *mode);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~
/root/ws_realman/src/rm_driver/include/rm_driver/rm_service.h:1651:33: note:   candidate expects 5 arguments, 4 provided
gmake[2]: *** [CMakeFiles/rm_driver.dir/build.make:76: CMakeFiles/rm_driver.dir/src/rm_driver.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/rm_driver.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< rm_driver [5min 1s, exited with code 2]

Summary: 12 packages finished [5min 21s]
  1 package failed: rm_driver
  2 packages had stderr output: rm_control rm_driver

I compiled directly on the Horizon RDK X3 development board. I followed RM_API V4.3.2.7 and replaced the files in the include and lib directories of this repository with ARM-based files.

ipc-robot commented 1 month ago

Here are some supplementary materials.

root@ubuntu:~# uname -a
Linux ubuntu 4.14.87 #11 SMP PREEMPT Sun Jul 7 21:24:54 CST 2024 aarch64 aarch64 aarch64 GNU/Linux

The RDK X3 has Ubuntu 22.04 installed, and the ROS2 version is Humble.