HB_Ros_Robot_Python documentation
HB_Ros_Robot_Python (别名 ros_robot) 是一套面向 ROS(机器人操作系统)的高层封装 Python 库,旨在抽象底层 ROS 话题、服务与动作服务器的通信细节,为开发者提供简洁、统一、开箱即用的机器人控制接口。
通过该库,开发者无需深入理解底层 ROS 框架的复杂交互逻辑,即可快速实现机器人的底盘运动、导航规划、外设控制、传感器数据读取、机器视觉处理等核心功能,大幅降低 ROS 机器人应用开发的门槛,提升开发效率。
该库适用于配备底盘、导航模块、升降电机、舵机、各类传感器(IMU、激光雷达、红外等)及视觉相机的轮式机器人,广泛应用于教学演示、小型自主巡检、物料抓取等场景。
核心功能模块
ros_robot 采用模块化设计,各功能模块职责清晰,相互配合形成完整的机器人控制链路,核心模块及功能如下:
ros_robot.chassis - 底盘控制模块 机器人运动基础模块,负责底盘速度控制、里程计管理及 IO 端口操作,核心能力包括: - 底盘状态管理(
ChassisManager): 支持自动/手动运动模式切换、速度指令发送、里程计数据/位姿获取、里程计初始化/清零。 - IO 端口管理(IOManager): 读取数字输入状态、设置数字输出电平,满足外接外设信号交互需求。ros_robot.navigation - 导航运动规划模块 高阶运动规划模块,支持多种预设运动模式,无需手动拼接速度指令即可实现复杂路径运动,核心能力包括: - 运动套件管理(
BaseMotionKit): 支持差速跟随、全向轮运动、点对点运动、基础旋转/直线运动等模式。 - 运动状态反馈: 实时获取执行进度、当前位姿等数据,支持运动取消、等待执行完成等操作。ros_robot.oms - 外设操作管理模块 非底盘外设控制模块,涵盖升降电机和舵机,满足机器人抓取、姿态调整等扩展需求,核心能力包括: - 升降电机控制(
LiftMotor): 支持回零、目标位置设置、行程限制查询及运动反馈获取。 - 舵机管理(ServoManager): 支持单个/多个舵机 PWM 信号设置、复位,预设相机俯仰、夹具控制等快捷接口。ros_robot.sensor - 传感器数据采集模块 各类内置传感器数据封装模块,提供统一的初始化校验及数据获取方式,核心能力包括: - 常规传感器管理(
SensorManager): 读取红外、超声波、限位传感器检测数据。 - 高精度传感器管理: IMU 姿态/角速度获取、激光雷达扫描数据/指定角度测距值获取。 - 传感器校准(SensorCorrect): 支持红外、激光雷达、超声波等传感器校准,提升采集精度。ros_robot.utils - 工具辅助模块 机器人开发通用辅助工具模块,解决文件操作、控制算法等需求,核心能力包括: - PID 控制器(
PIDController): 实现标准 PID 算法,支持控制输出计算、控制器状态复位。 - 文件管理(FileManager): 支持机器人端文件/文件夹上传、下载、删除及系统命令执行。ros_robot.vision - 机器视觉处理模块 基础机器视觉能力模块,为机器人自主识别、抓取提供视觉支撑,核心能力包括: - 相机控制: 支持彩色视频流读取、深度相机抓拍、视频流启停。 - 目标检测与处理: 支持彩色球检测、3D 目标中心提取、相对坐标转世界坐标。
ros_robot.config - 配置管理模块 全库配置支撑模块,负责加载、存储机器人各类硬件参数(底盘、传感器校准、外设行程等),保障各功能模块正常运行。
API 接口: