如何做自己的网站链接官方网站平台有哪些

diannao/2026/1/25 19:14:59/文章来源:
如何做自己的网站链接,官方网站平台有哪些,怎么和其它网站做友情链接,旅游网站设计与实现ROS 系列学习教程(总目录) 本文目录 1. 构造函数与关闭文件2. 属性值3. 写bag文件内容4. 读bag文件内容5. 将bag文件缓存写入磁盘6. 重建 bag 文件索引7. 获取bag文件的压缩信息8. 获取bag文件的消息数量9. 获取bag文件记录的起止时间10. 获取话题信息与消息类型 rosbag 的 Pyt…ROS 系列学习教程(总目录) 本文目录 1. 构造函数与关闭文件2. 属性值3. 写bag文件内容4. 读bag文件内容5. 将bag文件缓存写入磁盘6. 重建 bag 文件索引7. 获取bag文件的压缩信息8. 获取bag文件的消息数量9. 获取bag文件记录的起止时间10. 获取话题信息与消息类型 rosbag 的 Python API 主要位于 rosbag 包的 Bag 类中通过 import rosbag 导入。 Bag 类中的常用接口如下 1. 构造函数与关闭文件 class Bag(f: Any,mode: str r,compression: str Compression.NONE,chunk_threshold: int 768 * 1024,allow_unindexed: bool False,options: Any | None None,skip_index: bool False )class Compression:NONE noneBZ2 bz2LZ4 lz4close(self)其中 fbag文件 mode文件操作模式r, w, a compression文件压缩模式见如上 Compression 默认Compression.NONE chunk_thresholdBag 文件中每个块的最大字节数默认 768 * 1024 allow_unindexed是否允许打开未建立索引的bag文件。说明在实际使用中如果你只是想查看或播放bag文件中的所有消息而不需要基于时间戳进行精确查询那么你可以将 allow_unindexed 设置为 True。但是如果你打算对bag文件进行基于时间的查询或其他高级操作最好先使用 rosbag index 命令建立索引并确保在打开bag文件时 allow_unindexed 为 False或者简单地省略该参数因为它默认为 False。 options字典格式用于统一设置 Bag 的参数目前只支持 compression 和 chunk_threshold 源码处理如下 if options is not None:if type(options) is not dict:raise ValueError(options must be of type dict) if compression in options:compression options[compression]if chunk_threshold in options:chunk_threshold options[chunk_threshold]skip_index打开bag文件时是否跳过文件的索引这可以节省一些内存和加载时间特别是在处理非常大的bag文件时。然而这也意味着将无法使用基于索引的高级查询功能比如按时间戳搜索特定的消息。 2. 属性值 # 只能获取 options # 同上options filename # bag文件名 version # rosbag的版本号 mode # 文件操作模式r, w, a size # Bag文件的大小bytes# 可设置可获取 compression # 文件压缩模式 chunk_threshold # Bag 文件中每个块的最大字节数3. 写bag文件内容 write(self, topic, msg, tNone, rawFalse, connection_headerNone)其中 topic写入的topic名称msg写入的msgt时间戳默认None以当前时间为时间戳raw是否已原始数据格式写入通常不推荐这样做。connection_header连接头信息通常不需要手动设置。通常用于内部处理不是常规用法的一部分。 代码示例 import rosbag import rospkg from std_msgs.msg import Int32, Stringrospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bagsbag rosbag.Bag(bags_path/pytest.bag, w)try:s String()s.string helloi Int32()i.int 42bag.write(/chatter, s)bag.write(/number, i)finally:bag.close()4. 读bag文件内容 read_messages(self, topicsNone, start_timeNone, end_timeNone, connection_filterNone, rawFalse, return_connection_headerFalse)其中 topics指定读取的topic可以是一个topic列表如果不指定默认读取全部topic可选start_time通过时间戳过滤消息消息的最早时间戳rospy.Time对象可选end_time通过时间戳过滤消息消息的最晚时间戳rospy.Time对象可选connection_filter一个函数用于过滤连接。它应该接受一个连接对象并返回一个布尔值以决定是否保留该连接的消息。如果为 None则不过滤连接。raw一个布尔值指定是否以原始字节形式返回消息。如果为 True则返回原始字节数据如果为 False默认值则返回解析后的 ROS 消息对象。return_connection_header 一个布尔值如果为 True则返回的每条消息都会是一个元组其中第二个元素是连接头信息。如果为 False默认值则只返回消息本身。返回值以topic, message, timestamp格式返回 代码示例 import rosbag import rospkgrospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bagsbag rosbag.Bag(bags_path/pytest.bag)for topic, msg, t in bag.read_messages(topics[/chatter, /number]):print(fReceived message on topic {topic} at time {t}: {msg})bag.close()结果如下 5. 将bag文件缓存写入磁盘 flush(self)当你使用 write() 写入数据到 bag 文件时数据可能不会立即被写入磁盘而是会先被缓存起来以提高性能。调用 flush() 方法可以强制将这些缓存的数据写入到磁盘中以确保所有挂起的数据都被写入到 bag 文件中。 它没有参数并且执行后没有返回值。 在以下情况下可能需要调用 flush() 方法 确保数据持久化当你想要确保所有已经写入 rosbag.Bag 对象的数据都已经持久化到磁盘上时可以调用 flush()。这在你准备关闭 bag 文件或程序即将退出时特别有用以确保不会有数据丢失。 实时备份如果你正在实时记录数据到 bag 文件并且想要定期备份这些数据你可以在备份之前调用 flush()以确保备份时所有需要的数据都已经写入到 bag 文件中。 代码示例 import rospy import rosbag import rospkg from std_msgs.msg import String, Int32rospy.init_node(bag_writer) rospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bags# 创建一个bag文件用于写入 with rosbag.Bag(bags_path /flush.bag, w) as bag:# 写入一条消息msg String(dataHello, ROSbag!)bag.write(/chatter, msg, rospy.Time.now())# 在写入更多消息之前调用flush()bag.flush()# 这里可以继续写入更多消息msg Int32(data25)bag.write(/number, msg, rospy.Time.now())# 在退出with块之前flush()会被自动调用如果需要的话查看bag文件信息如下 6. 重建 bag 文件索引 reindex(self)当使用 rosbag 记录或播放数据时rosbag 会维护一个内部索引以便能够高效地检索和访问数据。然而有时索引可能会损坏或变得不一致这时就需要使用 reindex 方法来重新构建索引。 reindex(self) 方法没有参数它会对当前打开的 bag 文件执行索引重建操作。重建索引可能需要一些时间具体取决于 bag 文件的大小和内容。 以下是可能需要使用 reindex 方法的一些场景 索引损坏如果你怀疑 bag 文件的索引已经损坏或不一致导致无法正常访问数据你可以尝试使用 reindex 方法来修复它。 添加新数据如果你在 bag 文件关闭后向其中添加了新数据但没有重新构建索引那么这些新数据将不会被包含在旧的索引中。在这种情况下你需要调用 reindex 方法来更新索引以便能够访问这些新数据。 优化性能有时即使索引没有损坏重新构建索引也可能有助于提高访问数据的性能。特别是当 bag 文件非常大或包含大量数据时重建索引可以帮助优化数据结构提高检索速度。 代码示例 import rosbag import rospkgrospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bagswith rosbag.Bag(bags_path/pytest.bag, r) as bag:try:for topic, msg, t in bag.read_messages():print(fReceived message on topic {topic} at time {t}: {msg})except Exception as e:print(fAn error occurred while reading the bag file: {e})print(Reindexing the bag file...)bag.reindex() # 尝试重新索引 bag 文件print(Reindexing completed.)# 现在可以正常使用 bag 文件中的数据了7. 获取bag文件的压缩信息 get_compression_info(self)这个方法返回一个tuple(str, int, int)其中包含了关于 bag 文件压缩的详细信息每一位表示如下 tuple[0]压缩格式例如 none表示没有压缩或 bz2表示使用了 bzip2 压缩。tuple[1]未压缩的数据大小以字节为单位tuple[2]压缩后的数据大小以字节为单位 代码示例 import rosbag import rospkg rospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bags# 打开一个存在的 bag 文件 with rosbag.Bag(bags_path/pytest.bag, r) as bag:# 获取压缩信息compression_info bag.get_compression_info()# 打印压缩信息if compression_info:print(Compression Type:, compression_info[0])print(UnCompressed Size:, compression_info[1])print(compressed Size:, compression_info[2])else:print(The bag file is not compressed.)8. 获取bag文件的消息数量 get_message_count(self, topic_filtersNone)这个方法允许你指定一个或多个话题过滤器topic_filters以便只计算特定话题的消息数。该参数接收一个字符串或字符串列表用于指定要计算消息数的话题。如果未提供或设置为 None则计算 bag 文件中所有话题的消息数。 代码示例 import rosbag import rospkg rospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bags# 打开一个存在的 bag 文件 with rosbag.Bag(bags_path/pytest.bag, r) as bag:# 定义我们想要计算消息数的话题过滤器列表topic_filters [/chatter, /number]# 获取指定话题的消息数量message_counts bag.get_message_count(topic_filterstopic_filters)# 打印话题的消息数量print(fMessage Count: {message_counts})9. 获取bag文件记录的起止时间 get_start_time(self) get_end_time(self)get_start_time 函数的返回类型是 float表示以秒为单位的时间戳其中的小数部分表示秒的分数。 代码示例 import rosbag import rospkg from datetime import datetimerospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bags# 打开一个存在的 bag 文件 with rosbag.Bag(bags_path/pytest.bag, r) as bag:# 获取 bag 文件的开始结束时间start_time bag.get_start_time()end_time bag.get_end_time()# 将时间转换为更易读的字符串格式start_time_str datetime.fromtimestamp(start_time)end_time_str datetime.fromtimestamp(end_time)# 打印开始结束时间print(fBag file start time: {start_time_str})print(fBag file end time: {end_time_str})运行结果如下 10. 获取话题信息与消息类型 get_type_and_topic_info(self, topic_filtersNone)其中topic_filters 用于过滤指定的话题如果没有提供则分析所有话题。 函数返回值类型如下 TypesAndTopicsTuple(dict(str, str), dict(str, TopicTuple(str, int, int, float)))其中各值说明如下 TypesAndTopicsTuple(msg_types{key:type name, val: md5hash}, topics{key: topic name, value: TopicTuple(msg_type: msg type (Ex. std_msgs/String),message_count: the number of messages of the particular type,connections: the number of connections,frequency: the data frequency)})其中 msg_types是一个字典key为msg类型value为msgMD5值。topics是一个字典key为topic名称value是一个元组其中 msg_type该topic的消息类型message_count该topic的消息数量connections该topic的连接数量frequency该topic的数据频率 代码示例 import rosbag import rospkg from datetime import datetimerospack rospkg.RosPack() package_path rospack.get_path(rosbag_learning) bags_path package_path /bags# 打开一个存在的 bag 文件 with rosbag.Bag(bags_path/pytest.bag, r) as bag:topic_filters [/chatter, /number]msg_types, topics bag.get_type_and_topic_info(topic_filters)print(Message Types:)for type_name, md5_hash in msg_types.items():print(f {type_name}: {md5_hash})print(Topics:)for type_name, topic_info in topics.items():print( Topic: {}, Type: {}, MessageCount: {}, Connections: {}, Frequency: {}.format(type_name, topic_info.msg_type, topic_info.message_count, topic_info.connections,topic_info.frequency))运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海住房和城乡建设部网站官网学做网站可以赚钱吗

