自定义博客皮肤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)
  • 收藏
  • 关注

原创 扫地机居然用十年前的系统?2024第四拆来了

可以看到,一共有9个分区,这里的分区设计非常有意思,主要放系统的分区是 recovery,system_a 和 system_b,这些分区的设计主要考虑了,操作系统损坏和OTA更新考虑的,后续如果能进入系统,我们再详细查看和分析各个分区的作用。(以后接线的时候第一时间要断电!接着,我们来找RX,RX简单,当给RX输入回车的时候,TX上就会有数据,利用这一个特性,把剩下的几根线接到USB转TTL上。再接下来,就是网卡,雷达串口,MCU等等驱动加载启动等等,小鱼就不一一介绍了,还是抓紧想办法进系统再说。

2024-05-30 21:32:31 645

原创 拆机拆的好,烟花少不了,2024第三拆来了

接着小鱼犯难了,这六根线,哪一个是TX,哪一个是RX(对了,串口是两根线,一个TX发送数据,一个RX接收数据,所以有数据的时候,TX上往往会有高低的电平变换,记住这点,等下要考)看左边的电流,0.24,又听到充电中的提示,应该是充进去了,但感觉电压应该不够,充电器应该是24V的(PS: 有充电桩的小伙伴帮忙量量充电片的电压。这里介绍下测试点,就是开发人员为了测试方便,在画PCB的时候,故意留出来的,没有盖油墨的点,可以用来后期测试板子使用,比如下面这几个。大家好,我是感受过上一秒天堂,下一秒地狱的小鱼。

2024-05-30 21:26:10 618

原创 扫地机的CPU只要二十多块?2024第二拆来了

昨天还说到这个机器人的故障,经小鱼拆机后测试和后台网友留言确认,不是防跌落问题,是轮子故障,这个轮子不会动,轮子上有一个限位开关检测机器人是否离开地面的,测试的时候也没有误触发,所以电机存在故障,后面拆电机的时候再检查。最后再留下一个疑问,这个机器人的回充没有用红外管,机器人是如何识别基站进行返回充电的(因为只买了本体,没买充电桩,不确定充电桩的形状,是不是利用点云识别不确定)懂的请留言。全志的R16,封装是 BGA282,那这个板子至少是4层板,小鱼盲猜 6 层板,知道的小伙伴欢迎留言。

2024-05-30 21:15:49 504

原创 请叫我鱼拆,2024扫地机器人的第一次拆机

从背面可以看出,这个机器人是两轮差速模型,两个驱动轮,一个万向轮,驱动轮位于机器人中心位置,这样原地旋转的圆心就是机器人的中心。可以看到设备已经连接,但是没有办法进shell,厂家应该有做了安全保护之类的,有知道从这个口可以登录系统办法的小伙伴可以后台留言。但这台机器人一直报警说,机器人轮子离地,小鱼 估计是防跌落模块有问题,误触发了,所以打算先拆机看看。接着小鱼试了下,机器可以开机,然后给他重新配置wifi,连上 米家。Allwinner,全志的片子,不知道哪个型号的,看产品id,应该支持adb。

2024-05-30 19:35:15 765

原创 生病了,买了个扫地机器人

最近发现只写一类文章太无聊,打算给大家整点有意思的,想来想去不如去买个扫地机器人做个拆机分析,所以到某鱼上看了下,最终选了个超级便宜的机器人(带激光雷达)大家好,我是昨晚喜提38度1的小鱼,今天一天还余温未消,想到最近流感严重,大家一定注意防护。不知道大家能不能认出来是哪一家的。

2024-05-30 19:29:16 219

原创 【分享】microROS 和 rosserial 对比

大家好,我是努力Work 的小鱼,最近在探索 ROS 2 在 IOT 上的可能行,分享几篇来自 micro-ROS 相关的文章。

2024-05-30 19:20:07 929

原创 [分享] ROS2 Web开发做个遥控器

rosbridge_websocket 节点会在本地的9090端口启动一个websocker服务,然后将 ros 数据进行互相的序列化传输,web端使用的是最常见的 websocket。从浏览器后台可以看到数据的传输。

2024-05-30 19:15:40 666

原创 在嵌入式通信上使用MicroROS,如何有效减少数据流量

大家好,我是小鱼,今天分享下关于 MicroROS相关的内容。随着项目需要,我们决定使用多台机器人通过MicroROS连接到代理(agent)。在这种场景下,当代理需要将数据广播到各个机器人时,我们面临着传输效率和数据流量的挑战。即使机器人在同一条总线或局域网上,直接的UDP广播并不可行。为了解决这一挑战,我们开始从MicroROS核心组件 Micro-XRCE-DDS 入手,探索如何在这个嵌入式通信框架下有效减少数据流量。

2024-05-30 18:40:56 458

原创 【分享】STM32上运行ROS2(MicroROS)

有很多同学可能会问,用Arduino 开发STM32,是不是就不能使用比较核心的 STM32 API了,不是这样的,stm32的arduino库是基于 HAL库的二次封装,比如你可以在 main.cpp 中包含 #include <stm32f4xx_hal_gpio.h> 然后使 HAL_GPIO_Init();带来 pinMode();设置,当然有更简单的方法可以使用,为什么要舍近求远呢。

2024-05-30 18:28:53 548

原创 ROS2RUN源码流程分析,解决所有ROS2RUN报找不到问题

RunCommand类依赖于两个重要的函数,它们分别是和。# 选择完全匹配的可执行文件# 检查PATHEXT中列出的扩展名以进行匹配(无扩展名)# 选择有已知扩展名的匹配项函数用于查找指定ROS包内的可执行文件的路径。它会检查与匹配的所有可执行文件,并根据操作系统和扩展名来选择最合适的可执行文件。# 在Windows上,Python脚本通过解释器调用try:# 子进程也会收到信号并应该关闭# 因此我们继续,直到进程完成pass= 0:# 负值 -N 表示子进程由信号 N 终止。

2024-05-30 17:32:29 789

原创 【ROS2回调调度原理】调用 spin 时 ROS 2 都在做什么?

在调用 spin 节点的时候 ROS 2 都在做什么?这篇文章可以给你答案。小鱼另外回答一个问题,如何让服务同时处理多个请求?由于ROS2 模型使用的是单线程执行器和互斥回调组,所以要想让服务同时处理多个请求,需要使用多线程执行器配合可重入回调组即可,要使用超过CPU核心数量的并行处理,需要修改 MultiThreadedExecutor 的线程参数为一个较大值。

2024-05-30 17:25:32 1058

原创 ROS2日志如何打印时分秒格式时间

打开文件:rcutils/include/rcutils/time.h ,添加代码。然后source 后运行任意日志打印就可以了,也可以直接替换系统库里的头文件和库。有没有办法让其改为‘年-月-日 时:分:秒’的格式以方便系统维护和故障排查?我看了下,目前来说没有一个好的原生方案,不过可以手动改源码实现。查看官方文档似乎只有时间戳time的选项,没有其他时间格式。打开文件:rcutils/src/time.c,添加代码。没猜错你想要的应该是下面这种效果。

2024-05-29 14:20:56 546 3

原创 Gazebo Harmonic发布,长期维护支持arm平台Python编程

Harmonic world:尝试Harmonic:https://app.gazebosim.org/OpenRobotics/fuel/worlds/Harmonic%20World,展示了Harmonic版本的一些亮点!用Python编写的Gazebo系统:Gazebo现在提供了一种用Python编写系统的方式。此外,现在可以使用Python gz-transport发布、订阅或进行服务请求。

2024-05-29 14:14:20 910

原创 为什么 ROS 2 的 QoS 不兼容会导致通信问题?

当启动一个节点时,它会在同一 ROS 域(使用 ROS_DOMAIN_ID 环境变量设置)上向其他节点广播自己的存在。其他节点会对此广播进行响应,并提供有关自身的信息,以便建立适当的连接并进行通信。如果节点之间的 QoS 设置不兼容,就会导致通信问题,因为它们无法建立有效的连接。节点会定期广播自己的存在,以确保在初始发现期之后能够与新发现的节点建立连接。即使在离线时,节点也会向其他节点进行广播,以确保其他节点了解它的存在。

2024-05-29 14:10:51 299

原创 ROS2通讯服务质量Qos介绍与样例

ROS 2提供了丰富多样的服务质量(QoS)策略,允许您调整节点之间的通信。通过正确设置一组QoS策略,ROS 2可以像TCP一样可靠,也可以像UDP一样尽力而为,在其中有许多可能的状态。与ROS 1不同,ROS 2不仅主要支持TCP,还受益于底层DDS传输的灵活性,适用于有丢包的无线网络环境,其中“尽力而为 best effort”的策略更适合,或者在实时计算系统中需要满足截止时间的正确QoS配置文件。一组QoS“策略”组合在一起形成一个QoS“配置文件”。

2024-05-29 14:03:47 1862

原创 发布 !ROS2 & Navigation2 文档中文版

大家好,我是小鱼,借助 ChatGPT 的翻译能力,结合之前中文网的搭建经验,小鱼最近将完成对多个机器人相关文档的汉化和发布,本次带来的是 ROS 2 中文文档,大家可以结合 动手学ROS 2 文档进行补充式的学习。该文档提供了两个版本,发布版和校准版,其中校准版是针对翻译不太好的部分提供了校准工具,通过该版本可以帮助改进翻译。校准版本地址:http://fishros.org/doc/ros2/humble/dev。发布版本地址:http://fishros.org/doc/ros2/humble/

2024-05-29 13:51:57 447

原创 基于YOLO V5/V7的ROS2功能包,快速完成物体识别与位姿发布

在上一个版本上进行完善,增加了很多可配置参数,修复了之前的版本BUG,再次推荐给大家,用过的都说好!

2024-05-29 13:45:00 669 4

原创 ROS2高级教程使用pluginlib自定义插件

在ROS 2功能包中,我们首先定义一个插件接口,即一个纯虚基类,用于规定插件的基本方法。

2024-05-29 13:34:59 580

原创 Answers.ros.org 网站已于2023年8月11日弃用:迁移至Robotics Stack Exchange

虽然对于这一变化,社区中的一些人可能会有不同的情感,但我们希望大家能够理解这一决定的背后动机,积极参与到新的Robotics Stack Exchange社区中,共同建设一个更强大的知识分享平台。考虑到许多用户会链接到Answers.ros.org上特定的回答,为了防止链接失效,Answers.ros.org和answers.gazebosim.org将在迁移后进入只读模式。:如果您在Answers.ros.org上提出的问题已得到回答,请确保接受正确的回答,以便在迁移后仍然有效。

2024-05-29 13:25:29 265

原创 一键安装更新-安装STM32&ESP32开发终极IDE

前几天在暑期学校带同学一起学习MicroROS,但在PIO安装这部分遇到了很多问题,一共三期,前两期非常折磨,最终在第三期时,终于探索出一个比较舒服的安装方式,成功率和速度都比较满意,小鱼回来后就把这一步骤整合到一键安装里,供大家使用,具体步骤和PlatformIO介绍如下。在VSCODE的侧边栏中,点击“Extensions”图标,然后在搜索框中搜索“PlatformIO”,找到并安装PlatformIO插件。同样,在脚本运行后,输入数字12,然后按下Enter键,以选择安装PlatformIO。

2024-05-29 13:17:55 411

原创 拓展:FishBot配套雷达驱动教程(源码版)

目前FishBot主要配套雷达型号为EAI-X2,后续可能会引入其他雷达。

2024-05-29 13:13:25 389

原创 用了那么久ROS 2,你会对DDS调优吗?

本页面提供了一些参数调优的指导,这些调优参数被发现可以解决在真实环境中使用Linux上的各种DDS实现时遇到的问题。在一些 IP 片段丢失的情况下,通过有丢包的(通常是 WiFi)连接发送数据会变得困难,可能导致接收端的内核缓冲区变满。由于增加的序列化开销,当从ROS 1天真地转换自定义消息类型到ROS 2时,可能会观察到严重的性能下降。ROS 2 是使用DDS作为中间件的,DDS 本身是一个非常复杂的系统,配置极多,如果你发现传输卡顿等问题,可以参考下面的文章,对 DDS 进行调优。

2024-05-28 13:48:25 1261

原创 你喜欢话题还是服务,动作不考虑下吗?

既然 ROS 设计了这几种通信方式,当然各有优势,但了解每种通信方式适用于什么场景是我们必须掌握的。

2024-05-28 13:44:00 179

原创 阅读理解:在树莓派上安装 ROS 2 是几个意思?

然而,您可以在这里:https://www.ros.org/reps/rep-2000.html 看到arm64是一级支持,而arm32是三级支持。在树莓派上安装 ROS 2可以理解为两个意思,很多初学者容易搞混,第一个是在树莓派硬件上安装 ROS 2,第二个是在原生的树莓派操作系统上安装 ROS 2。对于第一种,可以通过安装支持树莓派的 Ubuntu 系统然后直接使用一键安装 ROS 2即可,对于第二种,就比较麻烦,最好是直接使用 Docker 镜像。还提供了预构建的桌面变体容器,只需执行。

2024-05-28 13:40:16 1200

原创 【FishBot二次开发】驱动并通过MicroROS发布IMU话题

直接基于FishBot开源驱动代码进行编写:https://github.com/fishros/fishbot_motion_control_microros。完整代码:https://github.com/fishros/fishbot_motion_control_microros。需要注意 imu_msg.header.frame_id 要和URDF中定义的部件名称相同。驱动IMU模块,并通过MicroROS发布,以便后续进行里程计和IMU模块。重新构建运行代码,topic echo 数据。

2024-05-28 13:32:07 227

原创 送各位鱼粉一个专属礼物

对于拉不下来,速度很慢的仓库,在原地址上添加 http://github.fishros.org/ 即可飞速下载。鱼粉专用github代理无限制服务。送各位鱼粉一个专属礼物。

2024-05-28 13:28:00 143

原创 在ROS 2中使用QT,显示话题内容,详细配置代码

大家好,我是因为草莓生病而不开心的小鱼,今天分享下在ROS 2中如何使用QT,显示话题内容,附上详细配置代码。功能包类型选ament_cmake,核心代码是这两句,把spin单独出来,不然接收不到话题数据。主要代码 sys_status_display.cpp。CMakeLists.txt配置。

2024-05-28 13:23:56 421

原创 分享一个FishBot上的电机控制开源库:Esp32McpwmMotor

在做FishBot时,小鱼没有找到合适的开源库来调用ESP32的MCPWM控制器,找到的支持电机路数和调用方式都不太好用,小鱼就自己整了一个——Esp32McpwmMotor。关于如何代码如何实现的,小鱼会在FishBot制作课程中进行讲解,该库的使用方式如下,例程中只用了两路和四路,FishBot最多支持六路电机控制。源码地址:https://github.com/fishros/Esp32McpwmMotor。使用方式:platformio.ini。

2024-05-28 12:27:49 262

原创 分享个小鱼换源后编译好的MicroROS库

Gitee:https://gitee.com/ohhuo/micro_ros_platformio.gitGithub:https://github.com/fishros/micro_ros_platformio

2024-05-28 12:03:19 155

原创 什么时候用单线程执行器,什么时候用多线程执行器?

今天在社区里遇到小伙伴提了这个问题,简单的分享下,顺便把之前关于多线程相关的文章放一下。ROS2模式用的是单线程执行器,为什么默认单线程,原因是节省资源(线程少),但有时我们需要同时处理多个事情,想要使用单线程实现就不那么方便了。学习了C语言的小伙伴,接触的最多的是顺序执行,当我们需要某个资源A的时候,我们发送请求,接着等待A资源到位,然后再去请求B资源,然后等待B资源到位,这样做有两个缺点,1是无法实现同时发送AB请求-耽误时间,2是发送之后需要等待资源到位-浪费资源。

2024-05-28 11:57:42 300

原创 【电脑专修】小鱼体验了一把国产系统,支持一键安装自带输入法微信

总结一下,除了桌面环境之外,和普通ubuntu没啥大区别,就是系统源默认国内的,搜狗输入法WPS已经装好了,docker也已经装好了,UI很好看,和WIN桌面风格相似,最重要的是支持小鱼的一键安装,也可以轻轻松松的装上ROS,如此国内用户装ubuntu不妨换成优麒麟。电脑比较老,配置也不咋地,据说是1200买的,平时最多的需求就是上上网,登微信,直接装最新的windwos11(原来是WIN7)肯定很卡,所以最后决定换一个比较轻量的系统,最后决定试试优麒麟(主要原因是它自带应用商店,且里面有微信)。

2024-05-28 11:47:11 322

原创 小鱼今天拆了一个平衡车分享下硬件结构

记得前几年平衡车非常火,村里的小朋友几乎人手一辆,这也导致平衡车价格亲民化,那其硬件成本应该也不会很高,二手的轮毂电机价格也是非常便宜,负载也很大,用来做载人得到或者载货机器人轮子应该没问题。目前打算试试ODrive,国内有相关的社区在整,小鱼正尝试找找相关的驱动程序和芯片,FD系列的貌似是国产的,6288这个用的也挺多,有相关资料的小伙伴欢迎分享给小鱼。你好,我是爱吃鱼香肉丝的小鱼,今天抽空拆了一个报废的平衡车,主要是想把电机拿出来为后面的机器人项目做轮子使用。另外就是看看平衡车的驱动板及结构。

2024-05-28 11:39:36 264

原创 【方法分享】如何修复ROS2录制的Bag文件

ROS2提供了这一个指令,你可以试一下,先随便录制一个包,然后把原有的metadata.yaml删掉,接着再文件夹的上一级进行重建metadata.yaml文件。小鱼特地跑去测试了下,在humble版本ROS2上,ros2 bag是支持一个叫做reindex的指令的,通过这个指令可以重建ROS2录制的功能包的。当我们录制一个ros2的bag时可以得到一个文件夹,文件夹里包含ROS2的功能包的sqlite3数据库文件,和一个配置文件``这样你打开文件夹之后就会得到一个新的metadata.yaml文件了。

2024-05-28 11:14:29 467

原创 今天聊聊ROS2的地基——DDS

上面小鱼说DDS是提供订阅发布通信的,订阅发布通信其实就是话题通信,所以对于DCPS模型来说,最重要的就是订阅者、发布者和话题这三个部分,因为DDS有隔离需求,比如说多个机器人在同一网络下运行时可能存在两个机器人都用同一个话题来控制的情况,此时就需要将其隔离开来,因此在DDS的订阅发布中还存在域的概念,在同一个域下的订阅发布才能进行互相发现和通信。接着我们分别介绍下发布者、订阅者、话题和域。

2024-05-28 11:08:36 824

原创 说实话,ROS2源码和我想象的不太一样!ROS2 源码编译安装

大家好,我是爱吃鱼香肉丝的小鱼,前两天吃饭点了个鱼香肉丝,发现居然没有胡萝卜,问老板说他这个是最正宗的,小鱼有点懵,不知道你吃过的鱼香肉丝里都有什么?回归正题,今天要讲的是ROS2的源码和编译安装的方法。

2024-05-28 11:03:44 936

原创 最近有不少人找小鱼麻烦,今天就给个交代!

最近有不少小伙伴因为Moveit2源码编译安装遇到问题,找小鱼问,小鱼今天就特地重新测试写了下教程,另外吐槽下自己祖传笔记本实在太慢。。编译一个多小时才完成。我们可以直接使用apt安装官方编译好的二进制包,也可以把源代码下载下来自己编译出二进制包,但为了学习方便,也为了第一时间体验新发布的特性(官方二进制比源码总慢半拍),我这里优先带你用源码安装。

2024-05-28 10:57:18 943 1

原创 Moveit若不“骚”,为何机械臂老扭腰?小鱼带你解决Moveit规划绕路问题?

关于Moveit的运动规划,还有很多有意思的地方,小鱼将分几期慢慢和大家分享,敬请期待~

2024-05-27 19:31:20 480

原创 Moveit,IkFast运动学插件配置,最详细,没有之一

之前做好了IKFast配置的镜像,并没有在实际的机械臂上使用,本篇文章,旨在带你一起一步步给你的机械臂配置好ikfast插件.

2024-05-27 19:21:20 1325 3

原创 rosdepc update常见错误及解决方案

这两天有不少小伙伴遇到rosdepc update更新失败问题,主要有两个,这里小鱼介绍下并提供解决方案。

2024-05-27 18:51:10 283 1

原创 yolo+ros2 上传与分享你的开源库

大家好,我是周六必须加班的小鱼,so,今天加班,就又来拿库存了~

2024-05-24 12:45:13 1073

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关注的人

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