ros
文章平均质量分 67
ros学习记录
StudyWinter
持续学习
展开
-
【ROS】实操_参数设置
需求描述:修改turtlesim乌龟显示节点窗体的背景色,已知背景色是通过参数服务器的方式以 rgb方式设置的。结果演示:实现分析: 首先,需要启动乌龟显示节点。 要通过ROS命令,来获取参数服务器中设置背景色的参数。 编写参数设置节点,修改参数服务器中的参数值。 实现流程: 通过ros命令获取参数。 编码实现服参数设置节点。 启动 roscore、turtlesim_node 与参数设置节点,查看运行结果。 1.参数名获取获.原创 2021-08-10 22:54:17 · 972 阅读 · 0 评论 -
【ROS】实操_ 服务调用
需求描述:编码实现向 turtlesim 发送请求,在乌龟显示节点的窗体指定位置生成一乌龟,这是一个服务请求操作。结果演示:实现分析: 首先,需要启动乌龟显示节点。 要通过ROS命令,来获取乌龟生成服务的服务名称以及服务消息类型。 编写服务请求节点,生成新的乌龟。 实现流程: 通过ros命令获取服务与服务消息信息。 编码实现服务请求节点。 启动 roscore、turtlesim_node 、乌龟生成节点,生成新的乌龟。 1.服务名原创 2021-08-10 22:45:22 · 2343 阅读 · 0 评论 -
【ROS】ROS运行turtle_tf遇到的问题和解决方案
在测试乌龟跟随案例中,运行roslaunch turtle_tf2 turtle_tf2_demo_cpp.launch没有问题;但是运行roslaunch turtle_tf2 turtle_tf2_demo.launch一直乌龟可以移动,但是另外一直乌龟出不来。会出现/usr/bin/env: ‘python’: No such file or directory,是因为在其目录中找的是python的编译器,但是ROS安装是安装的是python3.8(这里以noetic)原创 2021-08-09 09:27:50 · 1321 阅读 · 0 评论 -
【ros】[rospack] Error: package ‘teleop_twist_keyboard‘ not found
在ubuntu20.4的终端运行rosrun teleop_twist_keyboard teleop_twist_keyboard.py发现报错。找不到该包。解决:1、进入工作空间的src下,例如:cd ros/demo01/src【demo01是工作空间】如果没有则创建。【mkdir -p demo01/src】2、在src路径下,输入git clone https://github.com/ros-teleop/teleop_twist_keyboard.原创 2021-08-06 22:00:51 · 13256 阅读 · 7 评论 -
【ROS】实操_话题订阅
需求描述: 已知turtlesim中的乌龟显示节点,会发布当前乌龟的位姿(窗体中乌龟的坐标以及朝向),要求控制乌龟运动,并时时打印当前乌龟的位姿。结果演示:实现分析: 首先,需要启动乌龟显示以及运动控制节点并控制乌龟运动。 要通过ROS命令,来获取乌龟位姿发布的话题以及消息。 编写订阅节点,订阅并打印乌龟的位姿。 实现流程: 通过ros命令获取话题与消息信息。 编码实现位姿获取节点。 启动 roscore、turtlesim_node 、控原创 2021-03-14 23:00:10 · 1136 阅读 · 0 评论 -
【ROS】实操_话题发布
需求描述:编码实现乌龟运动控制,让小乌龟做圆周运动。结果演示:实现分析: 乌龟运动控制实现,关键节点有两个,一个是乌龟运动显示节点 turtlesim_node,另一个是控制节点,二者是订阅发布模式实现通信的,乌龟运动显示节点直接调用即可,运动控制节点之前是使用的turtle_teleop_key通过键盘控制,现在需要自定义控制节点。 控制节点自实现时,首先需要了解控制节点与显示节点通信使用的话题与消息,可以使用ros命令结合计算图来获取。 了解了话题与消息之后,通过原创 2021-03-12 14:54:00 · 2106 阅读 · 0 评论 -
【ROS】参数服务器
参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据,关于参数服务器的典型应用场景如下:导航实现时,会进行路径规划,比如: 全局路径规划,设计一个从出发点到目标点的大致路径。本地路径规划,会根据当前路况生成时时的行进路径上述场景中,全局路径规划和本地路径规划时,就会使用到参数服务器: 路径规划时,需要参考小车的尺寸,我们可以将这些尺寸信息存储到参数服务器,全局路原创 2021-03-11 17:52:56 · 2187 阅读 · 0 评论 -
【ROS】服务通信
服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A。比如如下场景:机器人巡逻过程中,控制系统分析传感器数据发现可疑物体或人... 此时需要拍摄照片并留存。在上述场景中,就使用到了服务通信。 一个节点需要向相机节点发送拍照请求,相机节点处理请求,并返回处理结果 与上述应用类似的,服务通信更适用于对时时性有要求、具有一定逻辑处理的应用场景。概念以请求响应的方式实现不原创 2021-03-09 21:56:35 · 2092 阅读 · 0 评论 -
【ROS】话题通信
话题通信是ROS中使用频率最高的一种通信模式,话题通信是基于发布订阅模式的,也即:一个节点发布消息,另一个节点订阅该消息。话题通信的应用场景也极其广泛,比如下面一个常见场景:机器人在执行导航功能,使用的传感器是激光雷达,机器人会采集激光雷达感知到的信息并计算,然后生成运动控制信息驱动机器人底盘运动。在上述场景中,就不止一次使用到了话题通信。 以激光雷达信息的采集处理为例,在 ROS 中有一个节点需要时时的发布当前雷达采集到的数据,导航模块中也有节点会订阅并解析雷达数据。 再以运动原创 2021-03-07 20:49:34 · 2140 阅读 · 0 评论 -
【ros】ROS架构
立足不同的角度,对ROS架构的描述也是不同的,一般我们可以从设计者、维护者、系统结构与自身结构4个角度来描述ROS结构:1.设计者ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilities + Ecosystem” Plumbing: 通讯机制(实现ROS不同节点之间的交互) Tools :工具软件包(ROS中的开发和调试工具) Capabilities :机器人高层技能(ROS中某些功能的集合,比如:导航) Ecosy原创 2021-03-05 14:57:05 · 947 阅读 · 0 评论 -
ubuntu下VS code关于ros的设置
1、tasks.json修改成{ // 有关 tasks.json 格式的文档,请参见 // https://go.microsoft.com/fwlink/?LinkId=733558 "version": "2.0.0", "tasks": [ { "label": "catkin_make:debug", //代表提示的描述性信息 "type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,原创 2021-02-26 14:40:57 · 293 阅读 · 1 评论