有两种Java运行环境(JRE),公有JRE (public JRE)与私有JRE(private JRE)。JDK安装程序会安装私有JRE和一个可选的公有JRE。私有JRE完全包含在JDK的安装路径下,仅对JDK可见,为JDK所用。公有JRE为系统中所有的Java程序共享,具有独立的…

wordpress多站点配置教程佛山做网站有哪几家

前段时间在调试FT-M6678和C6678的板卡,结果中途来了一个T2080网络配置的更改需求,就临时处理了一下,花了一点功夫,记录下来,为大家做个参考。 这个问题完成后,就得继续开发FT-M6678了~ uboot下面phy配置更…

素材网站哪个最好中国制造网站上的聊天怎么做

介绍 Laf 是一个完全开源的 Serverless 框架,Laf 的 Node.js 运行时容器 (以下简称为 Runtime) 是 Laf 的函数执行环境,依托于 Express.js 框架。采用容器进程常驻的方式,每一个应用对应于一个或多个容器 (弹性伸缩下),底层使用了…

做网站的的人收入多少钱电子商务网站开发项目

目录 1.C#的dll注册为COM,采用bat的方式 2.通过qt的dumpcpp来生成h及cpp文件 3.h文件和cpp文件处理。 台达数控系统的C#的dll dumpcpp用的tlb文件 dumpcpp生成的原生h文件 dumpcpp生成的原生cpp dump生成后的的原生cpp文件修改后的cpp文资源 dump生成后的的…

