OpenWrt可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的、静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。
近年来随着人工智能技术、计算机技术等相关技术的发展,对移动机器人的研究越来越广泛。本设计是采用OpenWrt操作系统的移动机器人,它可实现多种不同功能,如探测险情、巡视、图像采集、定位、无线通信等。它还可以作为各种智能控制方法(包括动态避障、路径规划、群体协作策略)的良好载体,开展研究。
1系统方案
采用2层架构。上层以ARM处理器64位ARMCortex-A72核心,选用ls1046处理器作为上层的主板,负责图像采集,并将图像通过Wi-Fi方式发送给远端的PC机。Wi-Fi无线通信是利用PC机与无线路由器搭建环境平台共同实现的。
下层是以51单片机为核心的单片机控制板,由51单片机及外围电路组成。下层主要负责机器人移动控制,传感器数据处理。51单片机通过I/O口输出PWM信号控制直流电机的转速和转向,实现机器人的前进、停止、左转和右转。单片机接口电路上挂接了1个超声波测距模块、1个人体红外感应模块、1个步进电机模块。超声波测距模块用来实现机器人避障。在嵌入式智能的前端安装了一个步进电机,而超声波测距模块安置在步进电机的转轴上,步进电机不停地来回转动,超声波测距模块也随之转动。这样用1个超声波测距模块就可实现多方位测距,从而减少了超声波测距模块的数量。
机器人主要由硬件系统和软件系统构成。硬件系统主要包括:ARM处理器、单片机、外围接口电路、机器人底盘以及电源等。其中ARM处理器是上层的核心,51单片机是下层的核心。软件包括:嵌入式Linux操作系统、外设驱动程序、Linux应用程序以及单片机应用程序等。系统没有选用通常的嵌入式Linux版本,而是另辟蹊径,选用一种独特的嵌入式Linux发行版之一OpenWrt作为操作系统。OpenWrt提供了一个完全可写的文件系统及软件包管理,它通过简单易用的方式,降低了嵌入式Linux开发的门槛,提高了系统软件开发的效率。
嵌入式智能移动机器人的工作流程为:传感器模块实时采集周围环境信息,将此数据信息传输到机器人控制系统中,单片机通过数据分析获取有效数据,从而获知机器人与障碍物的相对位置,然后根据此位置信息产生控制信号;单片机产生PWM信号控制直流电机来控制机器人转向,从而达到机器人自主“行走”的目的。下层的单片机与上层的ARM处理器通过串口来通信,ARM主板可将下层单片机控制板的工作数据通过无线Wi-Fi的方式传输到远端的PC机。ARM主板可以不间断地将USB摄像头采集的清晰现场图片发给远端的PC控制终端。
对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。
Linux世界很大,大到无从谈起。OpenWrt仅仅是一个嵌入式的Linux发行版。
2004年生长出来了OpenWrt。2005年到2007年,最初的稳定版叫WhiteRussian,之后的Kamikaze延续到2010年,Backfire到2013年,随后AtTItude Adjustment发布,而最新版的Barrier Breaker也已经在持续开发中,据称将很快发布。它的前身的前身,是UNIX,一步步发展过来,慢慢觉醒……是不是有种“天网”要粗线的感觉!
OpenWrt上有哪些好玩的 App ?
首先,openWRT能实现的一些稍微比较主流的功能上来说吧。
无线审计
脱机下载
无线音响
影印共享
部署服务器(博客社区等)
特殊拨号(锐捷,H3C,等一些奇葩认证)
无线监控
翻越长城
无线打印共享
当然还有一些灰主流的玩法,比如广告过滤,部署KMS激活微软的产品,驱蚊器,WEB计费认证;还有进阶型的WRTnode,遥控智能小车之类的。
插件(也就是你说的APP):
一,无线审计
airodump-ng
reaver
tcpdump
port-mirroring
(这个需要一块额外的硬件如传说中RTL8187L USB无线网卡 )
二,脱机下载
thunder-xware(迅雷下载)
transmission
Aria2
三,无线音响
kmod-usb-audio
install alsa-uTIls
shairport
MPDroid
(额外需要一张USB声卡)
四,影印共享
xmlrpc
dlna
Airplay
samba36-server
五,部署服务器
vsftpd
lighttpd
php5-mod-apc
mysql-server
六:特殊拨号
MentoHUST
H3C 802.1x Client
sxplugin
nwan
七,无线监控
webcam
kmod-uѕb2
kmod-video-uvc
kmod-nlѕ-base
kmod-usb-core
kmod-i2c-core
kmod-video-core
kmod-input-core
kmod-usb-ohci
kmod-usb-video
libjpeg
librt
libpthread
八,翻越长城(估计大家对这个的需求要更为迫切一些)
GoAgent [需要先安装python]
openvpn
shadowsocks
dnsmasq
九,无线打印共享
kmod-usb-printer
install luci-app-p910nd
OpenWRT用途
怎么说呢,提起它,或许大家可能还有点陌生,但提起它的兄弟Android来,大概无人不知了吧。作为对比:“OpenWrt具有比肩桌面级Linux和现代移动操作系统(Android)的用户体验,完全回避了传统嵌入式Linux的磨叽和枯燥,使一个小小的路由器真正成为完整的、现代的、开放的计算系统,降低了入门门槛,产生了大量非嵌入式专业的爱好者群体。OpenWrt框架的奠定者们和广泛的代码贡献者们,在桌面级和现代操作系统的理念下,也使OpenWrt成为嵌入式Linux领域个性十足而广受追捧的佼佼者”。
具体点说,凡是路由器能做到的功能OpenWRT都能做到[市面上路由器除了官方固件,第三方固件中主要有OpenWRT(功能最给力)、TT(稳定性不错)和DD(以“中继”出名些)]。OpenWRT进阶的功能:做USB摄像头、挂载移动硬盘/U盘、BT下载、3G上网卡(好吧,这点官方固件也勉强可行了)、单号多拨(这点是否有效要看当地ISP)、绑定域名远程控制、Samba/DLNA家庭NAS共享、私有云同步、FTP、个人网站/服务器等;
高阶的玩法,可改出口IP(你懂的吧,想想出门在外,有个带此功能的便携路由)、阻止DNS污染(还有反过来的玩法)、做编程器、智能机器人的“大脑”(吸取上次投稿失败的经验,不该写的一律不写,嘿嘿)……OpenWrt社区的组织者Gregers Petersen在一次采访中提到,“除了传统的路由器用途,在智能家居主控设备、机器人、飞行器、工业控制设备、voIP设备等很多领域,都有爱好者和商业项目在使用OpenWrt,甚至有爱好者已经完整移植了Android系统并且真正打通了电话。而嫁接到OpenWrt上的Arduino Yun,使大家意识到Linux与物理世界交互一种非常简单的可能性,这赋予了OpenWrt更大的想象空间。在新型智能设备和机器人的热潮中,OpenWrt的价值也越来越得到人们的重视。相比Android系统,OpenWrt被认为是更加适应智能设备和机器人的平台,其直接的原生二进制代码具有更高的计算效率”。
在路由器上安装模块化的Linux发行版,如果这个主意一丁点儿没让你感到兴奋的话,你可能读错了文章。除了可以作路由器,我现在就列出OpenWrt其他一些比较酷的功能。
原文标题:基于OPenWrt的移动机器人系统设计!
文章出处:【微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
-
机器人
+关注
关注
211文章
28379浏览量
206914 -
Linux
+关注
关注
87文章
11292浏览量
209326 -
人工智能
+关注
关注
1791文章
47183浏览量
238247
原文标题:基于OPenWrt的移动机器人系统设计!
文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论