fix: grpc proto lib bug

This commit is contained in:
lgv 2025-12-15 17:01:32 +08:00
parent 058ea0f505
commit 0990b84cc8
14 changed files with 208 additions and 2285 deletions

View File

@ -44,28 +44,33 @@ set(PROTO_IMPORT_DIR ${PROJECT_SOURCE_DIR}/protos)
set(PROTO_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/_protobuf) set(PROTO_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/_protobuf)
file(MAKE_DIRECTORY ${PROTO_BINARY_DIR}) file(MAKE_DIRECTORY ${PROTO_BINARY_DIR})
file(GLOB_RECURSE PROTO_FILES ${PROTO_IMPORT_DIR}/*.proto) file(GLOB_RECURSE PROTO_FILES ${PROTO_IMPORT_DIR}/*.proto)
add_library(proto-objects OBJECT ${PROTO_FILES})
message(STATUS "proto files will be loaded in ${PROTO_IMPORT_DIR}") # 1) OBJECT/ pb.cc
message(STATUS "proto files will be generated in ${PROTO_BINARY_DIR}") add_library(proto-objects OBJECT)
target_sources(proto-objects PRIVATE ${PROTO_FILES})
set_target_properties(proto-objects PROPERTIES POSITION_INDEPENDENT_CODE ON)
protobuf_generate( protobuf_generate(
TARGET proto-objects TARGET proto-objects
IMPORT_DIRS ${PROTO_IMPORT_DIR} IMPORT_DIRS ${PROTO_IMPORT_DIR}
PROTOC_OUT_DIR ${PROTO_BINARY_DIR} PROTOC_OUT_DIR ${PROTO_BINARY_DIR}
USAGE_REQUIREMENT INTERFACE USAGE_REQUIREMENT PRIVATE
) )
protobuf_generate( protobuf_generate(
TARGET proto-objects TARGET proto-objects
LANGUAGE grpc LANGUAGE grpc
GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc
PLUGIN "protoc-gen-grpc=$ENV{HOME}/.local/bin/grpc_cpp_plugin" PLUGIN "protoc-gen-grpc=$ENV{HOME}/.local/bin/grpc_cpp_plugin"
USAGE_REQUIREMENT INTERFACE
IMPORT_DIRS ${PROTO_IMPORT_DIR} IMPORT_DIRS ${PROTO_IMPORT_DIR}
PROTOC_OUT_DIR ${PROTO_BINARY_DIR} PROTOC_OUT_DIR ${PROTO_BINARY_DIR}
USAGE_REQUIREMENT PRIVATE
) )
target_include_directories(proto-objects PUBLIC ${PROTO_BINARY_DIR} ${PROTO_IMPORT_DIR})
target_link_libraries(proto-objects PUBLIC protobuf::libprotobuf gRPC::grpc++ gRPC::grpc++_reflection)
# 2) OBJECT
add_library(proto SHARED $<TARGET_OBJECTS:proto-objects>)
target_include_directories(proto PUBLIC ${PROTO_BINARY_DIR} ${PROTO_IMPORT_DIR})
target_link_libraries(proto PUBLIC protobuf::libprotobuf gRPC::grpc++ gRPC::grpc++_reflection)
add_library(cmvr_es::proto ALIAS proto)
############################################################ ############################################################
# include # include
############################################################ ############################################################
@ -101,7 +106,7 @@ add_subdirectory(example)
add_executable(cmvr_es src/main.cpp) add_executable(cmvr_es src/main.cpp)
target_include_directories(cmvr_es PRIVATE ${GLOG_INCLUDE_DIRS}) target_include_directories(cmvr_es PRIVATE ${GLOG_INCLUDE_DIRS})
target_link_libraries(cmvr_es PRIVATE target_link_libraries(cmvr_es PRIVATE
proto-objects cmvr_es::proto
service service
${GLOG_LIBRARIES} ${GLOG_LIBRARIES}
gflags gflags

View File

@ -49,7 +49,7 @@
<Motor id="21" jointName="L_WRIST_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/> <Motor id="21" jointName="L_WRIST_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
<Motor id="22" jointName="L_WRIST_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/> <Motor id="22" jointName="L_WRIST_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
</LeftArmCan> </LeftArmCan>
<RightArmCan id = " " devId = " " channelId ="1" enable="true" toolFrame="R_FINGER_TIP"> <RightArmCan id = " " devId = " " channelId ="1" enable="false" toolFrame="R_FINGER_TIP">
<!-- <Motor id="16" jointName="R_SHOULDER_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>--> <!-- <Motor id="16" jointName="R_SHOULDER_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>-->
<!-- <Motor id="17" jointName="R_SHOULDER_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>--> <!-- <Motor id="17" jointName="R_SHOULDER_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>-->
<!-- <Motor id="18" jointName="R_SHOULDER_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>--> <!-- <Motor id="18" jointName="R_SHOULDER_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>-->
@ -58,8 +58,8 @@
<Motor id="28" jointName="R_WRIST_Y" limitQLb="-1.102" limitQUb="1.02" limitQd="3.0"/> <Motor id="28" jointName="R_WRIST_Y" limitQLb="-1.102" limitQUb="1.02" limitQd="3.0"/>
<!-- <Motor id="1" jointName="R_WRIST_R" limitQLb="-0.293" limitQUb="1.57079" limitQd="3.0"/>--> <!-- <Motor id="1" jointName="R_WRIST_R" limitQLb="-0.293" limitQUb="1.57079" limitQd="3.0"/>-->
</RightArmCan> </RightArmCan>
<HeadCan id = " " devId = " " channelId ="2" enable="false"> <HeadCan id = " " devId = " " channelId ="2" enable="true">
<Motor id="32" jointName="HEAD_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/> <!-- <Motor id="32" jointName="HEAD_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>-->
<Motor id="30" jointName="HEAD_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/> <Motor id="30" jointName="HEAD_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
<Motor id="31" jointName="HEAD_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/> <Motor id="31" jointName="HEAD_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
</HeadCan> </HeadCan>

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@ target_link_libraries(moveJ PRIVATE
cmvr_es::device::ti5motor cmvr_es::device::ti5motor
cmvr_es::device::humanoid_robot cmvr_es::device::humanoid_robot
pthread glog::glog pthread glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
cmvr_es::device_manager cmvr_es::device_manager
@ -43,7 +43,7 @@ target_link_libraries(torqueOff PRIVATE
cmvr_es::device::ti5motor cmvr_es::device::ti5motor
cmvr_es::device::humanoid_robot cmvr_es::device::humanoid_robot
pthread glog::glog pthread glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
cmvr_es::device_manager cmvr_es::device_manager
@ -56,7 +56,7 @@ target_link_libraries(torqueOn PRIVATE
cmvr_es::device::humanoid_robot cmvr_es::device::humanoid_robot
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
cmvr_es::device_manager cmvr_es::device_manager
@ -73,7 +73,7 @@ target_link_libraries(robot_wrapper PRIVATE
cmvr_es::device::humanoid_robot cmvr_es::device::humanoid_robot
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
cmvr_es::device_manager cmvr_es::device_manager

View File

@ -19,7 +19,7 @@ target_link_libraries(controller PUBLIC
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
cmvr_es::device_manager cmvr_es::device_manager

View File

@ -40,7 +40,7 @@ target_link_libraries(realsense_camera_test
gtest gtest
gtest_main gtest_main
pthread pthread
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
${OpenCV_LIBS} ${OpenCV_LIBS}

View File

@ -13,10 +13,12 @@ add_library(cmvr_es::device::canbus ALIAS canbus)
target_link_libraries(canbus target_link_libraries(canbus
PRIVATE PRIVATE
protobuf::libprotobuf cmvr_es::proto
glog::glog glog::glog
# proto-objects # protobuf::libprotobuf
# PUBLIC pcanbasic
## proto-objects
## PUBLIC pcanbasic
) )
# -------------------------------------------------------- # --------------------------------------------------------
@ -42,7 +44,7 @@ target_link_libraries(socket_can_client_raw_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )
@ -58,7 +60,7 @@ target_link_libraries(protocol_data_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )
add_executable(message_manager_test add_executable(message_manager_test
@ -73,7 +75,7 @@ target_link_libraries(message_manager_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )
@ -89,7 +91,7 @@ target_link_libraries(can_sender_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )
add_executable(can_receiver_test add_executable(can_receiver_test
@ -104,7 +106,7 @@ target_link_libraries(can_receiver_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )
@ -120,5 +122,5 @@ target_link_libraries(pcan_client_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )

View File

@ -28,5 +28,5 @@ target_link_libraries(motor_manager_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )

View File

@ -48,7 +48,7 @@ target_link_libraries(motor_controller_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )

View File

@ -60,7 +60,7 @@ target_link_libraries(humanoid_robot_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
${OpenCV_LIBS} ${OpenCV_LIBS}
ccd ccd
fcl fcl

View File

@ -220,6 +220,11 @@ template<int DOF>
void HumanoidRobot<DOF>::moveJ(std::vector<JointPoint> &cmd, double vel, double acc) { void HumanoidRobot<DOF>::moveJ(std::vector<JointPoint> &cmd, double vel, double acc) {
if (cmd.empty()) return; if (cmd.empty()) return;
for (auto c: cmd) {
LOG(INFO) << c.joint_name << c.rad << endl;
LOG(INFO) << vel << " "<< acc << endl;
}
// 1. 读当前关节角 // 1. 读当前关节角
std::unordered_map<std::string, double> cur_joints_angle; std::unordered_map<std::string, double> cur_joints_angle;

View File

@ -60,7 +60,7 @@ target_link_libraries(srs_ik_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
Eigen3::Eigen Eigen3::Eigen
OsqpEigen::OsqpEigen OsqpEigen::OsqpEigen
cmvr_es::utils cmvr_es::utils
@ -84,7 +84,7 @@ target_link_libraries(ik_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
) )

View File

@ -63,7 +63,7 @@ target_link_libraries(joint_space_planner_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
${OpenCV_LIBS} ${OpenCV_LIBS}

View File

@ -12,10 +12,8 @@ add_library(service
target_include_directories(service PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(service PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(service PRIVATE target_link_libraries(service PRIVATE
proto-objects cmvr_es::proto
gRPC::grpc++ cmvr_es::device_manager
protobuf::libprotobuf
cmvr_es::device_manager
cmvr_es::controller cmvr_es::controller
) )
@ -54,7 +52,7 @@ target_link_libraries(grpc_humanoid_robot_client_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
cmvr_es::device_manager cmvr_es::device_manager
@ -62,8 +60,6 @@ target_link_libraries(grpc_humanoid_robot_client_test
) )
add_executable(grpc_hlc_client_test add_executable(grpc_hlc_client_test
src/grpc_hlc_client_test.cpp src/grpc_hlc_client_test.cpp
) )
@ -78,7 +74,7 @@ target_link_libraries(grpc_hlc_client_test
gtest_main gtest_main
pthread pthread
glog::glog glog::glog
proto-objects cmvr_es::proto
ccd ccd
fcl fcl
cmvr_es::device_manager cmvr_es::device_manager