ROS2 开发
📄️ ROS2 环境搭建
📄️ ROS2 快速体验(Turtlesim)
📄️ QIR SDK 开发指南
Qualcomm Intelligent Robotics SDK (QIR SDK) 是一套面向 Qualcomm 机器人平台的 ROS 2 开发组件,提供零拷贝传输、平台传感器驱动、机器人仿真环境和 AI 推理示例,帮助开发者在 Ubuntu 上快速构建机器人应用。
📄️ 基础 OCR
演示 OCR(光学字符识别)服务。该示例订阅 ROS 系统的图片话题,发布 OCR 识别结果。
📄️ 系统资源监控
通过 ROS 2 节点监控系统资源使用情况,包含 CPU、内存、温度、磁盘、交换空间和电池等监控器。
📄️ ROS 2 接口通信验证
验证 QRB ROS 生态中自定义消息、服务和动作类型的通信接口是否正常工作。
📄️ ROS 消息零拷贝传输
QRB ROS Transport 基于 REP 2007 实现 DMA-BUF 零拷贝传输——在 ROS 节点间传递文件描述符而非拷贝图像数据。支持 Image、IMU、PointCloud2 三种类型。
📄️ 模型推理
演示如何通过 QRB ROS NN Inference 节点在 DSP 上运行 TensorFlow Lite 模型推理,包含图像预处理、推理和结果可视化。
📄️ 颜色空间转换
在 NV12 和 RGB888 格式之间进行颜色空间转换。Qualcomm 智能设备默认使用 NV12 格式,而常见的图像处理格式为 RGB888。该示例支持 DMA-BUF 输入输出和 QRB ROS Transport 零拷贝传输,提供 GPU(OpenGL ES)和 CPU(OpenCV)两种后端。
📄️ 视频编解码
使用 Q900 的 VPU 硬件进行 H.264/H.265 视频编解码。通过 DMA-BUF 传输图像帧,编码器将原始 NV12 帧压缩为 MP4,解码器从压缩流还原原始帧。
📄️ ROS 组件性能基准测试
评估 ROS 组件在 Q900 上的性能表现,支持标准 ROS 消息类型和 QRB Transport DMA-BUF 零拷贝类型。
📄️ AMR 简单运动控制
通过键盘控制仿真 AMR(自主移动机器人)在 Gazebo 中的运动。控制节点将 Twist 命令发布到 /qrbrobotbase/cmdvel,经 rosgz_bridge 转发至 Gazebo 差速驱动系统,odom 反馈确认机器人实际移动。
📄️ 机械臂抓取与放置
在 Gazebo 中仿真 RML-63 机械臂的 pick-and-place 操作。使用 MoveIt2 进行运动规划,OMPL 生成关节轨迹,gzros2control 驱动仿真中的机械臂和夹爪。
📄️ 仿真远程助理
在 Gazebo office 场景中仿真 AMR 远程助理任务。机器人通过 Cartographer 建图与重定位、Nav2 导航至指定房间,使用 YOLOv8 检测目标物体,实现"前往办公室检查人员"的端到端流程。
📄️ 2D LiDAR SLAM
使用 QCOM Cartographer 在 Gazebo 仿真环境中实现 2D LiDAR SLAM。通过 Cartographer 服务接口控制建图、冻结、保存、载图和重定位。
📄️ Follow Me 人员跟随
基于 FastestDet NCNN 的人员检测与深度跟踪。仿真中的 RGB-D 相机持续检测人体,控制器根据深度和水平角度发布 /cmd_vel,驱动机器人跟随移动目标。
📄️ 手部检测
使用预装图片运行 MediaPipe 手部检测管线。示例通过 QNN HTP 后端在 DSP 上依次执行手掌检测和手部关键点推理,并将带有检测框和 21 点手部骨架的图片发布到 /handlandmark_result。
📄️ 单目深度估计
使用预装 RGB 图片运行 Depth Anything V2 单目深度估计。示例通过 QNN HTP 后端在 DSP 上执行推理,将结果归一化并转换为 Inferno 伪彩色图片,然后发布到 /samplecontainer/depthmap。
📄️ HRNet 人体姿态估计
使用预装图片运行 HRNet 人体姿态估计。示例通过 QNN HTP 后端在 DSP 上执行推理,同时发布带有姿态骨架的结果图片和原图坐标系中的人体关键点。
📄️ ResNet101 图像分类
使用 Qualcomm 随示例提供的 glasses.jpg 运行 ResNet101 图像分类。示例将输入图片缩放为 224 x 224,通过 QNN HTP 后端在 DSP 上执行推理,再将最高分类别发布为文本消息。
📄️ YOLOv8 目标检测
使用 Ultralytics 官方 bus.jpg 运行 YOLOv8-N 目标检测。示例通过 QNN HTP 后端在 DSP 上执行推理,发布结构化检测框和带检测框的结果图片。
📄️ YOLOv8 目标分割
使用 Ultralytics 官方 bus.jpg 运行 YOLOv8-N 实例分割。示例通过 TFLite XNNPACK 委托在 CPU 上执行推理,发布结构化检测框、实例掩码和带分割掩码的结果图片。