# brsd_base **Repository Path**: Right_-Ear/brsd_base ## Basic Information - **Project Name**: brsd_base - **Description**: 开发brsd_guozhi 开发PLC通信,通过modbus - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-05 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # brsd_base ## 概述 brsd_base 是一个机器人系统基础软件平台,主要用于开发各种机器人驱动和应用程序。该项目采用模块化设计,支持多种硬件设备通信协议,包括 ModBus PLC、IMU、GNSS、相机等传感器驱动。 ## 主要功能模块 ### 核心包 - **brsd_base**: 基础核心包,提供通用的驱动框架、工具类和消息接口 - 串口驱动 (Serial Driver) - CAN总线驱动 (Canalyst Driver) - GPIO驱动 - UDP Socket驱动 - IMU/GNSS 解析器 - Pipeline 管理器 - **brsd_guozhi**: ModBus PLC 通信驱动包(主要开发模块) - ModBus TCP/UDP 协议支持 - PLC 寄存器读写操作 - 多轴电机控制 - 运动任务执行 - ROS 服务接口 - **brsd_erc**: ERC2400 控制器软件包 - DI/DO、AI/AO 控制 - RS232/RS485 通信 - CAN 总线通信 - IMU 数据采集 - RTK 定位支持 - TUI 交互界面 - **brsd_extra**: 扩展驱动包 - 海康威视相机驱动 - 其他扩展传感器支持 ### 应用程序 - **brsd_application_bmh_lab**: 电梯控制、灯带控制、伺服电机驱动 - **brsd_application_hs_omni**: 全向轮车辆控制、钩爪控制 ### 消息包 (brsd_msgs) - ROS1/ROS2 消息定义 - Protobuf 消息定义 - Foxglove 消息定义 - 支持多平台消息通信 ## 项目结构 ``` src/ ├── brsd_base/ # 基础核心包 ├── brsd_guozhi/ # ModBus PLC 驱动 ├── brsd_erc/ # ERC2400 控制器 ├── brsd_extra/ # 扩展驱动 ├── brsd_application_bmh_lab/ # BMH 实验室应用 ├── brsd_application_hs_omni/ # HS 全向轮应用 └── brsd_msgs/ # 消息定义包 ``` ## 环境要求 - Ubuntu 18.04/20.04 - ROS1 (Melodic/Noetic) 或 ROS2 (Foxy/Humble) - CMake >= 3.16 - C++17 编译器 - Boost 库 - libmodbus - Protobuf - yaml-cpp ## 编译方法 ### 1. 安装依赖 ```bash # 安装 ROS source /opt/ros/noetic/setup.bash # 安装其他依赖 sudo apt-get install -y libboost-all-dev libmodbus-dev libyaml-cpp-dev ``` ### 2. 编译项目 ```bash # 进入工作空间 cd /path/to/workspace # 编译所有包 catkin_make # 或使用 colcon (ROS2) colcon build ``` ## 使用说明 ### ModBus PLC 驱动 1. 配置文件:`brsd_guozhi/config/modbus_plc_driver.yaml` 2. 启动 PLC 驱动节点: ```bash roslaunch brsd_guozhi plc_driver.launch ``` ### ERC2400 驱动 1. 配置文件:`brsd_erc/config/erc_driver.yaml` 2. 运行 ERC 驱动: ```bash rosrun brsd_erc run_erc_driver ``` ### TUI 测试界面 ```bash rosrun brsd_erc run_erc_tui ``` ## 主要特性 1. **模块化设计**: 采用 Pipeline 模式,便于扩展和维护 2. **多协议支持**: 支持 ModBus、CAN、Serial 等多种通信协议 3. **跨平台兼容**: 支持 ROS1 和 ROS2 4. **丰富的传感器驱动**: IMU、GNSS、相机等多种传感器 5. **交互式测试界面**: 提供 TUI 工具进行功能测试 ## 文档 详细开发文档请参考 `docs/` 目录: - [软件开发指南](src/brainsys-drivers/docs/internal/developer_guide.md) - [ERC2400 使用说明](src/brsd_erc/docs/internal/erc_driver_usage.md) - [传感器列表](src/brainsys-drivers/docs/internal/sensor_list.md) - [安装指南](src/brainsys-drivers/docs/intro/install.md) ## 许可证 本项目遵循开源许可证协议。 ## 贡献者 感谢所有为这个项目做出贡献的开发者!