基于DragonBoard 410c的家庭智能环保卫士——(4)A*路径搜索算法

遗传算法驱动吃豆人进化:从零构建AI游戏智能体 遗传算法是一种模拟自然选择过程的优化技术,其核心原理是通过选择、交叉和变异等操作,在解空间中迭代搜索最优解。该技术为解决复杂优化问题提供了强大工具,尤其在游戏AI、机器人控制和参数调优等场景中价值显著。在游戏AI领域,遗传算法常被用于训练智能体自主决策,例如在经典游戏《吃豆人》中,通过定义智能体的“基因”(如神经网络权重)和“适应度”(如游戏得分),可以引导其进化出躲避幽灵、高效吃豆等策略。本项目结合Pygame框架与神经网络,构建了一个完整的遗传算法训练沙盒,详细展示了如何通过适应度函数设计和参数调优,实 阅读详情

      在路径规划blog中已经结合具体的室内环境对实现室内路径规划的基本思想进行了介绍,这里再介绍一种常用的路径搜索算法A*,对算法的一些基本原理和实现思路进行分析,后期将进一步将该算法运用到室内路径规划中,加入各种输入参数,为机器人提供路径查询和预测。

       A*算法,A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快。

      A*算法基本数学模型如下:

      f(n)=g(n)+h(n)

      其中g(n)是状态空间从初始化到状态n的实际代价

     h(n)是从状态n到目标状态的最佳路径的估计代价

     f(n)是从初始状态经由状态n到目标状态的代价估计

     我们以d(n)表达状态n到目标状态的距离,那么h(n)的选取大致有如下三种情况,这也是算法的基本思路:

     如果h(n)<= d(n)到目标状态的实际距离,这种情况下,搜索的点数多,搜索范围大,效率低。但能得到最优解。

     如果h(n)=d(n),即距离估计h(n)等于最短距离,那么搜索将严格沿着最短路径进行, 此时的搜索效率是最高的。

     如果 h(n)>d(n),搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。

     基于上述思路,采用python实现A*算法核心过程如下:

     while True:
            _block = raw_input('input block:')
            if not _block:
                break
            _block = _block.split(',')
            _block = (int(_block[0]), int(_block[1]))
            _2dmap[_block[0]][_block[1]] = 'X'
            block_node = Node(None, _block[0], _block[1])
            close_list[(block_node.x, block_node.y)] = block_node

     详细实现可以参考http://blog.youkuaiyun.com/nobugtodebug/article/details/43986597,后续设计将借鉴该实现代码,结合室内环境需求对其进行改进设计。后续blog将向大家详细介绍如何将A*算法应用到室内的路径规划中。

     同样关于算法的实际运行展示,大家可以访问http://netsmell.com/post/pathfinding.html,这里可以设置相关参数进行算法模拟展示,如下图所示。

     

     

运维系列【仅供参考】:RustDesk部署疑难解答 RustDesk部署疑难解答 阅读详情

相关推荐

FPGA学习之路—应用程序—原码二位乘法器及Verilog代码分析

FPGA学习之路——原码二位乘法器及Verilog代码分析 原理 原码乘法可以分为原码一位乘和原码二位乘,两者在实现规则上大同小异。原码一位乘每次判断乘数的最低位,对被乘数和部分积进行相应操作。而原码二位乘则是对乘数的低二位进行判断,并执行相关操作。 两位乘数的取值可以有四种可能组合,每种组合对应于以下操作: 00相当于0x,部分积Dresult右移2位,不进行其他运算; 01相当于1x,部分积D...

谦豫 3717

基于Dragonboard 410c的家庭智能环保卫士——(2)方案设计

前面一篇预研blog中已经详细的分析了基于Dragonbaord 410c的家庭智能环保卫士需要实现的功能以及需要解决的问题的定位,这期blog将在此基础上,从硬件结构和软件结构两个方面对设计的基于dragonbaord 410c的家庭智能环保卫士的方案进行设计。        根据预研中给出的功能方案,完成了 家庭智能环保卫士整个结构设计,如下图1所示,主要包括智能小车底盘、传感器、主控、电源

ANDYMFC的博客 2181

TLSR8258蓝牙Mesh实战:从SDK下载到自定义通信指令全流程(附避坑指南)

本文详细介绍了TLSR8258蓝牙Mesh开发的完整流程,从SDK下载、环境搭建到自定义通信指令的实现。通过实战案例和避坑指南,帮助开发者快速掌握低功耗蓝牙Mesh网络构建技巧,适用于智能家居、工业监控等物联网场景。

weixin_29176179的博客 200

