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. Oracle 游标使用总结(好文章)

    游标(CURSOR)也叫光标,在关系数据库中经常使用,在PL/SQL程序中可以用CURSOR与SELECT一起对表或者视图中的数据进行查询并逐行读取. Oracle游标分为显示游标和隐式游标. 显示游 ...

  2. nestedScrollview 嵌套使用recyclerview判断滑动到底部 (嵌套滑动导致 不能使用recyclerview的onscrolled监听)

    NestedScrollView scroller = (NestedScrollView) findViewById(R.id.myScroll); if (scroller != null) { ...

  3. Unity3D游戏,TCP,WEBCOSKT,HTTP通信架构 weaving-socket

    weaving-socket 详细介绍 项目简介 2017-8-8:新发布功能 增加U3D游戏客户的通讯项目支持,并提供示例内容. 2017-5-5: 新发布 weaving-socket 架构的.n ...

  4. bzoj2115 [Wc2011] Xor——高斯消元 & 异或线性基

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2115 异或两次同一段路径的权值,就相当于没有走这段路径: 由此可以得到启发,对于不同的走法, ...

  5. 17_activity任务栈和启动模式

    夜神安卓模拟器. 如果从第一个页面开启另外一个页面,只要不去调finish()方法咱们上一个页面它是不会退出的,它会留在底下.留在底下的话它设计了这样一个模式就是为了维护一个比较好的用户体验,你的仪器 ...

  6. cURL模拟HTTP请求(支持HTTPS)

    function setHttpRequest($url,$headers,$params=array(),$method="GET") { $ci = curl_init(); ...

  7. P1606 [USACO07FEB]荷叶塘Lilypad Pond(最短路计数)

    P1606 [USACO07FEB]荷叶塘Lilypad Pond 题目描述 FJ has installed a beautiful pond for his cows' aesthetic enj ...

  8. P3256 [JLOI2013]赛车

    传送门 如果把速度看成斜率,起始位置看成截距,这就是一个水平可见直线了-- 不过这题里我实现方法借鉴了CQzhangyu大佬的,先按速度排序,然后维护一个单调栈,如果当前的人速度比栈顶大距离又比它远直 ...

  9. P3349 [ZJOI2016]小星星

    传送门 题意都需要看题解才能明白我是不是已经废了 题意就是求一个从树\(S\)到图\(T\)的映射,满足若树上的两个点有边,则它们映射在图中的两个点也连有边,且不能有多个点映射到同一个点 我们先不考虑 ...

  10. 为什么Markdown能夺得程序员的青睐

    Markdown基本情况概述 Markdown是在HTML的基础上产生的.HTML的功能已经足够强大,可以编写出漂亮的网页.HTML在没有CSS的加持上,尽管不能显示出绚丽多彩的网页,但是仍然可以达到 ...