Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
61c0019
reconstruct the msgid, mode_id, message_header, add request_result class
ZhuoyueLi Nov 6, 2025
926e640
Merge pull request #5 from ZhuoyueLi/main
xinkai-jiang Nov 6, 2025
94ba7d7
add five controller mode
xinkai-jiang Nov 6, 2025
08b04a8
add clang-format
xinkai-jiang Nov 6, 2025
16c3277
create controlLoop function
xinkai-jiang Nov 6, 2025
13ea143
control mode factory and refactor the arm proxy
xinkai-jiang Nov 7, 2025
fe33a8b
add ServiceRegistry and some todos
xinkai-jiang Nov 8, 2025
5f96eb2
change name to MsgHeader, refine service_registry, use overload for c…
ZhuoyueLi Nov 9, 2025
a8c1291
1.Code clean 2.Franka::Torques decode 3. extend Robotstate with origi…
ZhuoyueLi Nov 10, 2025
b35a5eb
Merge pull request #6 from ZhuoyueLi/feat/protocol
xinkai-jiang Nov 10, 2025
f81a3be
1. clean gripper function in arm_proxy 2. edit state publish thread &…
ZhuoyueLi Nov 10, 2025
5852b0a
Merge pull request #7 from ZhuoyueLi/feat/protocol
xinkai-jiang Nov 10, 2025
9b1e9de
remove template from decode
xinkai-jiang Nov 10, 2025
acd3249
Merge branch 'feat/protocol' into feat/control_mode
xinkai-jiang Nov 10, 2025
177af92
test code and fix bugs in the local environment
xinkai-jiang Nov 10, 2025
574f346
finish test on the cartesian control mode
xinkai-jiang Nov 11, 2025
2653256
fix the cartesian control command sending bugs
xinkai-jiang Nov 12, 2025
dc70399
test on real robot
xinkai-jiang Nov 14, 2025
0b8193c
add new impedance_control_callback
xinkai-jiang Nov 14, 2025
d44c822
add recover
xinkai-jiang Nov 15, 2025
2a0571c
add gripper
xinkai-jiang Nov 17, 2025
466a932
fix sending grasping command bugs
xinkai-jiang Nov 17, 2025
c81759b
test it in the real robot
xinkai-jiang Nov 17, 2025
b6323d7
gripper control
xinkai-jiang Nov 18, 2025
577a041
local test for gripper
xinkai-jiang Nov 18, 2025
5489f30
fix the franka_gripper issue
xinkai-jiang Nov 19, 2025
f00cfa6
clean the code and remove unnecessary part
xinkai-jiang Nov 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
BasedOnStyle: Google
IndentWidth: 4
ColumnLimit: 100
DerivePointerAlignment: false
PointerAlignment: Left
AllowShortFunctionsOnASingleLine: Empty
AccessModifierOffset: -2
BreakBeforeBraces: Allman
SortIncludes: true
IncludeBlocks: Regroup
NamespaceIndentation: All
SpacesBeforeTrailingComments: 1
ReflowComments: false
66 changes: 46 additions & 20 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,48 +1,74 @@
project(FrankaControlProxy)
cmake_minimum_required(VERSION 3.10)
project(FrankaControlProxy)

# -----------------------------
# C++ settings
# -----------------------------
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")

#include
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# -----------------------------
# Include paths
# -----------------------------
include_directories(
include
include/control_mode
include/protocol
include/debugger
)

# dependencies
# -----------------------------
# Dependencies
# -----------------------------
find_package(Franka REQUIRED)
find_package(Threads REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(ZMQ REQUIRED libzmq)
find_package(yaml-cpp REQUIRED)

# find_package(yaml-cpp REQUIRED)

# collect source
# -----------------------------
# Source collection
# -----------------------------
file(GLOB_RECURSE SOURCES
src/*.cpp
)

# Include directories
include_directories(include ${YAML_CPP_INCLUDE_DIR} ${Franka_INCLUDE_DIRS})
# -----------------------------
# Build options
# -----------------------------
option(LOCAL_TESTING "Enable local test mode (skip robot connection etc.)" ON)

# build proxy
add_executable(proxy ${SOURCES})
if(LOCAL_TESTING)
message(STATUS "LOCAL_TESTING mode is ON")
add_compile_definitions(LOCAL_TESTING=1)
else()
message(STATUS "LOCAL_TESTING mode is OFF")
add_compile_definitions(LOCAL_TESTING=0)
endif()

# -----------------------------
# Executable
# -----------------------------
add_executable(proxy src/main.cpp ${SOURCES})

# -----------------------------
# Include dirs & libs
# -----------------------------
target_include_directories(proxy PRIVATE
include
${Franka_INCLUDE_DIRS}
${ZMQ_INCLUDE_DIRS}
${YAML_CPP_INCLUDE_DIR}
)

# connect with dependencies
target_link_libraries(proxy
${Franka_LIBRARIES}
${ZMQ_LIBRARIES}
${YAML_CPP_LIBRARIES}
Threads::Threads
)

#include path
target_include_directories(proxy PRIVATE
${franka_INCLUDE_DIRS}
${ZMQ_INCLUDE_DIRS}
)



6 changes: 3 additions & 3 deletions P1_arm.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
type:Arm
follower:true
robot_ip:172.16.1.2
state_pub_addr:tcp://141.3.53.152:51000
service_addr:tcp://141.3.53.152:51001
sub_addr:tcp://141.3.53.152:52000
state_pub_addr:tcp://192.168.0.134:51000
service_addr:tcp://192.168.0.134:51001
sub_addr:tcp://192.168.0.134:52000
useGripper:true
125 changes: 0 additions & 125 deletions include/FrankaProxy.hpp

This file was deleted.

70 changes: 0 additions & 70 deletions include/control_mode/abstract_control_mode.h

This file was deleted.

Loading
Loading