ros常用命令记录
文章目录
- 1.基本
- 2.rosbag
- 2.1录制rosbag包
- 2.2播放录制的ROS包
- 3.生命周期
- 4.ROS启动,roslaunch
- 5.ROS消息发布
- 6.ROS消息后台打印监控
1.基本
ros2 topic list #查看话题列表
2.rosbag
2.1录制rosbag包
ros2 bag record <topic_name> #记录单个主题消息
ros2 bag record -o <file_name> <topic_name_1> <topic_name_2>...<topic_name_n> #记录多个主题消息
ros2 bag record -a #记录系统内所有主题消息
记录多个主题消息的脚本 record.sh
#!/bin/bash
# 获取当前时间戳,用于生成唯一的文件名
timestamp=$(date +%Y%m%d_%H%M%S)
# 定义输出文件名
output_file="trajec_record_${timestamp}.bag"# 记录指定话题的数据到bag文件中
# for plot
ros2 bag record \/topic_name1 \/topic_name2 \.../topic_namen \-o $output_file
ros2 bag info <file_dir_name> #查看ros包的信息
2.2播放录制的ROS包
ros2 bag play <file_dir_name>
3.生命周期
plan_life.sh
ros2 lifecycle set topic_name configure
ros2 lifecycle set topic_name activate
PS:生命周期结点:
rclcpp::node --> 变为 const rclcpp_lifecycle::LifecycleNode::SharedPtr node
4.ROS启动,roslaunch
ros2 run node_name node_name #包启动
ros2 launch node_name node_name.launch.py #launch启动
5.ROS消息发布
ros2 topic pub --rate 10 /decision/motion_command std_msgs/UInt32 "{data: 45}"
ros2 topic pub --once /file_name std_msgs/String "{data: '/homeuser/file_name.csv'}"
6.ROS消息后台打印监控
ros2 topic echo /topic_name | grep "position" -C 4 #grep其中的关键字
相关文章:
ros常用命令记录
文章目录 1.基本2.rosbag2.1录制rosbag包2.2播放录制的ROS包 3.生命周期4.ROS启动,roslaunch5.ROS消息发布6.ROS消息后台打印监控 1.基本 ros2 topic list #查看话题列表2.rosbag 2.1录制rosbag包 ros2 bag record <topic_name> #记录单个主题消息 ros2 ba…...
UE5材质节点VertexNormalWs/PixelNormalWS
VertexNormalWs顶点法线方向,此节点可以做物体上积雪、青苔等效果 PixelNormalWS像素法线方向...
友元和运算符重载
1. 友元 可以把某些选定的函数看作类的“荣誉函数”,允许它们访问类对象中非公共的成员,就好像它们是类的成员一样,这种函数称为类的友元。友元可以访问类对象的任意成员。 1.1 友元函数 友元函数是一种定义在类外部的普通函数࿰…...
【数据库事务锁的类型:读锁/写锁、悲观锁/乐观锁、表锁/页锁/行锁】
数据库事务锁的类型:读锁/写锁、悲观锁/乐观锁、表锁/页锁/行锁 一、读锁/写锁1、锁定读 二、悲观锁/乐观锁2.1 悲观锁2.2 乐观锁 三、表锁/页锁/行锁3.1 表级别的S锁、X锁3.2 表级别的意向锁(intention lock) 一、读锁/写锁 对于数据库中并…...
【Motion Builder】配置c++插件开发环境
目录 准备环境构建官方案例另行构建经验分享附录 准备环境 安装Motion Builder 2024并破解安装Qt 5.15.2 截止至2024年12月19日,Qt的在线安装器的默认页面是没有5.15.2版本的。你需要:在“选择组件”界面,选择“Archive”,点击“…...
多线程访问FFmpegFrameGrabber.start方法阻塞问题
一、背景 项目集成网络摄像头实现直播功能需要用到ffmpeg处理rtmp视频流进行web端播放 通过网上资源找到大神的springboot项目实现了rtmp视频流转为http请求进行视频中转功能,其底层利用javacv的FFmpegFrameGrabber进行拉流、推流,进而实现了视频中转。 …...
MySQL使用记录
char和varchar varchar是可变长的,实际用多少它就占多少,和char不同,char规定多少它就会占多少 varchar的长度是字符个数,不管是数字、英文还是汉字,varchar(10)都可以存10个,而不会出现因为汉字占更多的字…...
【视觉SLAM:六、视觉里程计Ⅰ:特征点法】
视觉里程计(Visual Odometry, VO)是通过处理图像序列,估计摄像头在时间上的相对位姿变化的技术。它是视觉SLAM的重要组成部分之一,主要通过提取图像中的信息(如特征点或直接像素强度)来实现相机运动估计。以…...
Python 数据结构揭秘:栈与队列
栈(Stack) 定义 栈是一种后进先出(Last In First Out, LIFO)的数据结构。它类似于一个容器,只能在一端进行插入和删除操作。栈有两个主要的操作:push(入栈)和 pop(出栈…...
常见的框架漏洞
1.Thinkphp Thinkphp5x远程命令执行及getshell 搭建靶场 cd vulhub/thinkphp/5-rce docker-compose up -d 首页 漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖,通过覆盖类的核心属性filter导致rce,其攻击点较为多&…...
在C++中实现一个能够捕获弹窗、检查内容并在满足条件时点击按钮的程序;使用python的方案
在C中实现一个能够捕获弹窗、检查内容并在满足条件时点击按钮的程序是相当复杂的,因为C本身并不直接提供高级的GUI自动化功能。通常,这样的任务会使用Windows API(如User32.dll中的函数)或者一些第三方库(如UIAutomati…...
《Vue3实战教程》26:Vue3Transition
如果您有疑问,请观看视频教程《Vue3实战教程》...
【架构设计(一)】常见的Java架构模式
常见的 Java 架构模式解析 在 Java 开发领域,选择合适的架构模式对于构建高效、可维护且能满足业务需求的软件系统至关重要。本文将深入探讨几种常见的 Java架构模式,包括单体架构与微服务架构、分层架构与微服务架构的对比,以及事件驱动架构…...
自定义有序Map
package cn.ziqirj.common.utils;import lombok.Getter; import lombok.Setter;import java.util.ArrayList; import java.util.List;/*** 模拟Map集合,key不可重复,按插入顺序排序* author zhangji** param <T>*/ public class CustomOrderlyMap&…...
Jenkins(持续集成与自动化部署)
Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具。 官网:https://www.jenkins.io/ GitLab安装使用 安装前提:内存至少需要4G 官方网站:https://about.gitlab.com/ 安装文档:https://docs.gitlab.c…...
redis7基础篇2 redis的哨兵模式2
目录 一 哨兵模式 1.1 redis的哨兵模式作用 1.2 redis的哨兵模式架构 1.3 redis的哨兵模式参数说明 二 redis的哨兵模式搭建 2.1 redis的主从复制模式 2.2 redis的sentinel配置文件 2.3 redis的实例节点和sentinel节点启动 3.3 redis的哨兵模式原理 3.3.1 redis的哨兵…...
windows终端conda activate命令行不显示环境名
问题: 始终不显示环境名 解决 首先需要配置conda的环境变量 确保conda --version能显示版本 然后对cmd进行初始化,如果用的是vscode中的终端,那需要对powershell进行初始化 Windows CMD conda init cmd.exeWindows PowerShell conda …...
SpringBoot 2.6 集成es 7.17
引言 在现代应用开发中,Elasticsearch作为一个强大的搜索引擎和分析引擎,已经成为许多项目不可或缺的一部分。Spring Boot作为Java生态中最受欢迎的微服务框架之一,其对Elasticsearch的支持自然也是开发者关注的焦点。本文将详细介绍如何在S…...
加固服务器有什么用?
为什么越来越多的企业和个人都在加固他们的服务器?加固服务器不仅可以保护数据安全,还能提升整体系统的稳定性和可靠性。下面是聚名网的一些介绍。 加固服务器的首要目的就是提高安全性。随着网络攻击手段的不断演变,黑客和恶意软件的威胁也…...
Personal APP
1、Matlab 2023b https://www.bilibili.com/opus/887246540317392920 https://blog.csdn.net/qq_25719943/article/details/138096918 https://www.jokerdown.com/22886.html 2、 3、...
如何设置密码复杂度策略以约束MongoDB用户的密码强度
启用 pwdPolicy 前必须开启 --auth 或 security.authorization: enabled,否则策略被忽略;setSecuritySettings 仅对新用户或手动改密生效;仅 minLength 和 characterClassCount 有效,其他字段未实现。启用 pwdPolicy 前必须开启访…...
你的IoT设备安全吗?从STM32的RNG寄存器配置到生成加密密钥的完整流程
你的IoT设备安全吗?从STM32的RNG寄存器配置到生成加密密钥的完整流程 在物联网设备爆炸式增长的今天,安全性已成为产品设计的核心考量。想象一下,当你的智能门锁、健康监测设备或工业传感器通过网络交换数据时,如果加密密钥可以被…...
告别重启大法:详解CentOS/Ubuntu网络配置文件的正确修改姿势与避坑指南
告别重启大法:详解CentOS/Ubuntu网络配置文件的正确修改姿势与避坑指南 每次修改完Linux服务器网络配置后,你是否总在纠结该用systemctl restart network还是nmcli?是否经历过配置明明正确却死活不生效的抓狂时刻?本文将带你深入理…...
在setting菜单里显示的有些字符 不正常,
比如时间 显示的不是正常字体,location 下面显示的字体也是不正常的。在setting菜单里显示的有些字符 不正常,比如时间 显示的不是正常字体,location 下面显示的字体也是不正常的。设置菜单(Settings)中出现字符显示异…...
FPGA--Verilog 实现乒乓操作:从原理到工程实践(附完整代码)
1. 什么是乒乓操作? 乒乓操作是FPGA设计中一种经典的数据缓冲技术,它的核心思想就像打乒乓球一样,两个存储单元轮流接收和输出数据。想象一下有两个水桶,当一个水桶在接水时,另一个水桶在倒水,如此反复交替…...
G-Helper实战指南:华硕笔记本轻量级性能控制完整解决方案
G-Helper实战指南:华硕笔记本轻量级性能控制完整解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix,…...
从PC到手机:聊聊高通骁龙平台上的UEFI启动,和传统LK有啥不一样?
从PC到手机:高通骁龙平台UEFI启动架构深度解析 在移动设备启动流程的演进历程中,UEFI(统一可扩展固件接口)的引入堪称一场静默革命。作为曾经主导PC领域的启动标准,UEFI如今正在重塑Android设备的启动架构。对于熟悉Li…...
Netty实战避坑:ChannelInboundHandlerAdapter和SimpleChannelInboundHandler到底怎么选?别再乱用了
Netty处理器选择实战:ChannelInboundHandlerAdapter与SimpleChannelInboundHandler深度解析 在构建高性能网络应用时,Netty作为Java领域最成熟的NIO框架之一,其处理器(Handler)的设计直接影响着系统的稳定性和资源利用…...
红外遥控模块实战:从解码到智能控制全解析
1. 红外遥控模块基础认知 第一次接触红外遥控模块时,我盯着桌上那个黑色的小方块研究了半天——它看起来就像个普通电子元件,却能隔空控制空调电视。这种神奇的能力其实源于红外光的特性:波长介于可见光和微波之间(通常850-1100nm…...
