ros-远程启动节点

roslaunch-远程启动节点教程

1. 主机配置

%===========主机%===========%
1. sudo gedit /etc/hosts
{
   //写入一下内容
   192.168.50.242   zzc    //主机地址+主机名字
   192.168.50.177   car1   //从机地址+从机名字  

}

2. gedit ~/.bashrc
{
	// 加入以下内容

	export ROS_IP=zzc
	export ROS_HOSTNAME=zzc
	export ROS_MASTER_URI=http://zzc:11311
	export ROSLAUNCH_SSH_UNKNOWN=1
}  

3. 编写launch文件
<launch>
  
   <machine name="car1" address="192.168.50.177" user="burger" password="123456" env-loader="opt/ros/kinetic/car1_env.sh"/>
   <node machine="car1" pkg="beginner_tutorials" name="car1" type="wang.py" output="screen"/>

</launch>
 注释: machine name="从机名字" address="从机ip地址" user="从机用户名" password="从机密码" env-loader="从机配置的环境变量.sh文件的地址"
 注释: node machine="在哪个从机上的节点" pkg="要运行哪个包的节点" name="节点名字" type="节点的可执行文件/python节点直接就是scripts脚本中的文件名字" 

2. 从机配置

%===========从机%===========%

1.  sudo gedit /etc/hosts
 {
   //写入一下内容
   192.168.50.242   zzc    //主机地址+主机名字
   192.168.50.177   car1   //从机地址+从机名字
}

2. sudo gedit /opt/ros/kinetic/car1_env.sh   //创建环境变量文件
{
  // 写入以下内容
	#!/bin/sh
		export ROS_IP=car1
		export ROS_HOSTNAME=car1
		export ROS_MASTER_URI=http://zzc:11311
		export ROSLAUNCH_SSH_UNKNOWN=1
		. /home/burger/catkin_car1/devel/setup.sh
	exec "$@"

}

3. 给创建的环境变量文件增加权限       //这一步最关键,否则会出现permession denied
	 cd /opt/ros/kinetic/
	 sudo chmod a+x car1_env.sh
4. 将catkin_car1 中的脚本 wang.py其中这部分注释掉 // 这个是我自己的工程
{
	# 获取标准输入的描述符
	#fd = sys.stdin.fileno()
	 
	# 获取标准输入(终端)的设置
	#old_ttyinfo = termios.tcgetattr(fd)
	 
	# 配置终端
	#new_ttyinfo = old_ttyinfo[:]
	 
	# 使用非规范模式(索引3是c_lflag 也就是本地模式)
	#new_ttyinfo[3] &= ~termios.ICANON
	 
	# 关闭回显(输入不会被显示)
	#new_ttyinfo[3] &= ~termios.ECHO
	 
	# 使设置生效
	#termios.tcsetattr(fd, termios.TCSANOW, new_ttyinfo)

}
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值