跳到主要内容

通用案例

1. H12遥控器使用开发案例

H12遥控器使用开发案例概述

该案例介绍了如何使用H12遥控器来控制机器人,涵盖了从部署到操作的各个方面。主要内容包括:

  • 部署流程:概述了如何初始化和管理遥控器控制程序。
  • 状态机概述:描述了机器人在不同控制状态下的转换和操作逻辑。
  • 遥控器配置:提供了按键和摇杆的使用指南,以及紧急停止的操作说明。

跳转案例

2. VR使用开发案例

VR使用开发案例概述

VR使用开发案例概述

该案例介绍了如何使用Quest3 VR设备进行机器人控制,重点在于通过VR手柄实现对机器人手臂、灵巧手的远程操作,以及机器人的基本运动控制。主要内容包括:

  • 设备与手柄:使用Quest3作为VR设备,通过手柄实现对机器人的控制,适用于具身智能的数据采集。
  • Quest3相关使用:涵盖了设备管理、系统更新、程序启动、视频导出和空间限制的处理。
  • VR控制准备与使用:确保设备和网络准备就绪,通过VR手柄实现对机器人的多种控制模式,包括手势识别。

跳转案例

3. 单步控制案例(落足点规划)

单步控制案例概述

该案例介绍了如何通过ROS实现机器人的单步控制,重点在于落足点规划以控制机器人的步态。主要内容包括:

  • 示例代码:提供了用于生成和发布步态信息的代码示例。
  • 函数说明:详细描述了代码中的关键函数及其作用,包括步态消息生成、脚位置计算等。
  • 主程序逻辑:概述了如何设置和发布步态信息的整体流程。
  • 执行效果:通过视频展示了单步控制的实际效果。

跳转案例

4. 二维码检测使用案例

二维码检测使用案例概述

该案例介绍了如何使用AprilTag二维码进行检测和信息获取,主要内容包括:

二维码

  • 二维码类型:使用AprilTag类型,具体为36h11。
  • 二维码下载:提供了二维码下载网站的链接。

使用流程

  • 配置文件调整:需要在配置文件中设置要识别的二维码ID和尺寸。
  • 启动程序:通过ROS启动上位机主程序,并使用rqt工具观察识别效果。

获取检测结果

  • 结果获取:通过ROS话题获取二维码在相机坐标系和机器人基坐标系中的位姿信息。
  • 示例程序:提供了用于获取二维码信息的示例程序。

跳转案例

5. 灵巧手手势使用案例

灵巧手手势使用案例概述

该案例介绍了如何使用灵巧手进行预设手势的检测和执行,主要内容包括:

预设手势

  • 手势列表:提供了灵巧手支持的各种预设手势,包括其名称、别名和描述。例如,单指点、两指夹、握拳等手势,适用于不同的操作场景,如触动按钮、夹持物体、表示数字等。

执行与查询

  • 执行预设手势:通过特定的接口执行灵巧手的预设手势。
  • 查询手势状态:检查当前是否有预设手势正在执行。

示例代码

  • 提供了示例代码,展示如何调用接口来执行和查询手势。

跳转案例

6. 路径轨迹规划案例

路径轨迹规划案例概述

该案例介绍了如何使用MPC控制器来跟踪预设的路径轨迹,主要内容包括:

功能包

  • 名称trace_path
  • 位置:下位机代码仓库

描述

  • 轨迹类型
    • 直线:从机器人当前位置生成指定长度的直线路径。
    • 正方形:从机器人当前位置逆时针生成指定边长的正方形路径。
    • 圆形:从机器人当前位置逆时针生成指定半径的圆形路径。
    • "S"曲线:从机器人当前位置生成正弦曲线路径。

目录结构

  • 包含文档、头文件、启动文件、路径生成器、控制器和测试入口等。

参数设置

  • 公共参数:速度和时间间隔。
  • 路径特定参数
    • 直线:长度
    • 正方形:边长
    • 圆形:半径
    • "S"曲线:总长度的一半和振幅

控制器

  • MPC:可设置最大线性速度和最大角速度。

编译与启动

  • 编译:修改路径参数和控制器参数后进行编译。
  • 启动
    • 在仿真或实物环境中启动机器人程序。
    • 生成并跟踪轨迹,支持正方形、圆形和"S"曲线轨迹。

