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]
  • 相关阅读:
    有透明通道位图的传输
    WritePrivateProfileString等读写.ini配置文件
    使用TransparentBlt函数实现绘制透明位图
    宽字符和普通字符串处理函数
    C++输出十六进制、八进制和二进制数
    判断指定窗口是否被其他窗口遮挡
    c++ 复制图片到剪切板
    用默认浏览器打开一个网址
    Bitmap:bmWidthBytes
    C/C++ BMP图像的放大缩小(双线性插值)及彩色转黑白
  • 原文地址:https://www.cnblogs.com/Kernel001/p/10332231.html
Copyright © 2011-2022 走看看