写在最前面:

  最近参加了机器人导航的项目,前前后后配了好几次的ROS远程通讯,在这里把步骤、遇到的问题、教程什么的都汇总一下。
  先明确我们要做的事情——实现在我们自己的PC机(之后简称Monitor)上对机器人的ROS远程通讯。建立好远程通讯后,我们就可以在Monitor上同步访问到机器人ROS中的包括Topic等的数据信息,从而能够实现比如最基础的在Monitor上运行RViz对机器人可视化。
  有一点要说的就是,我们的机器人PC(我们的Locobot机器人是自带了一个Intel NUC Mini PC的)中的环境都是已经安装配置好的了,包括建立SSH连接需要安装的openssh服务、机器人PC中的ROS系统等等,已经能够通过SSH远程访问机器人PC。本文主要是围绕Monitor里的环境配置、以及两机之间的ROS通讯进行展开。
  我们的机器人型号是LoCoBot WX250 6DOF,Monitor和机器人PC的操作系统版本都是Ubuntu20.04。
  关于Locobot,官方也给出了自己的文档,如果你也是使用的Locobot机器人,在自己的Monitor上安装好ROS配置好通讯,基本就可以跟着官方文档步骤继续尝试下去了。https://www.trossenrobotics.com/docs/interbotix_xslocobots/getting_started/user_guide.html

1. 在Monitor上安装完整版ROS

  首先,要给我们的Monitor安装ROS。需要注意的是,在不同版本的操作系统上安装的ROS版本也会不一样。比如Ubuntu20.04对应的是ROS Noetic,而Ubuntu18.04对应的则是ROS Melodic,具体的对应关系可以在ROS的官方教程里面查看。以下是我参考的在Ubuntu20.04下ROS Noetic的安装教程,写的非常详细了!
  https://blog.csdn.net/xiaowenshen/article/details/118650351
  这里再补充几个可能会遇到的问题:
  1)关于rosdep update这一步总是报timeout之类的error,多半是因为网络原因(因为我们平时访问github也挺慢的)。可以先尝试在“软件更新”里面换源,仍然无法解决的话建议试试下面这个教程。里面提供了三种方法,第二种资源代理是比较有效的。
  https://blog.csdn.net/senlijiu/article/details/124203913
  2)我们在最后运行小海龟进行测试的时候,光标一定要是在执行键盘控制指令rosrun turtlesim turtle_teleop_key的这个终端的窗口下,不然键盘控制是没有效果的的!!!
  3)到这里,我们同样需要测试一下RViz是否安装成功,RViz的启动方法如下。

# 在 Monitor上打开两个终端,分别执行如下指令:
roscore
rviz

2. 配置Monitor和机器人PC的ROS远程通讯

  在完成ROS的安装后,我们就可以对Monitor和机器人PC做ROS远程通讯的配置了。步骤参考下面这个教程,写的非常详细。教程里的从机指的就是本文所说的Monitor,主机指的就是我们的机器人PC。
  https://blog.csdn.net/RNG_uzi_/article/details/107285113
  至此,我们就完成了ROS远程通讯的配置。除了小海龟,同样我们也可以尝试在Monitor上使用rviz等指令可视化机器人。

3. Monitor运行RViz对Locobot机器人远程可视化

  在完成前两步的操作后,这一步的内容主要是针对的是Locobot机器人,在Monitor上运行RViz实现远程可视化操作(当然你也可以选择用SSH远程连接后,直接在机器人PC上运行RViz,但大概率画面会非常卡顿,这也是我们需要一个Monitor的理由)。根据Locobot官方的教程,Locobot给我们提供了一个开源的Interbotix包,我们需要执行下图的四行指令去下载下来。执行第四行指令的过程中终端会问你需要远程连接的主机hostname是什么,这里记得是写机器人PC的hostname。
  截图所在的官方文档链接是:https://www.trossenrobotics.com/docs/interbotix_xslocobots/ros_interface/software_setup.html

  全部执行成功之后,我们就可以通过SSH远程连接机器人PC并在机器人PC上roslaunch,在我们的Monitor上打开RViz看到机器人的可视化界面了。

# 在Monitor上打开一个终端,SSH远程连接机器人并roslaunch
ssh -X locobot@locobot.local
roslaunch interbotix_xslocobot_control xslocobot_control.launch robot_model:=locobot_wx250s use_base:=true use_camera:=true use_lidar:=true# 在Monitor上新打开一个终端,执行如下指令启动RViz
roslaunch interbotix_xslocobot_descriptions remote_view.launch

  最终呈现的结果如下图所示,然后截图所在的官方文档链接是:
https://www.trossenrobotics.com/docs/interbotix_xslocobots/ros_interface/quickstart.html


  完工!

