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 里是CMakecatkin 缓存的中间文件

    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的更多相关文章

  1. ROS知识(6)----基于Eclipse开发

    可以利用Eclipse集成开发环境进行ROS开发,从而提高研发效率.以色列巴尔伊兰大学的Mr. Roi Yehoshua开设了一门ROS课程,课程2( Lesson 2)讲解了如何利用Eclipse在 ...

  2. Lesson 18 He often does this!

    Text After I had had lunch at a village pub, I looked for my bag. I had left it on a chair beside th ...

  3. 阿里云VPS服务器,ROS内网穿透

    Aliyun Windows Server 2008 R2中建立vpn服务器,ros中使用pptp拨号连接 2.在Aliyun服务器中,修改hosts,将内网分配的ip映射到指定的域名,在Aliyun ...

  4. QT下调试基于ros的catkin项目

    1.首先告诉qt ros的搜索路径,通过修改qt creator 桌面启动程序来实现 sudo    gedit ~/.local/share/applications/DigiaQtOpenSour ...

  5. ROS学习(三)—— ROS文件系统

    一.预备工作 使用ros0tutorials程序包,先下载: sudo apt-get install ros-<distro>-ros-tutorials 其中<distro> ...

  6. ROS学习(二)—— 配置ROS环境

    一.管理环境 p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚 ...

  7. ROS学习(一)—— 环境搭建

    一.配置Ubuntu软件仓库且选择ROS正确版本 二.添加source.list sudo sh -c 'echo "deb http://packages.ros.org/ros/ubun ...

  8. [ROS] Studying Guidance

    Reference: https://www.zhihu.com/question/35788789 安装指南:http://wiki.ros.org/indigo/Installation/Ubun ...

  9. ros::spin() 和 ros::spinOnce() 区别及详解

    版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5925381.html 博主提示:本文基于ROS Kinetic Kame,如有更(g ...

随机推荐

  1. [mac]WireShark检測不到网卡怎么办?

    wireshark是一个很好用的抓包工具,有windows版本号和mac版本号,在mac下安装wireshark,启动后发现提示"There are no interfaces on whi ...

  2. POJ 2080:Calendar

    Calendar Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12546   Accepted: 4547 Descrip ...

  3. SQLALchemy之介绍,基本使用

    一.介绍 SQLALchemy也是一个python的ORM框架,django内部的ORM框架只适用于django,而SQLALchemy适用于所有python的web框架 SQLAlchemy是一个基 ...

  4. 2010–2011, NEERC, Northern Subregional C.Commuting Functions

    C.Commuting Functions 由于要求答案字典序最小,我们肯定希望从g(1)开始对函数g进行赋值,于是又公式f(g(x))=g(f(x)) 设f(x)=i 我们推导出 由于f是双射,当i ...

  5. 错误: 实例 "ruiy" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)].

    错误: 实例 "ruiy" 执行所请求操作失败,实例处于错误状态.: 请稍后再试 [错误: 'ascii' codec can't decode byte 0xe6 in posi ...

  6. P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm(Tarjan+记忆化)

    P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm 题意翻译 题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N< ...

  7. golang——随机数(math/rand包与crypto/rand包)

    1.math/rand 包 1.1.math/rand 包实现了伪随机数生成器 1.2.主要方法 (1)func Seed(seed int64) 设置随机种子,不设置则默认Seed(1) (2)fu ...

  8. ZOJ-3960 What Kind of Friends Are You?

    What Kind of Friends Are You? Time Limit: 1 Second      Memory Limit: 65536 KB Japari Park is a larg ...

  9. DateFormat 多线程问题

    在写实时应用解析日志的时候,有如下代码: public class CalPvLogParse { private static SimpleDateFormat logTimeFormat = ne ...

  10. jQuery学习笔记(4)-设置元素的属性和样式

    一.前言 本篇主要讲解如何使用jQuery获取和操作元素的属性和css样式 二."DOM属性"与元素属性 1.运行一下代码 <img src="/images/lo ...