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

书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用。

第8-9章,主要介绍仿真,仿真机器人与实际原理上其实差别不大,细节配置上有些不同,除了书中的示例,

这里主要还推荐turtlebot_gazebo仿真,源码非常详细具体。

第241-243页:

介绍机器人配置情况,参数配置多以.yaml文件格式。

第244-246页:

配置全局和局部代价地图,基本参数等,非常重要。

第247页:

配置对应的launch文件,进行参数加载。

第248-256页:

主要是配置和使用可视化工具rviz。

第257页:

简单解释自适应蒙特卡罗定位AMCL,有时机器人会原地转圈,可能就是依据地图在自定位。

第258页:

修改参数。

第259页:

机器人避障。

第260-262页:

机器人依据目标,自主导航运动。

第263页:

本章小节。

巩固与思考:

如何编写算法,实现机器人依据激光定位并进行室内导航巡逻或清扫算法。

补充学习:

Make a map and navigate with it

Description: Use the navigation stack to create a map of the Gazebo world and start navigation based on it.

Keywords: simulation, gazebo, map building, navigation

Tutorial Level: INTERMEDIATE

Make a map and Navigation in Gazebo simulation .

Overview

In this tutorial we will create a map of a virtual world and then use it to navigate around. Basically we will reproduce build a map and navigate a map TurtleBot tutorials in a simulated world. So if you have doubts about using the navigation stack with TurtleBot those tutorials will probably help you.

Make a map

First, bring up the TurtleBot simulation as described in the Gazebo Bringup Guide, but this time we will load a slightly funnier world:

$ source /opt/ros/indigo/setup.bash
$ roslaunch turtlebot_gazebo turtlebot_world.launch

The playground world with a TurtleBot2 looks like this:

  • Alternatively you can use another existing world file like this:

    $ roslaunch turtlebot_gazebo turtlebot_world.launch world_file:=worlds/willowgarage.world

Tip: of course you can also make your own world! With Gazebo it's not difficult, but is beyond the scope of this tutorial.

You can customize your simulated TurtleBot by setting TURTLEBOT_XXX environment variables; for example:

$ export TURTLEBOT_BASE=create
$ export TURTLEBOT_STACKS=circles
$ export TURTLEBOT_3D_SENSOR=asus_xtion_pro
$ roslaunch turtlebot_gazebo turtlebot_playground.launch

will simulate a TurtleBot 1 with an Asus Xtion Pro camera.

To start map building, type:

roslaunch turtlebot_gazebo gmapping_demo.launch

Use RViz to visualize the map building process:

$ roslaunch turtlebot_rviz_launchers view_navigation.launch

Then, as explained in the previous tutorial, use your favorite teleoperation tool to drive the TurtleBot around the world, until you get satisfied with your map. This capture shows the mapping process after turning 360 degrees.

Finally, save the map to disk:

$ rosrun map_server map_saver -f <your map name>

Navigate the playground

To be sure that all will run as expected, kill all you launched in the previous section and repeat all steps except the map building. Instead, type:

roslaunch turtlebot_gazebo amcl_demo.launch map_file:=<full path to your map YAML file>

Or if you prefer to use an already created map, just omit the map_file argument.

Now you can send the robot anywhere in the playground with RViz, same way as explained on navigate a map tutorial.

最新文章

  1. 初步认识html以及表格的制作
  2. 简单跳转到微信分享,基于libWeiChatSDK 和简单的自定义UIActivityViewController
  3. 【转】轻量级分布式 RPC 框架
  4. FBI传授9秘诀:如何看穿对方在撒谎 z
  5. Android游戏开发:物理游戏之重力系统开发--圆形自由落体Demo
  6. eclipse实现JavaWeb应用增量打包
  7. OpenGL红宝书学习笔记(1)
  8. 利用document的readyState去实现页面加载中的效果
  9. 数据库入门(以MySQL为例)
  10. axure 7.0 注册码
  11. Archive &amp; Backup 概念
  12. linux环境下快速安装Mariadb和Redis
  13. 生成器的认识及其思考:VAE, GAN, Flow-based Invertible Model
  14. linux 常见报错
  15. 通过.ibd和.frm恢复mysql数据
  16. Elixir 单元测试
  17. C# Note30: 软件加密机制以及如何防止反编译
  18. (链表) 206. Reverse Linked List
  19. [转]OpenGL通过VBO实现顶点数组绘制顶点
  20. shell 余弦值转角度

热门文章

  1. 发布你的程序包到Nuget
  2. C#使用AutoMapper6.2.2.0进行对象映射
  3. [LeetCode] Decode Ways II 解码方法之二
  4. 初学Servlet之继承GenericServlet
  5. java制作验证码(java验证码小程序)
  6. [USACO17JAN]Promotion Counting晋升者计数
  7. 【LSGDOJ1836】: 量化交易 贪心
  8. 使用python+requests+unittest实现接口自动化测试
  9. java版的类似飞秋的局域网在线聊天项目
  10. java开发笔记——表映射实体类代码示例