ROS 介绍

发布时间: 更新时间: 总字数:861 阅读时间:2m 作者: 分享 复制网址

Robot Operating System (ROS) 是专为机器人软件开发所设计出来的一套电脑操作系统架构。

介绍

  • ROS 是一个开源的元级操作系统,提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序

  • 相关技术

    • OpenCV
    • AMCL
    • TF
    • MoveIt
    • DWAPlanner
    • GlobaIPlanner
    • LocalPlanner
    • BahaviorTree
    • PointCloudLibrary
    • SMACH
    • Navigation
    • CostMap
    • Gazebo
    • OMPL
  • 安装部署:http://wiki.ros.org/noetic/Installation

  • ros2 相关代码:ros2_21_tutorials

  • ros1 wpr_simulation

  • 命令行 ros2 --help

  • 核心概念

    • workspace 工作空间是存放项目开发文件的目录
      • src source space
      • build build space
      • install install space
      • log log space
    • node 节点是机器人的工作细胞
      • 支持使用不同语言开发
      • 分布式运行
      • 执行具体任务的进程,独立的可执行文件
      • 通过节点名称管理:ros2 run <xxx> <xxx>
      • 常见的节点
        • 超声波Node:sensor_package/ssr_pkg
        • 底盘Node
    • topic 话题是节点间传递数据的桥梁
      • 发布/订阅模型
      • 订阅者或发布者可以不唯一:一对一、一对多、多对多
      • 异步通信机制
      • topic 发送的内容称为 message,使用 .msg 文件定义通信的消息结构
      • ros2 topic --help
      • rqt_graph 命令绘制关系UI
    • service
    • bag
  • 开发环境

    • vscode
      • 插件:URDF
    • 客户端
      • pip3 install rosdepc 或使用 apt install python3-rosdep
      • rosdepc init && rosdepc update
      • rosdepc install -i --from-path src --rosdistro humble -y
      • build: apt install python3-colcon-ros && colcon build
      • env setup: source install/local_setup.sh
    • 创建功能包:ros2 pkg create --build-type <build-type> <package-name>

通信接口:数据传递的标准结构

  • 动作:完整行为的流程管理
    • 机器人运动
      • 矢量运动:由 X/Y/Z 轴分量组成
      • 旋转运动:由 X/Y/Z 轴分量组成,angular 表示角度
    • 使用 topic: /cmd_vel 控制
      • command_velocity 参数:机器人系统的全局字典 分布式通信:多计算平台任务分配 DDS:机器人的神经网络 Launch:多节点启动与配置脚本 TF:机器人坐标管理系统
  • URDF:ROS 机器人建模方法
  • Gazebo:是一款三维物理仿真平台
    • 强大的物理引擎
    • 方便的编程与图形接口
    • 开源免费
  • Rviz:是一款三维可视化显示平台,可以兼容基于 ROS 框架的机器人平台
    • 使用 xml 对机器人、周围物体等进行描述,包括尺寸、质量、位置、关节、材质等 RQT:模块化可视化工具

相关硬件

  • IMU 是附着在机器人身上的,实时发布机器人的旋转倾斜等姿态信息的单元模块
  • 雷达
    • 单线雷达
    • 多线雷达
    • 三角测距雷达
    • TOF 雷达
    • 机械旋转雷达
    • 固态雷达

参考

  1. https://www.ros.org/
  2. https://wiki.ros.org/ROS/Tutorials
  3. https://index.ros.org/
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数