基于DragonBoard 410c的家庭智能环保卫士——(9)数据库设计

根据前面给出的整体方案和部分已经完成的模块设计,本期blog将对设计的基于Dragonboard 410c的家庭智能环保卫士的数据库方案进行设计,为系统提供数据存储和访问支持,整个系统的数据库主要包括以下几个部分:         1)传感器数据存储与管理          该部分主要需要实现对环保机器人配置的各种环境传感器采集到的数据进行存储和管理,需要采取一定的管理策略,记录和保存近期室内

ANDYMFC的博客 2921

mstar PQ软件修改方法

1.修改ADC的值 Static code APIXC_AdcGainOffsetSetting tADCSetting[ADC_SET_NUMS]= #define INIT_ADC_RGB_RED_GAIN               0x1000 #define INIT_ADC_RGB_GREEN_GAIN           0x1000 #define INIT_ADC_RGB

qq_18810259的专栏 2565

本地部署 OpenClaw:让 AI 真正“干活”的开源智能体,从核心概念到实战全流程

在大模型遍地开花的今天,我们早已习惯与 AI 聊天,但真正能**接管本地任务、自动化工作流**的“数字员工”却寥寥无几。OpenClaw 正是这样一款开源利器——它不仅是可本地运行的 AI 私人助理,更像一个“AI 操作系统内核”,能读写文件、执行终端命令、控制浏览器,所有数据本地存储,兼顾隐私与效率。而 Skills 作为它的标准化插件系统,更是让这份能力无限扩展。 本文将从核心概念拆解入手,再分系统给出**保姆级本地部署步骤**,包含环境准备、安装配置、技能安装与验证,甚至覆盖新手最易踩的坑,让你一次

ZhangJiqun&191cm&85kg 2501

基于Dragonbaord 410c的家庭智能环保卫士——(1)预研

最近经常看到朋友圈被各种雾霾和空气污染刷屏,作为一个Daragonbaord 410c DIY控,萌生了一个想法,做一个环境保护机器人来实时的保护我们周围的环境,本次推出的系列blog将跟大家分享我们的设计和制作过程——基于dragonbaord 410c的家庭智能环保卫士。 图1 dragonbaord 410c 和kobuki机器人底盘        这款家庭智能环保卫士,我们定位

ANDYMFC的博客 2121

数仓建模—维度建模之维度表

首先要学会识别维度,维度是相对稳定的、可抽象具有共性的、固有的(天然的)描述度量或事实的上下文属性信息,失去维度信息的度量信息是没有意义的或者说是失去维度信息的事实表是没有意义的。其次要掌握维度表的设计原则和设计流程,从而更加科学的设计维度表,其实这些东西都是术,我们一直都说一句话大道至简,其实如果你掌握了精髓,抛开这些术也可以做到得心应手,这就像张无忌练太极剑一样,忘记了才能达到道的境界,也就是无我,如果做不到就记住这些原则加以应用从而达到术的境界。

2401_84052244的博客 4363

基于Dragonboard 410c的家庭智能环保卫士——(3)室内路径规划

室内路径规划和定位是实现基于DragonBoard 410c的家庭智能环保卫士的关键,根据前面方案的设计,家庭智能环保机器人能够在室内自由穿梭,根据预先规划的路径,或者室内环境情况来自由移动,对室内各个区域的环境进行巡逻和监测,这就需要机器人能够自主的记录自己的移动位置,并且可以根据传感器采集的环境数据,对移动的路径进行规划,本期blog将和大家一起分享如何在室内实现路径规划。        这

ANDYMFC的博客 1737

Python 爬虫实战:爬取微博热搜与用户评论数据

本文系统讲解微博热搜榜单与用户评论数据的爬取技术方案。针对微博热搜榜采用Requests+BeautifulSoup解析静态HTML结构,实现高效爬取;对于动态加载的评论数据,使用Selenium模拟浏览器行为规避反爬机制。详细阐述技术选型、反爬策略、数据清洗及存储方法,提供完整代码实现和输出示例。同时强调合规要求,提示开发者需在遵守平台规则的前提下进行数据采集。该方案为舆情分析和热点研究提供了可落地的技术实现路径。

2503_91057718的博客 1716

基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文带你从零构建了异步电机SFOC系统​ 的完整Simulink仿真模型,实现了:✅ 搭建异步电机、逆变器、风机负载的主电路与传感器模型;✅ 用MATLAB Function实现定子磁链观测(电压模型)、坐标变换、双闭环PI控制;✅ 验证SFOC在转速跟踪(响应0.2s、超调4%)、转矩响应(恢复0.15s)中的高性能;✅ 对比RFOC,明确SFOC在参数鲁棒性(转子电阻+50%时波动<2%)上的独特优势;✅ 理解SFOC“定子磁链定向+解耦控制”的核心思想(低成本高鲁棒性驱动的工程实现)。

