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 和 mintUI 实现 目录一 数据库的创建二 后端接口与数据库的连接三 前端代码实现 1 注册页相关代码 2 注册页效果 3 登录页相关代码 4 登录页效果四 注册登录演示一 数据库的创建此处以 Navicat 软件进行创建 新建数据库 reg log sql 与数据表 reg log 为了实现注册业务 我们在数据库中设计 ID 用户名 密码 邮箱 电话号 5 个字段 创建结束后保存 便可

    2025年9月26日
    3
  • 用pycharm打包py程序_怎么打包python文件

    用pycharm打包py程序_怎么打包python文件使用Pycharm和Anancoda打包应用程序平时我们在运行Python项目时都需要在Pycharm中运行,因为里面或者Anancoda中已经导入了相应的包,库,配好了对应的环境。一般运行时不是太方便,特别是在给用户使用时,这就显得很麻烦了。所以我们需要将其单独打包出来并且能够运行。本文我以Pycharm和Anancoda打包我里面的一个计算器应用程序。开始吧!1.进入自己创建的环境安装pyinstaller首先进入命令行,win+r后输入cmd进入命令行。之后输入命令进入到自己创建的环境中,我

    2022年8月29日
    3
  • Java课程设计【学生信息管理系统】[通俗易懂]

    Java课程设计【学生信息管理系统】[通俗易懂]课程设计目录一、问题描述二、基本要求三、需求分析四、概要设计1、类之间的调用关系2、学生信息模块3、管理系统模块4、详细设计①主程序LoginGUI的代码②程序View的代码③程序Student的代码④程序ConnectSQLServer的代码五、调试分析六、用户使用说明1、登录2、添加3、查询4、修改5、删除6、退出七、测试结果八、课程设计总结九、参考文献一、问题描述如何实现一个功能简单的学生信息管理系统,能够对学生信息(包括照片)进行添加、删除、修改和查询等操作。二、基本要求实现一个功能简单的学

    2022年10月17日
    2
  • Python str join方法:拼接字符串「建议收藏」

    Python str join方法:拼接字符串「建议收藏」Python字符串方法join()介绍、使用和注意事项。

    2022年4月29日
    49
  • goland激活码2021【2021.10最新】

    (goland激活码2021)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html6EK6WKOHUX-eyJsaWN…

    2022年3月28日
    46
  • STL 源代码分析 算法 stl_algo.h — merge

    STL 源代码分析 算法 stl_algo.h — merge

    2022年1月16日
    43

发表回复

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

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