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

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

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

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

下面开始部署两台机器

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

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

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

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

PC机名为wzf-lenovo-N50-80,192.168.88.253
TX2名为nvidia-desktop,192.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发布的话题,卡顿严重。可能我使用的是2Ghz的wifi吧(笔记本太老了,不支持5G)。

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

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

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


相关推荐

  • UPX脱壳逐一跟踪分析

    UPX脱壳逐一跟踪分析UPX脱壳逐一跟踪分析写在前面OD跟踪命令先结合PE知识分析分析“新年快乐.exe”写在前面之前看到的UPX脱壳文章都只是教了方法,对UPX的原理少有提及。看了《逆核》的UPX脱壳一章后,俺尝试把UPX脱壳与PE文件结构的知识结合起来整理了一些(也可联系压缩器Paker的知识)。分析样本来自BUUCTF:Reverse题目“新年快乐”(本文将寻找样本的OEP)OD跟踪命令可能会用到的几个跟踪命令:命令快捷键作用AnimateIntoCtrl+F7反复执行StepIn

    2022年7月12日
  • 使用TreeSoft实现不同数据库间的定时数据同步

    使用TreeSoft实现不同数据库间的定时数据同步TreeSoft数据库管理系统,支持以下数据同步方案:1、MySQL同步数据到Oracle2、MySQL同步数据到PostgreSQL3、MySQL同步数据到SQLServer4、MySQL同步数据到MongoDB5、Oracle同步数据到MySQL6、Oracle同步数据到PostgreSQL7、Oracle同步数据到SQLServer8、Orac…

    2022年11月1日
  • C++中的static成员函数以及static成员变量详解「建议收藏」

    C++中的static成员函数以及static成员变量详解

    2022年2月7日
  • 企业微信机器人发送消息[通俗易懂]

    企业微信机器人发送消息[通俗易懂]背景:之前用钉钉机器人可以发送消息,可以将线上的告警通知发送到消息群中,后来企业微信也支持在群组中增加机器人了,钉钉和企业微信机器人的使用很相似,都是使用webhook的方式来进行实现的,话不多说,咱们先配置机器人,然后再上代码。1.在企业微信的聊天群中增加机器人注意:目前只能在聊天群中添加机器人,所以我当时的做法是,先拉一个同事进群,然后再让他退群,具体步骤如下…

    2022年6月28日
  • ingress的用法与原理[通俗易懂]

    ingress的用法与原理[通俗易懂]前言我们知道真正提供服务的是后端的pod,但是为了负载均衡,为了使用域名,为了….,service诞生了,再后来ingress诞生了,那么为什么需要有Ingress呢?先看看官网怎么说的:In

    2022年7月1日
  • Kaptcha验证码SSM实现

    Kaptcha验证码SSM实现Kaptcha验证码SSM实现CodeUtil静态类:用于接收验证码图片上字符串及验证码框里字符串,并且比较两者,相等返回ture。importjavax.servlet.http.HttpServletRequest;publicclassCodeUtil{publicstaticbooleancheckVerifyCode(HttpServletRequest…

    2022年6月22日

发表回复

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

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