Skip to content

Commit 270558e

Browse files
committed
clean client example
1 parent b2e87db commit 270558e

3 files changed

Lines changed: 27 additions & 26 deletions

File tree

CMakeLists.txt

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
cmake_minimum_required(VERSION 3.16)
22
project(robotcpp VERSION 0.1.0 LANGUAGES C CXX)
33

4-
option(ROBOT_CPP_BUILD_ROBOT_SERVER "Build model-cli, model-server, and robot client targets" ON)
4+
option(ROBOT_CPP_BUILD_ROBOT_SERVER "Build model-cli and model-server targets" ON)
5+
option(ROBOT_CPP_BUILD_ROBOT_CLIENT "Build C++ robot client targets" OFF)
56

67
set(CMAKE_CXX_STANDARD 17)
78
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -107,7 +108,7 @@ target_include_directories(robotcpp
107108
target_link_libraries(robotcpp PUBLIC smolvla_runtime pi0_engine)
108109
target_compile_features(robotcpp PUBLIC cxx_std_17)
109110

110-
if(ROBOT_CPP_BUILD_ROBOT_SERVER)
111+
if(ROBOT_CPP_BUILD_ROBOT_SERVER OR ROBOT_CPP_BUILD_ROBOT_CLIENT)
111112
add_library(robot_server_common STATIC
112113
${ROBOT_SERVER_DIR}/protocol.cpp
113114
${ROBOT_SERVER_DIR}/protocol.h
@@ -119,7 +120,27 @@ if(ROBOT_CPP_BUILD_ROBOT_SERVER)
119120
if(WIN32)
120121
target_link_libraries(robot_server_common PUBLIC ws2_32)
121122
endif()
123+
endif()
124+
125+
if(ROBOT_CPP_BUILD_ROBOT_CLIENT)
126+
add_library(model_client_cpp STATIC
127+
${ROBOT_CLIENT_DIR}/cpp/model_client.cpp
128+
${ROBOT_CLIENT_DIR}/cpp/model_client.h
129+
)
130+
target_include_directories(model_client_cpp PUBLIC
131+
${ROBOT_CLIENT_DIR}
132+
${ROBOT_SERVER_DIR}
133+
)
134+
target_link_libraries(model_client_cpp PUBLIC robot_server_common)
135+
target_compile_features(model_client_cpp PUBLIC cxx_std_17)
136+
137+
add_executable(model-cpp-client-example ${ROBOT_CLIENT_DIR}/examples/cpp/minimal_example.cpp)
138+
set_target_properties(model-cpp-client-example PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
139+
target_link_libraries(model-cpp-client-example PRIVATE model_client_cpp)
140+
target_compile_features(model-cpp-client-example PRIVATE cxx_std_17)
141+
endif()
122142

143+
if(ROBOT_CPP_BUILD_ROBOT_SERVER)
123144
add_library(robot_server_core STATIC
124145
${ROBOT_SERVER_DIR}/session.cpp
125146
${ROBOT_SERVER_DIR}/session.h
@@ -134,17 +155,6 @@ if(ROBOT_CPP_BUILD_ROBOT_SERVER)
134155
target_link_libraries(robot_server_core PUBLIC robot_server_common robotcpp)
135156
target_compile_features(robot_server_core PUBLIC cxx_std_17)
136157

137-
add_library(model_client_cpp STATIC
138-
${ROBOT_CLIENT_DIR}/cpp/model_client.cpp
139-
${ROBOT_CLIENT_DIR}/cpp/model_client.h
140-
)
141-
target_include_directories(model_client_cpp PUBLIC
142-
${ROBOT_CLIENT_DIR}
143-
${ROBOT_SERVER_DIR}
144-
)
145-
target_link_libraries(model_client_cpp PUBLIC robot_server_common)
146-
target_compile_features(model_client_cpp PUBLIC cxx_std_17)
147-
148158
add_executable(model-cli src/model-cli.cpp)
149159
set_target_properties(model-cli PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
150160
target_include_directories(model-cli PRIVATE
@@ -164,11 +174,6 @@ if(ROBOT_CPP_BUILD_ROBOT_SERVER)
164174
target_link_libraries(model-server PRIVATE robot_server_core robotcpp)
165175
target_compile_features(model-server PRIVATE cxx_std_17)
166176

167-
add_executable(model-cpp-client-example ${ROBOT_CLIENT_DIR}/examples/cpp/minimal_example.cpp)
168-
set_target_properties(model-cpp-client-example PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
169-
target_link_libraries(model-cpp-client-example PRIVATE model_client_cpp)
170-
target_compile_features(model-cpp-client-example PRIVATE cxx_std_17)
171-
172177
add_executable(smolvla-raw-predict ${ROBOT_SERVER_DIR}/test/smolvla_raw_predict.cpp)
173178
set_target_properties(smolvla-raw-predict PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
174179
target_include_directories(smolvla-raw-predict PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${SMOLVLA_DIR})

robot_client/examples/cpp/minimal_example.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ int main(int argc, char ** argv) {
5252

5353
client::ModelObservation obs;
5454
client::ModelImage camera;
55-
camera.name = "image";
55+
camera.name = "observation.images.front";
5656
camera.rgb_hwc_u8 = image.data();
5757
camera.width = width;
5858
camera.height = height;

robot_client/shell/cpp_client_example.sh

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -e
33

44
ROBOT_CPP_ROOT="${ROBOT_CPP_ROOT:?ROBOT_CPP_ROOT must be set}"
5-
BUILD_DIR="${BUILD_DIR:-${ROBOT_CPP_ROOT}/build_smolvla_mac_cpu}"
5+
BUILD_DIR="${BUILD_DIR:-${ROBOT_CPP_ROOT}/build_robot_client}"
66
HOST="${HOST:-127.0.0.1}"
77
PORT="${PORT:-5555}"
88

@@ -15,12 +15,8 @@ if [ "${BUILD_CLIENT}" = "1" ] || [ ! -x "${CLIENT_BIN}" ]; then
1515
echo "== configure =="
1616
"${CMAKE_BIN}" -S "${ROBOT_CPP_ROOT}" -B "${BUILD_DIR}" \
1717
-DCMAKE_BUILD_TYPE=Release \
18-
-DGGML_NATIVE=OFF \
19-
-DGGML_BLAS=ON \
20-
-DGGML_BLAS_VENDOR=Apple \
21-
-DGGML_OPENMP=OFF \
22-
-DGGML_METAL=OFF \
23-
-DROBOT_CPP_BUILD_ROBOT_SERVER=ON
18+
-DROBOT_CPP_BUILD_ROBOT_SERVER=OFF \
19+
-DROBOT_CPP_BUILD_ROBOT_CLIENT=ON
2420

2521
echo "== build cpp client example =="
2622
"${CMAKE_BIN}" --build "${BUILD_DIR}" \

0 commit comments

Comments
 (0)