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专有词汇中英对比列表,ROS专有词汇中英对比列表,请尽量保持统一。

  • 最佳翻译參考,一些典型词句的翻译方法。仅供參考以保持统一。

  • 贡献者名单。假设你认为有必要能够自行加入自己的名单。鼓舞无名英雄。

眼下已完毕“0基础”和“中级”教程翻译。但还须要保持更新。翻译时最好教程优先。下面是推荐优先翻译的部分:

  • ROS 基本概念等

  • catkin 教程。

  • roscpp 教程。

  • rospy 教程。

  • URDF 教程。

  • rviz 教程。

  • TF 教程。

  • 导航 教程。

  • pcl 教程。

ROS中文社区及资料。例如以下:

QQ群

  • 361379172【ROS机器人操作系统】,ROSwiki交流分享求助群。

  • 144964398【ROS机器人技术交流群】。

  • 253247353【ROS(机器人操作系统)】。

  • 204907939【Gaitech ROS Forum】,Turtlebot中国代理商Gaitech官方群。

  • 9820986【机器人操作系统】。

  • 109434898【ExBot开源机器人社区】。

  • 184903125【ROS机器人俱乐部】。

论坛及博客

  • ROS维基社区。由ROS学者从业者自由组成的维基社区,主要解决ROS应用出现的错误大家互相帮助和分享。

  • ROS机器人俱乐部,自由、分享、开源的中文ROS交流社区。

  • ROS中文问答网。非营利性ROS中文问答网。answers.ros.org中文版。

  • ros.gaitech.net,Gaitech官方论坛。

  • www.robotos.net。由爱好者维护的社区论坛。

  • blog.exbot.net,易科机器人实验室的博客,包括一些ROS相关的应用教程。

  • books.exbot.net,易科机器人实验室维护的机器人开源图书,包括一些ROS相关图书。

视频教程

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

官网教程:

非刚開始学习的人: 假设你已经非常熟悉 ROS fuerte(要塞龟)或更早期版本号的使用,而仅仅是想使用在groovy(加岛象龟)和hydro(渔龟)中開始採用的最新编译构建系统catkin。那你能够深入学习catkin教程。

可是我们仍然建议全部人学完整个“0基础”教程以方便理解新增的功能特性。

假设你是Linux刚開始学习的人:或许先学习一些有关linux命令行工具的高速使用教程会对你非常有帮助。这里有篇好教程(英文)。

文件夹

  1. 核心ROS教程

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

核心ROS教程

0基础

  1. 安装并配置ROS环境

    本教程具体描写叙述了ROS的安装与环境配置。

  2. ROS文件系统介绍

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

  3. 创建ROS程序包

    本教程介绍怎样使用roscreate-pkg或catkin创建一个新程序包,并使用rospack查看程序包的依赖关系。

  4. 编译ROS程序包

    本教程介绍ROS程序包的编译方法

  5. 理解 ROS节点

    本教程主要介绍 ROS 图(graph)概念 并讨论roscore、rosnode和 rosrun 命令行工具的使用。

  6. 理解ROS话题

    本教程介绍ROS话题(topics)以及怎样使用rostopic 和 rxplot 命令行工具。

  7. 理解ROS服务和參数

    本教程介绍了ROS 服务和參数的知识,以及命令行工具rosservice 和 rosparam的用法。

  8. 使用 rqt_console 和 roslaunch

    本教程介绍怎样使用rqt_console和rqt_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搭建真实或虚拟机器人。

如今你已经完毕了0基础教程的学习,请回答这个 问卷来检验一下自己的学习效果。

中级

大多数clientAPI的使用教程能够在相关程序包(roscpp, rospy, roslisp)中找到。

  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精品入门视频课程(中文)

  • ANU的ROS视频教程

  • NooTriX的手把手ROS教程

  • Jonathan Bohren的ROS教程

  • Clearpath Robotics 的知识库

外部研讨会或课件

  • 由位于东京的TORK提供的面向企业基础培训的研讨会

在机器人上执行ROS

  • 创建你自己的URDF文件 创建一个定制的通用机器人格式化描写叙述文件。

  • ros_control 使用ROS的标准控制器框架来与硬件连接。

  • 在Gazebo中使用URDF 在Gazebo机器人模拟器中加入必要的标记。

  • 搭建 MoveIt! 建立配置程序包(configuration package)来使用MoveIt!运动规划框架。

其他ROS函数库教程

  • Robot Model

  • Visualization

  • actionlib

  • pluginlib

  • nodelets

  • 导航

  • ROS-Industrial Tutorials

