当前的目标并不在于发现我们是谁,而是拒绝我们是谁
------------------------------------------------------------分界线---------------------------------------------
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":
网友评论