站长工具seo综合查询是什么江西赣州最新消息

张小明 2025/12/30 14:21:37
站长工具seo综合查询是什么,江西赣州最新消息,企业网站建设官网,现在ui做的比较好的网站智能机器人的功能繁多#xff0c;全都放在一个计算机里#xff0c;经常会遇到计算能力不够、处理出现卡顿等情况#xff0c;如果可以将这些任务拆解#xff0c;分配到多个计算机中运行岂不是可以减轻压力#xff1f; 这就是分布式系统#xff0c;可以实现多计算平台上的任…智能机器人的功能繁多全都放在一个计算机里经常会遇到计算能力不够、处理出现卡顿等情况如果可以将这些任务拆解分配到多个计算机中运行岂不是可以减轻压力这就是分布式系统可以实现多计算平台上的任务分配。一、分布式通信之前我们也讲过在ROS系统中机器人功能是由各种节点组成的这些节点可能位于不同的计算机中这种结构可以将原本资源消耗较多的任务分配到不同的平台上减轻计算压力这就是分布式通信框架的典型应用之一。比如这款机器人系统中有两个计算平台机器人体积比较小不适合放一个笔记本电脑在上边于是采用NanoPC-T6开发板作为控制器主要实现传感器驱动和电机控制等功能不过视觉处理和应用功能就不适合在NanoPC-T6开发板里运行了我们放在另外一个性能更强的笔记本电脑中此外我们还需要在电脑上监控机器人的传感器信息并且远程控制机器人运动。两个电脑之间的通信看上去还有点复杂毕竟相互传输的数据还挺多的不过ROS系统都已经为我们设计好了我们只需要在每一个电脑上配置好ROS环境功能开发上完全不需要做任何变化实现非常方便。接下来我们就一起来体验下ROS分布式系统的魅力。1.1ubuntu虚拟机环境搭建在《ROS2概述和基于RK3588的环境搭建》我们使用了NanoPC-T6开发板搭建了ROS2环境这里我们使用ubuntu虚拟机搭建另外一套ROS2环境关于ubuntu虚拟机的安装具体参考《Ubuntu虚拟机安装》。1.1.1ROS2系统安装接下来我们就可以把ROS2安装到ubuntu虚拟机中了首先添加源:zhengyangubuntu:~$ sudo apt install curl gnupg lsb-release zhengyangubuntu:~$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg zhengyangubuntu:~$ echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(source /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null zhengyangubuntu:~$ cat /etc/apt/sources.list.d/ros2.list deb [archamd64 signed-by/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main zhengyangubuntu:~$ sudo apt update安装ROS2:zhengyangubuntu:~$ sudo apt upgrade zhengyangubuntu:~$ sudo apt install ros-humble-desktop默认安装到/opt/ros/humble目录zhengyangubuntu:~$ ll /opt/ros/humble drwxr-xr-x 2 root root 4096 12月 16 23:15 bin/ drwxr-xr-x 2 root root 4096 12月 16 23:15 cmake/ drwxr-xr-x 108 root root 4096 12月 16 23:15 include/ drwxr-xr-x 77 root root 28672 12月 16 23:15 lib/ drwxr-xr-x 3 root root 4096 12月 16 23:15 local/ -rw-r--r-- 1 root root 373 5月 21 2025 local_setup.bash -rw-r--r-- 1 root root 3902 7月 1 08:58 local_setup.sh -rw-r--r-- 1 root root 15664 5月 21 2025 _local_setup_util.py -rw-r--r-- 1 root root 379 5月 21 2025 local_setup.zsh drwxr-xr-x 3 root root 4096 12月 16 23:15 opt/ -rw-r--r-- 1 root root 349 5月 21 2025 setup.bash -rw-r--r-- 1 root root 4275 7月 1 08:58 setup.sh -rw-r--r-- 1 root root 622 5月 21 2025 setup.zsh drwxr-xr-x 283 root root 16384 12月 16 23:15 share/ drwxr-xr-x 4 root root 4096 12月 16 23:15 src/ drwxr-xr-x 3 root root 4096 12月 16 23:15 tools/1.1.2 设置环境变量在当前终端加入ROS2环境配置可以立即使用ROS命令zhengyangubuntu:~$ source /opt/ros/humble/setup.bash如果要永久生效我们需要执行zhengyangubuntu:~$ echo source /opt/ros/humble/setup.bash ~/.bashrc即将ROS配置添加到.bashrc文件每次打开新终端都会自动加载。注意这里不要使用sudo我们后面开发使用的就是普通用户zhengyang。1.1.3 代码下载编译拷贝NanoPC-T6开发板源码到ubuntu虚拟机中zhengyangubuntu:~$ mkdir -p ~/dev_ws/src zhengyangubuntu:~$ cd dev_ws/src/ zhengyangubuntu:~/dev_ws/src$ scp -r pi192.168.2.107:/home/pi/dev_ws/src/* ./ zhengyangubuntu:~/dev_ws/src$ ll drwxrwxr-x 4 zhengyang zhengyang 4096 12月 16 23:06 jacket_detection_pkg_c/ drwxrwxr-x 5 zhengyang zhengyang 4096 12月 16 23:06 jacket_detection_pkg_python/ drwxrwxr-x 5 zhengyang zhengyang 4096 12月 16 23:06 my_learning_action/ drwxrwxr-x 5 zhengyang zhengyang 4096 12月 16 23:06 my_learning_interface/ drwxrwxr-x 5 zhengyang zhengyang 4096 12月 16 23:06 my_learning_node/ drwxrwxr-x 5 zhengyang zhengyang 4096 12月 16 23:06 my_learning_parameter/ drwxrwxr-x 5 zhengyang zhengyang 4096 12月 16 23:06 my_learning_service/ drwxrwxr-x 5 zhengyang zhengyang 4096 12月 16 23:06 my_learning_topic/ drwxrwxr-x 26 zhengyang zhengyang 4096 12月 16 23:06 ros2_21_tutorials/注意ubuntu虚拟机IP地址为192.168.2.105NanoPC-T6开发板IP地址为192.168.2.107。安装依赖zhengyangubuntu:~/dev_ws/src$ sudo apt install -y python3-pip zhengyangubuntu:~/dev_ws/src$ sudo pip3 install rosdepc zhengyangubuntu:~/dev_ws/src$ sudo rosdepc init zhengyangubuntu:~/dev_ws/src$ rosdepc update zhengyangubuntu:~/dev_ws/src$ cd .. zhengyangubuntu:~/dev_ws$ rosdepc install -i --from-path src --rosdistro humble -y zhengyangubuntu:~/dev_ws$ sudo apt install python3-colcon-ros # # 确保使用系统的Python包 zhengyangubuntu:~/dev_ws$ sudo pip uninstall numpy -y zhengyangubuntu:~/dev_ws$ sudo apt install --reinstall python3-numpy python3-opencv编译代码zhengyangubuntu:~/dev_ws$ colcon build设置环境变量zhengyangubuntu:~/dev_ws$ source install/local_setup.sh zhengyangubuntu:~/dev_ws$ echo source ~/dev_ws/install/local_setup.sh ~/.bashrc想了解细节请参考《ROS2核心概念之节点和话题》。1.2 分布式数据传输ubuntu虚拟机配置完成后确保已经和NanoPC-T6开发板连接到了同一个局域网络中接下来我们打通两个计算平台的通信能力具体需要做什么呢简而言之什么都不需要做。我们直接用命令行测试一下话题通信的效果。1.2.1NanoPC-T6开发板在开发板使用如下命令启动一个发布者节点节点会以固定频率(默认每秒一次)向/chatter话题发布std_msgs/msg/String类型的消息piNanoPC-T6:~/dev_ws$ ros2 run demo_nodes_cpp talker [INFO] [1765898443.290089491] [talker]: Publishing: Hello World: 1 [INFO] [1765898444.289929364] [talker]: Publishing: Hello World: 2 [INFO] [1765898445.289903891] [talker]: Publishing: Hello World: 3 ...... [INFO] [1765898463.289720870] [talker]: Publishing: Hello World: 21 [INFO] [1765898464.289650088] [talker]: Publishing: Hello World: 22 [INFO] [1765898465.289564499] [talker]: Publishing: Hello World: 23 [INFO] [1765898466.289475766] [talker]: Publishing: Hello World: 24 [INFO] [1765898467.289370765] [talker]: Publishing: Hello World: 25 [INFO] [1765898468.289326196] [talker]: Publishing: Hello World: 26 [INFO] [1765898469.289211693] [talker]: Publishing: Hello World: 27 [INFO] [1765898470.289176577] [talker]: Publishing: Hello World: 28 [INFO] [1765898471.289235720] [talker]: Publishing: Hello World: 29 [INFO] [1765898472.289015232] [talker]: Publishing: Hello World: 30 [INFO] [1765898473.288960454] [talker]: Publishing: Hello World: 311.2.2ubuntu虚拟机接下来在虚拟机使用如下命令启动一个订阅者节点节点会订阅/chatter话题zhengyangubuntu:~/dev_ws$ ros2 run demo_nodes_py listener [INFO] [1765898463.241815861] [listener]: I heard: [Hello World: 21] [INFO] [1765898464.232680067] [listener]: I heard: [Hello World: 22] [INFO] [1765898465.232419733] [listener]: I heard: [Hello World: 23] [INFO] [1765898466.232682488] [listener]: I heard: [Hello World: 24] [INFO] [1765898467.232489282] [listener]: I heard: [Hello World: 25] [INFO] [1765898468.232192649] [listener]: I heard: [Hello World: 26] [INFO] [1765898469.232323659] [listener]: I heard: [Hello World: 27] [INFO] [1765898470.232299185] [listener]: I heard: [Hello World: 28] [INFO] [1765898471.232586267] [listener]: I heard: [Hello World: 29] [INFO] [1765898472.232056527] [listener]: I heard: [Hello World: 30] [INFO] [1765898473.232013101] [listener]: I heard: [Hello World: 31]神奇的事情就这样发生了只要两个计算机安装好ROS2并且处于同一网络中他们就可以实现之前讲过的话题、服务、动作等通信了感觉就像在一个电脑里一样。不过这也会带来一个问题如果一个网络中有很多个计算机我们并不希望他们都可以互通互联而是可以分组通信小组之间是无法实现通信的。1.3 分布式网络分组没问题ROS2提供了一个DOMAIN的机制就类似分组一样处于同一个DOMAIN中的计算机才能通信。我们可以在ubuntu虚拟机和NanoPC-T6开发板的.bashrc中加入这样一句配置即可将两者分配到一个小组中$ export ROS_DOMAIN_IDyour_domain_id其中your_domain_id设置成一个具体数字。二、分布式通信案例2.1 小海龟分布式控制分布式通信网络似乎已经建立成功了是否真有我们想的这么神奇我们继续测试之前学习过的一些案例先来试试ROS中的经典案例——小海龟。2.1.1ubuntu虚拟机进入ubuntu虚拟机桌面系统启动第一个终端运行小海龟仿真器hengyangubuntu:~/dev_ws$ ros2 run turtlesim turtlesim_node Warning: Ignoring XDG_SESSION_TYPEwayland on Gnome. Use QT_QPA_PLATFORMwayland to run on Wayland anyway. [INFO] [1765898776.153979025] [turtlesim]: Starting turtlesim with node name /turtlesim [INFO] [1765898776.164892701] [turtlesim]: Spawning turtle [turtle1] at x[5.544445], y[5.544445], theta[0.000000]该指令将启动一个蓝色背景的海龟仿真器。2.1.2NanoPC-T6开发板进入NanoPC-T6开发板桌面系统运行如下指令piNanoPC-T6:~/dev_ws$ ros2 run turtlesim turtle_teleop_key Reading from keyboard --------------------------- Use arrow keys to move the turtle. Use G|B|V|C|D|E|R|T keys to rotate to absolute orientations. F to cancel a rotation. Q to quit.该指令将启动一个键盘控制节点在该终端中点击键盘上的“上下左右”按键就可以控制小海龟运动啦。2.2 话题分布式通信我们之前编写的话题通信案例是否可以在不修改任何代码的情况下直接使用呢2.2.1ubuntu虚拟机ubuntu虚拟机作为订阅者订阅Hello World字符串zhengyangubuntu:~/dev_ws$ ros2 run my_learning_topic topic_helloworld_sub [INFO] [1765899847.552366054] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899848.047724012] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899848.547411962] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899849.046847566] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899849.543365217] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899850.042852073] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899850.543550331] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899851.047129937] [topic_helloworld_sub]: I heard: Hello World [INFO] [1765899851.543338505] [topic_helloworld_sub]: I heard: Hello World2.2.2NanoPC-T6开发板NanoPC-T6作为发布者发布Hello World字符串piNanoPC-T6:~/dev_wsros2 run my_learning_topic topic_helloworld_pub [INFO] [1765899847.621922793] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899848.091729063] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899848.591811550] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899849.091519509] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899849.590804942] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899850.090894329] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899850.591572562] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899851.091764651] [topic_helloworld_pub]: Publishing: Hello World [INFO] [1765899851.590533257] [topic_helloworld_pub]: Publishing: Hello World2.3 服务分布式通信我们之前编写的服务通信案例是否可以在不修改任何代码的情况下直接使用呢2.3.1ubuntu虚拟机ubuntu虚拟机作为服务端实现加法求和功能zhengyangubuntu:~/dev_ws$ ros2 run my_learning_service service_adder_server [INFO] [1765899989.484504559] [service_adder_server]: Incoming request a: 2 b: 32.3.2NanoPC-T6开发板NanoPC-T6作为客户端发送求和请求piNanoPC-T6:~/dev_ws$ ros2 run my_learning_service service_adder_client 2 3 [INFO] [1765899989.560761457] [service_adder_client]: Result of add_two_ints: for 2 3 52.4 机器视觉分布式应用以上这些功能还不够复杂没问题视觉识别的案例安排上。接下来我们将使用连接NanoPC-T6摄像头模拟一个小型机器人可以采集实时图像然后再通过分布式网络将图像发给ubuntu虚拟机处理节点识别图像中的橙色物体。2.4.1ubuntu虚拟机ubuntu虚拟机作为订阅者订阅图像话题并实现视觉识别zhengyangubuntu:~/dev_ws$ ros2 run my_learning_topic topic_webcam_sub [INFO] [1765900559.180033381] [topic_webcam_sub]: Receiving video frame [INFO] [1765900559.231356659] [topic_webcam_sub]: Receiving video frame [INFO] [1765900559.282422598] [topic_webcam_sub]: Receiving video frame [INFO] [1765900559.333422282] [topic_webcam_sub]: Receiving video frame ......2.4.2NanoPC-T6开发板NanoPC-T6作为发布者发布图像话题piNanoPC-T6:~/dev_ws$ ros2 run usb_cam usb_cam_node_exe --ros-args -p video_device:/dev/video21视觉识别的效果如下好啦我们在分布式网络中测试了ROS一系列例程都没有任何问题.在实际的机器人开发中类似的方法会频繁用到ROS为分布式网络的搭建提供了非常友好的支持我们几乎不需要任何配置代码也不需要做任何修改只要使用ROS系统一切都会变得如此轻松。参考文章[1] 古月居ROS2入门教程学习笔记
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

