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. javascript总结02

    1 如何打开和关闭一个新的窗口? 2 Window对象的哪个属性能返回上一个浏览页面? 3 一次或多次执行一段程序的函数是什么? 定时函数 4 如何查找并访问节点? 5 给表格新增行和单元格的方法分别 ...

  2. struts2 下载

    struts  官网 : https://struts.apache.org/

  3. 安装Node.js 以及命令行使用

    安装 官方的安装包 安装完成之后,会自动添加到环境变量中 通过visual studio安装 命令行 查看版本 PS C:\Users\clu\Desktop> node --version v ...

  4. ubuntu下的root的创建进入与退出

    创建: 在终端中输入:sudo passwd rootEnter new UNIX password: (在这输入你的密码)Retype new UNIX password: (确定你输入的密码)pa ...

  5. BZOJ_1862_[Zjoi2006]GameZ游戏排名系统&&BZOJ_1056_[HAOI2008]排名系统_Splay

    BZOJ_1862_[Zjoi2006]GameZ游戏排名系统&&BZOJ_1056_[HAOI2008]排名系统_Splay Description 排名系统通常要应付三种请求:上传 ...

  6. oracle 定时器调用存储过程

    转载请说明出处:http://t22011787.iteye.com/blog/1112745 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; se ...

  7. apache相关补充

    apache相关补充 sendfile机制 1)不用sendfile的传统网络传输过程: read(file, tmp_buf, len) write(socket, tmp_buf, len) 2) ...

  8. ipvs和ipvsadm

    ipvs和ipvsadm ipvs:内核中的协议栈上实现 ipvs是LVS软件核心,是运行在LB上的,这是个基于ip层的负载均衡. ipvs的总体结构主要有ip包处理,负载均衡算法,系统配置和管理三个 ...

  9. Flask-SQLAlchemy - 不使用外键连表查询。记得常回来看我

    前言 相比于 Django 的 ORM ,SQLAlchemy "不依靠外键进行跨表联查" 的解决方案就比较多. 没啥好说的,只能怪自己学艺不精..  _(:з」∠)_ 解决办法 ...

  10. C++函数重载的4种错误示例

    函数重载的4种错误示例: #include <iostream> #include <string> using namespace std; //函数重载 同函数名,函数重载 ...