一、准备工作

下载一个轻量级的模拟器

sudo apt-get install ros-kinetic-ros-tutorials

二、图概念的理解

1、Nodes:一个节点就是一个可执行文件,用来与其他节点进行通信

2、Topic:话题,节点可以发布消息到话题,也可以订阅话题以接受消息。

3、Master:节点管理器,帮助节点找到彼此

4、rosout:

5、roscore:主机 + rosout + 参数服务器

三、节点

一个节点不过是ROS程序包中的一个可执行文件

(1)ROS节点可以使用ROS客户库与其他节点通信

(2)节点可以发布或者接受一个话题。

(3)节点可以提供或使用某项服务

四、客户端库

ROS客户端库允许使用不同编程语言编写的节点之间互相通信:

  • rospy = python 客户端库

  • roscpp = c++ 客户端

五、Roscore

是执行所有ROS程序前必须执行的指令,执行后会出现如图信息

六、使用rosnode

打开新的终端,使用rosnode去看看运行orscore所做的。(什么鬼)

1、rosnode显示当前运行的ROS节点信息。

rosnode list       列出活跃的节点

此时应该会看到

这表示只有一个节点在运行,而rosout是用来收集和记录节点调试输出信息的,所以它总是运行。

2、rosnode info  这条命令可以返回一个特定节点的信息。

rosnode info /rosout

这样返回了很多关于rosout的相关信息

七、使用rosrun

1、作用:

   rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)。

2、用法:

rosrun [package_name] [node_name]

3、一个例子

运行:

rosrun turtlesim turtlesim_node

出现

在一个新的终端中运行:

rosnode list

可以看到有2个节点在运行

然后重要的是ROS一个很强大特性:可以通过命令行重新配置名称

首先,关闭前面所有的终端(使用Ctrl +C),关闭之后运行

rosrun turtlesim turtlesim_node __name:=my_turtle

  现在,我们退回使用 rosnode list,会输出

/rosout
/my_turtle

八、rosnode全部api

最新文章

  1. url中的特殊符号含义
  2. 简单了解ICMP协议
  3. windows2003安装TestDirector8.0 安装时输入用户名密码 提示错误
  4. javascript unit testing
  5. docker-compose安装使用
  6. PHP 数组排序
  7. C#:实现接口中定义的事件
  8. 爬虫学习----pattern
  9. 使用jstack分析java程序cpu占用率过高
  10. 关于Cococs中的CCActionEase(下)
  11. Nginx的Upload上传模块
  12. Entity Framework with MySQL
  13. js闭包(转)
  14. Java 面试总结(一) —— 面试常问的关键字总结
  15. apache设置跨域请求
  16. P2178 [NOI2015]品酒大会
  17. 更改TestStep的request header和获取TestStep的response header
  18. Java加载dll或so库文件的路径 java.library.path
  19. 网络编程 tftp下载文件的编程
  20. 回归JavaScript基础(五)

热门文章

  1. 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
  2. OpenNebula学习第四节之磁盘镜像的制作
  3. mysql游标的使用 No data - zero rows fetched, selected
  4. WDCP,LNMP安装PHP缓存加速扩展eAccelerator,xcache和memcached
  5. SliTaz 从入门到精通
  6. it 建设工具一览
  7. SpringMVC框架使用注解执行定时任务(转)
  8. shell 截取变量的字符串(转)
  9. Windows Python+Eclipse环境配置
  10. Markdown中实时显示数学公式的方法