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

news2024/11/17 22:40:04

一、术语解析

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

虚拟机:虚拟机是指安装在宿主机的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卡)

lscpu

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

free -h

内存资源信息。

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

df -h

文件系统信息。

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

hdparm -t

内存卡读取速度。

wheeltec@wheeltec:~$ sudo hdparm -t /dev/mmcblk0p2
[sudo] password for wheeltec:

/dev/mmcblk0p2:
 HDIO_DRIVE_CMD(identify) failed: Invalid argument
 Timing buffered disk reads: 144 MB in  3.03 seconds =  47.56 MB/sec

lsb_release -a

OS信息。

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:1
  remove 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/advantage

  System information as of Sun Jul 16 09:37:46 UTC 2023

  System load:  2.85               Processes:                265
  Usage of /:   70.0% of 28.94GB   Users logged in:          1
  Memory usage: 14%                IPv4 address for docker0: 172.17.0.1
  Swap usage:   0%                 IPv4 address for wlan0:   192.168.0.100
  Temperature:  39.4 C


673 updates can be applied immediately.
299 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable

New 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1573713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML:表单

案例&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>报名表</title> </head> <body><form action"demo/welcome.php" method"post">名字&#xff1a;<inpu…

【Linux】进程初步理解

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 冯诺依曼体系结构1.1 认识冯诺依曼体系结构1.2 存储金字塔 2. 操作系统2.1 概念2.2 结构2.3 操作系统的管理 3. 进程3.1 进程描述3.2 Linux下的PCB 4. task_struct本身内部属性4.1 启动4.2 进程的创建方式4.2.1 父…

如何不编程用 ChatGPT 爬取网站数据?

敢于大胆设想&#xff0c;才能在 AI 时代提出好问题。 需求 很多小伙伴&#xff0c;都需要为研究获取数据。从网上爬取数据&#xff0c;是其中关键一环。以往&#xff0c;这都需要编程来实现。 可最近&#xff0c;一位星友在知识星球提问&#xff1a; 这里涉及到一些个人隐私&a…

秋招刷题4(动态规划)

