ROS-机器人操作系统 - - 带你一文入门

ROS-机器人操作系统----带你一文入门

1.1.ROS发展史

  • 2000 ROS起源: 斯坦福大学机器人软件系统框架
  • 2007 ROS正式发布:柳树车库(willow Garage) 发起
  • 2010 ROS 1.0 发布
  • ROS逐渐流行:ROS,Indigo,ROS kinetic(LTS)
    在这里插入图片描述

1.2.什么是ROS

  • ROS 实质上并不是操作系统,而是中间件/类操作系统
    • 硬件抽象
    • 底层设备控制
    • 常用函数实现
    • 进程间消息传递
    • 包管理
  • ROS 官方解释:框架+工具+功能+社区
    • 框架:
      • 分布式
        • 节点: ROS中用节点表示进程,即Node
        • 分布式架构优点:扩展性好,软件复用率高
      • 进程管理
      • 进程通信
      • 框架示意图如下:
    • 工具:
      • 仿真
      • 数据可视化
      • 图形界面
      • 数据记录
    • 功能:
      • 控制
      • 规划
      • 视觉
      • 建图
    • 社区:
      • 软件包管理
      • 教程
      • 文档

1.3 ROS 安装

  • ROS:官方网站:www.ros.org
  • 打开wiki
  • 点击 install
  • 选择 ROS kinetic版本
  • 自己搭建虚拟机ubuntu,更新软件源
  • 按照手册在终端操作即可
  • 教程代码包:重德重能教学代码包(github网站)
  • 安装开发IDE:Roboware(实质是基于vscode)

2.1 ROS 工程结构

在这里插入图片描述

  • catkin 工作空间
    • catkin: ROS定制的编译构建系统,对CMake的扩展
    • 组织和管理功能包的文件夹,以catkin工具编译
    • 操作:
      • 建立工作空间:
        • mkdir -p ~/catkin_ws/src
        • cd ~/catkin_ws/
        • catkin_make
      • 编译:
        • cd ~/catkin_ws #注意,一定要切换到此处进行编译
        • catkin_make
        • source ~/catkin_ws/devel/setup.bash # 编译完成后需要source刷新环境
    • catkin worksapce:
      • src:package 源代码,真正写代码的地方
        • src通常放置功能包package,Eg.package1,package2.etc
        • package是catkin编译的基本单元,catkin编译的对象就是一个又一个的package
        • 编译系统会递归的查询每一个package
        • package
          • ROS软件的基本组织形式,
          • catkin编译的基本单元
          • 一个package可以包含多个可执行文件(节点)
          • 判断package的方式:至少包含CMakeLists.txt,package.xml
            • CMakeLists.txt:
              • 规定catkin编译的规则,例如,源文件,依赖项,目标文件
            • package.xml
              • 定义package的属性,例如:包名,版本号.作者,依赖项
            • scripts:
              • 脚本 (python 文件,shell文件)
            • include
              • C++头文件
            • src
              • C++源文件
              • python modue
            • srv(服务)
              • *.srv
            • msg(消息)
              • *.msg
            • 动作(action)
              • *.action
            • launch:*.launch
            • config:*.yaml
      • build: cmake & catkin 缓存和中间文件
      • devel: 目标文件
        • 头文件
        • 动态链接库
        • 静态链接库
        • 可执行文件
    • rosbuild:ROS早期采用的编译系统,目前主流的ROS项目已经不采用
    • 常用指令:
      • rospack
        • 查找某个pkg的地址
          • rospack find package_name
        • 列出本地所有pkg
          • rospack list
      • roscd
        • 跳转到某个pkg路径下
          • roscd package_name
      • rosls
        • 列举某个pkg下的文件信息
          • rosls package_name
      • rosed
        • 编辑pkg的文件
          • rosed package_name file_name
      • catkin_create_pkg
        • 创建一个pkg
          • catkin_create_pkg <pkg_nmae>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值