《机器人实践开发①:Foxglove 开发环境完整搭建指南(含常见坑位) 》

《机器人实践开发①:Foxglove 开发环境完整搭建指南(含常见坑位) 》

导语:

在机器人项目中,调试工具往往比算法本身更耗时间。Foxglove 作为新一代机器人可视化平台,提供了强大的话题订阅、视频显示、3D 展示和日志分析能力。本篇从零开始,手把手带你完成 Foxglove 的环境搭建,包含依赖安装、连接配置以及常见踩坑点。

《机器人实践开发》系列文章索引

《机器人实践开发①:Foxglove 开发环境完整搭建指南(含常见坑位)》

《机器人实践开发②:Foxglove 嵌入式移植 + CMake 集成》

《机器人实践开发③:Foxglove可视化机器人的眼睛-视频》

《机器人实践开发④:Foxglove可视化机器人的耳朵-声音》

《机器人实践开发⑤:Foxglove可视化机器人的3D显示》

《机器人实践开发⑥:Foxglove可视化机器人传感器数据》

《机器人实践开发⑦:Foxglove可视化机器人的日志显示》

《机器人实践开发⑧:Foxglove可视化机器人的地图显示》

《机器人实践开发⑨:Foxglove可视化机器人的MyBag 数据回放》


foxglove 官网

Foxglove 是一个专为机器人团队打造的平台,用于收集、分析和学习构建、训练、部署和操作可靠机器人所需的大量多模态数据。

foxglove_Home_hero_2024_new

foxglove 安装

在这里插入图片描述

ubuntu运行foxglove_bridge完成

echo "start run foxglove ... ... " killall -9 foxglove_bridge ros2 launch foxglove_bridge foxglove_bridge_launch.xml port:=8765

Ros 运行仿真测试程序

在这里插入图片描述

运行 macOS 上面的Foxglove studio,设置远程连接的地址:

在这里插入图片描述


在这里插入图片描述

控制面板设置-主题是否可见

在这里插入图片描述

web网页端也可以使用

注意:webs 没有 ssl 所以chrome 认为不安全,需要网页加载脚本

选择设置面板

在这里插入图片描述

友情提示🔔

🙏 感谢你的阅读!
如果这篇文章对你有所启发,欢迎关注我 ⭐,欢迎点击 “打赏支持作者” 支持一下我,你的支持是我持续创作的最大动力!
我会持续分享更多关于 智能摄像头 📷、机器人实践、 🤖音视频 RTC 🎧、App 开发 📱、嵌入式开发 🔧 等方向的实战经验,让你更快落地、更少踩坑。
欢迎浏览我其他文章 📚,或许能解决你当前的难题。
如果你正好在做相关项目产品,也欢迎随时私信我,一起技术交流、一起搞事情! 🤝💬📞 联系微信/电话:13826173658

Read more

Spring Boot 4.0 + JDK 25 + GraalVM:下一代云原生Java应用架构

Spring Boot 4.0 + JDK 25 + GraalVM:下一代云原生Java应用架构

🧑 博主简介:ZEEKLOG博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可关注公众号 “ 心海云图 ” 微信小程序搜索“历代文学”)总架构师,16年工作经验,精通Java编程,高并发设计,分布式系统架构设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。 🤝商务合作:请搜索或扫码关注微信公众号 “ 心海云图 ” Spring Boot 4.0 + JDK 25 + GraalVM:下一代云原生Java应用架构 摘要 随着云原生架构的快速演进,传统Java应用面临的“启动慢、内存高、体积大”三座大山亟待解决。

By Ne0inhk
JAVA 集合框架进阶:Map 接口的深度解析与实战

JAVA 集合框架进阶:Map 接口的深度解析与实战

JAVA 集合框架进阶:Map 接口的深度解析与实战 1.1 本章学习目标与重点 💡 掌握 Map 接口的核心特性,理解 Key-Value 键值对的存储结构与设计思想。 💡 熟练掌握 HashMap、LinkedHashMap、TreeMap 等实现类的底层原理与适用场景。 💡 理解 Map 集合的线程安全问题,掌握并发环境下的解决方案。 ⚠️ 本章重点是 HashMap 的底层实现原理 和 不同 Map 实现类的性能对比,这是面试和开发中的高频核心考点。 1.2 Map 接口核心概述 1.2.1 Map 接口的定义与特性 💡 Map 是一种键值对(Key-Value) 集合,它的核心是通过键(Key)来唯一标识值(Value)。 Map 接口中的 Key

By Ne0inhk

【JavaScript】不用flat怎么扁平化数组

你想在不使用数组的flat()方法的前提下实现数组扁平化,核心是通过递归或迭代的方式,逐层遍历数组中的元素,把嵌套的子数组 “拆解” 成一维数组。我会给你几种实用且易懂的实现方式,覆盖不同场景需求。 方法 1:递归实现(最易理解,适合新手) 递归的核心思路是:遍历数组的每一个元素,如果元素是数组,就继续递归处理这个子数组;如果不是数组,就直接加入结果数组。 // 递归实现数组扁平化(可指定扁平化深度,默认完全扁平化) function flattenArray(arr, depth = Infinity) { // 存储最终扁平化结果 const result = []; // 遍历原数组的每一个元素 arr.forEach(item => { // 判断:如果当前元素是数组,且还没达到指定扁平化深度 if (Array.isArray(item) && depth > 0) { // 递归处理子数组,深度减1

By Ne0inhk
「源力觉醒 创作者计划」_文心大模型 4.5 开源 28 天:从车间轴承到山村课堂的 AI 突围

「源力觉醒 创作者计划」_文心大模型 4.5 开源 28 天:从车间轴承到山村课堂的 AI 突围

「源力觉醒 创作者计划」_文心大模型 4.5 开源 28 天:从车间轴承到山村课堂的 AI 突围 * 引言: * 正文: * 一、硬件突破:小显存也能驾驭大模型 * 1.1 农机轴承检测部署核心代码(可直接复用) * 1.1.1 调试细节:图像尺寸对准确率的影响(附实测数据) * 二、生态重构:AI 从巨头围墙到山村课堂 * 2.1 开源前后的 AI 生态对比(3 个月实测) * 2.2 社区数据:中小企业的 AI 觉醒 * 三、28 天踩坑实录:开源给你的不只是模型,是螺丝刀 * 3.1

By Ne0inhk