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]
  • 相关阅读:
    WPF DataGrid根据内容设置行颜色
    wpf: DataGridTextColumn 数字格式显示,编辑时取消格式(StringFormat)
    关于wpf,datagrid,双向数据绑定用法解决方案
    AddTransient、AddSingleton、AddScoped 三者都应该在什么场景下使用
    Fetch API 使用 fatch 函数调用 .netcore WebApi接口报错:Failed to fetch
    ASP.NET Core 中使用Session会话
    利用 Google Chart API 生成二维码大小不一致
    Razor Page 文件
    asp.net core 的 razor pages 如何使用ajax调用后台方法
    asp.net core 发布到iis session无法传递的问题
  • 原文地址:https://www.cnblogs.com/Kernel001/p/10332231.html
Copyright © 2011-2022 走看看