【ROS工具】ROS基础学习

本文介绍了ROS(Robot Operating System)的基础知识,包括ROS的主要组件如主节点、节点、功能包、消息、话题、服务和参数。还详细阐述了如何创建catkin工作空间、发布者节点、订阅者节点、话题、服务器和服务客户端,以及如何处理参数和坐标转换。通过实例演示了如何在ROS中进行实际操作。
摘要由CSDN通过智能技术生成

1、基本介绍

ROS(Robot Operating System)是一个机器人操作系统,开始于2007,三个中长期支持版本,对应着Ubuntu的三个LTS版本如下:
在这里插入图片描述
ROS术语

  • 主节点:ros master,对各节点进行连接
  • 节点:在ROS中运行的最小处理器单元。
  • 功能包:ROS的基本单元,ROS以功能包为单位进行开发元
  • 功能包:具有共一目标的功能的集合
  • 消息:即节点之间传输的数据都成为消息
  • 话题:订阅者和发布者之间用话题进行消息的传输,通过向主节点注册相同的话题,达到发布者和订阅者对改话题的传输
  • 服务:是服务客户端和服务器之间的同步双向消息的通讯,有 requist 和 respon
  • 动作:是在需要像服务那样的双向请求的情况下使用的消息通信方式,是动作客户端和动作服务器之间的通讯,有 goal、respon 和 feedback。
  • 参数:节点使用的参数。

基础指令
1、查看相关文件或安装包的路径使用rospack指令:rospack find [package_name],如 rospack find roscpp;
2、使用roscd指令,直接跳转到相应的路径中:
$ roscd [locationname[/subdir]]
$ pwd 如:roscd roscpp; pwd
$ roscd log 指令的使用:跳转到log 如果ros在运行某个节点的话,就会打印相应的log,如果没有运行ros的任何一个程序,则提示No active roscore
3、rosls指令的使用,查看相应的文件下有什么文件,如:rosls roscpp_tutorials

2、实际操作

1 .创建catkin_ws工作空间

  • 在想要放置的目录下打开终端,输入
    $mkdir -p catkin_ws/rcs;
    (-p是为了当没有上层目录时自动逐层创建,如假设没有catkin_ws目录就会自动创建改目录,如有则不创建)
  • 在~/catkin_ws/src目录下初始化工作空间:
    $catkin_init_workspace
  • 在~/catkin_ws/目录下catkin_make一下:
    $catkin_make
  • 设置环境变量:
    $source devel/setup.bash 或者 vi ~/.bashrc中增加 source ~/catkin_ws/devel/setup.bash(前者设置环境变量需要每次都运行改指令;后者只要在bashrc文件中添加一次,以后就可以不用再添加)
  • 检查环境变量:$echo $ROS_PACKAGE_PATH

2. 创建发布者Publisher节点功能包

  • 创建功能包文件夹:$ catkin_create_pkg [自定义功能报名字] [功能包义来功能包,如roscpp、rospy、std_msgs、geometry_msgs、turtlesim等],如
    $ catkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim
  • 在相应功能包的src文件夹中新建编写发布者Publisher节点文件,如下velocity_publisher.cpp文件:
    “velocity_publisher.cpp”
*
* 该例程将发布turtle1/cmd_vel话题,消息类型是 geometry_msgs::Twist
*/
#include<ros/ros.h>
#include<geometry_msgs/Twist.h>


int main(int argc, char **argv)
{
   
    //初始化节点
    ros::init(argv,argv,"velocity_publisher");

    //创建节点句柄
    ros::NodeHandle n;

    //创建一个Publisher,发布名为 turtle1/cmd_vel的topic,消息类型为geometry_msgs::Twist,消息队列长度为10
    ros::Publisher turtle_vel_pub 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值