企业设计网站公司排名重庆网络教育学院官网

建议使用 root 管理员账户操作 1、安装工具 1、apache 2、.Net Core(dotnet-sdk-2.0) 3、Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站) 2、安装apache 在安装apache之前,要先做一件事就是,把当前登…

密云成都网站建设wordpress提示插件安装插件

据说2021年12月2日是一个美好日子,因为这是一个完全对称日!这里认为一个美好日子是一个共8位数字的完全对称日(例如20211202),其中年份占4位,月份、日份都是2位。对于给定的年份,请判断该年是否…

怎么做天猫内部券网站手机app制作网站

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trafilatura 是一个用于从网页上提取文本的命令行工具和 python 包: 提供网络爬虫、下载、抓取以及提取主要文本、元数据和评论等功能可帮助网站导航和从站点地图和提要中提取链接无需数据库,输出即可转换…

用网站做邮箱孟州网站

方法 1 首先打开控制面板 2 点击程序 3 点击程序与功能 4 点击左边启用或关闭windows功能 5 在telnet客户端打上勾 点击确定 6 winr打开运行 输入cmd 7 打开后输入telnet ip 端口号 如果出来其他窗口则说明这个端口可用。若出现超时,说明这个端口不可用 前提…

建设网站策划案怎么根据已有网站做新网站

