0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ROS的简单开发及其理解

麦辣鸡腿堡 来源:CSDN博客 作者:lwlv 2023-11-21 17:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ROS初探

刚开始入手ROS的时候确认有点麻烦,第一它运行在Ubuntu环境。

不过还是用Ubuntu比较原生态,而且Ubuntu系统免费,实时性也相对高点。可能有的人一看linux编程就望而却步,其一没Windows下的可视化操作方便,目录结构和文件属性也很有差别;其二没有宇宙第一强IDE Visual Studio,很多断点调试都非常麻烦。

实际上关于Ubuntu系统的安装教程网上有很多,实在不行可以在Windows下安装虚拟机。

关于操作系统的使用,大多是以命令行或者脚本的形式进行,《鸟哥的linux私房菜》这本书可以看看。

常用指令主要就那些(应该不会有太多人再去深究指令背后的含义吧,这个就涉及到linux内核了,越挖越深可能偏离方向了),再不懂的指令边遇到边查边学也很快。

其实对于软件开发人员,能写脚本是一项很重要的技能,我发现老外都很喜欢用指令去操作,有很多大厂的开发在Windows下也做了很多脚本工具,进行编译、调试、测试等,它能批处理很多东西,减少很多重复性的事情,所以尽可能得学会多用指令或者脚本去操作。

安装并大致了解完linux操作系统,就可以安装ROS了。

基本也是依葫芦画瓢地操作。不过在使用ROS前,可以在ROS官网上看看,了解一下ROS大概是怎么一回事。

为了更快得安装ROS,我们一般会切换至国内的镜像源比如清华大学的。ROS的安装大概需要半个多小时,安装完后便可以开始ROS之旅了。

