Add the UME RobotArm and Damiao CAN-FD path, migrate the legacy UME controller, and introduce guarded cross-machine gRPC teleoperation with lifecycle, authority, configuration, and test coverage.
93 lines
2.5 KiB
CMake
93 lines
2.5 KiB
CMake
add_library(ume_robot_arm SHARED
|
|
src/damiao_mit_codec.cpp
|
|
src/damiao_can_fd_chain.cpp
|
|
src/ume_robot_arm.cpp
|
|
)
|
|
|
|
target_include_directories(ume_robot_arm PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
|
|
target_link_libraries(ume_robot_arm
|
|
PUBLIC
|
|
cmvr_es::device::canbus
|
|
cmvr_es::ik_solver
|
|
cmvr_es::common
|
|
PRIVATE
|
|
cmvr_es::proto
|
|
cmvr_es::logging
|
|
pthread
|
|
)
|
|
|
|
add_library(cmvr_es::device::ume_robot_arm ALIAS ume_robot_arm)
|
|
install(TARGETS ume_robot_arm LIBRARY DESTINATION lib)
|
|
|
|
if(BUILD_TESTING)
|
|
add_executable(damiao_mit_codec_test
|
|
tests/damiao_mit_codec_test.cpp
|
|
)
|
|
target_link_libraries(damiao_mit_codec_test
|
|
PRIVATE
|
|
cmvr_es::device::ume_robot_arm
|
|
gtest
|
|
gtest_main
|
|
pthread
|
|
)
|
|
add_test(
|
|
NAME damiao_mit_codec_test
|
|
COMMAND damiao_mit_codec_test
|
|
)
|
|
set(_ume_robot_arm_test_environment
|
|
"LD_LIBRARY_PATH=${CMVR_TEST_EXTERNAL_LIBRARY_PATH}"
|
|
)
|
|
if(CMVR_TEST_SYSTEM_LIBSTDCXX)
|
|
list(APPEND _ume_robot_arm_test_environment
|
|
"LD_PRELOAD=${CMVR_TEST_SYSTEM_LIBSTDCXX}")
|
|
endif()
|
|
set_tests_properties(damiao_mit_codec_test PROPERTIES
|
|
TIMEOUT 10
|
|
ENVIRONMENT "${_ume_robot_arm_test_environment}"
|
|
)
|
|
|
|
add_executable(damiao_can_fd_chain_test
|
|
tests/damiao_can_fd_chain_test.cpp
|
|
)
|
|
target_link_libraries(damiao_can_fd_chain_test
|
|
PRIVATE
|
|
cmvr_es::device::ume_robot_arm
|
|
gtest
|
|
gtest_main
|
|
pthread
|
|
)
|
|
add_test(
|
|
NAME damiao_can_fd_chain_test
|
|
COMMAND damiao_can_fd_chain_test
|
|
)
|
|
set_tests_properties(damiao_can_fd_chain_test PROPERTIES
|
|
TIMEOUT 10
|
|
ENVIRONMENT "${_ume_robot_arm_test_environment}"
|
|
)
|
|
|
|
add_executable(ume_robot_arm_test
|
|
tests/ume_robot_arm_test.cpp
|
|
)
|
|
target_link_libraries(ume_robot_arm_test
|
|
PRIVATE
|
|
cmvr_es::device::ume_robot_arm
|
|
gtest
|
|
gtest_main
|
|
pthread
|
|
)
|
|
target_compile_definitions(ume_robot_arm_test PRIVATE
|
|
CMVR_UME_ARM_CONFIG_PATH="${PROJECT_SOURCE_DIR}/cmvr-es/config/devices/arm/ume_arms.pb.txt"
|
|
)
|
|
add_test(
|
|
NAME ume_robot_arm_test
|
|
COMMAND ume_robot_arm_test
|
|
)
|
|
set_tests_properties(ume_robot_arm_test PROPERTIES
|
|
TIMEOUT 10
|
|
ENVIRONMENT "${_ume_robot_arm_test_environment}"
|
|
)
|
|
endif()
|