ROS(Kinetic和Melodic)下使用cartographer踩坑记录和部分谣言终结

最近在机器人上尝试跑cartographer进行建图,途中遇到了不少坑,写下来记录分享一下。

测试环境1:

机器人 PC
NanoRobot(两轮差速底盘,树莓派3B,ubuntu mate 16.04,ROS Kinetic,单线激光雷达) Ubuntu16.04 ROS Kinetic(虚拟机)

机器人和PC端安装cartographer都使用二进制包方式安装(因为懒)

sudo apt-get install ros-kinetic-cartographer*

接下来是写cartographer.launch文件,照猫画虎写出来是这样的,没什么特别要注意的,use_sim_time根据实际设置,仿真中用true,实体机器人上用false,把你地激光雷达话题remap成scan(大多数单线雷达默认就是用scan,所以省略掉remap那一句也可以)

<launch>  
  <arg name="simulation" default= "false"/> 
  <param name="/use_sim_time" value="$(arg simulation)" />  
  <!-- cartographer_node -->
  <node name="cartographer_node" pkg="cartographer_ros"  
        type="cartographer_node" args="  
            -configuration_directory $(find package_name)/config  
            -configuration_basename config.lua"  
        output
### 回答1: ROS KineticMelodic是两个不同版本的ROS机器人操作系统)。 其中,KineticROS的第五个正式版本,于2016年5月发布。它支持Ubuntu 16.04和14.04,是一个长期支持(LTS)版本,提供了稳定的功能和更新。 而MelodicROS的第十个正式版本,于2018年5月发布。它支持Ubuntu 18.04和16.04,同样是一个长期支持版本,提供了更多的功能和改进。 总的来说,Melodic相对于Kinetic来说,提供了更多的功能和改进,但是需要更高的硬件要求和更高版本的Ubuntu系统支持。 ### 回答2: ROS(Robot Operating System)是一个开放源代码的机器人开发框架,使用ROS可以进行机器人软件开发,它包含了很多模块和工具可以方便地构建一个机器人应用。ROS KineticMelodic 都是两个版本号,其中Kinetic版本发布于2016年2月,而Melodic版本发布于2018年5月。其中,Kinetic版本是从ROS框架第一次发布的版本(ROS Electric)之后的第七个版本,而Melodic版本是第二十个版本。两者在功能上有着许多共同点,但两者还是存在一些不同之处。 一、 ROS版本支持时间不同 ROS KineticMelodic支持的平台不一样。Kinetic是支持Ubuntu Xenial(16.04)以上操作系统,而Melodic则是推出了支持Ubuntu Bionic(18.04)以上版本的操作系统。 二、 支持语言不同 KineticMelodic都支持C++和Python语言。Kinetic还支持Java程序的编写,而Melodic则宣布了对Go语言的支持。这个新功能在构建ROS工具和库会更加方便。 三、 更新不同 KineticROS版本一直都在更新,目前的版本是Kinetic 1.14。而Melodic在推出之后仅在一个月内就完成了第一次更新。这表明Melodic在生态系统和技术更新方面会有更多持续的改进。 四、 维护时限不同 在ROS框架中,每个版本都有一定的支持时间限制。Kinetic的支持时间将于2021年5月结束(已经延长了两年),而Melodic则可以获得10年的维护支持。这意味着Melodic会比Kinetic支持更长时间。 总结一下,KineticMelodic两个版本的最大不同点在于支持的平台、支持语言、更新频率和维护时限。另外,两个版本之间具体的不同点还要具体看开发者的比较需求。在开发过程中需要注意ROS版本的选择,以便更好地完成机器人应用的开发和维护。 ### 回答3: ROS机器人操作系统的缩写,是一个开源的软件平台,用于构建机器人应用程序。ROS 的版本分为多个发行版,其中比较常用的有ROS KineticMelodic。这两个版本有什么区别? 首先,Kinetic是在2016年5月发布的,而Melodic则是在2018年5月发布的。它们之所以发布的时间相差两年,是因为在这两年间ROS团队进行了很多新特性的添加、问题的修复、API 接口修改等等方面的更新和改进。这也是为什么新版本总是比旧版本要更加稳定和实现更多功能。 另外,Kinetic只支持Ubuntu 16.04和Debian Jessie,而Melodic则支持Ubuntu 18.04和Debian Stretch,这意味着Melodic有更好的兼容性。同时,Melodic还支持Python 3,因为Python 2在2020年停止维护。 此外,对于ROS的一些核心组件,Kinetic版本是基于gcc 5.4编译的,而Melodic版本是基于gcc 7.3编译的,这对于向后兼容性和稳定性有所影响。此外,KineticMelodic的一些包的名称和结构不尽相同。 最后,由于ROS是一个开源软件平台,它的使用是根据个人或组织的具体情况而定。因此,您可以根据需要选择ROS的版本。如果您的项目需要使用较新的硬件设备,那么您可能需要采用较新版本的ROS(如Melodic)。如果您的项目需要避免一些可能的问题或更多的组件支持,那么您可以选择较旧版本的ROS(如Kinetic)。 总之,ROS KineticMelodic之间的主要区别在于版本时间、平台支持、Python版本、gcc编译版本和包的名称和结构。选择版本是根据您的项目需求而定。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值