1. 程式人生 > >ROS lesson 1

ROS lesson 1

寫代碼 end 底層 以及 工作 str github 工作空間 linu

ROS ROS官網

ROS 簡介

  1. ROS Robot Operation System 的簡寫,並且 他誕生在2000年後,至今有10余年了,運行在 Linux(Ubuntu)
  2. ROS 不是 真正意義上的 OS(操作系統)
  3. 類似Java JVM 只是運行在操作系統上的一個軟件來管理 Robot 的操作。 因為在過去 需要做很多事情。 機器人架構,底層算法,激光感應器Draw Mapping, 算法。

ROS 安裝

  1. Github 上搜索 重德智能
  2. 重德智能 上找到 ROS-Academy-for-Beginners(是開源的項目,裏有介紹,以及下載 與 安裝 教程
    )

ROS IDE推薦

  1. 軟件名稱: RoboWare
  2. 軟件安裝: 見 roboware

ROS 編譯工具

  1. ** catkin ** 編譯工具 基於CMake 開發的
  2. ** catkin_make ** 初始化 並 建立 工作空間
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make

編譯

cd ~/catkin_ws #回到工作空間
catkin_make
source ~/catkin_ws/devel/setup.bash 
#編譯完成後要source刷新環境
  1. 執行後會在當前目錄下生成 builddevel 兩個文件夾
    build

    裏是CMake catkin 緩存的中間文件
    build 裏是 目標文件,一些生成的 頭文件 或者 代碼文件,這裏不需要管。
    src 就是寫代碼的 地方 ,不需要去** build & devel** 文件夾

    package

    • ROS 軟件的基本組織形式
    • catkin 編譯的基本單元
    • 一個package可以包含多個可執行文件(節點)

package 包含 CMakeList.txtpackage.xml 這是 最精簡結構

CMakeList.txt 規定catkin編譯的規則
例如:源文件、依賴項、目標文件
package.xml 定義package的屬性
例如: 包名、版本號、作者、依賴等

<?xml version="1.0" encoding="UTF-8"?>
<package><!--根標簽-->
    <name/><!--包名-->
    <version/><!--版本號-->
    <description/><!--包描述-->
    <maintainer/><!--維護者-->
    <license/><!--軟件許可-->
    <buildtool_depend/><!--編譯工具-->
    <build_depend/><!--編譯時的依賴-->
    <run_depend/><!--運行時的依賴-->
</package>

ROS 開發 常用命令

  1. rospack
  • 查找某個pkg的地址
    rospack find package_name
  • 列出本地所有的pkg
    rospack list
  • roscd
    • 跳轉到某個pkg路徑下
      roscd package_name
  • rosls
    • 列舉某個pkg下的文件信息
      rosls package_name
  • rosed
    • 編輯pkg種的文件
      rosed pakage_name file_name
  • catkin_create_pkg
    • 創建一個pkg
      catkin_create_pkg <pkg_name>[deps]
  • rosdep
    • 安裝某個pkg所需的依賴
      rosdep install [pkg_name]

ROS lesson 1