当前位置: 首页 > news >正文

wheeltec轮趣ROS教育机器人的网络连接

一、术语解析

宿主机:宿主机是指物理主机,比如用于开发测试的笔记本电脑和台式机电脑。

虚拟机:虚拟机是指安装在宿主机的VMware,推荐在宿主机上安装虚拟机,官方提供虚拟机的镜像以及配套的开发环境

ROS主机:是指ROS小车上的主机;

二、相关介绍

0. ROS教育机器人-树莓派4B版(麦克纳姆轮)

在这里插入图片描述

在这里插入图片描述

1. 虚拟机信息

配置项配置信息
主机名ubuntu
账户名wheeltec_client
登录密码dongguan
静态IP192.168.0.136
Ubuntu版本18.04.6 LTS

在这里插入图片描述

2. ROS主机信息

软件配置信息

配置项配置信息
主机名wheeltec
账户名wheeltec
密码dongguan
静态IP192.168.0.100
WiFi名称WHEELTEC_RASPBERRY_NOETIC
WiFi密码dongguan
WIFI协议Wi-Fi 4 (802.11n)
网络频带2.4 GHz
OS版本Ubuntu 20.04.4 LTS
ROS版本Melodic

硬件配置信息

配置项配置信息
主控名称树莓派
CPU型号四核Cortex-A72@1.8GHz
系统架构aarch64
内存4GB
内存卡32G(MicroSD卡)

CPU信息

wheeltec@wheeltec:~$ lscpu
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
Vendor ID:                       ARM
Model:                           3
Model name:                      Cortex-A72
Stepping:                        r0p3
CPU max MHz:                     1800.0000
CPU min MHz:                     600.0000
BogoMIPS:                        108.00
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Vulnerable
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm crc32 cpuid

内存信息

内存资源信息

wheeltec@wheeltec:~$ free -htotal        used        free      shared  buff/cache   available
Mem:          3.7Gi       465Mi       550Mi       4.0Mi       2.7Gi       3.1Gi
Swap:            0B          0B          0B

内存卡读取速度

wheeltec@wheeltec:~$ sudo hdparm -t /dev/mmcblk0p2
[sudo] password for wheeltec:/dev/mmcblk0p2:HDIO_DRIVE_CMD(identify) failed: Invalid argumentTiming buffered disk reads: 144 MB in  3.03 seconds =  47.56 MB/sec

micro SD卡信息

wheeltec@wheeltec:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           380M  4.4M  375M   2% /run
/dev/mmcblk0p2   29G   21G  7.6G  73% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/loop2       62M   62M     0 100% /snap/lxd/22761
/dev/loop0       60M   60M     0 100% /snap/core20/1627
/dev/loop1       60M   60M     0 100% /snap/core20/1977
/dev/loop4       47M   47M     0 100% /snap/snapd/19459
/dev/loop3       92M   92M     0 100% /snap/lxd/24065
/dev/mmcblk0p1  253M  129M  124M  52% /boot/firmware
tmpfs           380M  8.0K  380M   1% /run/user/1001
tmpfs           380M   32K  380M   1% /run/user/128

系统信息

wheeltec@wheeltec:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal

三、常用操作

1. 宿主机ssh连接ROS小车

1.1 连接WiFi

在宿主机上连接ROS小车自带的WiFi。

在这里插入图片描述

连接成功后,查看WiFi信息:

在这里插入图片描述

1.2 ping测试网络

ROS小车的静态IP是:192.168.0.100,在宿主机上ping ROS小车的iP是否连通。

在这里插入图片描述

能ping通,说明宿主机与ROS小车的网络连通。

1.3 ssh登录

IP192.168.0.100
用户名wheeltec
密码dongguan
ssh wheeltec@192.168.0.100

在这里插入图片描述

2. 虚拟机与ROS小车通信

ROS小车发出WiFi,虚拟机连接该WiFi,即可实现虚拟机与ROS小车的通信。

默认情况下,ROS小车的静态IP为 192.168.0.100。只有当虚拟机与ROS小车在同一个网络才能进行通信,因此需要设置虚拟机为静态IP。关于设置虚拟机的静态IP的方法,请参见下文【 设置虚拟机的静态IP】。

ip
ROS小车192.168.0.100
虚拟机192.168.0.136
宿主机192.168.0.190

3. 设置虚拟机的静态IP

默认情况下,虚拟机使用的是动态分配的IP地址,使用的过程中可能会出现IP地址不停变化的情况,因此设置静态IP地址可以为后续减少很多麻烦。

3.1 设置网络适配器

关闭虚拟机,设置网络适配器,将网络连接设置为“桥接模式”。

在这里插入图片描述

3.2 设置虚拟网络

设置虚拟网络,将网络连接模式为“桥接模式”。

在这里插入图片描述

特别注意,如果使用windows系统在连通网线的同时又使用无线网卡(WiFi),可能会出现网络配置修改之后虚拟机的网络无法使用的情况,因此官方建议只使用无线网卡。

3.3 设置静态IP

新配置一个“有线配置”。为了区分其他有线配置,需要自定义“新配置名称”

