参考:http://wiki.ros.org/Robots/TurtleBot
本文用来记录在学习使用turtlebot 2的学习经历以及在学习过程中所遇到的问题,仅供大家参考。
文章目录
1. 硬件准备
本文基于官方教程的ROS indigo版本进行修改,预完成对kinect的调试,以及在turtle中实现Gamapping功能包,所以需要激光雷达。
基于官方教程,我们需要两台电脑,一台放在turtlebot上,在本文中称它为“上网本”;
另一台称为“工作站”。所以还需要路由器,完成两台电脑之间的通信。
2. 测试turtle
在已经完成安装ROS kinetic的基础上,进行测试。
2.1 准备工作:安装Turtle包
安装Turtlebot,打开终端,运行如下命令:
$ sudo apt-get update
$ sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi ros-kinetic-rocon-* ros-kinetic-ar-track-alvar-msgs
$ sudo apt-get install ros-kinetic-turtlebot-*
2.2 实机测试:Turtlebot 2测试
将上网本与Turtlebot通过USB接口相连,之后在上网本中,打开终端,运行:
roscore
如果ROS安装正确显示:
started core service [/rosout]
如有问题,请检查ROS安装步骤!
2.2.1 检查别名:
- 输入检测命令:
ls /dev/kobuki
- 会显示有对应的设备
/dev/kobuki
- 如果没有,添加别名:
rosrun kobuki_ftdi create_udev_rules
- 重插USB线,在进行上述的检测命令
2.2.2 通过遥控移动(仅TurtleBot,通过Turtlebot的上网本操作)
- 打开Turtlebot开关,状态(status指示灯)点亮,不停闪烁。
- 启动Turtlebot,在上网本,打开一个新终端,运行如下命令:
roslaunch turtlebot_bringup minimal.launch
- 启动键盘遥控,在上网本,打开另一个新终端,运行如下命令:
roslaunch turtlebot_teleop keyboard_teleop.launch
- 点击键盘“i”前进。
至此,Turtlebot 2测试完成。
3. 配置网络
- 在工作站和Turtlebot都要同步时钟
打开终端,输入如下命令:
sudo apt-get install chrony
sudo apt-get install ntpdate
sudo ntpdate ntp.ubuntu.com
- 获取Turtlebot和工作站的IP地址,在终端执行:
ifconfig
- 查看SSh状态:
sudo service ssh status
如果显示ssh: unrecognized service,没安装ssh,则安装:
sudo apt-get install openssh-server
安装成功后,查看服务器是否启动在终端输入:
ps -e | grep ssh
若未启动,则启动ssh服务,在终端输入:
service sshd start
- 工作站远程登录Turtlebot上网本:
首先,对turtlebot进行配置参数