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)。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PKI体系快速了解「建议收藏」

    PKI体系快速了解「建议收藏」首先,PKI(PublicKeyInfrastructure)是一个体系。公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI体系是计算机软硬件、权威机构及应用系统的结合。它为实施电子商务、电子政务、办公自动化等提供了基本的安全服务,从而使那些彼此不认识或距离很远的用户能通过信任链安全地交流。—百度百科说白了,PKI还是提供了彼此身份确认的服务,确保通信的安全。…

  • illenium什么水平_尼采读本

    illenium什么水平_尼采读本写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够在项目中持之以恒的实践自动化测试的团队,却依旧不是非常多。有的团队知道怎么做,做的还不够好;有的团队还正在探索和摸索怎么做,甚至还有一些多方面的技术上和非技术上的旧系统需要重构……本文将会从使用和实践两个视角,尝试对基于WebUI自动化测试做细致的分析和解读,给各位去思考和实践做一点引路…

  • Django(49)drf解析模块源码分析[通俗易懂]

    Django(49)drf解析模块源码分析[通俗易懂]前言上一篇分析了请求模块的源码,如下:definitialize_request(self,request,*args,**kwargs):"""Retu

  • JVM内存模型详解(1.7与1.8的区别)[通俗易懂]

    JVM内存模型详解(1.7与1.8的区别)[通俗易懂]文章目录1.JDK、JRE、JVM关系2.JAVA程序的运行(为什么java可以跨平台)3.JVM运行时数据区1.JDK、JRE、JVM关系从图中就可以很清晰的看清他们之间的关系:JDK>JRE>JVM2.JAVA程序的运行(为什么java可以跨平台)比如我们编写一个HelloWord.java,他是如何运行的呢因为有JVM,所以我们在不同平台只需要下载对应的JDK即可…

  • pytest的assert_assert中文

    pytest的assert_assert中文前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

  • 获取 Windows Phone 手机系统信息

    wpf:1161718192021222324252627282930…

    2021年12月20日

发表回复

您的电子邮箱地址不会被公开。

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