项目简介
本项目是基于C++的机器人手臂控制系统,用于控制“Jaco”六自由度机器人手臂。此系统作为轮椅“ZED evolution”的机器人手臂模块,主要实现轮椅与机器人手臂之间的通信和命令转换,达成轮椅控制器与机器人手臂间的命令转换及事件处理。
项目的主要特性和功能
- 命令与事件转换:接收轮椅控制器命令,转换为机器人手臂可理解的命令,并处理手臂事件。
- 通信协议:实现特定通信协议,用于轮椅控制器与机器人手臂的数据交换。
- 目标管理:具备目标管理和控制功能,涵盖目标序列处理、原点坐标设置等。
- 硬件接口:提供与机器人手臂硬件的接口,包括连接、断开连接、初始化、移动控制等操作。
- 日志记录:采用spdlog库进行日志记录,便于调试和问题排查。
- 集成测试:通过CUTE测试框架进行集成测试,确保系统在不同场景下的正确性。
安装使用步骤
准备环境
确保已安装C++编译器(如GCC或Clang)和C++开发环境。
编译项目
- 进入源码目录。
- 创建构建目录:
mkdir build
。 - 进入构建目录:
cd build
。 - 配置构建环境:
cmake .. -DCMAKE_BUILD_TYPE=Release
。 - 返回上级目录:
cd ..
。 - 编译项目:
cmake --build build --target all -- -j4
。 - 安装项目:
sudo cmake --build build --target install
。
启动和停止服务
- 启动服务:
systemctl --user start kinovazed.service
。 - 停止服务:
systemctl --user stop kinovazed.service
。 - 启用自动启动:
systemctl --user enable kinovazed.service
。 - 禁用自动启动:
systemctl --user disable kinovazed.service
。
修改目标
- 连接到Raspberry Pi。
- 停止服务:
systemctl --user stop kinovazed.service
。 - 启动程序:
kinovaZED
。 - 使用telnet连接:
telnet 192.168.77.2 51717
。 - 初始化手臂:
EStop QuitEStop Initialize
- 选择目标:
SetActiveObjective:<Objective Name>
。 - 使用Kinova Joystick移动手臂到目标位置。
- 获取目标位置:
GetObjectivePosition
。 - 将位置信息保存到目标文件中:
~/Code/kinovazed/support/objectives/Cybathlon.json
。 - 重新安装项目并重启程序。
- 运行目标:
RunObjective:<Objective Name>
。 - 确认更改后提交并推送更改。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】