机器人ros通信



   调试几天,ros之间的通信。虽然还有点bug,但总之网络配置成功, 并且能够正


 常通信,现在记录一下这个过程。


 一,网络通信调试
  1)利用ifconfig命令查看主机master(turtlebot的上网本)和客户端即工作机的 ip。
  2)利用hostname命令查看,上网本和工作机用户名字。
  3)打开host文件,有两种方式:
    (1)gksu gedit /etc/hosts
     (2)vim打开,先获取修改权限 sudo chmod a+w /etc/hosts
        vim /etc/hosts;(esc切换到命令模式,输入:wq!)
   4)将ip配置到hosts文件中,第二行、第三行加入ip 和hostname,格式如下
     ip   hostname,注中间是采用的tap键而不是空格键。
   5)两台电脑时钟同步,sudo apt-get install chrony
   6)查看两台电脑ssh服务器的安装
     sudo apt-get install  openssh-server
     检测是否启动:
      ps -e|grep ssh
   7)测试网络通信,
     1)两台电脑ping自己的ip
     2)互相ping IP,
    如果没有问题,则说明两台电脑网络层是通的,在同一个局域网中
二,ros系统配置
   1)(上网本)输入gedit ~/.bashrc
   2)在文本中输入
     export ROS_HOSTNAME=TURTLEBOT_OF_IP(上网本的ip)
     export ROS_MASTER=http://TURTLEBOT_OF_IP:11311(工作本的ip)
   3)终端运行
      ~/.bashrc
   4)(工作本)同样输入gedit ~/.bashrc
   5)  在最后添加如下代码
      export ROS_HOSTNAME=WORK_IP
      export ROS_MASTER=http://TURTLRBOT_OF_IP:11311
 
   6)终端运行
      ~/.bashrc
(注:如果想单独运行,不需要远程通信,可以把ecport去掉即可)
三,测试
 1)测试主机(上网本)
    在上网本运行节点管理器roscore,工作本上运行rostopic list

 如果工作正常则会出现两行节点信息(不再写出)。说明两台电脑ros之间可以通信。

2)测试从工作本到上网本
   上网本运行
    roscore
    roslaunch turtlebot_bringup minimal.launch
  工作本上运行:
    roslaunch turtlebot_teleop keyboard_teleop.launch
  注:实现的功能是:工作本遥操作上网本,远程控制机器人运动。
3)测上网本到工作本
   工作本运行:
    rostopic pub -r10 /hello std_msgs/String "hello"
   上网本运行:
    rostopic echo /hello
   消息“hello”开始打印每秒10次。
总结:经过两天的测试,开始用了小乌龟那个测试,想实现小乌龟的远程操控:
上网本运行:
 roscore 
 rosrun turtlesim turtlesim_node
工作本上运行:
rosrun turtlesim turtle_teleop_key
一直没有调通,反复查看网络配置,客户端和服务器端都没有问题。按照创客制造的博客测试,都能通过。说明网络通信没有问题,已经完成。(小乌龟的例子调试不通,我感觉像是我工作

本simulator的问题,欢迎大家交流)。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值