热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

也就是_一个做ROS安装包的想法

篇首语:本文由编程笔记#小编为大家整理,主要介绍了一个做ROS安装包的想法相关的知识,希望对你有一定的参考价值。一般情况下,ROS运行在LinuxUbun

篇首语:本文由编程笔记#小编为大家整理,主要介绍了一个做ROS安装包的想法相关的知识,希望对你有一定的参考价值。


一般情况下,ROS运行在Linux Ubuntu系统上,最好是采用server版本,一是Linux系统免费开源,二是实时性还不错。此外,Linux还需要运行在一个性能不错的工业级PC板上。其实做机器人,最最重要的就是控制器,也就是这个工业级PC板和运行在上面的Linux系统。

我们知道,大部分的ROS包可以从网站上获取到,其实下载后是一个deb文件,它里面指定了需要安装的目录,并用sudo dpkg -i *.deb进行安装。

对于用ROS开发的产品,我们选好系统和ROS版本后,比如在Ubuntu Focal (20.04)+ROS Noetic基础之上,并把额外的依赖包比如OpenCV,PCL,Qt等环境也相应的下载并配置好。


  1. 首先做一个img或iso系统镜像,这样每次就安装这个镜像就好了,不用每次因为下载和环境配置耽误时间,对于后续批量生产也有帮助。关于Linux定制系统的制作可参见《linux启动镜像文件(*.img)的制作》和《制作img镜像文件的5种方法》。
  2. 在此基础上进行的个性化开发,当然要验证成功后,将要运行的库文件和bin文件统一打包成一个压缩文件比如tar。这样就可以一键解压并安装。当然这里面涉及到很多各种各样的脚本。
  3. 再进一步做得更高级一点就是从Windows端将tar文件通过ftp等协议传输至Linux端,然后下载完毕后在Linux端一键安装。这样服务器端或控制器端或ROS端在介入网络后就能更新,这一思路就有点像跟嵌入式硬件板下载固件。当然这里面涉及到一些细节问题,一是安装镜像的时候就有一个原始版本在系统中,其次在下载时服务端和服务端的压缩文件要进行一个对比,也就是版本更高一点的时候才进行更新下载。

做好这个对于ROS后续的软件迭代也是具有相当帮助的一件事。也是根据一个其他案例想的一个方法,至于具体实现肯定还涉及到很多很多细节问题。不过我坚信的是,实现一般都不是问题,怕的就是连想法都没有。

有做成希望能留个言知会一声。


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • linux qt打开常用文件格式,设置Linux Qt文件默认打开方式为QtCreator
    Linux自定义文件打开方式也可参照文本抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • Ubuntu18.04 安装ROS Melodic && Ros2 Dashing
    https:blog.csdn.netqq_44717317articledetails104547474一、Ubuntu18.04的安装ubuntu2go的制作关于Ubuntu2 ... [详细]
author-avatar
我喜欢吕继宏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有