ROS开发入门基础指令(精简速查版)

说明

ROS基础指令及开发入门,参考ROS官方核心教程(http://wiki.ros.org/ROS/Tutorials,中文版http://wiki.ros.org/cn/ROS/Tutorials),这里记录自己学习教程时的提要和解决碰到问题的过程。

:学习环境:Ubuntu18.04 + ROS melodic.

ROS-环境与package的基本指令

检查变量环境

$ printenv | grep ROS

查看ROS_ROOT 和ROS_PACKAGE_PATH 等相关的变量是否设置到与该工程一致。否则 source ~/project-env/devel/setup.sh

查找ros包及其信息
$ rospack find [package_name]
$ roscd [package_name]
$ rosls [package_name]

注意:自定义的ros包查找之前,需要先编译,否则ROS找不到,可以在输入ROS包名的时候tab自动不全,如果不会自动不全,说明相关的包没有编译。编译后,在当前终端下是生效的,其他之前打开的终端依然无效,可以打开新终端。

复制ROS包文件到指定地方

$ roscp [package_name] [file_to_copy_path] [copy_path]

#如:将rospy_tutorials包下面的AddTwoInts.srv文件到当前目录srv文件夹下,并命名为AddTwoInts.srv
$ roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv

快捷打开一个ROS包中的文件

$ rosed [package] [filename]

文件将会在vim下打开。

使用rosed+tab tab浏览包中的文件

$ rosed [package] <tab><tab>

在这里插入图片描述

ros日志文件查询和清理

$ rosclean check
$ rosclean purge

新建一个ROS包

$ catkin_create_pkg [package_name] [depend1] [depend2] [depend3]

手动新建一个ROS包

  1. src下创建一个文件夹通常与package同名。
  2. package文件夹中加入package.xml,描述一个包参考如下,成功后使用rospack find [package]可以返回包的路径。更详细的说明参见http://wiki.ros.org/catkin/package.xml
<package>
  <name>foobar</name>
  <version>1.2.4</version>
  <description>
  This package provides foo capability.
  </description>
  <maintainer email="foobar@foo.bar.willowgarage.com">PR-foobar</maintainer>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>roscpp</build_depend>
  <build_depend>std_msgs</build_depend>

  <run_depend>roscpp</run_depend>
  <run_depend>std_msgs</run_depend>
</package>
  1. 同目录下新建CMakeLists.txt,编写cmake脚本,参考如下:具体可参考http://wiki.ros.org/catkin/CMakeLists.txt获取更多。
cmake_minimum_required(VERSION 2.8.3)
project(foobar)
find_package(catkin REQUIRED roscpp std_msgs)
catkin_package()

查看ros包的依赖

$ rospack depends1 [package_name]  #列出一级依赖(常用)

$ rospack depends [package_name]  #列出所有依赖

build一个ROS包

$ cd ~/catkin_ws		#进入到工作空间根目录
$ catkin_make

$ catkin_make --source [source_path]		#编译指定源文件目录

#如果没有实现添加到.bashrc,需要运行以下配置
$ . ~/catkin_ws/devel/setup.bash
#等效的
$ source ~/catkin_ws/devel/setup.bash

ROS-运行中的基础指令

运行ROS

$ roscore
#运行包中的节点
$ rosrun [pakage_name] [node_name]

以新名字运行的节点

$ rosrun [package_name] [node_name] __name:=[new_node_name]

查看运行的ROS节点

$ rosnode list

ping节点

$ rosnode ping my_turtle

查看节点连接图

$ rosrun rqt_graph rqt_graph
#或
$ rqt_graph

ROS-主题(topic)

查看ROS活跃的主题topic

$ rostopic list
$ rostopic list -v		#显示详细的信息,包含message名

查看topic中的message(即消息数据结构)

#查看消息名
$ rostopic type [topic_name]
#查看消息具体结构
$ rosmsg show [message_name]

在这里插入图片描述

查看topic中发布的实时message数据

$ rostopic echo [topic]

查看topic发布的频率

$ rostopic hz [topic]

在终端发布topic

#发布一次结束
$ rostopic pub -1 [topic] [msg_type] [args]
#以xHz频率发送
$ rostopic pub -r 1 [topic] [msg_type] [args]

例如:

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值