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

ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真

urdf Gazebo V-Rep Webots Morse

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

提供ROS接口的3D软件比较多,本章以最典型的Gazebo介绍为主,从Player/Stage/Gazebo发展而来,现在独立的机器人仿真开发环境,目前2016年最新版本Gazebo7.1配合ROS(kinetic)使用。

补充内容:http://blog.csdn.net/zhangrelay/article/details/50241863

本书翻译基本参考官方推荐用语,如下:

ROS wiki 是一个开放的公共平台,你可以在上面编辑分享对社区有用的信息,比如翻译或编写教程。欢迎大家在这个非盈利性的公共平台上一起维护和分享ROS中文相关资源。

如果你想翻译,只需参考以下指南并自觉按照wiki编辑规范用心翻译:

目前已完成“初级”和“中级”教程翻译,但还需要保持更新。翻译时最好教程优先,以下是推荐优先翻译的部分:

ROS中文社区及资料,如下:

QQ群

  • 361379172【ROS机器人操作系统】,ROSwiki交流分享求助群。
  • 144964398【ROS机器人技术交流群】。
  • 253247353【ROS(机器人操作系统)】
  • 204907939【Gaitech ROS Forum】,Turtlebot中国代理商Gaitech官方群。
  • 9820986【机器人操作系统】。
  • 109434898【ExBot开源机器人社区】。
  • 184903125【ROS机器人俱乐部】

论坛及博客

视频教程

  • 51cto.com,机器人操作系统ROS精品入门视频课程。

官网教程:

非初学者: 如果你已经很熟悉 ROS fuerte(要塞龟)或更早期版本的使用,而只是想使用在groovy(加岛象龟)hydro(渔龟)中开始采用的最新编译构建系统catkin,那你可以深入学习catkin教程。 但是我们仍然建议所有人学完整个“初级”教程以方便理解新增的功能特性。

如果你是Linux初学者:也许先学习一些有关linux命令行工具的快速使用教程会对你很有帮助,这里有篇好教程(英文)。

目录

  1. 核心ROS教程

    1. 初级
    2. 中级
  2. ROS标准
  3. 外部ROS资源
    1. 外部教程
    2. 外部研讨会或课件
  4. 在机器人上运行ROS
  5. 其它ROS函数库教程
  6. 提供ROS接口的函数库教程

核心ROS教程

初级

  1. 安装并配置ROS环境

    本教程详细描述了ROS的安装与环境配置。
  2. ROS文件系统介绍

    本教程介绍ROS文件系统概念,包括命令行工具roscd、rosls和rospack的使用。
  3. 创建ROS程序包

    本教程介绍如何使用roscreate-pkgcatkin创建一个新程序包,并使用rospack查看程序包的依赖关系。
  4. 编译ROS程序包

    本教程介绍ROS程序包的编译方法
  5. 理解 ROS节点

    本教程主要介绍 ROS 图(graph)概念 并讨论roscorerosnode和 rosrun 命令行工具的使用。
  6. 理解ROS话题

    本教程介绍ROS话题(topics)以及如何使用rostopic 和 rxplot 命令行工具。
  7. 理解ROS服务和参数

    本教程介绍了ROS 服务和参数的知识,以及命令行工具rosservice 和 rosparam的使用方法。
  8. 使用 rqt_console 和 roslaunch

    本教程介绍如何使用rqt_consolerqt_logger_level进行调试,以及如何使用roslaunch同时运行多个节点。早期版本中的rqt工具并不完善,因此,如果你使用的是“ROS fuerte”或更早期的版本,请同时参考这个页面学习使用老版本的“rx”工具。
  9. 使用rosed编辑ROS中的文件

    本教程将展示如何使用rosed来简化编辑过程。
  10. 创建ROS消息和ROS服务

    本教程详细介绍如何创建并编译ROS消息和服务,以及rosmsg, rossrv和roscp命令行工具的使用。
  11. 编写简单的消息发布器和订阅器 (C++)

    本教程将介绍如何编写C++的发布器节点和订阅器节点。
  12. 写一个简单的消息发布器和订阅器 (Python)

    本教程将通过Python编写一个发布器节点和订阅器节点。
  13. 测试消息发布器和订阅器

    本教程将测试上一教程所写的消息发布器和订阅器。
  14. 编写简单的Service和Client (C++)

    本教程介绍如何用C++编写Service和Client节点。
  15. 编写简单的Service和Client (Python)

    本教程介绍如何用Python编写Service和Client节点。
  16. 测试简单的Service和Client

    本教程将测试之前所写的Service和Client。
  17. 录制与回放数据

    本教程将教你如何将ROS系统运行过程中的数据录制到一个.bag文件中,然后通过回放数据来重现相似的运行过程。
  18. roswtf入门

    本教程介绍了roswtf工具的基本使用方法。
  19. 探索ROS维基

    本教程介绍了ROS维基(wiki.ros.org)的组织结构以及使用方法。同时讲解了如何才能从ROS维基中找到你需要的信息。
  20. 接下来做什么?

    本教程将讨论获取更多知识的途径,以帮助你更好地使用ROS搭建真实或虚拟机器人。

