建设农场网站邹城网站开发
建设农场网站,邹城网站开发,wordpress 管理中心,如何做情趣网站一、说明 机器人操作系统ROS是使用最广泛的机器人中间件平台。它在机器人社区中使用了10多年#xff0c;无论是在业余爱好者领域还是在工业领域。ROS可用于各种微控制器和计算机#xff0c;从Arduino到Raspberry Pi再到Linux工作站#xff0c;它为电机控制器#xff0c;视觉… 一、说明 机器人操作系统ROS是使用最广泛的机器人中间件平台。它在机器人社区中使用了10多年无论是在业余爱好者领域还是在工业领域。ROS可用于各种微控制器和计算机从Arduino到Raspberry Pi再到Linux工作站它为电机控制器视觉传感器深度摄像头和激光扫描仪提供硬件支持。本文介绍ROS2和ROS1的项目尝试和结论。 二、在ROS学习过程 在我的构建机器人项目中我同时使用了 ROS1 和 ROS2。到目前为止我完成了 2 个阶段中的 5 个。第一阶段是研究了解机器人的硬件和软件研究微控制器和传感器测试库和中间件。在第二阶段我构建了一个基于Arduino的原型一种红外控制的4轮车我称之为RADU。现在阶段 3 有两个不同的部分使用 ROS 模拟机器人然后构建支持 ROS 的机器人。这就是困境ROS2的模拟 - 通过长时间的试错期来之不易 - 无法扩展到混凝土机器人因为我的硬件不受支持。我考虑了很长时间最终决定从此继续使用 ROS1。
本文总结了我的经验并解释了最终选择的基本原理。
这篇文章最初出现在我的博客 admantium.com。
三、回顾我的机器人项目 在 2021 年初启动项目时我对 ROS 的第一次体验仅限于纯模拟。在我的笔记本电脑上将基于Ubuntu的Linux作为VM运行我用RViz安装了ROS noetic并制作了一个简单的四轮机器人URDF模型。 然后我买了一个机器人底盘几个Arduino Uno和5V兼容传感器。通过学习教程了解 Arduino 的工作原理以及如何测量和处理传感器数据这是一个令人振奋的时刻。我有很多“尤里卡”时刻在遇到一些困难后传感器会突然工作。这一阶段以第一个混凝土原型完成这是一个由 IR 控制的移动 4 轮底盘。 准备在我的项目中充分利用 ROS我将 ROS2 安装在专用的 Linux 工作站上。然后我开始将我的简单RViz ROS1模型移植到ROS2并扩展模型以兼容Gazebo。有趣的是学习机器人背后的物理学并深入了解ROS概念。不利的一面是我花了很长时间的试验和错误来开发一个与Gazebo兼容的模型。但最后我可以启动模拟启动一个远程节点并在模拟流点云传感器数据中移动机器人。 从模拟到机器人是下一个阶段。与此同时覆盆子笔克进入舞台。最初我只是测试了如何添加传感器并使用C和MicroPython读取它们。但是阅读了几个教程并观看了有关基于Raspberry Pi的项目的视频这些项目使用Python中的机器人控制软件使我相信了可行性。用MicroPython从头开始编写电机控制软件成为我的目标。我用MicroPython完全重建了我的机器人并在电机控制命令包装器中添加了一个ROS Twist消息。机器人动了但是在添加我的实感 D435 相机时经过几个小时的尝试我无法使用 ROS2 流式传输点云数据。出于好奇我切换到 ROS1 — 在这里它开箱即用 这一启示引起了下一段所概述的意见。
四、ROS1 与 ROS2 ROS2是未来的ROS。根据社区网站和YouTube视频的信息ROS2面向工业用途。机器人通信使用称为XRCE-DDS的标准中间件层。ROS2还抑制了系统自愈和可靠性的特点例如无需ROS主节点即可运行。 在研究混凝土机器人项目时来自社区的 ROS2 机器人与 ROS1 机器人相比相形见绌。过去 3 年开发的大多数项目仍然使用 ROS1。我没有考虑这个事实只是感到惊讶因为 ROS2 自 2017 年以来就已经发布。 在使用 ROS2 模拟机器人并让 ROS2 与我的机器人传感器尤其是 RealsenseD435 相机一起运行时我遇到了几个障碍。这是个人回忆。 首先在搜索如何连接某个传感器时很难找到或根本不存在与 ROS2 相关的信息、具体文章、文档或 YouTube 视频。 其次有关 Gazebo 控制器和 Gazebo 插件等特殊主题的文档不完整。如果你想构建一个 Gazebo 模拟ROS1 有探索性和全面的手册但对于 ROS2你需要从不同的网站获取信息片段组装它们并在它工作之前使用大量的试验和错误。让我的机器人模拟与 Gazebo/RVIZ 2 中的所有传感器和主题一起工作是一段漫长的旅程。 第三当使用SBC组装机器人并将其连接到微控制器时您会惊讶地发现没有通用库可以通过串行连接它们如本博客文章所述。你要么需要使用非常特定的微控制器并为它们编译一个定制的RTOS Linux发行版这使得很难重用你的Arduino库。或者您需要具有网络功能的特殊板。 第四检查 ROS2 的硬件支持显示可用的选项较少其他机器人爱好者在运行 ROS2 时遇到问题。在尝试让英特尔实感 D435 与 ROS2 配合使用时我也有同样的经历。尽管我使用了最新的固件从头开始编译了librealsense编译了ros-realsense软件包但它不起作用甚至响应迅速且有用的社区问题板上的一个线程也没有找到答案。当我切换到 ROS1 时相同的传感器可以正常工作。 概括这些观察结果使我得出一个可悲的结论即使用ROS2意味着找到更少的文档对传感器的支持更少并且SBC和微控制器的集成更加困难。
五、再次切换到 ROS1 让gazebo模拟在 ROS2 中工作的经验主要是反复试验。让Realsense2相机在ROS2中工作并不成功。因此从其他人那里阅读有关ROS2的类似错误和问题的信息是另一个影响。最后在研究在我的机器人上使用ROS的下一个方面时比如SLAM自主运动抓手 - 确实一次又一次地透露了ROS1的完整教程和书籍我做出了决定我的项目将继续使用ROS1。 塞巴斯蒂安
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85713.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!