ROS远程控制(PC机+TX2进行ROS远程通讯)

ROS远程控制(PC机+TX2进行ROS远程通讯)

需求TX2连接Lidar获取点云数据,由于TX2安装在机器人上,不能外接屏幕,内存ROM也很小,所以采用TX2与雷达建立通讯,然后建立TX2PC机的ROS远程通讯(PC机和TX2都安装ubuntu18.04

PC机和TX2全部为系统为18.04ROS版本全部为melodic

下面开始部署两台机器

TX2作为主机用于数据采集
PC机作为从机用于数据监控

1、首先主机、从机连到同一个wifi

使用ifconfig命令查看本机的局域网IP地址(主机、从机都需要看一下)

? 如果电脑连接的时有线网,则显示结果中,etho 部分的 inet addr 后面就是该电脑的 IP 地址;
? 如果电脑连接的是无线,则 wlan0 部分的 inet addr 后就是 IP 地址
在这里插入图片描述
以我自己的设备为例:

PC机名为wzf-lenovo-N50-80192.168.88.253
TX2名为nvidia-desktop192.168.88.250

2、 然后打开hosts文件,在hosts文件中,加入彼此的IP地址和对应的计算机名。

? (主机、从机都要添加)

sudo gedit /etc/hosts

添加后

127.0.0.1	localhost
127.0.1.1	wzf-lenovo-N50-80
192.168.88.253	wzf-lenovo-N50-80 #用tab,别用空格
192.168.88.250	nvidia-desktop
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

修改完成后,使用ping命令来测试一下是否连通
主机(TX2)运行

ping 192.168.88.250

从机(PC机)运行

ping 192.168.88.253

3、在系统中只能有一个Master,需要让从机知道Master的位置

从机(PC机) 中需要对环境变量进行配置:

sudo gedit ~/.bashrc

在最后添加

export ROS_HOSTNAME=192.168.88.253	#从机,也就是PC机(当前机器的IP)
export ROS_MASTER_URI=http://192.168.88.250:11311	#TX2的IP,11311不要更改

最后

source ~/.bashrc

主机(TX2) 中需要对环境变量进行配置:

sudo gedit ~/.bashrc

在最后添加

export ROS_HOSTNAME=192.168.88.250	#TX2的IP
export ROS_MASTER_URI=http://192.168.88.250:11311	#TX2的IP,11311不要更改

最后

source ~/.bashrc

4、测试

主机 (TX2) 中运行

roscore

rosrun turtlesim turtlesim_node

在**从机 (PC机)**中运行

rosrun turtlesim turtle_teleop_key

用从机的键盘可以实现对主机中小乌龟的控制,则多机通信配置正确。

当然PC机也可以使用rviz等命令,接收显示TX2采集的点云
实际测试的时候感觉PC机控制TX2,然后接收TX2发布的话题,卡顿严重。可能我使用的是2Ghzwifi吧(笔记本太老了,不支持5G)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2147.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue前端怎么解决跨域问题_前端跨域调用js方法解决方案

    vue前端怎么解决跨域问题_前端跨域调用js方法解决方案跨域问题是什么?怎样解决?vue前端配置代理服务器,SpringBoot提供跨域的解决方法

    2025年11月12日
    4
  • MATLAB矩阵合并「建议收藏」

    MATLAB矩阵合并「建议收藏」两个或多个矩阵的拼接(合并)操作:学习链接用[]做拼接时,有三种连接符:逗号(,),空格,分号(;)。逗号(,)和空格等价,表示不换行,直接横向拼接,横向拼接要求两个矩阵行数相同;分号(;)表示换行后纵向拼接,纵向拼接要求两个拼接的矩阵的列数相同。代码展示:1.横向拼接:1%逗号和空格表示横向拼接2A=zeros(4,2)3B=ones(4,1)4C=[AB]A=00000000B=11

    2022年6月25日
    120
  • JavaScript:三目运算符

    JavaScript:三目运算符HELLO大家好!三目运算符是一个非常简单且使用的运算符。是由两个运算符连接的三个操作数据或者表达式条件表达式?表达式1:表达式0当条件表达式为true则选择表达式1,反之false则选择表达式0举个栗子varage=15;console.log(age<18?’未成年’:’成年’);结果为:···本人写博客就是想记录一下自己所学的知识(目前正在学习中),巩固知识加深记忆,也顺便分享一下自己的所学,有什么地方写的不对,希望大家可以多多指出,让我及时改正。如果我分享的

    2022年6月17日
    35
  • Apache有哪两种虚拟主机的方式_服务器如何搭建虚拟主机

    Apache有哪两种虚拟主机的方式_服务器如何搭建虚拟主机Apache虚拟主机的实现方式有3种。基于IP的虚拟主机基于端口的虚拟主机基于域名的虚拟主机配置环境系统:CentOS7.5工具:XShell6**配置准备**1.安装httpdyuminstallhttpd-y2.查看安装了内容rpm-qlhttpd|less3、配置Selinux文件,SELINUX=disabled。4、关闭防火墙s…

    2025年12月16日
    3
  • 数据分析之数据预处理、分析建模、可视化[通俗易懂]

    概述:简介、思路、发展历程、应用领域、开发流程;数据类型:结构化与非结构化、定性与定量、截面数据与时间序列数据;数据来源:外部来源、内部来源;数据预处理:数据清洗、数据集成、数据规约、数据变换;数据分析模型:对比分析、漏斗分析、留存分析、A/B测试、用户行为路径分析、用户分群、用户画像分析等;数据分析方法:描述统计、假设检验、信度分析、相关分析、方差分析、回归分析、聚类分析、判别分析、主成分分析、因子分析、时间序列分析等;数据可视化:Excel、PowerBI、Tableau、Python;

    2022年4月17日
    49
  • PID控制详解[通俗易懂]

    PID控制详解[通俗易懂]PID控制详解一、PID控制简介PID(ProportionalIntegralDerivative)控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节,它实际上是一种算法。PID控制器问…

    2022年6月10日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号