现在你已经完成了初级教程的学习,请回答这个 问卷来检验一下自己的学习效果。

中级

大多数客户端API的使用教程可以在相关程序包(roscpprospyroslisp)中找到。

  1. 手动创建ROS package

    本教程将展示如何手动创建ROS package
  2. 管理系统依赖项

    本教程将展示如何使用rosdep安装系统依赖项.
  3. Roslaunch在大型项目中的使用技巧

    本教程主要介绍roslaunch在大型项目中的使用技巧。重点关注如何构建launch文件使得它能够在不同的情况下重复利用。我们将使用 2dnav_pr2 package作为学习案例。
  4. ROS在多机器人上的使用

    本教程将展示如何在两台机器上使用ROS系统,详述了使用ROS_MASTER_URI来配置多台机器使用同一个master。
  5. 自定义消息

    本教程将展示如何使用ROS Message Description Language来定义你自己的消息类型.
  6. 在python中使用C++类

    本教程阐述一种在python中使用C++类的方法。
  7. 如何编写教程

    (概述:)本教程介绍在编辑ros.org维基时可以用到的模板和宏定义,并附有示例以供参考。

ROS标准

外部ROS资源

外部教程

外部研讨会或课件

在机器人上运行ROS

其它ROS函数库教程

提供ROS接口的函数库教程

当完成初级和中级教程后,就可以依据需要进行ROS相关主题学习。

下面言归正传:

第192页:

简介本章要点。

第193-198页:

URDF,统一机器人描述格式的构成,创建,rviz中查看,属性配置等。

补充阅读:

学习 URDF (Unified Robot Description Format,统一的机器人描述文件格式)

  1. Create your own urdf file

    In this tutorial you start creating your own urdf robot description file.
  2. Parse a urdf file

    This tutorial teaches you how to use the urdf parser
  3. Using the robot state publisher on your own robot

    This tutorial explains how you can publish the state of your robot to tf, using the robot state publisher.
  4. Start using the KDL parser

    This tutorial teaches you how to create a KDL Tree from a URDF file
  5. Using urdf with robot_state_publisher

    This tutorial gives a full example of a robot model with URDF that uses robot_state_publisher. First, we create the URDF model with all the necessary parts. Then we write a node which publishes the JointState and transforms. Finally, we run all the parts together.

手把手学习URDF

  1. Building a Visual Robot Model with URDF from Scratch

    Learn how to build a visual model of a robot that you can view in Rviz
  2. Building a Movable Robot Model with URDF

    Learn how to define movable joints in URDF
  3. Adding Physical and Collision Properties to a URDF Model

    Learn how to add collision and inertial properties to links, and how to add joint dynamics to joints.
  4. Using Xacro to Clean Up a URDF File

    Learn some tricks to reduce the amount of code in a URDF file using Xacro

实例讲解一个完整的URDF文件

  1. Understanding the PR2 Robot Description

    This tutorial explains the layout of the top level URDF Xacro file for a complex robot such as PR2.

第199-205页:

xacro机器人建模。http://wiki.ros.org/xacro

在jade之后版本中增加了一些内容,注意官网的New in Jade标签。

第205-214页:

在ROS使用Gazebo进行机器人仿真。

补充参考:http://blog.csdn.net/ZhangRelay/article/category/6457458

Gazebo机器人仿真学习探索笔记系列

第215页:

本章小结。

思考与巩固:

1 在Gazebo中建立一个机器人模型,并用键盘控制在环境中运动。

2 加入传感器获取环境信息识别障碍等。

3 在V-Rep中使用ROS接口进行机器人控制和传感器信息获取。

4 熟练掌握URDF和xacro。

本章内容较多,需要掌握xml语言特点,并熟练使用。注意.xacro和.urdf区别。移动控制机器人的C++或Python代码。其他开源或商业3D建模软件创建自己的模型,启动Gazebo和ROS的.launch文件特点,添加传感器并在rviz中获取可视化数据。

时间: 2024-10-24 16:30:47

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

