ROS进阶学习手记 3 -- RViz工具的学习2,Markers- Sending Basic Shapes

ROS进阶学习手记 3 – RViz工具的学习2,Markers- Sending Basic Shapes Markers: Sending Basic Shapes (C++) 我是从这里开始:http://wiki.ros.org/rviz 在它之下,先玩完这一部分:http://wiki.ros.org/rviz/UserGuide 今天要玩这一部分: http://wiki.ros.org/rviz/Tutorials/Markers%3A%20Basic%20Shapes Description: Shows how to use visualization_msgs/Marker messages to send basic shapes (cube, sphere, cylinder, arrow) to rviz. 2. Intro Unlike other displays, the Marker Display lets you visualize data in rviz without rviz knowing anything about interpreting that data. Instead, primitive objects are sent to the display throughvisualization_msgs/Marker messages, which let you show things like arrows, boxes, spheres and lines. This tutorial will show you how to send the four basic shapes (boxes, spheres, cylinders, and arrows).

READ MORE

ROS进阶学习手记 2 -- RViz工具的学习1

ROS进阶学习手记 2 – RViz工具的学习1 ROS中提供了很多强大的功能,我们学习完前面的基本知识之后要继续进行深入。除了RviZ,还有一种叫 Stage simulator 也能模拟机器人motion 1、认识rviz rviz是ROS中一款强大的3D可视化工具,这个玩意在后面可是要频繁用到的,是必须要弄明白的,详细的教程可以参考wiki:http://wiki.ros.org/rviz/UserGuide 我们可以在里面创建自己的机器人,并且让机器人动起来。还可以创建地图,显示3D点云等等,总之,想在ROS中显示的东东都可以在这里显示出来。当然这些显示都是通过消息的订阅来完成的,机器人通过ROS发布数据,rviz订阅消息接收数据,然后显示,这些数据也是有一定的数据格式的,可以参考下面的链接: http://wiki.ros.org/rviz/DisplayTypes 看到上面的机器人了吧,是不是很酷,在rviz中,这样的机器人模型是通过urdf文件描述的,具体urdf文件怎么写,参考wiki: http://wiki.ros.org/urdf ================================ 2. 开始RViz的学习 我是从这里开始:http://wiki.ros.org/rviz 在它之下,先玩这一部分:http://wiki.ros.org/rviz/UserGuide 3. RViz的安装和运行 目录 Troubleshooting Install or build rviz Install from debian repository Build from source Startup Displays Adding a new display Display Properties Display Status Moving Displays Built-in Display Types Configurations 0.4 and above 0.3 and below Views Panel The different camera types Orbital Camera (default) FPS (first-person) Camera Top-down Orthographic Views Coordinate Frames The Fixed Frame The Target Frame Tools Move Camera (Keyboard shortcut: m) Select (Keyboard shortcut: s) 2D Nav Goal (Keyboard shortcut: g) 2D Pose Estimate (Keyboard shortcut: p) Time Stereo Plugins Troubleshooting

READ MORE

ROS进阶学习手记 1 -- turtlebot_simulator(1)

ROS进阶学习手记 1 – turtlebot_simulator(1) 这是ROS入门手记的最后一节,指明了ROS进阶学习的方向: http://blog.csdn.net/sonictl/article/details/46893443 ROS进阶学习手记 1 – turtlebot_simulator(1) 1. 用turtlebot来进行机器人模拟 Robot Stack下的TurtleBot Package, link: http://wiki.ros.org/Robots/TurtleBot 由于我们只要了解他的simulator, 故turtlebot_simulator Stack的link: wiki.ros.org/turtlebot_simulator 这个模拟的空间叫做Gazebo World, 故它的link: http://wiki.ros.org/turtlebot_simulator/Tutorials/hydro/Explore%20the%20Gazebo%20world ROS中提供了很多强大的功能,我们学习完前面的基本知识之后要继续进行深入。 turtlebot_simulator Stack的link: wiki.ros.org/turtlebot_simulator 我们跑了两个命令,把simulator打开看看了: Install the software $ sudo apt-get install ros-hydro-turtlebot-simulator Start the simulation $ source /opt/ros/hydro/setup.bash $ roslaunch turtlebot_gazebo turtlebot_empty_world.launch 得到下图: 当然你可能得到一个 30 秒无法连接Master 的问题,最后找了一圈,也不知怎么就解决了~~ 如果你遇到,可能这里有点帮助:http://answers.ros.org/question/65402/gazebo-fail-to-connect-to-master-in-30-seconds-it-does-not-run-from-the-very-first-time/ gazebo 这个工具是ROS中的物理仿真环境,gazebo本身就是一款机器人的仿真软件,基于ODE的物理引擎,可以模拟机器人以及环境中的很多物理特性,这个软件可以稍作了解,并不是后面开发所必须要的。 教程见: http://wiki.ros.org/simulator_gazebo/Tutorials/StartingGazebo 2. 接下来要学习的工具: 1、rviz rviz是ROS中一款强大的3D可视化工具,这个玩意在后面可是要频繁用到的,是必须要弄明白的,详细的教程可以参考wiki:http://wiki.ros.org/rviz/UserGuide 我们可以在里面创建自己的机器人,并且让机器人动起来。还可以创建地图,显示3D点云等等,总之,想在ROS中显示的东东都可以在这里显示出来。当然这些显示都是通过消息的订阅来完成的,机器人通过ROS发布数据,rviz订阅消息接收数据,然后显示,这些数据也是有一定的数据格式的,可以参考下面的链接: http://www.ros.org/wiki/rviz/DisplayTypes(待改) 看到上面的机器人了吧,是不是很酷,在rviz中,这样的机器人模型是通过urdf文件描述的,具体urdf文件怎么写,参考wiki: http://www.ros.org/wiki/urdf(待改) 2、tf tf是ROS中的坐标变换系统,在机器人的建模仿真中经常用到。 ROS中主要有两种坐标系: (1)固定坐标系:用于表示世界的参考坐标系; (2)目标坐标系:相对于摄像机视角的参考坐标系。 教程见:http://www.ros.org/wiki/tf(待改)