下载下载器 Qt开发技巧之快速安装多版本Qt_qt安装多版本-CSDN博客 无法下载存档bug-更换镜像源 windows安装QT时出现“无法下载存档……”解决办法 - lmore - 博客园 (cnblogs.com)

网站建设下一步打算中国建筑企业

一、数据库引擎 数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储…

许昌建网站的公司在哪条路户外保险网站

2024有哪些好的游戏下载网站? 6miu盘搜是一款功能强大的网盘搜索工具,可以快速搜索并下载各种游戏。它支持多种搜索方式,包括游戏名称、游戏类型、发行商等,并且可以根据游戏大小进行精准搜索。用户可以通过6miu盘搜的高级搜索功能,找到自己需要的游戏,无论是在公共…

网站申请页面网站备案归哪里管

在科技日新月异的今天,企业的综合实力成为衡量其市场竞争力的重要指标。四川汇聚荣聚荣科技有限公司作为一家在行业内具有一定影响力的企业,其综合实力如何,自然成为外界关注的焦点。以下将从多个维度深入分析该公司的实力。 一、公司概况与核…

网站开发任务手机网站建设app

在Web上显示图片&#xff0c;通常都会有图片显示比例问题&#xff0c;如果不给<img />限制width和height&#xff0c;那么如果图片大了就会将整个页面挤乱&#xff0c;图片小了又会使图片失真。我的需求如下&#xff1a;1、预先定义好图片显示的标准宽度和高度。2、如果图…

destoon 网站搬家做美瞳网站需要什么资质

下面这篇文章汇集了阿里、美团、Oracle 等大厂的 JVM 考点&#xff0c;你是否能回答得上来&#xff1f; 什么是 Java 虚拟机&#xff1f;为什么 Java 被称作是“平台无关的编程语言”&#xff1f; Java 代码是怎么运行的&#xff1f; Java 虚拟机是如何加载 Java 类的? JVM…

北京企业网站建设哪家好深圳营销型网站建设公司网络服务

个人平时总结 Document 对象 每个载入浏览器的 HTML 文档都会成为 Document 对象。 Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。 提$(document)是一个选择器&#xff0c;选中的是整个html所有元素的集合示&#xff1a;Document 对象是 Window 对象的一…

什么是优化网站花体字转换器

一 国内&#xff1a; 中国电信天翼云 提供包括云主机在内的全方位云计算服务&#xff0c;侧重于安全合规和企业级服务。 利用电信的网络优势&#xff0c;提供稳定可靠的基础设施服务。 中国联通沃云 提供包括云主机在内的多项云计算服务&#xff0c;适合不同行业和场景。 …

自己做网站 赚钱公司网站的建设流程

演示视频&#xff1a; Springbootvue的考务报名平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的考务报名平台&#xff0c;采用M&#xff08;model&#xff0…

专业做国际网站的公司阿里网站建设App开发

一、playbook 1、简介 Playbook 剧本是由一个或多个play组成的列表。 play的主要功能在于将预定义的一组主机&#xff0c;装扮成事先通过ansible中的task定义好的角色。 Task实际是调用ansible的一个module&#xff0c;将多个play组织在一个playbook中&#xff0c;即可以让它…

dedecms 网站访问量有经验的网站建设推广

&#x1f970;作者: FlashRider &#x1f30f;专栏: 初阶数据结构 &#x1f356;知识概要&#xff1a;详解二叉树的概念、二叉树的遍历、以及代码实现。 目录 树的基本概念 树的存储结构与二叉树的实现 树的存储 什么是二叉树 二叉链存储二叉树 二叉树的代码实现 树的基本…

做网站要学的技术龙岩互联网

julia在mac环境变量To find the type of a variable/value, we use the typeof() function – it accepts a parameter whose type to be found and returns its data type. 为了找到变量/值的类型&#xff0c;我们使用typeof()函数-它接受要查找其类型的参数并返回其数据类型。…