通用案例
- 通用案例
- 拓展案例
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服务并打印结果。
跳转案例
拓展案例
1. 机器人导航案例
机器人导航案例概述
该案例介绍了如何使用Kuavo上位机进行机器人导航,涵盖从程序编译到导航功能的完整流程,导航功能需额外选配,主要内容包括:
程序编译
- 获取代码:通过Git克隆导航程序代码库。
- 导航功能包编译:使用
catkin_make
编译导航功能包。 - 添加source环境变量:配置环境变量以便于程序运行。
GUI界面使用
- 程序启动:启动导航和GUI程序。
- GUI界面简介:介绍导航GUI界面的布局和功能模块。
- 地图管理模块:提供建图、地图切换和删除等功能。
- 任务管理模块:管理任务执行和显示当前任务状态。
建图与导航
- 建图步骤:通过GUI和RVIZ进行地图创建和保存。
- 路径与路径点设置:编辑路径和路径点以定义机器人可行驶区域。
- 任务点设置:设置任务点以便机器人执行特定任务。
导航接口说明
- 地图功能:管理和显示地图信息。
- 定位功能:初始化和显示机器人定位状态。
- 路径编辑:编辑节点和道路属性。
- 任务点编辑和测试:编辑和管理任务点。
- 导航功能:输出规划路径和控制指令。