xiaoheshang_123的博客 390

基于DragonBoard 410c的家庭智能环保卫士——(13)融合多数据处理的运动控制

在获取环境数据和地图路径规划信息后,就可以根据这些数据来实现对家庭环保卫士底盘的控制,本期blog将向大家介绍如何实现对家庭环保机器人的智能控制,这里控制过程中主要是从数据库中搜索得到网格地图位置中的环境信息,然后根据环境信息进行决策,最终根据决策结果确定目标位置并调用路径搜索模块实现路径查找,得出机器人路径,最后根据机器人路径控制机器人行走。        具体的控制实现中,主要是采用了环境综

ANDYMFC的博客 2539

搞懂 SAPUI5 Fiori 应用的 OData 授权维护:从 IWSG、IWSV 到 S_SERVICE 的完整实践

本文探讨了SAP Fiori项目中常见的授权问题及其解决方案。文章指出,开发人员常误将OData服务访问问题归咎于前端代码或配置,而实际上多因授权默认值未正确带入角色所致。详细分析了IWSG(前端服务组元数据)和IWSV(后端业务服务)两个关键对象的作用机制,强调应通过PFCG角色的Authorization Default入口维护服务对象,而非直接修改S_SERVICE授权对象。文章还提供了前后端授权配置的具体操作步骤,并特别提醒需同时配置前端和后端授权,才能确保应用完整可用性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 212

基于DragonBoard 410c的家庭智能环保卫士——(11)室内栅格地图位置更新Python实现

前面blog中已经介绍了如何构建家庭智能环保卫士系统数据库,并且给出了生成数据库文件和相应表的具体python代码实现,在数据库构建中,设计了rasterStatusRecord表用于记录室内栅格信息,其中每一条记录表示一个栅格位置,包括栅格的X坐标和Y坐标,以及栅格的状态信息,其中状态信息是表示该栅格是否可以通行,其有三种状态(可以通行,不可以通行,未知状态),在系统初始化的过程中,系统首先会根

ANDYMFC的博客 3728

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

基于DragonBoard 410c的家庭智能环保卫士——(7)室内栅格地图位置更新

在前面http://blog.youkuaiyun.com/andymfc/article/details/60955819中我们对整体的室内路径规划思想进行了简单介绍,其关键将室内划分为栅格地图,通过设置引导位置,然后采用路径搜索算法查询机器到引导位置的路径,但是如何确定室内栅格地图上的障碍区域,是我们采用该思想实现室内路径规划控制机器人移动的第一步,今天就结合前面给出的方案,进一步对如何实现室内栅格地图的

ANDYMFC的博客 3749

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

基于DragonBoard 410c的家庭智能环保卫士——(6)kobuki位置信息传输及显示

前一个blog中教大家如何利用kobuki驱动中提供的demo程序实时的获取kobuki机器人的位置信息并保存到数据库中,这里进一步教大家如何将保存在数据库中的实时的位置信息传回到另一个用DragonBaord 410C做的上位机上,并且将位置信息和路径信息实时的显示出来,为后续进一步做路径规划功能提供数据基础。      这里我们的基本思路是,控制kobuki机器人的Dragonboard 4

ANDYMFC的博客 2668

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

无人机光流定位系列——(一)原理剖析

这次参加深圳的高交会,在qualcomm展区看到了多款mini无人机,大家稍微细心一点就可以发现这些无人机都使用了一种叫光流定位的技术,很多人可能都还不明白光流定位是个什么东西,是如何进行定位的,今天就带大家一起来了解一下光流定位的原理。       在无人机上光流定位通常是借助于无人机底部的一个摄像头采集图像数据,然后采用光流算法计算两帧图像的位移,进而实现对无人机的定位,这种定位手段

ANDYMFC的博客 5万+

高通DragonBoard 410c MIPI-DIS显示功能及驱动移植

为了满足部分IOT应用对显示的需求,高通DragonBoard 410c IOT平台提供了一个具有四路MIPI-DSI接口的高速扩展口用于提供显示支持,在DragonBoard 410c开发板设计中,通过一个DSI选择器与DSI-HDMI桥进行连接,该选择器搭载在410c上,如图1所示。 图1 MIPI DSI 0口连接示意图 在实际的工作过程中410c只能驱动HDMI

ANDYMFC的博客 1万+

无人机光流定位系列——(二)实践

