探究ROS新版本的新增功能和改进细节

作者:德州麻将开发公司 阅读:23 次 发布时间:2023-05-03 03:35:52

摘要:随着机器人技术的发展和应用场景的不断扩大,ROS(Robotic Operating System)作为一种流行的机器人操作系统,不断进行着升级和改进。最近,ROS又推出了新版本——ROS Noetic,那么它都新增了哪些功能和改进细节呢?本文将会对ROS Noetic的新功能和改进进行深入探究。首先,R...

随着机器人技术的发展和应用场景的不断扩大,ROS(Robotic Operating System)作为一种流行的机器人操作系统,不断进行着升级和改进。最近,ROS又推出了新版本——ROS Noetic,那么它都新增了哪些功能和改进细节呢?本文将会对ROS Noetic的新功能和改进进行深入探究。

探究ROS新版本的新增功能和改进细节

首先,ROS Noetic相对以往版本有了诸多的改进,让我们一一来看一下。

1.更稳定的用于Python 3的ROS2 Python代码

在ROS Noetic中,Python 2.x被正式弃用,只支持Python 3.x。当然,很多ROS用户一定会感到不适应,因为大多数ROS软件包都还是基于Python 2.x。

不过,ROS Noetic为大家增加了一种新方法,在允许用户编写Python代码的同时,可以使用“ros2 run”命令将Python 2代码包装在Python 3中。这有助于从Python 2移植到Python 3,同时提高了整体代码的可维护性。

2.改进的系统结构

ROS Noetic的另一个改进是修改了系统结构,以便更好地支持新兴的硬件架构。此外,ROS系统的各个组件之间也更加紧密相连。

在过去的版本中,ROS原生插件安装在操作系统级别,这意味着安装了某些插件后,将在所有ROS节点中自动生效。在ROS Noetic中,这种安装方式已经被废弃,插件现在需要专门安装在ROS2包中。

这使ROS更具可扩展性和可定制性,可以更好地满足不同用户的需求。

3.改进的可视化调试工具

ROS Noetic拥有更好的可视化调试工具,这可以缩短调试时间,使开发人员更快地找到问题并解决它们。例如,为了检查点云数据覆盖了哪些区域,我们可以使用RViz 3D可视化工具。更棒的是,ROS Noetic提供了对三维物体建模和场地模拟的支持,使得开发人员可以使用可视化模拟来快速验证算法的正确性。

4.更好的机器学习集成

机器学习正在成为机器人领域的热门应用之一。为了更好地支持机器学习模块的集成,ROS Noetic自带了许多常见的机器学习框架,包括TensorFlow、PyTorch等。新的功能使得机器人的深度学习开发更加快速高效。此外,ROS Noetic还包括了几个基于机器人的AI示例,例如手部姿势识别和基于图像的物体检测。

5.更好的WebSockets支持

ROS Noetic在WebSockets方面做出了很大的改进。该版本中的ROS WebSocket支持RFC6455,这是websocket通讯的标准协议。这使得使用WebSockets进行通信变得更加可靠和可扩展。

接下来,我们来看看ROS Noetic的新增功能。

1.改进的ros2 bag工具

ROS bag是ROS的一种通用机制,用于记录和回放由ROS节点发布的数据流。ROS Noetic改良了ros2 bag工具,它现在可以将MSG格式与CSV格式相互转换。这使得用户能够更轻松地将数据与其它工具集成。

2.增强了Docker支持

ROS Noetic提供了一个更好的Docker镜像,该镜像还配备了一个Autoware部署示例。新的镜像在创建过程中遵循ROS公共镜像约定,并具有调试工具,如rqt和rviz。

3.由ROS 1迁移到ROS 2

ROS Noetic为用户提供了在同一机器或在不同的机器之间迁移ROS代码的简单方法,这在过去的ROS版本中是不可行的。ROS Noetic使用可移植发行版的方式来支持这种不兼容的迁移。同时,Ros1_bridge软件包还提供了一种将ROS 1和ROS 2节点进行连接的方式。这些新的功能使得更容易将现有的ROS 1代码迁移到ROS 2。

以上是ROS Noetic主要新增的功能和改进细节,看完之后,你一定会想知道如何安装,使用这个版本了吧?别急,我们现在就来一起学习一下怎么安装和使用。

- 安装ROS Noetic

要安装ROS Noetic,我们需要Ubuntu 20.04或Mint 20的支持。通过下面的命令,我们可以添加ROS Noetic的软件源:

$ sudo apt update

$ sudo apt install curl gnupg2 lsb-release

$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

$ sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

接下来,我们可以使用下面的命令安装ROS Noetic完整版:

$ sudo apt update

$ sudo apt install ros-noetic-desktop-full

- 使用ROS Noetic

在ROS Noetic中,我们可以使用常规的ROS工具来创建、编译和执行代码,例如roslaunch、rosrun和catkin_make等。此外,ROS Noetic增加了一些新的工具,例如ros2 launch、colcon build和colcon test等。

下面是运行一个ROS Noetic程序的示例。首先,我们需要使用下面的命令创建一个ROS包:

$ cd ~/ros_work/src

$ ros2 pkg create my_package –-build-type ament_python

现在,我们可以在my_package目录中创建一个Python节点,名为“hello_node”。我们可以创建一个名为“main.py”的文件,并在其中添加以下内容:

import rclpy

from rclpy.node import Node

class HelloWorld(Node):

def __init__(self):

super().__init__('hello_node')

self.timer_ = self.create_timer(1, self.timer_callback)

self.i = 0

def timer_callback(self):

self.get_logger().info('Hello %d' % self.i)

self.i += 1

def main(args=None):

rclpy.init(args=args)

node = HelloWorld()

rclpy.spin(node)

node.destroy_node()

rclpy.shutdown()

通过下面的命令可以编译和运行节点:

$ cd ~/ros_work

$ colcon build

$ . install/setup.bash

$ ros2 run my_package main

在控制台上,我们应该看到“Hello”和递增的数字显示。

综上所述,ROS Noetic是一个令人期待的新版本,它为ROS用户带来了更好的可定制性和可维护性,同时还新增了一些有用的功能和工具。如果您有机器人领域的开发需求,那么ROS Noetic是一款值得一试的工具。

  • 原标题:探究ROS新版本的新增功能和改进细节

  • 本文链接:https:////qpzx/3871.html

  • 本文由德州麻将开发公司飞扬众网小编,整理排版发布,转载请注明出处。部分文章图片来源于网络,如有侵权,请与飞扬众网联系删除。
  • 微信二维码

    CTAPP999

    长按复制微信号,添加好友

    微信联系

    在线咨询

    点击这里给我发消息QQ客服专员


    点击这里给我发消息电话客服专员


    在线咨询

    免费通话


    24h咨询☎️:166-2096-5058


    🔺🔺 棋牌游戏开发24H咨询电话 🔺🔺

    免费通话
    返回顶部