initial commit
本项目实现了节卡机械臂与因时灵巧手的协同控制,通过统一的C++接口实现了机械臂运动控制、灵巧手操作以及二者的协调动作。
actions 动作相关数据和记录文件
build 编译中间产物和最终可执行文件
c&c++ 节卡提供的C++ SDK
inc_of_c++ C 定义的头文件,是抽象的接口
inc_of_c++ C++ 定义的头文件,是抽象的接口(使用)
x86_64-linux-gnu linux平台的静态和动态库,是接口的具体实现。使用的是.so
coordinated_actions 同时用到机械臂和灵巧手的动作定义,主要是最外层菜单功能
example 应用与测试
main.cpp 当前含有上层功能的系统
test_semo.cpp 测试读灵巧手寄存器:信号量
test.cpp 测试写灵巧手寄存器:TIO设置与发送RS485帧
inspire_hand 仅与灵巧手相关的操作
inspire_hand_driver
inspire_hand_driver.h 发送接口定义
rh56_frame.h .c 帧构造
hand_actions.h .cpp 动作封装,收发接口定义
jaka_robot 仅与机械臂相关的操作
error_codes.h .cpp 机械臂错误码
robot_action .h .cpp 机械臂高层动作API(被系统逻辑调用,调用controller)
robot_controller.h .cpp 机械臂低层功能API(被action调用,调用SDK中的接口)
references 参考的开发手册
robot_control_hand 机械臂操纵灵巧手的TIO相关
communication_bridge.h .cpp 发送接口的实现,以及初始化TIO
semophore.h .cpp 信号量,读取接口的实现
tools 用到的工具函数
config_loader.h .cpp json配置文件的读取函数
tools.h .cpp 机械臂与灵巧手应用所需的工具函数
config.json json配置文件
CMakeLists.txt 编译文件
libjakaAPI.so
提示: 若使用 GCC ≤ 8,需在链接阶段额外加入 stdc++fs(已在 CMake 中自动处理老版本)。 Linux 环境需链接 pthread;若在 Windows 构建,请替换为对应平台库,建议使用 Threads::Threads 做跨平台处理,并将 .so 改为 .lib 路径。
提示:
stdc++fs
pthread
Threads::Threads
.so
.lib
rm -rf build mkdir build cd build cmake .. make -j4
./robot_menu # 主菜单示例 ./hand_tio_example # RS485 帧发送测试 ./test_semo # 信号量读取测试
config.json 关键字段:
config.json
robot_ip
vout_*
pin_mode
rs485_channel
slave_id
baudrate
databit
stopbit
parity
joint_speed_deg_s
joint_acc_deg_s2
line_speed_mm_s
line_acc_mm_s2
pose_speed_deg_s
pose_acc_deg_s2
home_joint_deg0~5
hand_angle*
hand_speed*
hand_force*
grasp_joint_speed_deg
grasp_joint_acc_deg
grasp_descend_mm
grasp_a_*
grasp_b_*
grasp_strategy*
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
节卡机械臂与因时灵巧手开发
项目概述
本项目实现了节卡机械臂与因时灵巧手的协同控制,通过统一的C++接口实现了机械臂运动控制、灵巧手操作以及二者的协调动作。
项目结构
actions 动作相关数据和记录文件
build 编译中间产物和最终可执行文件
c&c++ 节卡提供的C++ SDK
inc_of_c++ C 定义的头文件,是抽象的接口
inc_of_c++ C++ 定义的头文件,是抽象的接口(使用)
x86_64-linux-gnu linux平台的静态和动态库,是接口的具体实现。使用的是.so
coordinated_actions 同时用到机械臂和灵巧手的动作定义,主要是最外层菜单功能
example 应用与测试
main.cpp 当前含有上层功能的系统
test_semo.cpp 测试读灵巧手寄存器:信号量
test.cpp 测试写灵巧手寄存器:TIO设置与发送RS485帧
inspire_hand 仅与灵巧手相关的操作
inspire_hand_driver
inspire_hand_driver.h 发送接口定义
rh56_frame.h .c 帧构造
hand_actions.h .cpp 动作封装,收发接口定义
jaka_robot 仅与机械臂相关的操作
error_codes.h .cpp 机械臂错误码
robot_action .h .cpp 机械臂高层动作API(被系统逻辑调用,调用controller)
robot_controller.h .cpp 机械臂低层功能API(被action调用,调用SDK中的接口)
references 参考的开发手册
robot_control_hand 机械臂操纵灵巧手的TIO相关
communication_bridge.h .cpp 发送接口的实现,以及初始化TIO
semophore.h .cpp 信号量,读取接口的实现
tools 用到的工具函数
config_loader.h .cpp json配置文件的读取函数
tools.h .cpp 机械臂与灵巧手应用所需的工具函数
config.json json配置文件
CMakeLists.txt 编译文件
快速开始
环境要求
libjakaAPI.so)编译步骤
运行示例
配置说明
config.json关键字段:robot_ip机器人 IP;vout_*、pin_mode、rs485_channel、slave_id、baudrate、databit、stopbit、parity为 RS485/IO 电气与串口参数。joint_speed_deg_s/joint_acc_deg_s2关节速度加速度;line_speed_mm_s/line_acc_mm_s2直线速度加速度;pose_speed_deg_s/pose_acc_deg_s2姿态速度加速度。home_joint_deg0~5关节回零姿态。hand_angle*目标角度;hand_speed*速度;hand_force*夹持力。grasp_joint_speed_deg/grasp_joint_acc_deg抓取时关节运动参数;grasp_descend_mm抓取下降距离。grasp_a_*/grasp_b_*抓取时两个点的关节位置;grasp_strategy*一系列拇指弯曲/旋转/平移预设,用于不同物体抓取。