unitreerobotics / unitree_ros_to_real

103 stars 93 forks source link

catkin_make build error ros.temperature[i] = lcm.temperature[i] #15

Open eechhx opened 2 years ago

eechhx commented 2 years ago

LCM: 1.4.0 Boost: 1.71 ROS: Noetic System: amd64 unitree_legged_sdk: v3.4.2

[ 80%] Building CXX object unitree_ros_to_real/unitree_legged_real/CMakeFiles/torque_lcm.dir/src/exe/torque_mode.cpp.o
[ 81%] Linking CXX executable /home/user/catkin_ws/devel/lib/unitree_controller/unitree_external_force
[ 82%] Linking CXX executable /home/user/catkin_ws/devel/lib/unitree_controller/unitree_move_kinetic
[ 82%] Built target unitree_external_force
[ 83%] Building CXX object unitree_ros_to_real/unitree_legged_real/CMakeFiles/position_lcm.dir/src/exe/position_mode.cpp.o
[ 83%] Built target unitree_move_kinetic
[ 85%] Building CXX object unitree_ros_to_real/unitree_legged_real/CMakeFiles/velocity_lcm.dir/src/exe/velocity_mode.cpp.o
[ 86%] Linking CXX shared library /home/user/catkin_ws/devel/lib/libunitree_controller.so
[ 86%] Built target unitree_controller
[ 87%] Building CXX object unitree_ros_to_real/unitree_legged_real/CMakeFiles/lcm_server.dir/__/__/unitree_legged_sdk/examples/lcm_server.cpp.o
In file included from /home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/src/exe/walk_mode.cpp:13:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h: In function ‘unitree_legged_msgs::HighState ToRos(UNITREE_LEGGED_SDK::HighState&)’:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h:196:34: error: ‘struct UNITREE_LEGGED_SDK::HighState’ has no member named ‘temperature’
  196 |         ros.temperature[i] = lcm.temperature[i];
      |                                  ^~~~~~~~~~~
In file included from /home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/src/exe/torque_mode.cpp:12:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h: In function ‘unitree_legged_msgs::HighState ToRos(UNITREE_LEGGED_SDK::HighState&)’:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h:196:34: error: ‘struct UNITREE_LEGGED_SDK::HighState’ has no member named ‘temperature’
  196 |         ros.temperature[i] = lcm.temperature[i];
      |                                  ^~~~~~~~~~~
In file included from /home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/src/exe/position_mode.cpp:13:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h: In function ‘unitree_legged_msgs::HighState ToRos(UNITREE_LEGGED_SDK::HighState&)’:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h:196:34: error: ‘struct UNITREE_LEGGED_SDK::HighState’ has no member named ‘temperature’
  196 |         ros.temperature[i] = lcm.temperature[i];
      |                                  ^~~~~~~~~~~
In file included from /home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/src/exe/velocity_mode.cpp:13:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h: In function ‘unitree_legged_msgs::HighState ToRos(UNITREE_LEGGED_SDK::HighState&)’:
/home/user/catkin_ws/src/unitree_ros_to_real/unitree_legged_real/include/convert.h:196:34: error: ‘struct UNITREE_LEGGED_SDK::HighState’ has no member named ‘temperature’
  196 |         ros.temperature[i] = lcm.temperature[i];
      |                                  ^~~~~~~~~~~
make[2]: *** [unitree_ros_to_real/unitree_legged_real/CMakeFiles/walk_lcm.dir/build.make:76: unitree_ros_to_real/unitree_legged_real/CMakeFiles/walk_lcm.dir/src/exe/walk_mode.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2534: unitree_ros_to_real/unitree_legged_real/CMakeFiles/walk_lcm.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [unitree_ros_to_real/unitree_legged_real/CMakeFiles/torque_lcm.dir/build.make:76: unitree_ros_to_real/unitree_legged_real/CMakeFiles/torque_lcm.dir/src/exe/torque_mode.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2589: unitree_ros_to_real/unitree_legged_real/CMakeFiles/torque_lcm.dir/all] Error 2
[ 88%] Linking CXX executable /home/user/catkin_ws/devel/lib/unitree_legged_real/lcm_server
[ 88%] Built target lcm_server

Commenting out following lines let's you build successfully (who would've thought): https://github.com/unitreerobotics/unitree_ros_to_real/blob/e305ed15104f55e095448c9062ed358eb800cc19/unitree_legged_real/include/convert.h#L181-L183

xyq1223 commented 1 year ago

Hello,first of all, the unitree_legged_sdk version supported by our ROS is only 3.2,3.5,3.8, you can choose according to your robot dog model. Also we recommend that you try again with the Melotic version of ROS.