ROS入门配置及turtlebot碰到的坑

暑期学校用turltebot做了diy项目,在配置环境时碰到了不少坑,在这里记录一下自己的辛酸历程。

安装Ubuntu14.04双系统

注意Ubuntu的版本跟ROS的版本是相对应的,每一版ROS都有对应的Ubuntu版本,不要装错了,我这里装的是Ubuntu14.04+indigo

这个双系统安装过程就没什么好说的了,网上安装博客一大堆,我遇到的问题就是开机时会在logo处卡死,是NVIDIA显卡的问题,开机摁e进入设置模式,将splash quiet后面加上nomodeset就好了,开机后再修改grub文件

sudo gedit /etc/default/grub     打开grub文件

将     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"  

修改为: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

然后保存关闭,再在终端中输入sudo update-grub就ok了。

还有,如果开机没有开机项的话可以用easyBCD试一下

安装ROS-indigo

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release-sc) main" >> /etc/apt/sources.list.d/ros-latest.list'

$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116

$ sudo apt-get update

$ sudo apt-get install ros-indigo-desktop-full

$ sudo rosdep init

$ rosdep update

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

$ source ~/.bashrc

$ sudo apt-get install python-rosinstall

安装turtlebot相关的包

$ sudo apt-get install ros-indigo-turtlebot-*

安装完成后可以用

$ roscore

检测一下安装是否成功,成功的话会显示started core service [/rosout]

网络配置

turtlebot的操作一般是用一台电脑连接turtlebot,这台电脑需要跟着turtlebot动,称为turtlebot端,用另一台电脑远程登录turtlebot端,负责遥控,称为workstation。

turtlebot端配置

$ ifconfig

获取 IP_OF_TURTLEBOT

$ echo export ROS_MASTER_URI=http://IP_OF_TURTLEBOT:11311 >> ~/.bashrc

$ echo export ROS_HOSTNAME=IP_OF_TURTLEBOT >> ~/.bashrc

$ source ~/.bashrc

workstation配置

$ ifconfig

获取 IP_OF_PC

$ echo export ROS_MASTER_URI=http://IP_OF_TURTLEBOT:11311 >> ~/.bashrc

$ echo export ROS_HOSTNAME=IP_OF_PC >> ~/.bashrc

$ source ~/.bashrc

测试网络配置

在workstation端登录turtlebot端,-Y用于显示图形界面

$ ssh  -Y  turtlebot端主机名@IP_OF_TURTLEBOT

启动 Turtlebot

$ roslaunch turtlebot_bringup minimal.launch

新开一个终端登录turtlebot后,运行下面命令

$ roslaunch turtlebot_teleop keyboard_teleop.launch

如果能用终端提示的信息遥控turtlebot,则证明成功。

这一部分作者是在实验室的局域网下实现的,使用校园网发现无法连接。

demo运行篇

这一部分主要介绍使用kinect显示图像,使用rviz显示图像、交互控制turtlebot,使用turtlebot机器人follower,创建室内地图。以下操作都是在workstation端执行。

作者一开始用的是实验室早就装好环境的电脑做的,在这一部分碰到了十分多的坑,基本执行哪个命令都是报no device is connected,网上的教程大多都说是驱动错误,需要重装驱动,或者就是要设置~/.bashrc里的相机型号。但是我却发现实验室的电脑无法重装驱动,无论是用apt安装还是源码安装都装不上,只好去修改相机型号,也没能解决问题。所以只能弃用实验室的电脑,换上自己的电脑,从双系统开始装,实验室的电脑重新装一下ros和turtlebot应该也是可以用的,但不是自己的电脑也不好随便搞。如果在重新装了环境之后还是不能正常连接kinect的话,有可能是usb口的问题,把usb3.0换成usb2.0就好了。

获取kinect图像

登入turtlebot端,启动turtlebot

$ roslaunch turtlebot_bringup minimal.launch

新开一个终端登录turtlebot后,运行下面命令启动相机

$ roslaunch openni2_launch openni2.launch

再新开一个终端,运行下面命令显示 RGB 图像:

$ rosrun image_view image_view image:=/camera/rgb/image_raw

运行下面命令显示深度图像:

$ rosrun image_view image_view image:=/camera/depth/image

通过rviz显示图像

登入turtlebot端,启动turtlebot

$ roslaunch turtlebot_bringup minimal.launch

新开终端,运行下面命令:

$ roslaunch turtlebot_bringup 3dsensor.launch

新开终端,运行下面命令:

$ roslaunch turtlebot_rviz_launchers view_robot.launch

在界面中勾选 Registered DepthCloud 选项,显示深度图像和彩色图像。

通过rviz交互控制机器人

登入turtlebot端,启动turtlebot

$ roslaunch turtlebot_bringup minimal.launch

新开终端,运行 turtlebot_maker_server:

$ roslaunch turtlebot_interactive_markers interactive_markers.launch

新开终端,运行 rviz

roslaunch turtlebot_rviz_launchers view_robot.launch

交互操作:选中工具栏中的“interactive marker”并点击 interact 来操

作 turtlebot。红色箭头控制机器人前进后退,紫色圆环控制机器人旋转。

Turtlebot 机器人 Follower

turtle的小跟班功能,可以寻找其前方一定范围内的物体,并把物体的中心作为

他的视点,物体前进他就前进,物体后退他就后退。

登入turtlebot端,启动turtlebot

$ roslaunch turtlebot_bringup minimal.launch

打开另一终端,登入 Turtlebot 主机,运行下面命令启动 follower 程序:

$ roslaunch turtlebot_follower follower.launch

新开一个终端,运行以下命令,控制跟随的各项参数:

rosrun rqt_reconfigure rqt_reconfigure

使用 Turtlebot 机器人创建室内地图

登入turtlebot端,启动turtlebot

$ roslaunch turtlebot_bringup minimal.launch

打开另一终端,登入 Turtlebot 主机,运行下面命令启动建地图程序:

$ roslaunch turtlebot_navigation gmapping_demo.launch

新打开两个终端,登入 Turtlebot 主机,分别运行:

$ roslaunch turtlebot_rviz_launchers view_navigation.launch

$ roslaunch turtlebot_teleop keyboard_teleop.launch

通过键盘遥控 Turtlebot 机器人扫描房间,当地图建立完全后,新开终端运行下面命令保存地图:

$ rosrun map_server map_saver -f /tmp/my_map

运行下面命令:

$ ls /tmp/

我们能够看到/tmp 文件夹下有两个文件 my_map.pgm 和 my_map.yaml,表明地

图保存成功。

最后就可以用保存的地图让机器人自动导航啦,祝大家玩的愉快。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355