• 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]
  • 相关阅读:
    Spring Boot应用的启动和停止(Spring Boot应用通过start命令启动)
    MySQL注释(转)
    MySQL命令行自动补全表名
    Linux后台运行命令nohub输出pid到文件(转)
    Spring Boot使用MyBatis 3打印SQL的配置
    MySQL常用的七种表类型(转)
    spring-boot-starter-data-redis与spring-boot-starter-redis两个包的区别
    Eclipse的JQuery提示插件-Spket(别试了,没什么效果,且安装设置麻烦)
    MySQL中的数据类型的长度范围和显示宽度(转)
    MySql基本数据类型(转)
  • 原文地址:https://www.cnblogs.com/Kernel001/p/10332231.html
Copyright © 2020-2023  润新知