READ MORE

ROS学习手记13 -- 完成了初级的教程以后

ROS学习手记13 – 完成了初级的教程以后 完成了初级的教程以后 完成了初级的教程,我们理解了概念,但还需掌握运用ROS开发机器人的方法。 首先,要知道如何学习ROS,获取有关ROS的资讯。主要的学习和参考材料如下: ROS wiki官网的使用 ROS 官网的API文档 ROS 第三方教材,书籍 本博客的“ROS进阶学习手记”将是一个比较实用的路径 一个比较好的ROS教学大纲: 1. 关于ROS官网的layout(页面结构)情况 关于ROS官网的layout(资源分布)情况,我们要好好了解:http://wiki.ros.org/ROS/Tutorials/NavigatingTheWiki LandingPage上的导航栏主要有:文档, 包, 新闻三个栏目 在ROS Package Pages里,结构是如下: 在ROS Stack Pages里,结构是如下: 2. 复习: ROS Stack Package等各元件结构: [Stack1] [Package1] [Nodes1] [Nodes2] [Messages] [Services] [Libraries] [Tools] [/Package1] [Package2] [Nodes] [Messages] [Services] [Libraries] [Tools] [/Package2] [/Stack1] [Stack2] … [/Stack2] 3. 可供参考的材料 ========= 开发辅助文档 ========= 在ROS的开发过程中,你会用到比较多的文档: 1. Packages’ List: http://www.ros.org/browse/list.php 2. APIs’ List http://wiki.ros.org/APIs 3. ROS cpp Dev Docs for API http://docs.ros.org/diamondback/api/roscpp/html/index.html 4. ROS cpp http://wiki.ros.org/roscpp 5. ========= 更多参考教材 =========

READ MORE

ROS学习手记12 -- ROS问题检测工具roswtf

ROS学习手记12 – ROS问题检测工具roswtf roswtf - ros, what the fuck? 其实很好记~~ Getting started with roswtf Description: Basic introduction to the roswtf tool. Keywords: roswtf Tutorial Level: BEGINNER Next Tutorial: Navigating the wiki 目录 Checking your installation Trying it online Errors Before you start this tutorial, please make sure your roscore is NOT running. Checking your installation roswtf examines your system to try and find problems. Let’s try it out: $ roscd $ roswtf You should see (detail of the output varies):

READ MORE

ROS学习笔记10 - 编写编译和检验Service Node

ROS学习笔记10 - 编写编译和检验Service Node ROS学习笔记10 - 编写编译和检验Service Node 百度文库:http://wenku.baidu.com/view/e14d5e18dd88d0d232d46a37 Writing a Service Node Here we’ll create the service (“add_two_ints_server”)node which will receive two ints and return the sum. Change directories to your beginner_tutorialspackage you created in your catkin workspace previous tutorials: cd ~/catkin_ws/src/beginner_tutorials Please make sure you have followed the directions in the previous tutorialfor creating the service needed in this tutorial,creating the AddTwoInts.srv (be sure to choose the rightversion of build tool you’re using at the top of wiki page in the link).

READ MORE

ROS学习手记 9 -- 阶段性复习

<div class="markdown_views"><h1 id="ros-阶段性总结">ROS 阶段性总结</h1> 1. 基本概念 ROS 是建立在Linux特别是Ubuntu系统上的一套软件系统,它具有操作系统的特征 ,负责管理各个模块的协同运行。设计初衷主要是面向机器人软硬件开发的特点:多 点运行,随时增删模块,各模块独立开发,便于机器人多样功能的自由组合。通过拆 解成不同节点和建立节点间的通信的方式,使得本来是非标准的机器人功能开发变得 标准化和可维护。 2. ROS的三种结构划分 2.1 按文件系统级 2.2 按计算图级 2.3 按社区级 3. ROS的主要组成元素 Repository Stack Package Nodes Messages Services Libraries Tools 4. ROS中Message/Topic的理解 5. ROS中Nodes/Publisher/Subscriber/Master的理解 6. ROS中Service的理解 7. ROS Message/Service的编写和编译 8. ROS Nodes的编写和编译 9. ROS Nodes的运行测试

READ MORE

ROS学习手记 - 8 编写ROS的Publisher and Subscriber

上一节我们完成了 message & srv 文件的创建和加入编译,这次我们要玩简单的Publisher 和 Subscriber 要玩 Publisher 和 Subscriber, 需要具备的条件有哪些呢?先总结一下:  创建并生成自己的Package,本次是 beginner_tutorials 创建并生成ROS message & srv 详细版的手记要看我上传到百度文库的文件了:http://wenku.baidu.com/view/f872755a26fff705cc170ade 这里会写个总结~ Writing a Simple Publisher and Subscriber (C++) This tutorial covers how to write a publisher and subscriber node in C++. ROS学习笔记10 - 编写编译和检验Service Node 百度文库:http://wenku.baidu.com/view/e14d5e18dd88d0d232d46a37 Writing a Service Node Here we'll create the service ("add_two_ints_server")node which will receive two ints and return the sum. Change directories to your beginner_tutorialspackage you created in your catkin workspace previous tutorials: cd ~/catkin_ws/src/beginner_tutorials Please make sure you have followed the directions in the previous tutorialfor creating the service needed in this tutorial,creating the AddTwoInts.

READ MORE