网络设置
主从机设置
ROS需要IP地址在turtlebot和远程PC之间进行通信
[TurtleBot && Remote PC] 在命令行执行ifconfig
获得对应的IP地址,如下图inet地址为inet地址
假设PC的IP地址为:192.168.0.5, turtlebot的IP为:192.168.0.6
[TurtleBot && Remote PC] 修改根目录下的 .bashrc 文件
sudo vim ~/.bashrc
[TURTLEBO]的bash文件下添加以下语句:
export ROS_MASTER_URI=http://192.168.0.5:11311
export ROS_HOSTNAME=192.168.0.6
[Remote PC]添加如下:
export ROS_MASTER_URI=http://192.168.0.5:11311
export ROS_HOSTNAME=192.168.0.5
[TurtleBot && Remote PC] 执行source ~/.bashrc
使环境生效
测试是否配置好
[Remote PC] 启动roscore
[TurtleBot] 查看是否订阅到主机发布的话题,执行rosrostopic list
,看是否有话题
静态路由配置
由于网络分给[TurtleBot && Remote PC]的ip地址都是随机的,这样我们每次都要修改bashrc文件,十分不方便,我们可以设置静态路由将其固定住。
获取当前随机分配的ip地址
打开手机热点(路由器同样也可以)
[TurtleBot && Remote PC]用ifconfig
获取ip地址,若获得的ip地址为198.168.43.10,那我们的[TurtleBot && Remote PC]地址可以随意设置为198.168.43.x(1<x<255)。
在[Remote PC]设置好静态路由
我们的手机热点名称为OPPO Ace,对其进行网络编辑
按图编辑ipv4,由于之前获取的ip地址为198.168.43.10。那我们就可以设置静态路由为198.168.43.152
这样以后网络给到pc的路由就会自动设置为198.168.43.152
同样的在[TurtleBot]设置也一样,将[TurtleBot]静态ip设置为198.168.43.153.
连接激光雷达
TurtleBot连接激光雷达见教程
ubuntu-16.04 ROS-kinetic下 VLP-16激光雷达测试详细教程
与以上教程不同的是,我们要在[ Remote PC]中打印点云,执行过程改为下面这样。
[ Remote PC]运行
roscore
[TurtleBot ]运行雷达
roslaunch velodyne_pointcloud VLP16_points.launch
[ Remote PC]运行rostopic 终端打印点云数据
rostopic echo /velodyne_points
[ Remote PC]rviz查看激光点云
rosrun rviz rviz -f velodyne