自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(739)
  • 资源 (3)
  • 收藏
  • 关注

原创 手动构建Arduino框架源码,为ESP32-IDF添加Arduino库

大家好,我是爱折腾的小鱼。最近忙于一个项目时遇到了一些问题,某个单片机偶尔会重启,这种情况发生的几率很小,运气好的话一天都不会遇到一次。由于问题发生在设备运行过程中,很难捕捉到日志,所以我想把日志存储到Flash里。但在使用ESP-IDF开发框架构建Arduino库时,没有打开相关的开关。于是,我决定写这篇文章,介绍如何手动构建Arduino源码,以解决这个问题。通过以上步骤,我们成功地手动构建了Arduino框架源码,并为ESP32-IDF添加了将核心转储存储到Flash的功能。

2024-06-27 11:10:37 770

原创 户外机器人设计中的硬件看门狗

在最近的一个项目中,我们需要设计一款可以在户外365天、24小时连续工作的机器人。其核心控制模块由多个单片机组成,系统的开关是通过软开关实现的。为了确保系统的可靠性,我们在通信单片机上开启了RTC定时器,作为软件看门狗。然而,软件看门狗有时会失效,导致系统无法正常关机。因此,我们决定引入独立于单片机的硬件看门狗IC。今天,我们将介绍这个硬件看门狗的使用电路及注意事项。TPL5010是一款超低功耗系统计时器,具有看门狗功能。其电源电压范围为1.8V至5.5V,在2.5V电压下,典型电流消耗仅为35nA。

2024-06-19 09:53:37 1113

原创 ROS2机器人自动回充之红外法(附源码原理图)

大家好,我是爱学习的小鱼,今天接着昨天的回充,不过今天使用的是红外回充方法。红外方法比较简单,其原理就像遥控器和空调之间的关系一样,机器人类似于空调,装有两个接收头,机器人充电桩上则装有两个红外发射灯,两个灯会发送不同的波,通过接收到的波的信号不同,则可以区分出充电桩的位置。我手拙画了个简单示意图。只有机器人上的接收头朝向充电桩的时候,两个接收头才能分别都接收到两个发射头的信号,否则根据情况旋转机器人朝向充电桩即可。通过以上的设计和代码实现,我们可以通过红外线实现机器人自动回充。

2024-06-14 19:46:49 659

原创 ROS2机器人自动充电之雷达点云法

大家好,我是小鱼。最近我在折腾一个户外机器人项目,由于这个项目需要365*24小时不间断运行,偶尔会出现系统死机的情况。为了应对这个问题,我在研究看门狗,但这次我想分享另一个在项目中用到的有趣方法:如何通过雷达点云和特定形状(90度)的反光板识别充电桩的坐标,实现机器人自动充电。

2024-06-13 20:58:11 829

原创 加速度计与陀螺仪融合计算倾角:结合FishBot代码讲解

互补滤波是一种简单高效的方法,它结合了加速度计和陀螺仪的优势,利用加速度计的长期稳定性和陀螺仪的快速动态响应。角度α陀螺仪测得的角度1−α加速度计测得的角度\text{角度} = \alpha (\text{陀螺仪测得的角度}) + (1 - \alpha) \text{加速度计测得的角度}角度α陀螺仪测得的角度1−α加速度计测得的角度其中,α\alphaα是滤波参数。

2024-06-07 10:44:13 1351

原创 通过IMU的加速度计计算倾角

倾角是指设备相对于水平面的倾斜角度。我们关心的主要是设备绕x轴(Pitch)和y轴(Roll)的旋转角度。倾角的计算基于如下公式:θxarctan⁡ayax2az2θx​arctanax2​az2​​ay​​θyarctan⁡−axay2az2θy​arctan​ay2​az2​​−ax​​​。

2024-06-07 10:43:49 1563 1

原创 深入解析FishBot中的MPU6050数据采集方法

大家好,我是爱吃猪脚饭的小鱼,今天接着上一节,标定完数据以后,怎么来用标定好的数据在读取的时候去掉校准误差呢?

