• ROS入门笔记(三):二进制包与源代码包


    ROS入门笔记(三):二进制包与源代码包

    • 注意: 如果你是使用类似apt这样的软件管理器来安装ROS的,那么安装后这些软件包将不具备写入权限,当前系统用户比如你自己也无法对这些软件包进行修改编辑。当你的开发涉及到ROS软件包源码层面的操作或者在创建一个新的ROS软件包时,你应该是在一个具备读写权限的目录下工作,就像在你当前系统用户的home目录下一样。
    • apt工具安装ROS系统以及相关的软件包 ,apt安装的软件包都是二进制形式, 可以在系统中直接运行, 它们是ROS官方提供给用户的应用程序。
    • 然而很多时候我们需要自己做一些定制改写, 或者运行第三方开发的软件包, 这个时候就需要下载源代码进行编译。

    1 软件包分类

    软件包(Package)可以分为二进制和源代码。

    • 二进制包里面包括已经编译完成, 可以直接运行的程序。 通过 sudo apt-get install 来进行下载和解包( 安装) , 执行完该命令后就可以马上使用。 并且这种方式简单快捷, 适合比较固定、 无需改动的程序。
    • 源代码包里是程序的原始代码, 在你的计算机上必须经过编译, 生成了可执行的二进制文件, 方可运行。 一些个人开发的程序、 第三方修改或者你希望修改的程序都应当通过源代码包来编译安装。

    2 二进制包与源代码包的区别

    区别 二进制包 源代码包
    下载方式 apt-get install /直接下载 deb git clone /直接下载源代码
    ROS包存放位置 /opt/ros/kinetic/ 通常 ~/catkin_ws/src
    编译方式 无需编译 通过make/cmake/caktin
    来源 官方apt软件源 开源项目、 第三方开发者
    扩展性 无法修改 通过源代码修改
    可读性 无法查看源代码 方便阅读源代码
    优点 下载简单,安装方便 源码可修改,便于定制功能
    缺点 无法修改 编译工具、软件包依赖、版本和参数
    应用场景 基础软件 需要查看、开发和修改的程序

    3 ROS二进制包的安装

    • 在ROS中, 我们可能经常会遇到缺少相关的ROS依赖的问题。 有些时候你编译或者运行一些ROS程序, 系统会提示找不到XXX功能包 。
    • 遇到这样的问题, 请先注意阅读错误原因, 看看是否有解决方法, 也可以Google、Bing一下。 如果是缺少ROS的依赖, 通常可以用以下命令来安装:
    $ sudo apt-get install ros-kinetic-PACAKGE  
    

    将PACKAGE替换为系统提示缺啥少的软件包, 例如:

    $ sudo apt-get install ros-kinetic-slam-gmapping           #GMapping-SLAM算法包  
    $ sudo apt-get install ros-kinetic-turtlebot-description   #Turtlebot机器人模型包  
    

    注:所有apt官方中的ROS功能包都是按照ros-的形式来命名。

    4 适配ROS的IDE

    • 通常ROS的程序都是用C++和Python开发的, 为了提高开发的效率, 建议用IDE来写代码。
    • 目前在Ubuntu上已经有许多IDE支持ROS开发, 比如Eclipse、 Qt Creator。 不过这些IDE配置起来会比较麻烦, 推荐一款适配ROS的IDE——RoboWare Studio来开发ROS
    • ROS IDE官网推荐:http://wiki.ros.org/IDEs

    微信公众号:喵哥解说
    公众号介绍:主要研究机器学习、计算机视觉、深度学习、ROS等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!同时还有1200G的Python视频和书籍资料等你领取!!!

  • 相关阅读:
    RecyclerView的坑
    Edittext默认无焦点
    EditText光标位置
    录音功能暂停的实现思路
    Java clone()方法使用说明
    Android systemserver分析ThrottleService 介绍
    php 输出函数常用类型转换符
    Android BitmapDrawable()的使用
    java equal和==的比较,尤其注意基本类型和基本类型的包装类型的比较
    android HeaderViewListAdapter的介绍
  • 原文地址:https://www.cnblogs.com/IT-cute/p/12989631.html
Copyright © 2020-2023  润新知