1.购物单 import java.util.Scanner;public class Main {public static void main(String[] args){Scanner sc new Scanner(System.in);int N sc.nextInt();int m sc.nextInt();Goods[] goods new Goods[m];for(int i 0; i < m; i){goods[i] new Goods();}for(int i …

Dev c++ C语言实现第一个 dll 动态链接库 创建与调用

代码来源&#xff1a; 极简版 C 动态链接库&#xff08;DLL&#xff09;创建与调用 - 知乎 (zhihu.com) 现在移植到Devc 里 首先创建DLL 项目&#xff0c;如果不创建&#xff0c;直接粘贴代码编译不通过&#xff0c;应该是项目里指定了链接类型。 如图&#xff1a; 然后选择…

【数据结构(二)】顺序表与ArrayList

❣博主主页: 33的博客❣ ▶文章专栏分类:数据结构◀ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你学更多数据结构知识 目录 1.前言2.定义IList接口3.MyArraylist实现接口3.1定义成员变量与构造方法3.2添加元素3.3…

Jackson 2.x 系列【14】特征配置篇之 MapperFeature

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 前言2. 通用2.1 USE_ANNOTATIONS2.2 USE_GETTERS_AS_SETTERS2.3 PROPAGATE_TR…

c 语言 指数搜索(Exponential Search)

该搜索算法的名称可能会产生误导&#xff0c;因为它的工作时间为 O(Log n)。该名称来自于它搜索元素的方式。 给定一个已排序的数组和要 搜索的元素 x&#xff0c;找到 x 在数组中的位置。 输入&#xff1a;arr[] {10, 20, 40, 45, 55} x 45 输出&#xff1a;在索…

多语言婚恋交友APP开发的关键成功因素

随着移动互联网的快速发展&#xff0c;多语言婚恋交友APP的需求和发展逐渐成为了一个备受关注的话题。在全球范围内&#xff0c;人们希望通过移动应用来寻找爱情、建立关系和拓展社交圈子&#xff0c;因此开发一款具有全球影响力的多语言婚恋交友APP成为了许多开发者的目标。针…

支持编写任何类型的爬虫:基于 Golang 的优雅爬虫框架 | 开源日报 No.216

gocolly/colly Stars: 21.5k License: Apache-2.0 colly 是 Golang 的优雅爬虫和爬虫框架。 该项目提供了一个清晰的接口&#xff0c;用于编写任何类型的爬虫/抓取器/蜘蛛。Colly 可以轻松从网站中提取结构化数据&#xff0c;可用于数据挖掘、数据处理或存档等各种应用。 其主…

使用免费开源AI平台:OCR识别抖音短视频及网络图片中文字内容(可本地部署)

在数字化时代&#xff0c;信息的快速获取和处理变得尤为重要。网络图片文字识别技术作为一项重要的人工智能应用&#xff0c;已经在多个领域展现出其独特的价值。本文将基于思通数科AI开放平台提供的网络图片文字识别服务&#xff0c;探讨该技术的应用场景、特色优势以及如何有…

超声波清洗机哪家强?超声波清洗机排行榜!最强超声波清洗机推荐

眼镜作为日常生活中不可或缺的用品&#xff0c;对于很多人来说是必备的。然而&#xff0c;随着使用时间的增长&#xff0c;眼镜表面往往会沾染灰尘、污垢等&#xff0c;这不仅影响了镜片的透光性&#xff0c;也可能影响到使用者的视力和舒适度。因此&#xff0c;清洁眼镜成了一…

PowerShell正则表达式匹配文件内容并输出到屏幕(或保存到文件)

代码&#xff1a; foreach ($line in Get-Content -path .\test.sql) { if ($line -match bdw_\w*.\w*) {write-output $matches[0]}}思路&#xff1a; 读取文件并遍历 foreach ($line in Get-Content -path .\test.sql) 正则匹配 if ($line -match ‘bdw_\w*.\w*’) 这个匹配…

Spring拓展点之SmartLifecycle如何感知容器启动和关闭

Spring为我们提供了拓展点感知容器的启动与关闭&#xff0c;从而使我们可以在容器启动或者关闭之时进行定制的操作。Spring提供了Lifecycle上层接口&#xff0c;这个接口只有两个方法start和stop两个方法&#xff0c;但是这个接口并不是直接提供给开发者做拓展点&#xff0c;而…

Spring的事务详解

Spring的事务详解 一&#xff0c;什么是Spring事务 Spring 事务是 Spring 框架提供的一种对事务进行管理的机制。在使用 Spring 事务时&#xff0c;可以通过注解或编程方式将需要进行事务管理的方法和代码块标记为事务性操作&#xff0c;当这些操作被执行时&#xff0c;Spring…

吴恩达:AI 智能体工作流

热门文章推荐&#xff1a; &#xff08;1&#xff09;《为什么很多人工作 3 年 却只有 1 年经验&#xff1f;》&#xff08;2&#xff09;《一文掌握大模型提示词技巧&#xff1a;从战略到战术巧》&#xff08;3&#xff09;《AI 时代&#xff0c;程序员的出路在何方&#xff1…

人工智能上手 Pytorch

人工智能上手 Pytorch 1、人工智能框架历史走向 2015年&#xff0c; caffe&#xff0c;优势配置简单&#xff0c;缺点安装麻烦&#xff0c;且不更新维护 2016年&#xff0c;tensorflow 1.x&#xff0c;定义太严格&#xff0c;很复杂。开发成本高。简单的任务&#xff0c;也很…

360勒索病毒:变种360袭击了您的计算机?

引言&#xff1a; 随着科技的发展&#xff0c;网络安全问题变得日益突出&#xff0c;勒索病毒成为了当前网络威胁的一大主要形式之一。其中&#xff0c;360勒索病毒是近期备受关注的一种恶意软件。本文将介绍360勒索病毒的特点以及如何有效地应对此类威胁。如果受感染的数据确…

从三个维度看,你的企业是否需要引入精益管理咨询?

在快速变化的商业环境中&#xff0c;企业不断寻求提升自身运营效率和竞争力的方法。其中&#xff0c;精益管理作为一种追求卓越、消除浪费的管理理念&#xff0c;被越来越多的企业所认可。但是&#xff0c;如何判断自己的组织是否需要进行精益企业管理咨询呢&#xff1f;天行健…

I2C驱动实验:读取AP3216C设备中寄存器的数据

一. 简介 经过前面几篇文章的学习&#xff0c;已经完成了I2C驱动框架&#xff0c;字符设备驱动框架&#xff0c;编写了 读写 I2C设备中寄存器的数据的代码&#xff0c;文章如下&#xff1a; I2C驱动实验&#xff1a;实现读/写I2C设备寄存器的函数-CSDN博客 本文在此基础上&a…