2024-06-06 10:53:54 321

原创 ROS2 2024 最新版 Jazzy 发布,一键安装已支持

Ubuntu 24.04 (Noble): amd64 和 arm64Jazzy Jalisco 版本的发布标志着 ROS2 的又一次重要进步。通过一键安装的支持,开发者可以更加便捷地部署和使用 ROS2 系统。希望本文的介绍能帮助大家快速上手 Jazzy Jalisco 版本,充分利用其新特性和改进,提升机器人开发的效率和体验。有关 Jazzy Jalisco 的更多详细信息,请访问 官方文档(https://docs.ros.org/en/jazzy/index.html)。

2024-06-06 10:53:39 2169 1

原创 IMU的标定和校准:结合FishBot代码介绍

惯性测量单元(IMU)广泛应用于机器人、无人机和其他运动控制系统中,用于测量和报告设备的加速度和角速度。标定和校准IMU对于确保这些测量准确至关重要。本文将围绕MPU6050传感器的噪声源、常用校准方法和结合FishBot的校准程序进行详细介绍。

2024-06-06 10:53:28 770

原创 你真的了解IMU的参数吗?结合FishBot的MPU6050看一下

大家好,我是爱学习的小鱼,最近打算设计IMU模块,看了挺多,但是刚开始的时候不了解参数及含义,就学习了下。今天就结合我们 FishBot 运动控制板的IMU模块——MPU6050详细介绍下IMU的参数,比如量程,噪声,下次挑选IMU的时候就知道怎么选择了。

2024-06-06 10:53:06 877

原创 还在用AMCL定位吗?快试试这个SLAM工具

SLAM Toolbox 不仅为研究人员和工程师提供了一个功能丰富的SLAM库,还通过其开源的方式,鼓励了更广泛的社区合作和知识共享。无论是在工业应用还是学术研究中,SLAM Toolbox 都展现了其卓越的性能和灵活性,使其成为当前最受推荐的ROS2-SLAM库之一。

2024-06-06 10:52:53 787

原创 将ROS2的图像话题转成视频流在浏览器中显示

ROS2: 机器人操作系统的新版本,用于管理和处理节点间的通信。Python: 使用Python编程语言进行脚本编写和后端逻辑实现。Flask: 一个轻量级的Python web框架,用于搭建web服务器。OpenCV: 开源计算机视觉库,用于图像处理。cv_bridge: 在ROS和OpenCV间转换图像数据的接口。

2024-06-06 10:52:38 637 2

原创 一键安装ROS已经支持Ubuntu-24.04 nobol

注意:目前仅支持ROS2-Rolling版本。

2024-06-06 10:52:26 2328 4

原创 为什么在gazebo中ros2_control会和其他插件冲突

大家好,我是最近爱吃牛肉面的小鱼。今天我想分享一个来自社区的问题,关于 Gazebo 复合机器人仿真插件不能同时使用的困扰。这个问题我曾在多年前遇到过,并在社区中找到了一些解决方案,现在就来分享给大家。

2024-06-06 10:52:04 432

原创 说说最近卧底国外机器人社区后的几点感受

小鱼参考的这个社区是 robotics.stackexchange.com ,问题相关性和我们社区比较像,讨论的基本都是ROS 相关技术,小鱼翻了几个帖子就发现了他们的提问质量都非常高,没错,说的是提问质量。最后就是要对你的提问负责,定期看一下问题是否被回答,有新的进展及时补充,如果有被回答,验证后一定要给个回复,这样后来者看到问题和答案才知道是怎么解决的,社区才能起到互相帮助的作用并可以维持良性发展。该社区除了对提问要求很高,对回答也是,小鱼的某个回答也被其他成员说了不合格。

2024-06-06 10:51:53 433 1

原创 今晚社区又挂了,分享点运维小知识

大家好,我是小鱼,今晚在社区后台查看了一下总用户数,因为没有做分页读取,所以直接请求了后台所有用户信息,加上服务器的内存本来就不太够,结果服务器直接死机了,小鱼被迫报道某鹅云,重启了服务器。这个事情让小鱼想起来之前编译ROS2的源码,自己的电脑内存不够就添加交换空间(虚拟内存)来用,鉴于服务器的费用,小鱼选择了添加虚拟内存,直接在磁盘上创建一个交换文件,大小就给了8G,暂时够用了。更常见的做法是在专门的分区或独立的文件上创建交换空间,并确保它们位于持久存储上,而不是在可能会丢失数据的临时存储上。

2024-06-06 10:48:56 399

原创 小鱼修改的支持ROS2 Humble的LeGO-LOAM,已经测试通过,需要自取

地址:https://github.com/fishros/LeGO-LOAM-ROS2。小鱼修改的支持ROS2 Humble的LeGO-LOAM,已经测试通过,需要自取。

2024-06-06 10:47:30 510

原创 ROS2工程实践之参数处理技巧

在ROS2中,我选择了通过节点参数来进行这些参数的封装。当然,仅仅有硬件是不够的,为了能够在ROS2中获取图像,并结合小鱼之前开发的yolov5_ros2开源库进行目标检测等任务,小鱼还为这个摄像头编写了一个配套的ROS2驱动。当参数的值发生改变时,ROS2会自动调用这个回调函数,并将改变后的参数作为参数传入。在这个回调函数中,首先遍历了所有改变的参数,获取了它们的新值,并执行了相应的处理逻辑(例如,调用。使用这个函数,我可以为每个参数指定一个合适的范围,并确保用户在设置参数时不会超出这个范围。

2024-06-06 10:47:04 302

原创 DockerHub上热门的人工智能与机器学习镜像

今天小鱼逛dockerhub的时候看到AI相关有四个推荐镜像库,今天就来做个简单的介绍。

2024-06-06 10:46:50 505

原创 使用Arduino开发STM32之环境搭建(附带小鱼的唠叨)

之所以要开这个坑的原因是小鱼发现,很多初学者往往很迷恋某一个特定的开发平台,最为突出的就是STM32,记得在小鱼大学那会,开发STM32主要分库函数和寄存器两个流派,最奇怪的是用寄存器的会鄙视库函数,毕竟寄存器人很难看得懂,看不懂的就比较高级-)。点Fishish 即可,整个过程会很慢,你可以关闭这个页面,然后用vscode打开文件夹的方式,打开刚刚新建的工程,然后再次点击PIO按钮,这个时候右下角就会出现load相关的进度,直接点取消。运行完成后,基本就可以装好了,然后在PIO里新建工程。

2024-06-06 10:46:38 2541

原创 超声波要想测的准,还是要加温补

大家好,我是又加班找BUG的小鱼,都说前人种树,后人乘凉,小鱼遇到的咋都是前人埋坑后人掉进去,然后爬出来,再掉新的坑。今天分享一下关于超声波模块的一些小知识。小鱼正在打算做一个多路的超声波控制器,看文档必须要加个温度传感器了。今天的文章就水到这里。留个疑问,比起温度,湿度难道不更影响声速吗?要提高精度,时间这个因素就不说了,关键点在声速这里,声速是和你当前的温度挂钩的。

2024-06-06 10:46:23 198

原创 分享一个CAN隔离电路,小鱼亲手绘制的原理图PCB

大家好,我是今晚吃了重庆小面的小鱼,今天晚上下班比较晚,主要是今天又烧了一个板子,在复盘,烧掉的部分是一个CAN收发器TJA1050和一个485转换器(型号我忘记了)还有AMS117和配套的钽电容,这个现象出现的不止一次了,每次他们都是一起烧掉了,因为都是偶然出现,小鱼并没有找到具体的原因,但是这一版PCB设计肯定是有BUG的,因为CAN和485到IO口只有RX用二极管做了个简单的隔离,剩下的就没了,参考下别人做的工业级别的板子,就知道自己的不足之处了,啥都不说了,这周又要在画板子中度过了。

2024-06-05 20:22:22 492 1

原创 抽空给笔记本装个显卡驱动,pytorch+CUDA docker 环境配置

大家好,我是消失了一个小春节的小鱼,春节忙着设计新的小产品,一直在努力,这两天又跑广州来了,今天周末,抽空给笔记本的显卡装个驱动,顺便搞了个pytorch 的GPU配置,小鱼折腾的详细步骤如下,希望对你有用。以下内容由GPT组织,GPT味道有点重。在Ubuntu 22.04笔记本上安装NVIDIA驱动和CUDA,以及配置PyTorch Docker环境是一项重要的任务,特别是对于需要进行深度学习开发的用户。在本文中,我们将详细介绍如何完成这些步骤。

2024-06-05 19:51:50 976

原创 机器人常用传感器之超声波

协议切换通过右上角得到R7的阻值进行切换,目前是什么都没有焊接,也就是GPIO模式,00k电阻就是I2C,10K就是串口,0K就是单线。今天介绍的这款超声波,是年前小鱼从公司带回来的,本来想学习下硬件设计思路,然后把自己之前设计的超声波模块完善下,仔细查查才发现是厂家自己做的单片机。从调节电阻就可以改变模式这一点就可以得知,这个SOT16封装的绝对是个单片机了,估计晶振什么的都在里面,因外围电路就看到三极管和MOS之类的放大电路还有滤波电容之类的。最后说下这个头,单头收发,防水,赞一个!

2024-06-05 19:49:59 171

原创 ROS2多线雷达仿真工程分享

这个工程小鱼还没单独发文介绍过,没事一看都有十个Star了,看样子真的有帮助到其他小伙伴,明天小鱼就发文介绍下。工程地址:https://github.com/fishros/ros2-multi-line-laser。完整工程是来自小鱼书里的一个实践项目——自动巡检机器人,代码是已经开源了的。先上效果图,这张图相信很多小伙伴都看到过,这个其实是多线雷达的点云图。今天小鱼分享下多线激光雷达仿真的完整工程。详细安装运行步骤小鱼已经写在了README中了。

2024-06-05 19:16:05 405

原创 ROS2的功能包如何打包成deb文件?

许多 Ubuntu 用户通过安装 debian 软件包[1]在其系统上安装 ROS 2。本指南提供了一组简短的说明,用于构建本地的自定义 Debian 软件包。

2024-06-05 19:11:14 552

原创 多线雷达太贵,穷鱼买不起,只能仿一个了

仿真多线雷达其实和单线差不多,在ROS2 Gazebo里用gpu_lidar插件,想配置多少条线自己写就行。后面小鱼有时间就打包整个工程上传。大家好,我是今天打野调了一天机器人的小鱼。刚回来看到之前的一个小伙伴的问题,怎么仿真多线雷达,小鱼恰好整过,就分享一下。

2024-06-05 19:07:07 235

原创 干掉僵尸进程!小鱼又做了个开源库

大家好,我是爱分享的小鱼,今天这篇文章分享一个小鱼刚做的开源库,主要用于进程管理,配合Docker或者Service很好用。说到僵尸进程是因为这个库的一个BUG,杀死子进程的时候父进程没有wait导致的,小鱼已经干掉了,才把这个代码分享出来。

2024-06-05 19:03:24 248

原创 ROS2工程实践之我有三十个消息接口可以一次性添加吗

大家好,我是最近发现羊肉泡馍还挺好吃的小鱼,今天分享下ROS2工程实践的另外一个小技巧。一个个在 CMakeLists.txt 中写显然很慢,偶尔有可能会漏。分享一下小鱼的CMakeLists.txt。当你的工程中有很多的消息接口。

2024-06-05 19:00:21 161

原创 SkiROS2:基于技能的ROS机器人控制平台

SkiROS2是一个平台,通过将技能模块化软件块 - 组合成 行为树[1],创建复杂的机器人行为。使用SkiROS协调的机器人可在部分结构化环境中使用,机器人对环境有良好的初始理解,但也期望发现差异,使用初始计划失败并做出相应反应。SkiROS提供以下功能:•用于在模块化技能库中组织机器人行为的框架•具有前置条件、保持条件和后置条件的可扩展技能模型•基于行为树的反应执行引擎•作为语义数据库的世界模型以管理环境知识•技能参数的推理能力和自动推断•与PDDL任务规划的集成点•基于世界模型中的技能和实体的。

2024-06-05 18:57:27 583

原创 如何白嫖GitHub来编译你的ROS2代码?

小鱼想把各个版本的ROS2构建出包含源码的镜像,就以最常用的humble版本为例子,写个了Dockerfile,然后把这个Dockerfile推送到仓库,接着写一个github的Action来构建即可。因为ROS2整体仓库很大,小鱼电脑内存不加交换空间是不够的,会导致编译卡死,所以用 Github 来构建,构建完直接下载到本地,很爽~仓库:https://github.com/fishros/ros2code 镜像:fishros2/ros2code:humble。github Action 这样写的。

2024-06-05 18:55:09 287

原创 对不起,兄弟!让你久等了!

对了,先给新朋友介绍下rosdepc。其实在这后来rosdepc又更新过。结果在鱼香ROS社区躺了六个月。之前一个版本的rosdepc。然后在更新的时候留下了BUG。2021年7月的一篇文章。2021年8月的一篇文章。rosdepc更强健了。就在今天 2024年。

2024-06-05 18:50:58 154

原创 给一键安装合并了一个PR,今天又加班了...

今天没准备文章,刚好今天在GitHub上合并了一个PR,来自ganyuanzhen的安装系统自带ROS的功能。由于ROS官方不再为ROS1 发布新系统的更新,在新的操作系统上使用ROS变得十分困难。可以理解为ROS的最小系统版本。关联pr: https://github.com/fishros/install/pull/43。介于以上情况,此方法安装的ROS仅供特殊人员在特殊情况下使用,在安装目录处做了警示说明。同时,此方法安装的ROS并不能与使用ROS官方软件源安装的ROS/ROS2共存!

2024-06-05 18:38:00 199

原创 一文讲透,ROS2工程引入第三方库,如何编写CMakeList.txt

对于不支持的,要先找到对应库路径,我们放到工程目录下,可以直接通过CMakeLists.txt提供的${PROJECT_SOURCE_DIR}获取路径,拼接lib即可获取库。如果你这样直接编译,是没有问题的,但最后运行的时候就会无法link,这是因为src目录下的库目录没有被 ROS 2的 setup.bash 添加到搜索目录。具体需求是这样的,最近的项目有用到 USB 转 CAN 的设备,用的驱动是几个 .so 的动态链接库。对了,卖家还提供了 arm64的库,一样的,新建 libarm,把库拷贝进去。

2024-06-05 18:34:58 900

原创 拿到了扫地机传感器数据!2024第十拆来了

大家好,我是买买买的小鱼,今天又买了一对扫地机的轮子,一共20大洋,前两天拆了充电桩,经过后台小伙伴提醒,拆掉了外壳,就可以看到反光纸。雷达打在这个纸上会因为反光程度不同,获取到特征,这个小鱼昨晚回来看反编译的代码也找到了相关函数。小鱼把默认的 localhost 改成扫地机的地址,默认的端口之前我们扫描过,没啥毛病。前面的唠叨完了,现在我们继续来试试能不能连接到机器人,获取到数据。可惜小鱼的轮子是坏的,手头没有工具,连拆开都做不到,直接买两个吧。小鱼把对桩的线直接焊接到了充电桩上,很快就充满了。

2024-06-05 18:28:45 341

原创 把扫地机充电桩拆了,快来猜猜自动回充怎么实现的,2024第九拆来了

大家好,我是爱拆机,拆机爱我的小鱼。今天下班回来晚,但是依然是把扫地机的充电桩给拆了,结果没有发现类似红外的设备,这个扫地机果然不是靠红外进行回充的,那靠什么?今天就简单的分析分析充电桩,小鱼是花了30十多大洋在某鱼买的,外观非常的新,看起来像库存货。所以这块板子上应该没有什么逻辑,只是电池的充放电管理在这里?今天先到这里,小鱼给这个板子焊接一下,给电池充充电先~很有可能,欢迎知道的小伙伴留言,我会同步给大家。大的这个把电压从220V交流转直流给小板子。小的板子上元器件长这个样子。拆掉,大块的是一个电源。

2024-06-05 18:16:51 276

原创 终于搞清楚这个扫地机用什么框架了!2024第八拆来了

Player的模块化架构使得添加对新硬件的支持变得容易,活跃的用户/开发者社区贡献了新的驱动程序。Player是用于机器人控制的网络服务器。在您的机器人上运行,Player通过IP网络为机器人的传感器和执行器提供了一个干净简单的界面。今天接着昨天的拆机,昨天放了一个配置文件 ruby_chassis.cfg 的内容,今天经过后台小伙伴的指导,知道了这个文件和机器人框架robot-player有关系。大家好,我是喜欢各种拆机的小鱼,今天又拆了个 USB-CAN 隔离收发器,发现这个模块的隔离做的真的很不错。

2024-05-31 21:25:32 531

原创 买了个扫地机充电桩,2024第七拆来了

Filtered (过滤): 该状态表示端口对Nmap扫描不可见,可能由防火墙或其他网络设备过滤掉了该端口的扫描请求。在你的结果中,显示了9998个"closed"的端口,这意味着它们没有应用程序监听,并且连接会被拒绝。最近看机器人快被小鱼折腾的没电了,上次在后台问小伙伴需要多大的电压和电流充电没有小伙伴回复,于是小鱼今天又买了一个充电桩(当然还是二手的)。Nmap(Network Mapper)是一款网络探测和安全审核工具,用于扫描网络上计算机开放的端口和提供的服务。6665 的irc是什么?

2024-05-31 21:21:56 442

原创 标扫地机用ROS吗?不用ROS用什么?2024第六拆来了

这种命名方式 logrotate 这个一看就是循环日志了,毕竟只有 4G 的存储,又搞成三四个系统,日志必须循环利用(删掉最旧的,保留最新的,不断循环)nm 是 Linux 下的一个强大的文本分析工具,主要用于列出指定文件中的符号(如常用的函数名、全局变量等)。开始分析前先看看基本指令介绍,每一行的中间都有一个符号 T G B W U 之类的,分别代表的意思是什么?大家好,我是心情不好烧块板,心情好了烧块板,一共烧了两块板的小鱼。miio 听起来像吃的,了解米家接入流程的小伙伴,欢迎留言介绍下这两个东西。

2024-05-31 13:32:19 1002

原创 扫地机器人的密码居然放抽纸里?2024第五拆来了

然后另外一个问题,有小伙伴留言说为啥拆元器件的时候不用风枪吹,主要原因是元器件附近有 0201 的小电阻和电容,手头又没有高温胶带,担心一不小心吹飞了。结果没法看,考虑到这种加密太容易被破解,而且移动多了后会导致跑到不可见字符区域,加上这种写代码麻烦,考虑到这家机器人工程师比较懒,暂时放弃凯撒。昨天说要切入系统,还是要从u-boot入手,u-boot 就是开机前的一段程序,昨天文章有介绍。比特币就是使用 SHA-256 哈希算法来证明谁算力更强,就是比谁穷举的快,256加密运算的快。

2024-05-31 13:19:57 1087

micropython的高精度温湿度传感器sht30驱动

micropython的高精度温湿度传感器sht30驱动,性能稳定,使用简单,基于IIC,需要传入scl和sda的引脚号

2020-01-29

MQTTX.Setup.1.2.2.exe

界面简单的mqtt Windows客户端软件,可以用来开发的时候的测试等工作,使用简单,安装方便,下载即可使用

2020-01-29

kotlin-plugin-1.1.4-release-IJ2017.2-3(百度云盘)

kotlin-plugin-1.1.4-release-IJ2017.2-3(百度云盘下载)解决Kotlin更新慢问题,在Setting中选择Plugins然后从本地磁盘安装

2017-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除