新配置名称Static IP
地址192.168.0.136
子网掩码225.225.225.0
网关192.168.0.1

在这里插入图片描述

配置完成后,查看配置信息。

在这里插入图片描述

3.4 ping ROS小车

在虚拟机上ping ROS小车的ip。

在这里插入图片描述

四、FAQ

1. ping ROS小车不通

wheeltec-client@ubuntu:~$ ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
From 192.168.0.136 icmp_seq=1 Destination Host Unreachable
From 192.168.0.136 icmp_seq=2 Destination Host Unreachable
From 192.168.0.136 icmp_seq=3 Destination Host Unreachable
From 192.168.0.136 icmp_seq=4 Destination Host Unreachable
From 192.168.0.136 icmp_seq=5 Destination Host Unreachable
# 错误原因
虚拟机与ROS小车不在同一个网段,导致无法通信# 解决办法
参考上文的【设置虚拟机的静态IP】

2. 虚拟机ssh连接ROS小车失败

wheeltec-client@ubuntu:~$ ssh wheeltec@192.168.0.100
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:U0UQNK4E3/QW4/AT4Zt3SaBUqz1f/dkQA3edjdmg2x4.
Please contact your system administrator.
Add correct host key in /home/wheeltec-client/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/wheeltec-client/.ssh/known_hosts:1remove with:ssh-keygen -f "/home/wheeltec-client/.ssh/known_hosts" -R "192.168.0.100"
ECDSA host key for 192.168.0.100 has changed and you have requested strict checking.
Host key verification failed.
# 解决办法
ssh-keygen -f "/home/wheeltec-client/.ssh/known_hosts" -R "192.168.0.100"

输出结果

wheeltec-client@ubuntu:~$ ssh-keygen -f "/home/wheeltec-client/.ssh/known_hosts" -R "192.168.0.100"
# Host 192.168.0.100 found: line 1
/home/wheeltec-client/.ssh/known_hosts updated.
Original contents retained as /home/wheeltec-client/.ssh/known_hosts.old
wheeltec-client@ubuntu:~$ ssh wheeltec@192.168.0.100
The authenticity of host '192.168.0.100 (192.168.0.100)' can't be established.
ECDSA key fingerprint is SHA256:U0UQNK4E3/QW4/AT4Zt3SaBUqz1f/dkQA3edjdmg2x4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.100' (ECDSA) to the list of known hosts.
wheeltec@192.168.0.100's password: 
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-1069-raspi aarch64)* Documentation:  https://help.ubuntu.com* Management:     https://landscape.canonical.com* Support:        https://ubuntu.com/advantageSystem information as of Sun Jul 16 09:37:46 UTC 2023System load:  2.85               Processes:                265Usage of /:   70.0% of 28.94GB   Users logged in:          1Memory usage: 14%                IPv4 address for docker0: 172.17.0.1Swap usage:   0%                 IPv4 address for wlan0:   192.168.0.100Temperature:  39.4 C673 updates can be applied immediately.
299 of these updates are standard security updates.
To see these additional updates run: apt list --upgradableNew release '22.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.Last login: Sun Jul 16 08:53:50 2023 from 192.168.0.190

相关文章:

wheeltec轮趣ROS教育机器人的网络连接

一、术语解析 宿主机:宿主机是指物理主机,比如用于开发测试的笔记本电脑和台式机电脑。 虚拟机:虚拟机是指安装在宿主机的VMware,推荐在宿主机上安装虚拟机,官方提供虚拟机的镜像以及配套的开发环境。 ROS主机&…...

【Linux ARM 裸机】开发环境搭建

1、Ubuntu 和 Windows 文件互传 使用过程中,要频繁进行 Ubuntu 和 Windows 的文件互传,需要使用 FTP 服务; 1.1、开启 Ubuntu 下的 FTP 服务 //安装 FTP 服务 sudo apt-get install vsftpd //修改配置文件 sudo vi /etc/vsftpd.conf//重启…...

怎么保证缓存与数据库的最终一致性?

目录 零.读数据的标准操作 一.Cache aside Patten--旁路模式 二.Read/Write Through Pattern--读写穿透 三.Write Back Pattern--写回 四.运用canal监听mysql的binlog实现缓存同步 零.读数据的标准操作 这里想说的是不管哪种模式读操作都是一样的,这是一种统一…...

免费SSL通配符证书/SSL泛域名证书获取教程

我们先基本了解什么是SSL证书以及其作用。SSL证书是一种数字证书,它通过为网站提供身份验证和数据加密服务,从而保护网站的用户信息安全。当我们在浏览器的地址栏看到“https”和绿色锁标志时,就表示该网站使用了SSL证书。 那么什么又是通配…...

mysql结构与sql执行流程

Mysql的大体结构 客户端:用于链接mysql的软件 连接池: sql接口: 查询解析器: MySQL连接层 连接层: 应用程序通过接口(如odbc,jdbc)来连接mysql,最先连接处理的是连接层。 连接层…...

vue快速入门(十二)v-key索引标志

注释很详细&#xff0c;直接上代码 新增内容 v-key的使用场景数组筛选器的使用 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…...

