ROS主从机配置方法及rviz显示从机雷达扫描信息
一、ros节点设置
1.IP查询
通过命令
ifconfig
分别查询主机从机ip
2.修改~/.bashrc文件
sudo gedit ~/.bashrc
主机中添加:
export ROS_HOSTNAME=主机hostname
export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP
从机中添加:
export ROS_HOSTNAME=从机hostname
export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP
3.修改/etc/hosts文件
sudo gedit /etc/hosts
主机添加:
从机IP 从机hostname
从机添加:
主机IP 主机hostname
例如:从机终端中显示 ubuntu@robot
robot为hosname、ubuntu为用户名(ssh连接时使用)
ssh ubuntu@192.168.0.123(从机ip)
即添加
192.168.0.104 robot
二、测试
1.小乌龟测试
以上设置完成后,基本就可以测试下了
主机运行
roscore
rosrun turtlesim turtlesim_node
从机运行:
rosrun turtlesim turtle_teleop_key
可以通过从机上键盘控制主机上的小乌龟移动,就说明成功了。
2.rviz测试
主机打开roscore
roscore
从机打开雷达节点
roslaunch rplidar_ros rplidar.launch
主机打开rviz
rviz
配置好雷达话题后看不到激光雷达信息
报错:
For frame [laser]: Fixed Frame [map] does not exist”:
将global options中的fixed frame map改为laser可以在主机中查看到雷达传入的信息。
Global Options 当中的Fixed Frame ,是map。这是因为世界坐标定义成map,单独运行sensor 节点不会生成世界坐标,而传感器坐标laser找不到世界坐标,就定位不了自身的位置,从而报错。修改方法,只需要将世界坐标改成sensor的坐标laser就可以看到扫描数据了。
未完待续
参考:
https://blog.csdn.net/zhanghm1995/article/details/106781954
https://blog.csdn.net/sunyoop/article/details/78804941