准备工作:

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. [c/c++] programming之路(31)、位运算(二)

    一.取反的高级用法 #include<stdio.h> #include<stdlib.h> //取反的作用:末位清零 取反适用于各种位数不同的数据 void main0(){ ...

  2. uni-app编写小程序

    今天项目还没有开始开发,网上看到了uni-app官网介绍可以一套代码,多端使用,感觉很厉害的样子,就做了个小程序页面试试. uni-app 使用 vue语法,小程序api,内嵌mpvue,使我们能够很 ...

  3. CentOS下使用tcpdump网络抓包

    tcpdump是Linux下的截获分析网络数据包的工具,对优化系统性能有很大参考价值. 安装 tcpdump不是默认安装的,在CentOS下安装: yum install tcpdump 在Ubunt ...

  4. Lesson 02-Linux基础命令(一)

    查看系统IP Linux:ifconfig/ip a Windows:ipconfig vi:创建文件并编辑 touch:创建空文件 mkdir ~/a 在用户家目录下创建名称为a的文件夹 -p 创建 ...

  5. 常见的JavaWeb安全问题及修复

    1.SQL注入:程序向后台数据库传递SQL时,用户提交的数据直接拼接到SQL语句中并执行,从而导入SQL注入攻击. 字符型注入:黑色部分为拼接的问题参数 select * from t_user wh ...

  6. linux,vim和bash命令小册

    linux命令 命令 功能 cd old 进入old文件夹 ll -a 当前文件列表(包含隐藏文件) rm -rf old 删除old文件夹(包含子文件夹) mkdir old 新建old文件夹 ps ...

  7. 四、Python数据类型(二)

    一.布尔(Boolean) 布尔类型的数据只有两个:(真)True和(假)False.多用于条件语句或者是作为函数返回值. 二.字典(dictionary) 1.认识字典 将数据组织成键值对(key- ...

  8. 爬虫学习笔记(1)-- 利用Python从网页抓取数据

    最近想从一个网站上下载资源,懒得一个个的点击下载了,想写一个爬虫把程序全部下载下来,在这里做一个简单的记录 Python的基础语法在这里就不多做叙述了,黑马程序员上有一个基础的视频教学,可以跟着学习一 ...

  9. B/S架构

    B/S架构即浏览器和服务器架构模式.它是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构.在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser ...

  10. Jenkins 改成中文语言显示

    到系统管理    插件管理中下载如下插件接口  Localization: Chinese (Simplified) 搜索的时候用ctrl+f 进行搜索,不要用Jenkins下面下的filter 只有 ...