不过在开始之前,我们还可以再细想一些问题,比如/etc/apt/sources.list是干啥的,下载的安装包都去哪了?/etc/apt/sources.list 是包管理工具 apt 所用的记录软件包仓库位置的配置文件,同样的还有位于 /etc/apt/sources.list.d/*.list 的各文件。

通过apt-get命令下载的软件包,会放在/var/cache/apt/archives 目录下。而deb格式是Debian系统(包含Debian和Ubuntu)专属安装包格式,配合APT软件管理系统,是Linux下非常流行的一种安装包。

ROS的简单开发及其理解

ROS的初级之旅主要从ROS tutorial开始,几乎也是依葫芦画瓢似的创建消息,广播话题,写服务等。市面上大部分教材、博客也是以这里为例并加以拓展。

关于代码的编写,有太多方式,最简单粗暴的当然是用记事本(gedit),但是为了方便跳转和可读性,wiki上还有专门介绍IDE的,选取一个自己喜欢的即可。

如果是C++编程,我比较推荐QtCreator,如何配置可参见《三种方法在ROS中加载Qt库进行GUI设计》;如果是Python编程,参见《在ROS中利用PyQt写GUI程序》。关于这些配置我还是探索了比较久的时间。

如果自定义消息发布,保存加载参数,写服务,用一些指令查看ROS状态比如rostopic, rosnode, rosparam, rossrv, rosservice,用一些可视化小工具进行分析、监控比如rqt_graph, rqt_reconfigure, rqt_plot, rivz, rqt_console等,那么说明ROS的学习进展得不错。

我相信每个人在使用编写或使用上述工具的时候都会遇到不同的问题和坑,不过有问题不怕,关键是去解决它,并享受解决的过程。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    213

    文章

    30591

    浏览量

    219634
  • 操作系统
    +关注

    关注

    37

    文章

    7329

    浏览量

    128645
  • ROS
    ROS
    +关注

    关注

    1

    文章

    290

    浏览量

    18480
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    系统镜像Ubuntu_ROS2中ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2中ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    简单开关电源原理图

    简单开关电源原理图,最好还有电路讲解分析
    发表于 09-02 11:42

    简单开关电源原理图

    简单开关电源原理图,最好还有电路分析讲解,帮忙重谢,可深入讨论电路,谢谢
    发表于 09-02 11:43

    什么是ROSROS产生、发展和壮大的原因和意义

    机器人操作系统(ROS)入门(嵌入式系统应用开发)一、ROS 基本问题1. 什么是 ROS2. ROS 产生、发展和壮大的原因和意义二、安装
    发表于 12-17 06:08

    求分享ESP8266的简单开源引导加载程序

    ESP8266的简单开源引导加载程序。
    发表于 05-22 09:37

    超出预期的漂亮:999入手红米Note 4X黑色版,简单开

    超出预期的漂亮:999入手红米Note 4X黑色版,简单开
    发表于 03-03 11:25 1796次阅读

    如何通过NVIDIA ISAAC ROS GEMs

    在这篇文章中,我讨论了如何使用 NVIDIA ISAAC ROS GEMs 加速机器人部署。解决方案的重点是使用nanosaur检测 AprilTags ,这是一种基于 NVIDIA Jetson 平台的简单开源机器人。
    的头像 发表于 04-15 16:42 3001次阅读
    如何通过NVIDIA ISAAC <b class='flag-5'>ROS</b> GEMs

    带有FTDI接头的ESP8266简单开发

    电子发烧友网站提供《带有FTDI接头的ESP8266简单开发板.zip》资料免费下载
    发表于 07-29 10:10 1次下载
    带有FTDI接头的ESP8266<b class='flag-5'>简单开发</b>板

    单片机的上位机简单开发(4)

    单片机的上位机简单开发(4) 界面设计增加了外部的自定义温度插件,chart图表插件 1.自定义温度插件 打开项目,右键单击工具箱中任意一个控件,弹出右键菜单如下:单击“选择项”,弹出如下对话框
    发表于 05-10 11:12 0次下载
    单片机的上位机<b class='flag-5'>简单开发</b>(4)

    单片机的上位机简单开发(2)

    单片机的上位机简单开发(2) 界面设计增加了GroupBox控件和radio按钮,我们设置其默认的enabled为false在连接串口之后enabled变为true groupBox1
    发表于 05-10 09:36 0次下载
    单片机的上位机<b class='flag-5'>简单开发</b>(2)

    ROS部署PaddlePaddle的CV模型

    paddle_inference_ros_demo功能包是基于paddle_inference_ros开发的,帮助开发者快速体验paddle_inference在
    的头像 发表于 10-20 17:02 1388次阅读
    <b class='flag-5'>ROS</b>部署PaddlePaddle的CV模型

    ROS系统读取USB相机图像数据

    现在市面上最常见的还是USB摄像头,物美价廉,要想使USB摄像头在ROS下正常工作,我们就需要一个软件包来支持,现在ROS下最常用的usb摄像头软件包就是usb_cam了,简单理解该软
    的头像 发表于 10-29 11:26 1421次阅读
    <b class='flag-5'>ROS</b>系统读取USB相机图像数据

    ROS核心框架介绍

    ROS核心框架 对于第一个问题,我也没仔细研究过源码,核心代码基本由python和C++组成,运用了xmlrpc机制,每个运行的节点可以理解成一个进程。进程间通讯有些是共享内存的方式(比如
    的头像 发表于 11-21 18:07 1707次阅读
    <b class='flag-5'>ROS</b>核心框架介绍

    ros的基本概念是什么

    关系。 ROS Graph这里翻译成了ROS网络,因为我觉得Graph更加抽象,而网络的概念更容易帮助理解其内涵。 ROS网络(ROS Gr
    的头像 发表于 11-27 11:21 2672次阅读

    如何基于翼辉信息SylixOS开发ROS 2应用

    ROS 2(Robot Operating System 2)是机器人操作系统(ROS)的升级版,是一套开源的专为机器人开发而设计的软件库与工具集。作为构建机器人应用的强大框架,提供从硬件驱动到先进
    的头像 发表于 08-14 15:44 1665次阅读
    如何基于翼辉信息SylixOS<b class='flag-5'>开发</b><b class='flag-5'>ROS</b> 2应用