准备工作:

ubuntu 16.04系统;ROS kinetic版本;ROS包turtlebot,导航包rbx1,模拟器arbotix,可视化rviz

1、安装ubuntu 16.04系统与安装ROS kinetic版本自行百度安装。一下链接可作为参考。

http://blog.csdn.net/weicao1990/article/details/52575314

2、在安装好ROS kinetic版本的ubuntu系统中, ctrl+art+t打开一个终端,安装turtlebot包,输入命令

sudo apt-get install ros-kinetic-turtlebot-*

3、安装可视化工具rviz

rosdep update

rosdep install rviz

rosmake rviz 

运行rviz:

在一个终端中运行

roscore

在另一个终端中运行

rosrun rviz rviz

(记得先运行roscore,否则就会出现错误:could not contact ROS master)

4、安装arbotix模拟器

方法一:

sudo apt-get install ros-kinetic-arbotix-*

方法二:(使用git源码安装)

在ROS工作包caktkin_ws中的源码文件夹src中下载git源码

cd  ~/catkin_ws/src

git clone  https://github.com/vanadiumlabs/arbotix_ros.git

cd ..

catkin_make

(ps:提示找不到ROS包错误,就去更新一下环境:source ~/catkin_ws/devel/setup.bash)

5、安装ROS-BY-EXAMPLE书配套的代码包rbx1

cd ~/catkin_ws/src

git clone https://github.com/pirobot/rbx1.git

cd ..

catkin_make

ps:在安装rbx1之前,可以选择性的安装一些依赖包

sudo apt-get install ros-kinetic-turtlebot-bringup \

ros-kinetic-turtlebot-create ros-kinetic-openni-* \

ros-kinetic-openni2-* ros-kinetic-freenect-* ros-kinetic-usb-cam \
ros-kinetic-laser-* ros-kinetic-hokuyo-node \
ros-kinetic-audio-common gstreamer0.-pocketsphinx \
ros-kinetic-pocketsphinx ros-kinetic-slam-gmapping \
ros-kinetic-joystick-drivers python-rosinstall \
ros-kinetic-orocos-kdl ros-kinetic-python-orocos-kdl \
python-setuptools ros-kinetic-dynamixel-motor \
libopencv-dev python-opencv ros-kinetic-vision-opencv \
ros-kinetic-depthimage-to-laserscan ros-kinetic-arbotix-* \
ros-kinetic-turtlebot-teleop ros-kinetic-move-base \
ros-kinetic-map-server ros-kinetic-fake-localization \
ros-kinetic-amcl
准备工作到此结束,接下来进行仿真。
6、导航仿真
     运行机器人节点:
 roslaunch rbx1_bringup fake_turtlebot.launch  

     使用测试地图运行amcl节点:        
roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml  
运行rviz
rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz
之后单击2D Pose Estimate,单击地图位置,选择机器人初始位置,点击2D Nav Goal ,点击地图,选择机器人目的位置。选择完成后机器人后自动走到目的位置。
加载地图:
 选择机器人初始位置

选择机器人目的位置

自动导航效果:

相关导航的原理可查询ros官网wiki

http://wiki.ros.org/cn/navigation/Tutorials

参考博客

http://www.guyuehome.com/273

ROS机器人导航仿真(kinetic版本)的更多相关文章

  1. ROS机器人导航一 : 从英雄联盟到ROS导航

    写在前面: 这是这个系列的第一篇 本系列主要从零开始深入探索ROS(机器人操作系统)的导航和规划. 这个系列的目标,是让大家了解: 1.ROS的导航是怎么实现的 2.认识ROS里各种已有的导航算法,清 ...

  2. ros机器人导航设置原点,目标点

    之前利用movebase导航定位都是通过rviz用鼠标指来指去,实验时非常方便,但实际应用总不能也人工指来指去吧,这怎么体现智能呢 启动导航后,用以前使用的rviz设设置目标点来获取map坐标系下的位 ...

  3. ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...

  4. ROS机器人程序设计(原书第2版)补充资料 kinetic

    Effective Robotics Programming with ROS Third Edition Find out everything you need to know to build ...

  5. TIAGo ROS模拟教程2 - 自主机器人导航

    TIAGo ROS Simulation Tutorial 2 – Autonomous robot navigation TIAGo ROS模拟教程2 - 自主机器人导航 发表于 12月 23,20 ...

  6. ros机器人之小乌龟仿真-路径记录

    ------------恢复内容开始------------ 通过自己不断地摸索,对ros系统有了一定的了解,首先装系统,这一过程中也遇到了很多问题,但通过不断地尝试,经过一天一夜的倒腾,总算是把系统 ...

  7. ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation

    ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...

  8. ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年01月01日更新

    ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 ROS官网 版)部分内容修订 页:第1行,删去$ 页:第6行,float64 y 前面加一个空格 页:中间创建主题:下面程序不用换行,(& ...

  9. ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation

    ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...

随机推荐

  1. Vue/Egg大型项目开发(二)数据库设计

    项目Github地址:前端(https://github.com/14glwu/stuer)后端(https://github.com/14glwu/stuer-server) 项目线上预览:http ...

  2. TreeMap,HashMap,LinkedHashMap区别,很简单解释

    TreeMap,HashMap,LinkedHashMap之间的区别和TreeSet,HashSet,LinkedHashSet之间的区别相似. TreeMap:内部排序. HashMap:无序. L ...

  3. android开发_Eclipse新建项目+新建模拟器

    一.新建项目 1 Eclipse->右键->new->Android Application Project,得到下图: 2 输入创建项目信息 3 点击next 4 点击 next ...

  4. 关于matplotlib绘制直方图偏移的问题

    在使用pyplot绘制直方图的时候我发现了一个问题,在给函数.hist()传参的时候,如果传入的组数不是刚刚好(就是说这个组数如果是使用(最大值-最小值)/组距计算出来,而这个数字不是整除得来而是取整 ...

  5. 20175312 2018-2019-2 《Java程序设计》第8周学习总结

    20175312 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第十章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...

  6. 20175312 2018-2019-2 《Java程序设计》第7周学习总结

    20175312 2018-2019-2 <Java程序设计>第7周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第八章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...

  7. springboot实现自定义的错误页面展示

    https://blog.csdn.net/trusause/article/details/84299886 参考 SpringBoot默认的错误处理机制 默认效果为: 返回一个默认的错误页面 Wh ...

  8. error LNK1169 找到一个或多个多重定义的符号的解决方法

    问题描述如下: 有 三个源文件,A.h.B.cpp.C.cpp. A.h是头文件,其中声明了三个变量a1.a2. a3. B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件.B.cpp ...

  9. krpano 常用标签

    <krpano></krpano>根标签 相当于 <body> <scene></scene>一个全景图场景 <image> 图 ...

  10. Yaml语法使用

    YAML概要 1. 认识 YAML YAML是一个类似 XML.JSON 的标记性语言.YAML 强调以数据为中心,并不是以标识语言为重点.因而 YAML 本身的定义比较简单,号称“一种人性化的数据格 ...