|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_interface at Robotics Stack Exchange
|
robot_interface package from airspeed repodata_collection_service robot_interface sensor_interface teleoperation_interface |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.0.0 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/airs-cuhk/airspeed.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- airspeedbox
Authors
Robot Interface - 机器人接口
VR机器人遥操作平台 - 机器人接口部分
🎯 项目概述
这是基于ROS2框架的VR机器人遥操作平台的机器人接口部分。该接口负责接收遥操作接口发布的ROS2话题,进行数据处理和坐标转换,然后控制机器人执行相应动作,并实时回传机器人状态数据。
核心特性:
- ✅ 通用API架构(配置驱动,轻松更换机器人)
- ✅ 异步命令队列(消除延迟)
- ✅ 三层降采样策略(匹配机器人10Hz能力)
- ✅ 状态机控制逻辑(安全可靠)
- ✅ 实时数据回传(10Hz)
- ✅ 模块化架构设计
🏗️ 系统架构
遥操作接口 (Teleoperation Interface)
│
│ ROS2 Topics (10Hz)
↓
┌────────────────────────────────────────────────────┐
│ Robot Interface Node │
│ (robot_interface_node.py) │
├────────────────────────────────────────────────────┤
│ │
│ [ROS2订阅器] │
│ ├─ /target_right_arm_pose → pose_callback() │
│ └─ /target_right_buttons → button_callback() │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ DataExtractor (数据提取模块) │ │
│ │ - 提取位置、旋转、按钮数据 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataTransformer (坐标转换模块) │ │
│ │ - 标准坐标系 → 机器人坐标系 │ │
│ │ - 四元数 → 欧拉角 │ │
│ │ - 单位转换: m → mm │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ RobotController (控制器) │ │
│ │ ├─ 状态机 (4个状态) │ │
│ │ ├─ 限流机制 (10Hz + 2mm阈值) │ │
│ │ └─ 异步命令队列 ⭐ │ │
│ │ ├─ 主线程:快速入队 │ │
│ │ └─ 工作线程:阻塞执行 │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ DataFeedbackModule (数据回传) │ │
│ │ - 定时器: 10Hz │ │
│ │ - 关节角度反馈 │ │
│ │ - 笛卡尔位姿反馈 │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 通用API层 ⭐ │ │
│ │ - call_robot_api() │ │
│ │ - 动态方法调用 (getattr) │ │
│ │ - 配置驱动的命令映射 │ │
│ └──────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────┘
│
│ 机器人SDK (可更换)
│ - pymycobot.ElephantRobot (当前)
│ - urx.Robot (UR机器人)
│ - franka.Robot (Franka机器人)
│ - 其他品牌...
↓
实际机械臂硬件
📁 目录结构
robot_interface/
├── elephant_robot/ # 核心节点文件夹
│ └── robot_interface_node.py # 机器人接口核心节点
├── launch/ # ROS2启动文件
│ └── robot_interface.launch.py # 启动配置
├── config/ # 配置文件
│ └── robot_config.yaml # 机器人配置(连接、控制、回传)
├── else/ # 其他文件
│ ├── README.md # 本文档
│ └── robot.md # 机器人相关文档
├── scripts/ # 可执行脚本
│ └── robot_interface_node # ROS2节点入口脚本
├── launch.sh # 一键启动脚本
├── CMakeLists.txt # CMake构建配置
└── package.xml # ROS2包配置
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_cmake_python | |
| ament_lint_auto | |
| ament_lint_common | |
| rclpy | |
| geometry_msgs | |
| std_msgs | |
| sensor_msgs | |
| tf2_ros | |
| tf2_geometry_msgs |