提供ROS接口的函数库教程

  • Stage

  • TF

  • PCL with ROS

当完毕0基础和中级教程后,就能够根据须要进行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中获取可视化数据。

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

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

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

  2. objective-c 2.0编程语言,Objective-C 2.0程序设计(原书第2版) 中文PDF扫描版[15MB]

    Objective-C 2.0程序设计(原书第2版)  内容简介: 本书是Objective-C领域的经典著作,对 Objective-C进行了系统而全面的阐述,权威性毋庸置疑.全书共分为四大部分:第 ...

  3. 《深入理解Hadoop(原书第2版)》——2.6本章小结

    本节书摘来自华章计算机<深入理解Hadoop(原书第2版)>一书中的第2章,第2.6节,作者 [美]萨米尔·瓦德卡(Sameer Wadkar),马杜·西德林埃(Madhu Siddali ...

  4. 《面向对象的思考过程(原书第4版)》一 第2章 如何以面向对象的方式进行思考...

    本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第2章,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问云栖社区"华章计 ...

  5. 《计算机网络:自顶向下方法(原书第6版)》一第1章

    本节书摘来华章计算机<计算机网络:自顶向下方法(原书第6版)>一书中的第1章 ,第1.1节,(美)James F.Kurose Keith W.Ross 著 陈 鸣 译 更多章节内容可以访 ...

  6. 《深入理解Elasticsearch(原书第2版)》一第1章

    本节书摘来华章计算机<深入理解Elasticsearch(原书第2版)>一书中的第1章 ,[美]拉斐尔·酷奇(Rafal Ku) 马雷克·罗戈任斯基(Marek Rogoziski)著 张 ...

  7. 《数论概论(原书第4版)》一第2章 勾 股 数 组

    本节书摘来自华章出版社<数论概论(原书第4版)>一书中的第2章,作者 布朗大学,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第2章 勾 股 数 组 毕达哥拉斯 ...

  8. 编写python程序、计算账户余额_《计算机科学丛书PYTHON程序设计(原书第2版)/(美])凯.S.霍斯特曼》【价格 目录 书评 正版】_中国图书网...

    出版者的话 译者序 前言 第1章 概述 1 1.1 计算机程序 1 1.2 深入剖析计算机 2 1.3 Python编程语言 4 1.4 熟悉编程环境 5 1.5 分析**个程序 9 1.6 错误 1 ...

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

    ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 ROS官网 |易科 |虞坤林 |古月居 |ROSClub |创客智造 ROS机器人操作系统在线练习课程正在逐步完善中,目前以ROS官网中文 ...

最新文章

  1. SilverLight 4页面跳转大全
  2. LeetCode实战:全排列
  3. Comprehensive evaluation of error correction methods for high-throughput sequencing data
  4. Spring3.x中各个jar包的作用总结
  5. 介绍下 Emacs 的包管理功能,感觉还是比较方便的
  6. 仓储rfid文件_RFID智能仓储管理技术浅析之RFID电子标签的使用
  7. Linux内核中max()宏的奥妙何在?(一)
  8. 青龙羊毛——某元宇宙(非原创)
  9. 数据采集与网站统计实现全过程
  10. android 获取app自启动权限状态_央视批手机App权限问题:频繁自启动 搜集个人隐私触目惊心...
  11. 使用Data URI Scheme优雅的实现前端导出csv
  12. RAID5阵列掉盘显示未初始化---解决过程
  13. Vue—实例成员computed和watch
  14. [转]自定义UITableView各种函数
  15. 用isprime判断是否为素数(函数法)
  16. 业务流程图(TFD)实例
  17. Vagrant启动报错
  18. Windows10下WSL的配置与使用
  19. Appium swip滑动
  20. 72名图灵奖获得者的成就

热门文章

  1. python漏洞扫描模块_Hunter 是一款被动式漏洞扫描器
  2. 白天、暗夜双重模式+自作潜水俱乐部前端小项目+学习经验总结(一)
  3. 钟表维修管理系统技术解析 维修记录(五)
  4. 10个智能的 AI 制作工具,懒人福音!
  5. Android 实现音乐剪切功能 可以选择起始点和结束点 也可以同时拖动块级元素
  6. ubuntu8.04下 安装IE +讯雷
  7. MySQL5.7.10 installation for Windows.doc
  8. VC++6.0+MFC网络聊天工具(含源码)
  9. android 安全检测 动画,Android仿小米安全中心检测进度条效果
  10. tell me why 歌词翻译