From 8528fde23091208a6a4b06a416f22c8b33918756 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 29 Mar 2022 17:09:17 +0900 Subject: [PATCH 1/8] check system processor and set libunitree_legged_sdk.so --- unitree_legged_real/CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/unitree_legged_real/CMakeLists.txt b/unitree_legged_real/CMakeLists.txt index 43dee3c..d5b628c 100755 --- a/unitree_legged_real/CMakeLists.txt +++ b/unitree_legged_real/CMakeLists.txt @@ -21,7 +21,13 @@ set(CMAKE_CXX_FLAGS "-O3") include_directories(/home/$ENV{USER}/Robot_SDK/unitree_legged_sdk/include) link_directories(/home/$ENV{USER}/Robot_SDK/unitree_legged_sdk/lib) -string(CONCAT LEGGED_SDK_NAME libunitree_legged_sdk_amd64.so) +message("-- CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}") +if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64.*") + set(ARCH amd64) +else() + set(ARCH arm64) +endif() +string(CONCAT LEGGED_SDK_NAME libunitree_legged_sdk_${ARCH}.so) set(EXTRA_LIBS ${LEGGED_SDK_NAME} lcm) add_executable(lcm_server /home/$ENV{USER}/Robot_SDK/unitree_legged_sdk/examples/lcm_server.cpp) @@ -42,4 +48,4 @@ add_dependencies(torque_lcm ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTE add_executable(walk_lcm src/exe/walk_mode.cpp) target_link_libraries(walk_lcm ${EXTRA_LIBS} ${catkin_LIBRARIES}) -add_dependencies(walk_lcm ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) \ No newline at end of file +add_dependencies(walk_lcm ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) From 49acae319f7236d47751b9cb1a8184ab3c29809e Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 29 Mar 2022 17:19:56 +0900 Subject: [PATCH 2/8] fix ROS<>LCM message converter for Unitree SDK v3.5.0 --- unitree_legged_real/include/convert.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/unitree_legged_real/include/convert.h b/unitree_legged_real/include/convert.h index f51cce5..827cdec 100755 --- a/unitree_legged_real/include/convert.h +++ b/unitree_legged_real/include/convert.h @@ -105,9 +105,9 @@ unitree_legged_msgs::LowState ToRos(UNITREE_LEGGED_SDK::LowState& lcm) { unitree_legged_msgs::LowState ros; ros.levelFlag = lcm.levelFlag; - ros.commVersion = lcm.commVersion; - ros.robotID = lcm.robotID; - ros.SN = lcm.SN; + ros.commVersion = lcm.version[0]; + ros.robotID = lcm.version[1]; + ros.SN = lcm.SN[0]; ros.bandWidth = lcm.bandWidth; ros.imu = ToRos(lcm.imu); for(int i = 0; i<20; i++){ @@ -131,9 +131,9 @@ UNITREE_LEGGED_SDK::LowCmd ToLcm(unitree_legged_msgs::LowCmd& ros, UNITREE_LEGGE { UNITREE_LEGGED_SDK::LowCmd lcm; lcm.levelFlag = ros.levelFlag; - lcm.commVersion = ros.commVersion; - lcm.robotID = ros.robotID; - lcm.SN = ros.SN; + lcm.version[0] = ros.commVersion; + lcm.version[1] = ros.robotID; + lcm.SN[0] = ros.SN; lcm.bandWidth = ros.bandWidth; for(int i = 0; i<20; i++){ lcm.motorCmd[i] = ToLcm(ros.motorCmd[i], lcm.motorCmd[i]); @@ -151,9 +151,9 @@ unitree_legged_msgs::HighState ToRos(UNITREE_LEGGED_SDK::HighState& lcm) { unitree_legged_msgs::HighState ros; ros.levelFlag = lcm.levelFlag; - ros.commVersion = lcm.commVersion; - ros.robotID = lcm.robotID; - ros.SN = lcm.SN; + ros.commVersion = lcm.version[0]; + ros.robotID = lcm.version[1]; + ros.SN = lcm.SN[0]; ros.bandWidth = lcm.bandWidth; ros.mode = lcm.mode; ros.progress = lcm.progress; @@ -193,9 +193,9 @@ UNITREE_LEGGED_SDK::HighCmd ToLcm(unitree_legged_msgs::HighCmd& ros, UNITREE_LEG { UNITREE_LEGGED_SDK::HighCmd lcm; lcm.levelFlag = ros.levelFlag; - lcm.commVersion = ros.commVersion; - lcm.robotID = ros.robotID; - lcm.SN = ros.SN; + lcm.version[0] = ros.commVersion; + lcm.version[1] = ros.robotID; + lcm.SN[0] = ros.SN; lcm.bandWidth = ros.bandWidth; lcm.mode = ros.mode; lcm.gaitType = ros.gaitType; @@ -229,4 +229,4 @@ UNITREE_LEGGED_SDK::HighCmd ToLcm(unitree_legged_msgs::HighCmd& ros, UNITREE_LEG return lcm; } -#endif // _CONVERT_H_ \ No newline at end of file +#endif // _CONVERT_H_ From 9a2fbe800e7a43d3fd0bcf0b0f77fa6aad154c0f Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 29 Mar 2022 17:07:51 +0900 Subject: [PATCH 3/8] add ROBOT_SDK variable to specify unitree_legged_sdk path, run 'catkin b -vi --cmake-args -DROBOT_SDK=/home/k-okada/catkin_ws/ws_unitree/src/' to change your local environment --- unitree_legged_real/CMakeLists.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/unitree_legged_real/CMakeLists.txt b/unitree_legged_real/CMakeLists.txt index 43dee3c..c666b75 100755 --- a/unitree_legged_real/CMakeLists.txt +++ b/unitree_legged_real/CMakeLists.txt @@ -19,12 +19,14 @@ include_directories( set(CMAKE_CXX_FLAGS "-O3") -include_directories(/home/$ENV{USER}/Robot_SDK/unitree_legged_sdk/include) -link_directories(/home/$ENV{USER}/Robot_SDK/unitree_legged_sdk/lib) +set(ROBOT_SDK ${CATKIN_DEVEL_PREFIX}/../../../src CACHE PATH "Location of unitree_legged_sdk directory") +message("-- ROBOT_SDK ${ROBOT_SDK}") +include_directories(${ROBOT_SDK}/unitree_legged_sdk/include) +link_directories(${ROBOT_SDK}/unitree_legged_sdk/lib) string(CONCAT LEGGED_SDK_NAME libunitree_legged_sdk_amd64.so) set(EXTRA_LIBS ${LEGGED_SDK_NAME} lcm) -add_executable(lcm_server /home/$ENV{USER}/Robot_SDK/unitree_legged_sdk/examples/lcm_server.cpp) +add_executable(lcm_server ${ROBOT_SDK}/unitree_legged_sdk/examples/lcm_server.cpp) target_link_libraries(lcm_server ${EXTRA_LIBS} ${catkin_LIBRARIES}) add_dependencies(lcm_server ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) @@ -42,4 +44,4 @@ add_dependencies(torque_lcm ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTE add_executable(walk_lcm src/exe/walk_mode.cpp) target_link_libraries(walk_lcm ${EXTRA_LIBS} ${catkin_LIBRARIES}) -add_dependencies(walk_lcm ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) \ No newline at end of file +add_dependencies(walk_lcm ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) From 886beaca33aec04fbfc63c43207b553704df7eb8 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 29 Mar 2022 18:44:30 +0900 Subject: [PATCH 4/8] add CMakeLists.txt src/exe/ros_server_udp.cpp --- unitree_legged_real/CMakeLists.txt | 4 + .../src/exe/ros_server_udp.cpp | 107 ++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 unitree_legged_real/src/exe/ros_server_udp.cpp diff --git a/unitree_legged_real/CMakeLists.txt b/unitree_legged_real/CMakeLists.txt index 26902f3..908b8a1 100755 --- a/unitree_legged_real/CMakeLists.txt +++ b/unitree_legged_real/CMakeLists.txt @@ -38,6 +38,10 @@ add_executable(lcm_server ${ROBOT_SDK}/unitree_legged_sdk/examples/lcm_server.cp target_link_libraries(lcm_server ${EXTRA_LIBS} ${catkin_LIBRARIES}) add_dependencies(lcm_server ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) +add_executable(ros_server src/exe/ros_server_udp.cpp) +target_link_libraries(ros_server ${EXTRA_LIBS} ${catkin_LIBRARIES}) +add_dependencies(ros_server ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + add_executable(position_lcm src/exe/position_mode.cpp) target_link_libraries(position_lcm ${EXTRA_LIBS} ${catkin_LIBRARIES}) add_dependencies(position_lcm ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) diff --git a/unitree_legged_real/src/exe/ros_server_udp.cpp b/unitree_legged_real/src/exe/ros_server_udp.cpp new file mode 100644 index 0000000..3ffa1e3 --- /dev/null +++ b/unitree_legged_real/src/exe/ros_server_udp.cpp @@ -0,0 +1,107 @@ +/************************************************************************ +Copyright (c) 2020, Kei Okada. All rights reserved. +Use of this source code is governed by the MPL-2.0 license, see LICENSE. +************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "convert.h" + +using namespace UNITREE_LEGGED_SDK; +// High command Lcm Server +class Ros_Server_High +{ +public: + Ros_Server_High(): udp(8090, "192.168.123.161", 8082, sizeof(HighCmd), sizeof(HighState)){ + pub = n.advertise("high_state", 1); + sub = n.subscribe("high_cmd", 1, [&](const unitree_legged_msgs::HighCmdConstPtr& msg){SendHighROS=*msg;}); + sub_vel = n.subscribe("cmd_vel", 1, &Ros_Server_High::CmdVelCB, this); + + udp.InitCmdData(cmd); + } + void CmdVelCB(const geometry_msgs::TwistConstPtr& msg){ + SendHighROS.mode = 2; // 2. target velocity walking (controlled by velocity + yawSpeed) + SendHighROS.velocity[0] = msg->linear.x; + SendHighROS.velocity[1] = msg->linear.y; + SendHighROS.yawSpeed = msg->angular.z; + } + void UDPRecv(){ + udp.Recv(); + } + void UDPSend(){ + udp.Send(); + } + void RobotControl(); + + UDP udp; + HighCmd cmd = {0}; + HighState state = {0}; + + ros::NodeHandle n; + ros::Publisher pub; + ros::Subscriber sub, sub_vel; + unitree_legged_msgs::HighCmd SendHighROS; + unitree_legged_msgs::HighState RecvHighROS; +}; + + +void Ros_Server_High::RobotControl() +{ + udp.GetRecv(state); + RecvHighROS = ToRos(state); + pub.publish(RecvHighROS); + + // need to keep original cmd.head to move robots + std::array head = cmd.head; + cmd = ToLcm(SendHighROS, cmd); + cmd.head = head; + + // + ROS_INFO_THROTTLE(1, "head %8d %8d", cmd.head[0], cmd.head[1]); + ROS_INFO_THROTTLE(1, "levelFlag %8d", cmd.levelFlag); + ROS_INFO_THROTTLE(1, "frameReserve %8d", cmd.frameReserve); + ROS_INFO_THROTTLE(1, "SN %8d %8d", cmd.SN[0], cmd.SN[1]); + ROS_INFO_THROTTLE(1, "version %8d %8d", cmd.version[0], cmd.version[1]); + ROS_INFO_THROTTLE(1, "bandWidth %8d", cmd.bandWidth); + ROS_INFO_THROTTLE(1, "mode %8d", cmd.mode); + ROS_INFO_THROTTLE(1, "gaitType %d", cmd.gaitType); + ROS_INFO_THROTTLE(1, "speedLevel %d", cmd.speedLevel); + ROS_INFO_THROTTLE(1, "footRaiseHeight %f", cmd.footRaiseHeight); + ROS_INFO_THROTTLE(1, "bodyHeight %f", cmd.bodyHeight); + ROS_INFO_THROTTLE(1, "position %f %f", cmd.postion[0], cmd.postion[1]); + ROS_INFO_THROTTLE(1, "euler %f %f %f", cmd.euler[0], cmd.euler[1], cmd.euler[2]); + ROS_INFO_THROTTLE(1, "velocity %f %f", cmd.velocity[0], cmd.velocity[1]); + ROS_INFO_THROTTLE(1, "yawSpeed %f", cmd.yawSpeed); + ROS_INFO_THROTTLE(1, "bms %d", cmd.bms.off); + ROS_INFO_THROTTLE(1, "led (%d %d %d)", cmd.led[0].r, cmd.led[0].g, cmd.led[0].b); + ROS_INFO_THROTTLE(1, " (%d %d %d)", cmd.led[1].r, cmd.led[1].g, cmd.led[1].b); + ROS_INFO_THROTTLE(1, " (%d %d %d)", cmd.led[2].r, cmd.led[2].g, cmd.led[2].b); + ROS_INFO_THROTTLE(1, " (%d %d %d)", cmd.led[3].r, cmd.led[3].g, cmd.led[3].b); + //ROS_INFO_THROTTLE(1, "wirelessRemote ");for(int i = 0; i < 40; i++) ROS_INFO_THROTTLE(1, " %d", cmd.wirelessRemote[i]); ROS_INFO_THROTTLE(1, ""); + ROS_INFO_THROTTLE(1, "reserve %d", cmd.reserve); + ROS_INFO_THROTTLE(1, "crc %d", cmd.crc); + + // + udp.SetSend(cmd); +} + +int main(int argc, char *argv[]){ + ros::init(argc, argv, "ros_server"); + + Ros_Server_High server; + LoopFunc loop_control("control_loop", 0.002, boost::bind(&Ros_Server_High::RobotControl, &server)); + LoopFunc loop_udpSend("UDP_Send", 0.002, 3, boost::bind(&Ros_Server_High::UDPSend, &server)); + LoopFunc loop_udpRecv("UDP_Recv", 0.002, 3, boost::bind(&Ros_Server_High::UDPRecv, &server)); + + loop_udpSend.start(); + loop_udpRecv.start(); + loop_control.start(); + + ros::spin(); +} From 2c908c97f760b3a5aae66afc6f6e3b04f843dc78 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 1 Apr 2022 15:49:30 +0900 Subject: [PATCH 5/8] print status data --- unitree_legged_real/CMakeLists.txt | 1 + .../src/exe/ros_server_udp.cpp | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/unitree_legged_real/CMakeLists.txt b/unitree_legged_real/CMakeLists.txt index 908b8a1..f8c284c 100755 --- a/unitree_legged_real/CMakeLists.txt +++ b/unitree_legged_real/CMakeLists.txt @@ -39,6 +39,7 @@ target_link_libraries(lcm_server ${EXTRA_LIBS} ${catkin_LIBRARIES}) add_dependencies(lcm_server ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) add_executable(ros_server src/exe/ros_server_udp.cpp) +#add_executable(ros_server src/exe/ros_server_lcm.cpp) target_link_libraries(ros_server ${EXTRA_LIBS} ${catkin_LIBRARIES}) add_dependencies(ros_server ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) diff --git a/unitree_legged_real/src/exe/ros_server_udp.cpp b/unitree_legged_real/src/exe/ros_server_udp.cpp index 3ffa1e3..6d3ee4f 100644 --- a/unitree_legged_real/src/exe/ros_server_udp.cpp +++ b/unitree_legged_real/src/exe/ros_server_udp.cpp @@ -56,6 +56,34 @@ void Ros_Server_High::RobotControl() udp.GetRecv(state); RecvHighROS = ToRos(state); pub.publish(RecvHighROS); + ROS_INFO_THROTTLE(1, "** STATE **"); + ROS_INFO_THROTTLE(1, "head %8d %8d", state.head[0], state.head[0]); + ROS_INFO_THROTTLE(1, "levelFlag %8d", state.levelFlag); + ROS_INFO_THROTTLE(1, "SN %8d %8d", state.SN[0], state.SN[1]); + ROS_INFO_THROTTLE(1, "version %8d %8d", state.version[0], state.version[0]); + ROS_INFO_THROTTLE(1, "bandWidth %8d", state.bandWidth); + ROS_INFO_THROTTLE(1, "imu.temperature %d", state.imu.temperature); + ROS_INFO_THROTTLE(1, "imu.quaternion %f %f %f %f", state.imu.quaternion[0], state.imu.quaternion[1], state.imu.quaternion[2], state.imu.quaternion[3]); + ROS_INFO_THROTTLE(1, "imu.gyroscope %f %f %f", state.imu.gyroscope[0], state.imu.gyroscope[1], state.imu.gyroscope[2]); + ROS_INFO_THROTTLE(1, "imu.accelerometer %f %f %f", state.imu.accelerometer[0], state.imu.accelerometer[1], state.imu.accelerometer[2]); + ROS_INFO_THROTTLE(1, "bms %d", state.bms.bms_status); + ROS_INFO_THROTTLE(1, "footForce %d %d %d %d", state.footForce[0], state.footForce[1], state.footForce[2], state.footForce[3]); + ROS_INFO_THROTTLE(1, "footForceEst %d %d %d %d", state.footForceEst[0], state.footForceEst[1], state.footForceEst[2], state.footForceEst[3]); + ROS_INFO_THROTTLE(1, "mode %8d", state.mode); + ROS_INFO_THROTTLE(1, "progress %f", state.progress); + ROS_INFO_THROTTLE(1, "gaitType %d", state.gaitType); + ROS_INFO_THROTTLE(1, "footRaiseHeight %f", state.footRaiseHeight); + ROS_INFO_THROTTLE(1, "position %f %f", state.position[0], state.position[1]); + ROS_INFO_THROTTLE(1, "bodyHeight %f", state.bodyHeight); + ROS_INFO_THROTTLE(1, "velocity %f %f", state.velocity[0], state.velocity[1]); + ROS_INFO_THROTTLE(1, "yawSpeed %f", state.yawSpeed); + ROS_INFO_THROTTLE(1, "rangeObstacle %f %f %f %f", state.rangeObstacle[0], state.rangeObstacle[1], state.rangeObstacle[2], state.rangeObstacle[3]); + ROS_INFO_THROTTLE(1, "footPosition2Body (%f %f %f) (%f %f %f) (%f %f %f) (%f %f %f)", state.footPosition2Body[0].x, state.footPosition2Body[0].y, state.footPosition2Body[0].z, state.footPosition2Body[1].x, state.footPosition2Body[1].y, state.footPosition2Body[1].z, state.footPosition2Body[2].x, state.footPosition2Body[2].y, state.footPosition2Body[2].z, state.footPosition2Body[3].x, state.footPosition2Body[3].y, state.footPosition2Body[3].z); + ROS_INFO_THROTTLE(1, "footSpeed2Body (%f %f %f) (%f %f %f) (%f %f %f) (%f %f %f)", state.footSpeed2Body[0].x, state.footSpeed2Body[0].y, state.footSpeed2Body[0].z, state.footSpeed2Body[1].x, state.footSpeed2Body[1].y, state.footSpeed2Body[1].z, state.footSpeed2Body[2].x, state.footSpeed2Body[2].y, state.footSpeed2Body[2].z, state.footSpeed2Body[3].x, state.footSpeed2Body[3].y, state.footSpeed2Body[3].z); + //ROS_INFO_THROTTLE(1, "wirelessRemote ");for(int i = 0; i < 40; i++) ROS_INFO_THROTTLE(1, " %d", state.wirelessRemote[i]); ROS_INFO_THROTTLE(1, ""); + ROS_INFO_THROTTLE(1, "reserve %d", state.reserve); + ROS_INFO_THROTTLE(1, "crc %d", state.crc); + // need to keep original cmd.head to move robots std::array head = cmd.head; @@ -63,6 +91,7 @@ void Ros_Server_High::RobotControl() cmd.head = head; // + ROS_INFO_THROTTLE(1, "** COMMAND **"); ROS_INFO_THROTTLE(1, "head %8d %8d", cmd.head[0], cmd.head[1]); ROS_INFO_THROTTLE(1, "levelFlag %8d", cmd.levelFlag); ROS_INFO_THROTTLE(1, "frameReserve %8d", cmd.frameReserve); From 3cdcda0e6f5990f9ff008f72656a289bab6b4714 Mon Sep 17 00:00:00 2001 From: Koki Shinjo Date: Fri, 1 Apr 2022 16:22:18 +0900 Subject: [PATCH 6/8] [unitree_legged_real] add rosparam to ros_server_udp --- unitree_legged_real/src/exe/ros_server_udp.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/unitree_legged_real/src/exe/ros_server_udp.cpp b/unitree_legged_real/src/exe/ros_server_udp.cpp index 6d3ee4f..2349837 100644 --- a/unitree_legged_real/src/exe/ros_server_udp.cpp +++ b/unitree_legged_real/src/exe/ros_server_udp.cpp @@ -18,7 +18,7 @@ using namespace UNITREE_LEGGED_SDK; class Ros_Server_High { public: - Ros_Server_High(): udp(8090, "192.168.123.161", 8082, sizeof(HighCmd), sizeof(HighState)){ + Ros_Server_High(uint16_t local_port, const char* target_ip, uint16_t target_port): udp(local_port, target_ip, target_port, sizeof(HighCmd), sizeof(HighState)){ pub = n.advertise("high_state", 1); sub = n.subscribe("high_cmd", 1, [&](const unitree_legged_msgs::HighCmdConstPtr& msg){SendHighROS=*msg;}); sub_vel = n.subscribe("cmd_vel", 1, &Ros_Server_High::CmdVelCB, this); @@ -123,7 +123,14 @@ void Ros_Server_High::RobotControl() int main(int argc, char *argv[]){ ros::init(argc, argv, "ros_server"); - Ros_Server_High server; + int local_port = 8090; + std::string target_ip = std::string("192.168.123.161"); + int target_port = 8082; + ros::param::get("~local_port", local_port); + ros::param::get("~target_ip", target_ip); + ros::param::get("~target_port", target_port); + + Ros_Server_High server(local_port, target_ip.c_str(), target_port); LoopFunc loop_control("control_loop", 0.002, boost::bind(&Ros_Server_High::RobotControl, &server)); LoopFunc loop_udpSend("UDP_Send", 0.002, 3, boost::bind(&Ros_Server_High::UDPSend, &server)); LoopFunc loop_udpRecv("UDP_Recv", 0.002, 3, boost::bind(&Ros_Server_High::UDPRecv, &server)); From 9ccd8d5641265f7df934aa9a25b11d88cb8231e3 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 1 Apr 2022 21:49:47 +0900 Subject: [PATCH 7/8] respect ${ARCH} in LEGGED_SDK_NAME --- unitree_legged_real/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unitree_legged_real/CMakeLists.txt b/unitree_legged_real/CMakeLists.txt index f8c284c..57d6062 100755 --- a/unitree_legged_real/CMakeLists.txt +++ b/unitree_legged_real/CMakeLists.txt @@ -31,7 +31,7 @@ if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64.*") else() set(ARCH arm64) endif() -string(CONCAT LEGGED_SDK_NAME libunitree_legged_sdk_amd64.so) +string(CONCAT LEGGED_SDK_NAME libunitree_legged_sdk_${ARCH}.so) set(EXTRA_LIBS ${LEGGED_SDK_NAME} lcm) add_executable(lcm_server ${ROBOT_SDK}/unitree_legged_sdk/examples/lcm_server.cpp) From d3f0f019f672ca64d73c4e590dfa7b671dfeb919 Mon Sep 17 00:00:00 2001 From: Guilherme Affonso Date: Fri, 1 Apr 2022 00:38:14 +0900 Subject: [PATCH 8/8] Fix ros_server_udp copyright date --- unitree_legged_real/src/exe/ros_server_udp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unitree_legged_real/src/exe/ros_server_udp.cpp b/unitree_legged_real/src/exe/ros_server_udp.cpp index 6d3ee4f..5bcddf9 100644 --- a/unitree_legged_real/src/exe/ros_server_udp.cpp +++ b/unitree_legged_real/src/exe/ros_server_udp.cpp @@ -1,5 +1,5 @@ /************************************************************************ -Copyright (c) 2020, Kei Okada. All rights reserved. +Copyright (c) 2022, Kei Okada. All rights reserved. Use of this source code is governed by the MPL-2.0 license, see LICENSE. ************************************************************************/