跳转案例

7. 数据采集案例

数据采集案例概述

该案例介绍了如何使用ROS的rosbag工具进行数据采集,主要内容包括:

数据采集方式

  • 工具:使用rosbag包录制机器人相关信息的话题。
  • 目标:采集相机图像、手臂位置轨迹等数据。

ROSBAG 工具使用

  • 脚本路径4功能案例/通用案例/scripts/rosbag_tool.py
  • 录制话题:通过脚本配置录制的ROS话题,涵盖了手臂轨迹、手部位置、头部运动数据,以及多种相机数据(如深度图像、RGB图像、相机内参等)。

配置文件

  • 话题配置:录制的话题列表存储在scripts/record_topics.json文件中,可以根据需求进行修改。

跳转案例

8. YOLOv8目标检测案例

YOLOv8目标检测案例概述

该案例介绍了如何使用YOLOv8模型进行箱子识别,主要内容包括:

功能包

  • 名称yolo_box_object_detection
  • 位置:上位机代码仓库
  • 用途:用于箱子识别的YOLO ROS功能包

模型路径及说明

  • 模型格式.pt
  • 模型路径:存放在指定的模型目录中
  • 测试程序:包括实时检测和图片检测的示例程序

ROS话题订阅

  • 提供多个话题用于获取识别结果和绘制结果,支持基于相机和机器人基坐标系的3D位置。

启动

  • 通过ROS命令启动箱子识别功能,支持在工作目录下执行。

跳转案例

9. 手臂逆运动学案例

手臂逆运动学案例概述

该案例介绍了如何在ROS中实现手臂的逆运动学(IK)和正运动学(FK)求解,主要内容包括:

编译与启动

  • 编译:使用catkin build命令编译motion_capture_ik节点。
  • 启动参数:支持可视化、机器人版本、控制手臂选择等多种参数配置。
  • 启动示例:提供不同配置下的启动命令示例。

ROS 接口

  • 订阅话题/ik/two_arm_hand_pose_cmd用于接收手臂IK求解请求。
  • 发布话题/ik/result发布IK求解结果,/ik/debug/time_cost输出求解耗时。
  • 服务/ik/two_arm_hand_pose_cmd_srv提供IK逆解服务,/ik/fk_srv提供FK正解服务。

使用示例

  • IK求解服务:展示如何调用IK服务并打印结果。
  • IK求解话题:展示如何通过话题使用IK功能。
  • FK求解服务:展示如何调用FK服务并打印结果。

跳转案例

10. 手臂轨迹规划案例

手臂轨迹规划案例概述

该案例介绍了如何规划人形机器人的手臂关节状态轨迹,主要内容包括:

功能包

  • 名称humanoid_plan_arm_trajectory
  • 位置<kuavo-ros-opensource>/src/demo/examples_code/hand_plan_arm_trajectory

描述

提供两种插值方法用于实现手臂关节状态轨迹规划:

  • 三次样条插值器
  • 贝塞尔曲线插值器

编译与启动

  • 编译:使用 catkin build 命令编译hand_plan_arm_trajectory功能包。
  • 参数设置:支持关节状态话题名称、角度单位和启动方式等配置
  • 启动示例:提供了两种插值方法的启动命令和示例代码

跳转案例

11. 键盘控制案例

键盘控制案例概述

该案例介绍了如何用键盘控制机器人运动,主要内容包括:

描述

  • 代码路径:<kuavo-ros-control>/src/kuavo_sdk/scripts/keyboard_control/robot_keyboard_control.py

程序逻辑

  1. 程序初始化

  2. 键盘输入处理

  3. 信号发布

  4. 程序退出

参数说明

  • joystick_sensitivity:灵敏度,无单位.

  • 修改路径:<kuavo-ros-control>/src/humanoid-control/humanoid_controllers/launch/joy/joy_control_sim.launch

执行

  • 启动:在仿真或实物环境中启动机器人程序.
  • 操作说明:如何使用键盘控制机器人运动.

跳转案例

12. 强化学习案例

强化学习案例概述

该本案例简单介绍如何使用乐聚开源的强化学习运动控制仓库kuavo-rl-opensource实现对乐聚夸父机器人的训练和部署,主要内容包括:

部署

  • H12遥控器启动及控制说明

  • 电机控制说明

    1.控制指令输出方式:

    • 信息结构各字段
    • 发布逻辑

    2.控制模式选择:可选力矩控制、位置控制等

    3.混合控制实现:可根据策略输出选择力矩或位置指令

    4.底层硬件交互:使用驱动器控制电机

  • PD控制实现分析

    1.参数配置模块

    2.RL控制器关节力矩计算

  • 程序参阅

    • 路径:<kuavo-rl-opensource>/src/humanoid-control/humanoid_controllers/src/humanoidController.cpp

训练

  • 安装

  • Training and Playing

跳转案例

13.接入deepseek大模型语音交互案例

接入deepseek大模型语音交互案例概述

该案例接入deepseek大模型,实现了一个语音交互系统,主要功能如下:

描述

  • 该案例实现了一个语音交互系统,包括录音、语音转写、对话生成和语音播放功能。

  • 代码路径:<kuavo-ros-control>/src/kuavo_sdk/scripts/keyboard_control/robot_keyboard_control.py

程序逻辑

  1. 导入模块及定义全局变量

  2. 定义 chat 函数, deepseek_chat 函数, Client 类。

  3. 主函数

  • 调用 chat 录音

  • 使用 Client 类将录音发送到RTASR服务。

  • 调用 deepseek_chat 进行对话并播放回复。

说明

跳转案例

14.二维码抓取水瓶案例

二维码抓取水瓶案例概述

机器人通过头部摄像头识别二维码,解算二维码的坐标信息,并通过ik逆解计算手臂关节角度进行抓取。

描述

  • 代码路径:<kuavo-ros-opensource>/src/demo/arm_capture_apriltag

程序逻辑

  1. 通过识别AprilTag标签,得到抓取目标在坐标系中的位置

  2. 自主判断左右手,并计算手臂末端期望位置与姿态

  3. 通过ik逆解服务,得到手臂各关节的目标角度

  4. 实现抓水、递水流程,过程流畅

跳转案例

15. 动作语音快速上手案例

动作语音快速上手案例概述

该案例介绍了如何快速配置乐聚机器人的动作和语音文件,支持多种机器人型号。

机器人配置工具

  • 支持型号:4代标准、4pro短手、4pro长手
  • 功能:自动匹配动作文件和语音文件,并将它们复制到上位机或下位机的相应目录中
  • 文件命名规范:动作文件和语音文件需按特定格式命名,以便系统自动匹配

配置指南

  • 准备工作:添加执行权限、运行配置脚本
  • H12遥控器自启动:包括下位机和上位机的部署步骤
  • 配置文件说明:介绍了自定义动作和对应语音文件的配置方法

注意事项

  • 支持的动作数量:最多支持8个自定义动作
  • 语音格式:支持mp3、wav格式
  • 文件放置:语音文件和动作文件需放在指定目录中

跳转案例

拓展案例

1. 机器人导航案例

机器人导航案例概述

该案例介绍了如何使用Kuavo上位机进行机器人导航,涵盖从程序编译到导航功能的完整流程,导航功能需额外选配,主要内容包括:

程序编译

  • 获取代码:通过Git克隆导航程序代码库。
  • 导航功能包编译:使用catkin_make编译导航功能包。
  • 添加source环境变量:配置环境变量以便于程序运行。

GUI界面使用

  • 程序启动:启动导航和GUI程序。
  • GUI界面简介:介绍导航GUI界面的布局和功能模块。
  • 地图管理模块:提供建图、地图切换和删除等功能。
  • 任务管理模块:管理任务执行和显示当前任务状态。

建图与导航

  • 建图步骤:通过GUI和RVIZ进行地图创建和保存。
  • 路径与路径点设置:编辑路径和路径点以定义机器人可行驶区域。
  • 任务点设置:设置任务点以便机器人执行特定任务。

导航接口说明

  • 地图功能:管理和显示地图信息。
  • 定位功能:初始化和显示机器人定位状态。
  • 路径编辑:编辑节点和道路属性。
  • 任务点编辑和测试:编辑和管理任务点。
  • 导航功能:输出规划路径和控制指令。

跳转案例