- 博客(100)
- 收藏
- 关注
原创 ROS2+OpenCV综合应用--11. AprilTag标签码跟随
apriltag标签码追踪是在apriltag标签码识别的基础上,增加了小车车体运动的功能,控制车体从而使摄像头会保持标签码在视觉中间左右运动,在根据物体在摄像头成像近大远小的原理根据这一特性,从而实现标签码跟随功能。
2025-01-07 09:29:38
574
原创 ROS2+OpenCV综合应用--10. AprilTag标签码追踪
apriltag标签码追踪是在apriltag标签码识别的基础上,增加了小车摄像头云台运动的功能,摄像头会保持标签码在视觉中间而运动,根据这一特性,从而实现标签码追踪功能。
2024-12-31 09:27:58
567
原创 ROS2+OpenCV综合应用--9. AprilTag标签码识别
Apriltag是一种常用于机器视觉中的编码标志,它具有较高的识别率和可靠性,可用于各种任务,包括增强现实、机器人和相机校准。
2024-12-30 09:52:37
463
原创 ROS2+OpenCV综合应用--8. 视觉巡线自动驾驶
程序启动后,调整摄像头的俯仰角,把摄像头往下掰动,使得摄像头可以看到线,然后点击图像窗口,按下r 键进选色模式;接着在在画面中的线的区域内,框出所需要巡线的颜色,松开鼠标后会自动加载处理后的图像;最后按下空格键开启巡线功能。小车在运行过程中,遇到障碍物会停下并且蜂鸣器会响。
2024-12-27 16:31:02
911
原创 ROS2+OpenCV综合应用--7. 手掌控制二维云台舵机
MediaPipe是一款由Google开发并开源的数据流处理机器学习应用开发框架。它是一个基于图的数据处理管线,用于构建使用了多种形式的数据源,如视频、音频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运行在嵌入式平台(树莓派等),移动设备(iOS和Android),工作站和服务器上,并支持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决方案。
2024-12-23 08:00:00
499
原创 ROS2+OpenCV综合应用--6. 手掌控制小车运动
MediaPipe是一款由Google开发并开源的数据流处理机器学习应用开发框架。它是一个基于图的数据处理管线,用于构建使用了多种形式的数据源,如视频、音频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运行在嵌入式平台(树莓派等),移动设备(iOS和Android),工作站和服务器上,并支持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决方案。MediaPipe Hands是一款高保真的手和手指跟踪解决方案。
2024-12-18 09:00:00
1127
原创 ROS2+OpenCV综合应用--5. 手势控制小车做形状
功能开启后,摄像头捕获图像,识别相关手势来控制小车移动。这里当每个手势运动完后,会归回初始化位置,并且滴一声,等待下次的手势识别。MediaPipe Hands从一帧中推断出21个手值关节的3D坐标。
2024-12-17 09:15:00
323
原创 ROS2+OpenCV综合应用--4. 手势控制小车基础运动
self.media_ros.pub_vel(x,y,z) #这函数也是在media_library,py中。再新开一个终端,进入同一个docker,以下的 da8c4f47020a 修改成实际终端显示的ID。from media_library import * #这个库包含了检测手部,获取手势等函数。功能开启后,摄像头捕获图像,识别手势来控制小车移动。打开一个终端输入以下指令进入docker,出现以下界面就是进入docker成功。进入docker容器后,终端输入,
2024-12-16 08:45:00
286
原创 ROS2+OpenCV综合应用--3. mediapipe趣味玩法
MediaPipe是⼀款由Google开发并开源的数据流处理机器学习应⽤开发框架。它是⼀个基于图的数据处理管线,⽤于构建使⽤了多种形式的数据源,如视频、⾳频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运⾏在嵌⼊式平台(树莓派等),移动设备(iOS和Android),⼯作站和服务器上,并⽀持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决⽅案。MediaPipe 的核⼼框架由 C++ 实现,并提供 Java 以及 Objective C 等语⾔的⽀持。
2024-12-15 08:45:00
813
原创 ROS2+OpenCV综合应用--2. AR视觉
增强现实(Augmented Reality),简称“AR”,技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。AR系统具有三个突出的特点:①真实世界和虚拟世界的信息集成;②具有实时交互性;③是在三维尺度空间中增添定位虚拟物体。
2024-12-14 08:45:00
335
原创 ROS2+OpenCV综合应用--1. ROS+opencv案例
ROS 以自己的sensor_msgs/Image消息格式传递图像,无法直接进行图像处理,但是提供的【CvBridge】可以完美转换和被转换图像数据格式。【CvBridge】是一个 ROS 库,相当于ROS和Opencv之间的桥梁。Opencv和ROS图像数据转换如下图所示:下面有三个案例来展示如何使用CvBridge进行数据转换。
2024-12-13 08:15:00
1861
原创 ROS2-机器人底盘与控制--01、机器人信息发布
小车启动底盘驱动之后,会发布超声波、四路巡线等传感器模块数据,可以在docker中,运行命令去查询这些信息,也可以发布速度、蜂鸣器、RGB灯条等传感器的控制数据。
2024-12-10 09:00:00
772
原创 ROS2基础学习--6. ROS2节点
在通信时,不论采用何种方式,通信对象的构建都依赖于节点(Node),在ROS2中,一般情况下每个节点都对应某一单一的功能模块(例如:雷达驱动节点可能负责发布雷达消息,摄像头驱动节点可能负责发布图像消息)。一个完整的机器人系统可能由许多协同工作的节点组成,ROS2中的单个可执行文件(C++程序或Python程序)可以包含一个或多个节点。
2024-12-09 09:00:00
848
原创 ROS2基础学习--5. ROS2功能包
每个机器人可能有很多功能,比如移动控制、视觉感知、自主导航等,如果我们把这些功能的源码都放到一起当然也是可以的,但是当我们想把其中某些功能分享给别人时,就会发现代码都混合到了一起,很难拆分出来。功能包就是这个原理,我们把不同功能的代码划分到不同的功能包中,尽量降低他们之间的耦合关系,当需要在ROS社区中分享给别人的时候,只需要说明这个功能包该如何使用,别人很快就可以用起来了。所以功能包的机制,是提高ROS中软件复用率的重要方法之一。
2024-12-08 08:45:00
998
原创 ROS2基础学习--4. ROS2工作空间
在ROS机器人开发中,我们针对机器人某些功能进行开发时,各种编写的代码、参数、脚本等文件,需要放置在某一个文件夹里进行管理,这个文件夹在ROS系统中就叫做工作空间。所以工作空间是一个存放项目开发相关文件的文件夹,也是开发过程中存放所有资料的大本营。
2024-12-07 09:15:00
553
原创 ROS2基础学习--3. ROS2集成开发环境搭建
理论上,在ROS2中,只需要记事本就可以编写基本的ROS2程序,但是为了提高开发效率,可以安装集成开发环境,这里推荐使用:vscode。另外,终端、git也经常需要用到。
2024-12-06 08:30:00
1278
原创 ROS2基础学习--2. ROS2安装Humble
每次新开终端时,都得执行上述命令,或者也可以执行如下命令,将配置环境指令写入 ”~/.bashrc“ 文件,那么每次新启动终端时,不需要在手动配置环境。请先检查本地语言环境是否支持UTF-8编码,可调用如下指令检查并设置UTF-8编码。将ROS 2 apt存储库添加到系统,用apt授权我们的GPG密钥。注意:语言环境可以不同,但必须支持UTF-8编码。locale # 检查是否支持 UTF-8。到目前为止,ROS2就已经安装且配置完毕了。启动Ubuntu universe存储库。将存储库添加到源列表。
2024-12-05 09:30:00
1215
原创 ROS2基础学习--1. ROS2简介
ROS2是第二代的Robot Operating System,ROS1的升级版本,解决了ROS1存在的一些问题。ROS2最早出现的版本Arden是在2017年,随着版本的迭代,不断地更新与优化,现如今已经有了稳定的版本。与ROS1相通过,Linux版本与ROS2版本的选择也是有关系的,两者对应的版本如下,ROS2版本Ubuntu版本FoxyGalacticHumble根据自己的Linux版本,下载对应的ROS2版本,本产品课程以Humble版本为基础。
2024-12-04 09:45:00
328
原创 Docker基础学习--5. 进入机器人的docker容器
GUI即图形用户界面,这里主要是指:opencv显示的图像窗口、rviz界面、rqt界面等。这里的机器人就是raspbot v2小车,也就是已配置好各种开发依赖环境的raspbot v2小车容器在操作本章节教程前,请确保自己已经掌握了下面这些章节的知识,否则可能会感到学起来比较吃力。出现这种情况,请反复查看下面这些预先知识的内容,熟练掌握后会觉得很轻松,Come on,you are the best!
2024-12-03 10:00:00
1041
原创 Docker基础学习--4. docker数据处理
将应用和运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对于数据的要求,是希望能够持久化的!就好比,你安装一个mysql,结果你把容器删了,就相当于删库跑路了,这肯定不行吧!所以我们希望容器之间有可能可以共享数据,docker容器产生的数据,如果不通过docker commit 生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了!这样是行不通的!为了能保存数据在docker中我们就可以使用卷!让数据挂载到我们本地!这样数据就不会因为容器删除而丢失了!
2024-12-02 10:30:00
1149
原创 Docker基础学习--3. docker镜像深入理解和发布镜像
镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需要的所有内容。我们将应用程序、配置打包成一个成型的、可交付、可部署的运行环境,包括代码、运行时所需要的库、环境变量和配置文件等,这个大包好的运行环境就是image镜像文件。只有通过镜像文件才能生成docker容器实例。
2024-12-01 17:30:00
859
原创 Docker基础学习--2. docker镜像容器常用命令
通常情况下,操作docker命令,需要加上前缀sudo,如下:但是添加docker用户组之后,就可以不用加sudo前缀了。添加上述命令之后,使用【docker images】命令测试,如果没报错,说明已经可以不使用sudo命令了。
2024-12-01 09:00:00
1011
原创 小车AI视觉交互--8.手势跟随
前面我们介绍了使用 MediaPipe 实现手势识别,这章节我们利用 MediaPipe 结合手势识别和麦轮以及云台的控制,实现小车跟随手部,用手势控制小车运动的功能。
2024-11-30 08:30:00
256
原创 小车AI视觉交互--7. 自动驾驶地图沙盘Mini版
1.关闭开机大程序,如何关闭可以参考【】里的“2.调节四路巡线模块,如何调节可以参考【】‘’‘’3.因摄像头受环境光线影响较大,确保环境光线充足,且环境光线均匀。环境光线昏暗将会影响路标识别。4.启动前将jupyter leb内核环境切换为。
2024-11-29 09:00:00
1500
原创 小车AI视觉交互--4.人脸跟随
结合摄像头云台实现人脸跟随。通过对人脸对象进行识别,并检测识别到的人脸的外切圆的圆形的x,y坐标与画面中心的差值,运用PID算法控制Y轴舵机和车体运动使识别目标位于画面中心位置。
2024-11-27 14:30:00
210
原创 小车AI视觉交互--3.人脸追踪
结合摄像头云台实现人脸追踪。通过对人脸对象进行识别,并检测识别到的人脸的外切圆的圆形的x,y坐标与画面中心的差值,运用PID算法控制舵机运动使识别目标位于画面中心位置。
2024-11-27 13:30:00
258
原创 小车AI视觉交互--2.颜色跟随
前面利用了颜色对象在摄像头画面的x,y不同位置通过云台进行跟踪,接下来我们可以在这个基础上修改下,x方向改为车身左右运动进行跟随,然后根据识别的图像外切圆大小进行前进的控制,通过二者叠加来整体控制小车电机运动。
2024-11-27 08:30:00
595
原创 小车AI视觉交互--1.颜色追踪
结合硬件,完成摄像头云台颜色追踪,通过对红色对象进行识别,并检测识别颜色的外切圆的圆形的x,y坐标与画面中心的差值,运用PID算法控制舵机运动使识别目标位于画面中心位置。
2024-11-26 16:30:00
495
原创 小车AI视觉识别--16.手指控制
MediaPipe是⼀款由Google开发并开源的数据流处理机器学习应⽤开发框架。它是⼀个基于图的数据处理管线,⽤于构建使⽤了多种形式的数据源,如视频、⾳频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运⾏在嵌⼊式平台(树莓派等),移动设备(iOS和Android),⼯作站和服务器上,并⽀持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决⽅案。MediaPipe 的核⼼框架由 C++ 实现,并提供 Java 以及 Objective C 等语⾔的⽀持。
2024-11-26 09:15:00
377
原创 小车AI视觉识别--15.画笔
MediaPipe是⼀款由Google开发并开源的数据流处理机器学习应⽤开发框架。它是⼀个基于图的数据处理管线,⽤于构建使⽤了多种形式的数据源,如视频、⾳频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运⾏在嵌⼊式平台(树莓派等),移动设备(iOS和Android),⼯作站和服务器上,并⽀持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决⽅案。MediaPipe 的核⼼框架由 C++ 实现,并提供 Java 以及 Objective C 等语⾔的⽀持。
2024-11-25 18:30:00
410
原创 小车AI视觉识别--14.三维物体识别
MediaPipe是⼀款由Google开发并开源的数据流处理机器学习应⽤开发框架。它是⼀个基于图的数据处理管线,⽤于构建使⽤了多种形式的数据源,如视频、⾳频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运⾏在嵌⼊式平台(树莓派等),移动设备(iOS和Android),⼯作站和服务器上,并⽀持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决⽅案。MediaPipe 的核⼼框架由 C++ 实现,并提供 Java 以及 Objective C 等语⾔的⽀持。
2024-11-25 10:00:00
407
原创 小车AI视觉识别--13.人脸特效
MediaPipe是⼀款由Google开发并开源的数据流处理机器学习应⽤开发框架。它是⼀个基于图的数据处理管线,⽤于构建使⽤了多种形式的数据源,如视频、⾳频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运⾏在嵌⼊式平台(树莓派等),移动设备(iOS和Android),⼯作站和服务器上,并⽀持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决⽅案。MediaPipe 的核⼼框架由 C++ 实现,并提供 Java 以及 Objective C 等语⾔的⽀持。
2024-11-24 17:00:00
287
原创 小车AI视觉识别--12.人脸检测
MediaPipe是⼀款由Google开发并开源的数据流处理机器学习应⽤开发框架。它是⼀个基于图的数据处理管线,⽤于构建使⽤了多种形式的数据源,如视频、⾳频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运⾏在嵌⼊式平台(树莓派等),移动设备(iOS和Android),⼯作站和服务器上,并⽀持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决⽅案。MediaPipe 的核⼼框架由 C++ 实现,并提供 Java 以及 Objective C 等语⾔的⽀持。
2024-11-24 09:30:00
308
原创 小车AI视觉识别--11.手势识别
MediaPipe是⼀款由Google开发并开源的数据流处理机器学习应⽤开发框架。它是⼀个基于图的数据处理管线,⽤于构建使⽤了多种形式的数据源,如视频、⾳频、传感器数据以及任何时间序列数据。MediaPipe是跨平台的,可以运⾏在嵌⼊式平台(树莓派等),移动设备(iOS和Android),⼯作站和服务器上,并⽀持移动端GPU加速。MediaPipe为实时和流媒体提供跨平台、可定制的ML解决⽅案。MediaPipe 的核⼼框架由 C++ 实现,并提供 Java 以及 Objective C 等语⾔的⽀持。
2024-11-23 15:45:00
411
原创 小车AI视觉识别--10.yolov5-lite
YOLOv5 Lite在YOLOv5的基础上进行一系列消融实验,使其更轻(Flops更小,内存占用更低,参数更少),更快(加入shuffle channel,yolov5 head进行通道裁剪,在320的input_size至少能在树莓派4B上的推理速度可以达到10+FPS),更易部署(摘除Focus层和4次slice操作,让模型量化精度下降在可接受范围内)。
2024-11-23 09:00:00
329
Berkeley DB嵌入式数据库系统,无需独立服务器进程,为BerkeleyDBUI提供高效的数据管理基础
2024-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人