美文网首页
2.ROS基础-分布式通信

2.ROS基础-分布式通信

作者: 徐凯_xp | 来源:发表于2019-03-08 14:43 被阅读0次

    当前的目标并不在于发现我们是谁,而是拒绝我们是谁
    ------------------------------------------------------------分界线---------------------------------------------
    ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合

    如何实现分布式多机通信

    (1)设置IP地址,确保底层链路的联通
    两台计算机上分别设置对方的IP地址和计算机名,确保计算机的底层数据通信没有问题。

    • 登录另外一台电脑使用ifconfig查看ip地址
    • 然后在本地打开一个终端,通过ifconfig查看本地IP地址
    • 把两个IP地址和计算机名分别设置到对方的文件里面sudo vi /etc/hosts
    • 在两台计算机上分别使用Ping命令测试网络是否联通
      确定两台计算机联通

    (2)在从机端设置ROS_MASTER_URI,让从机找到ROS_MASTER
    因为在ROS系统当中只能存在一个ROS_MASTER,所以ROSCORE命令只能运行在一台计算机上,所以需要在另外一台计算机设置一个环境变量,告诉计算机我的ROS_MASTER是运行在哪个地方的。
    在本机中启动roscore,然后在另外一台电脑设置ros_master位置,以下两种配置方法:

    $export ROS_MASTER_URI=http://xp-pc:11311(当前终端有效)
    
    $echo "export ROS_MASTER_URI=http://xp-pc:11311">>~/.bzshrc(所有终端有效)
    
    • 主机端启动ROS Master 与海龟仿真节点
    roscore
    rosrun turtlesim turtlesim_node
    
    • 从机端发布一个速度控制消息
     rostopic pub -r 10 /turtle1/cmd_vel
    geometry_msgs/Twist"linear":
    

    相关文章

      网友评论

          本文标题:2.ROS基础-分布式通信

          本文链接:https://www.haomeiwen.com/subject/jmglpqtx.html