Ubuntu20.04下 PC机对Locobot机器人的ROS远程通讯相关推荐

  1. Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决

    Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决 Ubuntu20.04下FabricV1.1.0 Fabcar运行及相关问题解决 太长不看版本--要想成功运行Fabc ...

  2. 20200215惠普(HP)星14(R5-3500U)在ubuntu20.04下启动通过dmesg打印的内核信息

    惠普(HP)星14(R5-3500U)在ubuntu20.04下启动通过dmesg打印的内核信息 20:58 2020/2/15 星期六 rootroot@rootroot-HP-Laptop-14s ...

  3. Ubuntu20.04下配置深度学习环境

    文章目录 一.安装Anaconda 1.安装Anaconda 2.区分ubuntu系统中自带的python与Anaconda中带的python 3.创建一个深度学习环境 二.安装cuda与cudnn ...

  4. Ubuntu20.04下Nginx的.NetCore项目部署流程

    Ubuntu20.04下Nginx的Web项目部署流程:点此跳转 本文旨在介绍在Ubuntu20.04系统中配置Nginx服务,并进行.NetCore项目部署. 第一部分:.NetCore项目部署 参 ...

  5. 13.在Ubuntu20.04下,chromium无法输入中文以及如何卸载chromium浏览器

    因为chromium安装比较简单,所以在Ubuntu20.04下直接安装了chromium,但是最近发现,无法在chromium中输入中文了,经过一顿折腾,最终也没搞定,解决办法就是安装Chrome ...

  6. U盘在Ubuntu20.04下只能读取文件不能向U盘复制文件

    背景 U盘在Ubuntu20.04下只能读取文件不能向该U盘复制文件,该U盘在其余电脑上一点问题不存在. Ubuntu系统插入其余U盘也能正确读取,只对该U盘无法处理. 处理过程 在CSDN中找了许多 ...

  7. ubuntu20.04下安装qq和微信(最新)

    ubuntu20.04下安装qq和微信(最新) 在ubuntu(debian系列)下安装软件,一般可以通过这两种简单的方式: sudo apt install 软件包 或者 sudo dpkg -ℹ ...

  8. 关于Ubuntu20.04下向日葵远程软件连接中断的解决方法

    关于Ubuntu20.04下向日葵远程软件连接中断的解决方法 一.安装并登陆好Ubuntu的向日葵客户端后 二.切换lightdm图形页面 一.安装并登陆好Ubuntu的向日葵客户端后 在终端下运行以 ...

  9. 【学习mysql】ubuntu20.04下彻底删除mysql8.0

    ubuntu20.04下安装mysql8.0配置出错次数到吐血,却熟练了删除mysql的基本操作.记录一下 1.保证mysql进程停止 sudo service mysql stop 2.查看mysq ...

最新文章

  1. 同时用引用和指针 int *a;
  2. 关于Android制作.9.png图片
  3. nginx解析php文件设置_nginx 解析php conf配置文件
  4. python 动态_python实现动态创建类的方法分析
  5. CentOS 7.2.1511 x64下载地址
  6. 华为P30现身华为新加坡官网:坐实水滴屏
  7. mysql 编译 bsion_mysql编译安装
  8. 为什么我不再和别人比较了?
  9. win32com 读doc,doc表格
  10. Apache Flink®极简教程: 架构及原理 Stateful Computations over Data Streams
  11. ups监控软件测试表格,ups检测报告单完整版.docx
  12. 如何选择期权品种,是做期货期货还是做期权
  13. 五笔打字怎么学,负基础
  14. OGG故障集锦(一)
  15. 树莓派博通BCM2835芯片手册导读及io口驱动代码的实现
  16. 信息学奥赛一本通:1125:矩阵乘法
  17. Linux命令之修改用户账户usermod
  18. 怎么将CAD图纸转换成高清晰度PNG格式怎么操作?
  19. 弹性盒模型 Flex
  20. 【学习总结】Apsara Clouder云计算技能认证:网站建设:简单动态网站搭建+思维导图

热门文章

  1. 科技赋能智慧城市发展,京东方智慧物联解决方案亮相北京峰会
  2. python教程cos_带有Python示例的math.cos()方法
  3. HDU5420:Victor and Proposition(KD树)
  4. 第6章 - 多无人车系统的协同控制 --> 无人车模型分析
  5. 经典的java开源项目,经典开源项目集
  6. 计算机病毒对计算机应用的影响,计算机应用技术对信息化的影响-计算机病毒论文-计算机论文(8页)-原创力文档...
  7. Echart3D中国地图
  8. MySQL中存储引擎之间的对比
  9. 神舟战神笔记本触控板的开启与关闭
  10. 【ZZULIOJ】1049: 平方和与立方和