ROS基础-基本概念和简单工具(1)

1、什么是ROS?

Robot operating System ,简单说机器人操作系统,弱耦合的分布式进程框架,通过进程间的消息传递和管理。实现硬件抽象和设备控制。

2、节点(node)

  • node 是ROS的核心实体。
  • 一段ROS程序
  • 使用ROS的中间件进行通信
  • 节点之间可以独立的启动和停止

3、和节点相关的概念

  • message
  • topic
  • roscore :
  1. 有且只有一个roscore 可以运行
  2. 必须首先启动roscore
  3. 负责调度通信
  4. 发布器节点和roscore通信(如初始化一个topic)
  • publisher、subscriber

4、工具

  catkin_create_pkg: 创建一个package

  catkin_make: 编译ROS程序

  rosrun: 运行ros程序

  rostopic: 主题有关的命令

      rostopic list  ;   rostopic hz topic1; rostopic bw topic1;  rostopic info topic1;  rostopic echo topic1

  rosnode list :  产看运行的节点列表

  roslaunch : 通过编辑.launch 的文件自动启动多个节点

  rosbag : 对话题数据的记录和回放

      rosbag record topic1

      rosbag play   name1.bag

扫描二维码关注公众号,回复: 7837530 查看本文章

         rqt_plot: 对结果的可视化

5、常用工具详细介绍

catkin_create_pkg:

  catkin_create_pkg   [packageNmae]  [依赖项]

  

  依赖项: roscpp:  使用c++编译器,兼容c++接口;  std_msgs:  ros预定义的数据类型

  

catkin_make:

  package.xml :  组织ROS程序包,命名程序包名称、依赖项

         <name></name>

         <build_depend></build_depend>

         <run_depend></run_depend>

         

  CMakeLists.txt  : 一个简单示例如下

cmake_minimum_required(VERSION 2.8.3)
project(demo-proj1-nodes) # package name

find_package(catkin REQUIRED COMPONENTS
    roscpp
    std_msgs
)

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES my_minimal_nodes
#  CATKIN_DEPENDS roscpp std-msgs
#  DEPENDS system_lib
)

include_directories(
 include ${catkin_INCLUDE_DIRS}
)

add_executable(my_minimal_publisher src/minimal_publisher.cpp)
add_executable(my_minimal_publisher2 src/sleep_minimal_publisher.cpp)


target_link_libraries(my_minimal_publisher
   ${catkin_LIBRARIES}
)
target_link_libraries(my_minimal_publisher2
   ${catkin_LIBRARIES}
)
View Code

  编译命令:catkin_make

  

   编译后会有,devel 和build 两个文件夹

rosrun:

  首先使用添加环境变量: source ./devel/setup.bash

         rosrun [package-name] [可运行程序名称]

  

  

猜你喜欢

转载自www.cnblogs.com/feihu-h/p/11839316.html