![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ROS笔记
文章平均质量分 66
ROS
不爱敲代码的郑小可
小白一枚
展开
-
ROS中常用的组件(一)----launch启动文件
启动launch文件可以同时启动多个节点<launch>(1) <launch>标签----所有 launch 文件的根标签,所有其它标签都是launch的子级标签。(2)<node> 标签----指定 ROS 节点 ,语法如下: <node pkg="节点包名" type="nodeType" name="nodeName" />// 在某些情况下,还有可能用到以下属性: // output="log | screen" 日志发送目标 //原创 2021-02-23 22:51:10 · 247 阅读 · 0 评论 -
ROS通信机制(三)--服务通信
服务通信涉及到三个角色:ROS master(管理者)、Server(服务端)、Client(客户端)ROS Master 负责保管 Server 和 Client 注册的信息,并匹配话题相同的 Server 与 Client ,帮助 Server 与 Client 建立连接,连接建立后,Client 发送请求信息,Server 返回响应信息实现需求:服务通信中,客户端提交两个整数至服务端,服务端求和并响应结果到客户端srv 文件内的可用数据类型与 msg 文件一致,且定义 srv 实现流程与自定原创 2021-02-19 22:55:39 · 410 阅读 · 0 评论 -
ROS常用组件(二)-----TF坐标变换
坐标变换是机器人系统中常用的基础功能,ROS中坐标变换由TF功能包维护。它可以根据时间缓冲并维护多个坐标系之间的坐标变换关系,目前 tf2 比 tf 用的多。1. 坐标变换常用msg1.1 geometry_msgs/TransformStamped–>用于传输坐标系相关位置信息命令行键入:rosmsg info geometry_msgs/TransformStampedstd_msgs/Header header #头信息 uint32 .原创 2021-02-26 12:38:09 · 832 阅读 · 0 评论 -
ROS参数服务器调用以及常用命令
参数服务器在ROS中主要用于实现不同节点之间的数据共享。案例:实现参数增删改查操作,以给小车设置参数为例C++实现在C++中提供了两套API,分别是:ros::NodeHandleros::param实现数据的新增和修改,功能包plumbing_param_server,新建文件demo01_set_param关键代码实现如下:/* 实现参数的新增与修改 需求:首先设置小车的共享参数,类型、半径(0.15m) 再修改半径(0.2m) 实现:原创 2021-02-20 13:09:42 · 758 阅读 · 0 评论 -
ROS学习--打印hello_vscode
vscode 使用的基本配置1 创建 ROS 工作空间mkdir -p xxx_ws/src //必须得有 srccd xxx_ws/catkin_make2 启动 vscodecd xxx_ws/code .3 vscode 中编译 ros快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build可以点击配置设置为默认,修改.vscode/tasks.json 文件复制下面的代码替换tasks.json文件里的内容{// 有关 task原创 2021-01-23 18:55:44 · 428 阅读 · 0 评论 -
ROS通信机制(二)--话题通信自定义msg
在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,但这些数据一般只包含一个 data 字段,当传输一些复杂的数据,可以使用自定义的消息类型案例需求:创建自定义消息,该消息包含人的信息:姓名、身高、年龄等并发布使消息被订阅创建自定义msg功能包下新建msg目录,添加Person.msgstring nameint32 agefloat32 height编译配置文件(包括package.xml和CMakeList.txt原创 2021-02-19 21:50:33 · 622 阅读 · 0 评论 -
ROS通信机制(一)--话题通信基本操作
话题通信话题通信是基于发布订阅模式的,即一个节点发布消息,另一个节点订阅该消息。流程:编写发布方实现–编写订阅方实现–(用python实现时,为python文件编写可执行权限)–编写配置文件–编译执行要求:编写发布订阅实现,要求发布以10Hz(每秒10次)的频率发布文本,订阅方订阅消息并将消息内容打印输出。前期准备工作:创建一个ROS功能包–vscode中编译ros(修改.vscode/tasks.json 文件)src目录下创建ros功能包、设置包名、添加依赖话题发布C++实现–>原创 2021-01-24 16:24:20 · 659 阅读 · 0 评论 -
ROS学习--打印helloworld
ROS使用不同语言实现流程大致如下:创建工作空间并初始化mkdir -p 自定义空间名称/srccd 自定义空间名称catkin_make创建一个工作空间以及一个 src 子目录,然后再进入工作空间调用 catkin_make命令编译。进入 src 创建 ros 包并添加依赖cd srccatkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs在工作空间下生成一个功能包,该功能包依赖于 roscpp、rospy 与 std_msgs,其中r原创 2021-01-23 18:13:47 · 703 阅读 · 0 评论