智能网联汽车自动驾驶数据记录系统DSSAD数据配置

目录 第一章 数据配置一般要求 第二章 数据配置文件中的文件描述 第三章 数据配置文件中的数据描述 第四章 数据配置文件中的数据字典 表A.1 数据字典格式定义 第一章 数据配置一般要求 数据配置文件数据内容应为可读的十进制数据。 数据配置文件应以文件的形式存储在自动驾驶…...

linux知识点

绝对路径用什么符号表示&#xff1f;当前目录、上层目录用什么表示&#xff1f;主目录用什么表示? 切换目录用什么命令 绝对路径&#xff1a; 如/etc/init.d当前目录和上层目录&#xff1a; ./ …/主目录&#xff1a; ~/切换目录&#xff1a; cd 怎么查看当前进程&#xff1f;…...

微信小程序实现滚动标签

使用scroll-view标签可实现组件滚动标签 1、list中 list.wxml代码如下: <!--pages/list/list.wxml--> <navigation-bartitle"小程序" back"{{false}}"color"black" background"#FFF"></navigation-bar><scroll-…...

大语言模型上下文窗口初探(下)

由于篇幅原因&#xff0c;本文分为上下两篇&#xff0c;上篇主要讲解上下文窗口的概念、在LLM中的重要性&#xff0c;下篇主要讲解长文本能否成为LLM的护城河、国外大厂对长文本的态度。 3、长文本是护城河吗&#xff1f; 毫无疑问&#xff0c;Kimi从一开始就用“长文本”占领…...

Java整合ElasticSearch8.13

1、引入Jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> 2、配置ES连接信息 spring:elasticsearch:# 地址uris: http://xxx:9200# 用户…...

2.网络编程-HTTP和HTTPS

目录 HTTP介绍 HTTP协议主要组成部分 GET 和 POST有什么区别 常见的 HTTP 状态码有哪些 http状态码100 HTTP1.1 和 HTTP1.0 的区别有哪些 HTTPS 和 HTTP 的区别是什么 HTTP2 和 HTTP1.1 的区别是什么 HTTP3 和 HTTP2 的区别是什么 HTTPS的请求过程 对称加密和非对称…...

MTK i500p AIoT解决方案

一、方案概述 i500p是一款强大而高效的AIoT平台&#xff0c;专为便携式、家用或商用物联网应用而设计&#xff0c;这些应用通常需要大量的边缘计算&#xff0c;需要强大的多媒体功能和多任务操作系统。该平台集成了Arm Cortex-A73 和 Cortex-A53 的四核集群&#xff0c;工作频…...

ES入门十四:分词器

我们存储到ES中数据大致分为以下两种&#xff1a; 全文本&#xff0c;例如文章内容、通知内容精确值&#xff0c;如实体Id 在对这两类值进行查询的时候&#xff0c;精确值类型会比较它们的二进制&#xff0c;其结果只有相等或者不想等。而对全文本类型进行等值比较是不太实现…...

汇编——SSE打包整数

SSE也可以进行整数向量的加法&#xff0c;示例如下&#xff1a; ;sse_integer.asm extern printfsection .datadummy db 13 align 16pdivector1 dd 1dd 2dd 3dd 4pdivector2 dd 5dd 6dd 7dd 8fmt1 db "Packed Integer Vector 1: %d, %d, %d, %d",…...

动态规划(2)

动态规划&#xff08;2&#xff09; 文章目录 动态规划&#xff08;2&#xff09;1、聪明的寻宝人2、基因检测3、药剂稀释4、找相似串 1、聪明的寻宝人 #include <iostream> using namespace std; void MaxValue(int values[], int weights[], int n, int m) {int dp[21…...

JetBrains IDE 2024.1 发布 - 开发者工具

JetBrains IDE 2024.1 (macOS, Linux, Windows) - 开发者工具 CLion, DataGrip, DataSpell, Fleet, GoLand, IntelliJ IDEA, PhpStorm, PyCharm, Rider, RubyMine, WebStorm 请访问原文链接&#xff1a;JetBrains IDE 2024.1 (macOS, Linux, Windows) - 开发者工具&#xff0…...

C++ 构造函数中的参数顺序

描述&#xff1a; 未初始化的参数必须在初始化参数之前 正确 ✓ 写法&#xff1a; mother(const char* food, const char* lastName"无姓", const char* firstName "无名" ); 错误❌写法&#xff1a; mother(const char* lastName"无姓", …...

Git Flow困境逃脱指南

本来来自极狐GitLab 资源中心&#xff0c;原文链接&#xff1a;https://resources.gitlab.cn/articles/020183ba-cfc0-4917-b901-248acdcfc92f。 GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff…...

MySQL的sql_mode模式简介

前言 今天同事使用数据库时报错,排查问题时发现配置文件里的sql_mode配置被人注释了,所以通过查询资料对这个配置进行了下了解。 介绍 mysql为了支持在不同的环境下运行&#xff0c;允许我们给它设置不同的运行模式&#xff08;sql_mode&#xff09;。 不同的运行模式&#…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...