zoukankan      html  css  js  c++  java
  • ROS lesson 1

    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]
  • 相关阅读:
    Error Correct System(模拟)
    Pasha and String(思维,技巧)
    Vitaliy and Pie(模拟)
    Old Sorting(转化成单调序列的最小次数,置换群思想)
    Segment(技巧 相乘转换成相加 + java)
    Conquering Keokradong && Get the Containers(二分)
    Handshakes(思维) 2016(暴力)
    Dice Notation(模拟)
    “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛暨河南高校邀请赛-正式赛(总结)
    MySQL安装-二进制软件包安装
  • 原文地址:https://www.cnblogs.com/Kernel001/p/10332231.html
Copyright © 2011-2022 走看看