在本系列blog中的http://blog.youkuaiyun.com/andymfc/article/details/53316404文章中,已经对光流定位的原理进行了详细的分析,详细介绍了著名的lucas-kanade光流算法,本期,将带大家一起在dragonboard 410c上来用Python编程实现光流算法,虽然Python语言编写出来的处理效率不高,但是便于我们理解整个光流算法应用方法,并且后续

ANDYMFC的博客 9454

QT+OpenCv实现在410c开发板上实现视频目标追踪预研——目标跟踪算法选择

目标跟踪算法作为一种有着非常广泛的应用的算法,在航空航天、智能交通、智能设备等领域有着非常广泛的应用。本系列博客将教大家在410c开发板上基于linux操作系统环境,采用QT+Opencv来实现视频目标跟踪,本文将首先向大家介绍常用的粒子滤波视频目标跟踪算法,对其原理进行简单的分析,为后续进一步选择和应用算法实现目标跟踪提供基础。

ANDYMFC的博客 5422

基于410c开发板和摄像头的人体姿态估计(预研分析)

最近自己想用410c来做一个运动相关的DIY,用410c开发板搭载摄像头来实现对自己的姿态的跟踪,用到健身运动中,完成对自己所作的动作的定位和标准评判,实时提醒自己所作健身动作的标准程度,前期进行了一些调研和预研究,这里将和大家一起分享一下自己在初期的预研过程对人体姿态估计算法的理解。 图1 不同运动姿态示意图         人体姿态估计算法近年来随着体感游戏、VR等热度的不断提升,

ANDYMFC的博客 4414

QT+OpenCv实现在410c开发板上实现视频目标追踪预研——(二)粒子滤波算法测试

在前一个博客中已经对机器视觉及粒子滤波算法的相关原理进行了介绍,在基于410c平台实现粒子滤波算法的前期,我们在上位机上应用QT和Opencv完成了粒子滤波算法的实现和测试。

ANDYMFC的博客 4128

在dragonboard 410c上使用python进行GPS报文解析获取位置信息

dragonboard 410c是一款非常强大的开发板,其自带了GPS,wifi和高性能的图形处理单元,可以方便的实现物联网中的各项功能需求,GPS作为物联网设备中常用的功能,可以方便的实现对设备的定位,是许多物联网应用的基础,这篇blog将向大家简单的介绍如何使用python脚本在dragonboard 410c上解析GPS报文数据。              首先我们需要了解GPS报文格式

ANDYMFC的博客 3645

基于dragonboard 410c的智能魔镜设计(1)——整体方案设计

本系列bolg将向大家分享,如何应用dragonboard 410c平台,设计一款融入人脸识别和web通信技术的智能魔镜,在使用镜子的时候,镜子会通过自身的摄像头检测出使用者身份,根据使用者身份ID推送预先定制的备忘信息,同时还会实时的显示天气和室内外温度信息等,并且基于web技术实现镜子与其他家庭智能设备及手机的互联,用户可以将自己的提示信息和备忘信息,以及给家人的爱心贴等推送到镜子,镜子会在相

ANDYMFC的博客 3625

基于DragonBoard 410c的家庭智能环保卫士——(12)环境数据融合

前面方案已经介绍了家庭智能环保卫士需要采集各种环境数据,但是在具体处理中,我们需要进一步对环境数据进行融合处理,以得到一个可以引导机器人运动的环境数据指标,本节blog将向大家介绍如何进行环境数据融合,最终计算得到一个综合性的指标。       本文在评价过程中,主要是通过传感器采集到的数据,采用多级指标体系和结构方程综合评估分析方法来得到最终的环境综合评价指标,如下图1所示,通过环境综合评价指

ANDYMFC的博客 3520

基于DragonBoard 410c的家庭智能环保卫士——(8)室内栅格定位

在http://blog.youkuaiyun.com/andymfc/article/details/65442851中,给出了如何通过机器人在室内不断移动实现对室内栅格地图的栅格信息进行更新和丰富,但是通常机器人的移动并不是在每个栅格中心,这就是的如何确定栅格和根据机器人位置及障碍物位置对栅格进行定位成为了该算法实现的关键,本期blog将进一步分析如何根据位置信息确定栅格位置,以及如何获取当前可知的所有的

ANDYMFC的博客 3036
上一篇: 基于Dragonboard 410c的家庭智能环保卫士——(3)室内路径规划
下一篇: 基于DragonBoard 410c的家庭智能环保卫士——(5)获取kobuki位置信息
ANDYMFC_No1
博客等级 码龄17年 125粉丝 66原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值