我要做一个网站 需要营业范围吗三网站建设

1、物联网架构可分为三层:感知层、网络层、应用层 2、物联网关键技术:传感器技术(RFID射频识别技术)、传感网(MEMS微机电系统)、应用系统框架(实现智能化的控制,涉及5个重要的技术部…

张小明 2025/12/30 14:19:29 网站建设

秦皇岛建网站公司网站建设要用到的技术有哪些

玫瑰克隆工具简介 玫瑰克隆工具是一款针对自媒体内容创作者设计的智能去重工具,通过AI技术快速生成原创内容,避免重复搬运问题。适用于短视频、图文、音频等多平台内容创作,尤其适合批量处理爆款内容的二次创作需求。 核心功能与优势 智能去…

张小明 2025/12/30 14:17:19 网站建设

有免费的网站做农家院宣传空间站 对接

Kotaemon如何实现无需重新训练的动态知识更新在企业级AI应用日益普及的今天,一个看似简单却棘手的问题反复浮现:为什么用户问“我们最新产品是什么”,系统还在推荐半年前的旧型号?答案往往藏在模型上线那一刻——知识被“固化”进…

张小明 2025/12/30 14:13:00 网站建设

豪华网站建设网站续费服务商

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个VS Code汉化效率对比工具,要求:1. 自动记录三种汉化方式的操作步骤和时间 2. 生成可视化对比图表 3. 计算节省的工时 4. 分析错误率差异 5. 输出优化…

张小明 2025/12/30 14:10:50 网站建设

网站策划专员网站的内部推广的方法

Vue大屏自适应终极解决方案:v-scale-screen组件深度解析 【免费下载链接】v-scale-screen Vue large screen adaptive component vue大屏自适应组件 项目地址: https://gitcode.com/gh_mirrors/vs/v-scale-screen 在大屏数据可视化项目开发中,你是…

张小明 2025/12/30 14:08:39 网站建设

自己建设的网站如何优化平面设计作品欣赏官网

第一章:独家解密Open-AutoGLM核心架构Open-AutoGLM 作为新一代开源自动代码生成语言模型,其架构设计融合了模块化推理、动态上下文感知与轻量化部署能力。该系统通过分层抽象机制实现从自然语言指令到可执行代码的端到端映射,在保证生成质量的…

张小明 2025/12/30 14:04:22 网站建设