ROS机器人程序设计(原书第2版)补充资料 (零) 源代码和资料等

ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 稍后会补充,各章节针对indigo版本和kinetic版本的修正说明,方便读者阅读. 可以选用的完整镜像参考:http://blog.csdn.net/zhangrelay/article/details/50176685 已经预装ROS indigo,安装完即可使用,书中全部案例.如果需要了解ROS的实时性,请点击下载. hy

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

ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 本章三个非常重要概念:TF,SLAM,AMCL.务必掌握. 补充内容:http://blog.csdn.net/zhangrelay/article/details/50299417 第216页: 简介本章要点. 第217页: 导航综合功能包组成架构等. 补充如下: 目录 配置并使用导航功能

学习PHP爬虫--《Webbots、Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)》

<Webbots.Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)> 译者序 前言 第一部分 基础概念和技术 第1章 本书主要内容3 1.1 发现互联网的真正潜力3 1.2 对开发者来说3 1.2.1 网络机器人开发者是紧缺人才4 1.2.2 编写网络机器人是有趣的4 1.2.3 网络机器人利用了“建设性黑客”技术4 1.3 对企业管理者来说5 1.3.1 为业务定制互联网5 1.3.2 充分利用公众对网络机器人的经验不足5 1.3.3 事半功倍6 1.4 结论

计算机程序的构造和解释原书第2版PDF

作者: Harold Abelson / Gerald Jay Sussman / Julie Sussman 出版社: 机械工业出版社 副标题: 原书第2版 原作名: Structure and Interpretation of Computer Programs 译者: 裘宗燕 出版年: 2004-2 页数: 473 定价: 45.00元 装帧: 平装 内容简介 · · · · · · <计算机程序的构造和解释(原书第2版)>1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本

C安全编码标准:开发安全、可靠、稳固系统的98条规则(原书第2版)——互动出版网

这篇是计算机类的优质预售推荐>>>><C安全编码标准:开发安全.可靠.稳固系统的98条规则(原书第2版)> 部分目录 译者序 前言 贡献者简介 第1章 预处理器(PRE) 1 1.1 PRE30-C. 不要通过连接创建通用字符名称 1 1.2 PRE31-C. 避免不安全宏参数的副作用 3 1.3 PRE32-C. 不要在类函数的宏调用中使用预处理器指令 7 第2章 声明和初始化(DCL) 9 2.1 DCL30-C. 声明具有正确存储持续期的对象 10 2.2 DCL

IT项目管理(原书第7版)——互动出版网

这篇是计算机类的优质预售推荐>>>><IT项目管理(原书第7版)> 译者序 1984年,美国项目管理协会(Project Management Institute,PMI)推出了项目管理知识体系(Project Management Body of Knowledge,PMBOK),描述了以项目为研究对象的知识板块,以多维.横断.交叉等全息方式聚集相关知识,反映了当前社会快速发展和变化的需求,得到国际学术界和产业界的积极响应. 在过去的30多年中,随着全球经济和政治的巨

《软件测试的艺术(原书第2版)》【PDF】下载

<软件测试的艺术(原书第2版)>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196343 内容简介 本书以一次自评价测试开篇,从软件测试的心理学和经济学入手,探讨了代码检查.走查与评审.测试用例的设计.模块(单元)测试.系统测试.调试等主题,以及极限测试.互联网应用测试等高级主题,全面展现了作者的软件测试思想.第3版在前两版的基础上,结合软件测试的最新发展进行了更新,覆盖了可用性测试.移动应用测试以及敏捷开发测试等内容. 本书适合软件开

软件测试(原书第2版中文)PDF版

下载地址:网盘下载 内容简介  · · · · · · 软件测试(原书第2版),ISBN:9787111185260,作者:(美)佩腾(Patton,R.) 著,张小松 等译:张小松译 作者简介  · · · · · · Ron Patton具有近20年软件测试和软件质量保证的工作经验,从事过各种产品的软件测试,从关键任务到儿单绘图程序.普先后就职于德州仪器公司.西门子公司和微软公司,担任过质量保证工程师.软件测试经理等职务.他现在是一个独立的软件项目管理和软件质量保证咨询师. 目录  · · 

Web前端工程师修炼之道(原书第4版) 中文pdf扫描版

你是否也曾想过自己创建网页,但却苦于没有经验?那么从现在开始学习吧!本书由浅入深地讲解了Web设计的一些重要概念.基本原理,以及HTML.CSS和JavaScript的具体使用方法与技巧.当你读完本书后,将会掌握创建适用于移动设备的多列页面的技巧. Web前端工程师修炼之道(原书第4版)将帮助你学习如何使用最新技术.最佳实践经验,以及当今的Web标准,其中包括HTML5和CSS3.每章都提供一些练习和小测验,帮助你了解不同的技术,巩固你对重要概念的理解. 作者对本版内容做了全面更新和修订,涵盖W