0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

能探测险情巡视的智能移动机器人方案

电子设计 来源:互联网 作者:佚名 2017-12-28 07:30 次阅读

近年来随着人工智能技术、计算机技术等相关技术的发展,对移动机器人的研究越来越广泛。本设计是采用OpenWrt操作系统的移动机器人,它可实现多种不同功能,如探测险情、巡视、图像采集、定位、无线通信等。它还可以作为各种智能控制方法(包括动态避障、路径规划、群体协作策略)的良好载体,开展研究。

1 系统方案

采用2层架构。上层以ARM处理器S3C2440为核心,选用MINI2440开发板作为上层的主板,负责图像采集,并将图像通过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控制终端。

2 系统硬件设计

硬件系统主要包括:ARM处理器、单片机、外围接口电路、机器人底盘以及电源等,其中ARM处理器是上层的核心,51单片机是下层的核心。硬件结构框图如图1所示。

图1 硬件结构框图

由图1可以看出,系统主要由以下模块构成:图像采集模块、无线通信模块、超声波测距模块、红外感应模块、MINI2440、单片机STC89C52以及直流电机驱动模块等。下面重点介绍直流电机驱动模块。

直流电机驱动模块以L298N芯片为核心,该芯片具有带载能力强的特点。直流电机驱动电路如图2所示。驱动电路芯片的外围电路主要是由二极管构成的电桥电路与2组电机并联连接,以达到控制电机按照设定运转的目的。

图2 直流电机驱动电路

移动机器人采用H桥控制方案,整体控制方案如图3所示。

图3 H桥控制方案

电机共有4路PWM输出分别作为左右轮的驱动,而通过2路PWM输出可控制一个电机,两个电机以并联方式连接。

当L298N芯片使能信号ENABLE为高时,输出才随输入变化,否则为高阻态,所以焊接时,ENABLE引脚及电源引脚VS均接电源VCC.

具体驱动过程为:通过编程控制芯片经PWM发出驱动信号,PWM输出作为L298N的输入,经L298N转换输出控制信号使电机转动,从而实现电动机的驱动。

PWM输出信号的高低则可以控制直流电机转速。当占空比加大时,转速升高;占空比减小时,转速降低;当PWM信号输出占空比为0时可控制电机的停止。

当左轮停止,右轮转时,小车左转;当右轮停止,左轮转动时,小车右转。而2路PWM输出的正负顺序转换则可控制电机的正反转,进而控制小车的前进和后退。

3 系统软件设计

软件部分是移动机器人的智能化的体现,它控制移动机器人所有的运行状态。

操作系统采用了OpenWrt操作系统,该系统简化了Linux内核的定制过程,而且允许开发者使用软件包的概念来定制嵌入式设备,从而简化了嵌入软件开发的流程。

程序在Kubuntu CodeBlock IDE集成开发环境中进行编写,用Openwrt编译出来的ARM eabi交叉编译工具编译,再经过终端SercurtCRT通过串行口向移动终端烧入交叉编译后的程序以及系统。

应用软件控制小车的避障、摄像、发送视频等行为。通信方面通过在主机端用vsftp软件架设FTP服务器,并通过IEEE 802.11g(RTL8187)无线网卡建立无线局域网。这样,移动终端就可以接收上位机的控制命令到达指定地点拍照并发送图片,而PC机终端就可以接收通过WiFi传送过来的图片。

系统软件结构如图4所示。

图4 系统软件结构

系统驱动程序利用MINI2440开发板提供的例程进行改写,并编译进内核。

摄像头控制软件mjpgstreamer由Openwrt以软件包形式提供,通过端口8080输出为MJPEG格式的图像。无线通信部分内容为Linux下socket编程,为客户端提供远程控制支持。无线通信的部分代码如下:

int sendstring(char *addr,int port,char *sendchar){

struct sockaddr_in s_addr;//定义sockaddr_in结构体类型保存socket信息

int sock;

int addr_len;

int len,i;

if ((sock=socket(AF_INET, SOCK_DGRAM, 0))==-1) {//创建socket

perror(“no socket”);

exit(errno);

}

else

printf(“create socket.\n\r”);

s_addr.sin_family=AF_INET;//TCP/IP地址族

if (port)

s_addr.sin_port=htons(port);//设置端口号

else

s_addr.sin_port=htons(10001);

if (*addr)

s_addr.sin_addr.s_addr=inet_addr(addr);//设置IP

else {

printf(“Send a message must have a receiver!\n”);

exit(0);

}

addr_len=sizeof(s_addr);//IP地址长度

len=-1;//判是否发送成功标志

for (i=0;i<4;i++) {//发送

if(len<0)len=sendto(sock,sendchar, strlen(sendchar), 0,(struct sockaddr *) &s_addr, addr_len);

else {printf(“send success!”);return 0;}

}

printf(“send error!”);

return 0;

}

系统通过MINI2440驱动并控制摄像头,通过串口控制底层的单片机,驱动无线网卡并连接,运行服务端,提供UI界面。编译完成后的Openwrt效果图如图5所示。

图5 编译完成的OpenWrt效果图

结语

本系统选用的OpenWrt操作系统,该系统适合移动机器人的设计要求,系统提供的软件包简化了系统开发流程,提高了开发效率。经过实际调试运行,系统完全可以达到设计要求,可以用于探测险情、图像采集、目标定位、无线通信等领域。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8647

    浏览量

    361743
  • 图像采集
    +关注

    关注

    2

    文章

    280

    浏览量

    41072
  • 移动机器人
    +关注

    关注

    2

    文章

    717

    浏览量

    33311
  • 人工智能
    +关注

    关注

    1776

    文章

    43781

    浏览量

    230562
  • 传感器模块
    +关注

    关注

    1

    文章

    29

    浏览量

    8529
收藏 人收藏

    评论

    相关推荐

    自主移动机器人(AMR)功能和特点

    复合机器人是一种集成了移动机器人、协作机器人机器视觉等多项功能的新型机器人。它的开发目的是为了解决工厂物流中最后一米的问题,提供
    的头像 发表于 02-28 15:05 436次阅读
    自主<b class='flag-5'>移动机器人</b>(AMR)功能和特点

    科聪料箱移动机器人整体解决方案

    等。料箱机器人现场作业料箱机器人构成科聪料箱机器人整体解决方案料箱式移动机器人整体解决方案,根据
    的头像 发表于 12-19 16:32 243次阅读
    科聪料箱<b class='flag-5'>移动机器人</b>整体解决<b class='flag-5'>方案</b>

    科聪停车移动机器人整体解决方案

    解决方案:本方案中核心部分采用的是科聪通用移动机器人控制器,导航方式一般选择激光导航,用以实现行驶路径可灵活多变和高精度导航的需求。以通用移动机器人控制器为核心的整体解
    的头像 发表于 11-30 10:45 245次阅读
    科聪停车<b class='flag-5'>移动机器人</b>整体解决<b class='flag-5'>方案</b>!

    基于Matlab和VR技术的移动机器人建模及仿真

    ,虚拟模型准确地模拟了真实移动机器人的动力学特征 ; 通过对模型的参数修改 ,为实现对真实机器人的最优控制和设计提供了可信的参考方案
    发表于 09-20 06:24

    叉式移动机器人(AGV/AMR)整体解决方案

    叉式移动机器人(AGV/AMR)是在叉车上加载各种导引技术,构建地图算法,辅以避障安全技术,实现叉车的无人化作业。▲叉式移动机器人无人化作业▲叉式移动机器人常见车型叉式移动机器人在行业
    的头像 发表于 08-31 13:24 887次阅读
    叉式<b class='flag-5'>移动机器人</b>(AGV/AMR)整体解决<b class='flag-5'>方案</b>

    移动机器人的发展现状及趋势 HMS产品在移动机器人的应用

    如今,无论是在工厂的仓库,酒店的走廊,或是家中的客厅,我们都能看到移动机器人(AGV/AMR)的身影。它们因更便宜、更安全且比真实工人更高效而受大受欢迎。 这些机器人增加了企业的灵活性,允许
    的头像 发表于 08-25 11:09 1368次阅读
    <b class='flag-5'>移动机器人</b>的发展现状及趋势 HMS产品在<b class='flag-5'>移动机器人</b>的应用

    如何制作Arduino智能移动机器人

    电子发烧友网站提供《如何制作Arduino智能移动机器人.zip》资料免费下载
    发表于 07-04 14:28 3次下载
    如何制作Arduino<b class='flag-5'>智能</b><b class='flag-5'>移动机器人</b>

    移动机器人的构建

    电子发烧友网站提供《移动机器人的构建.zip》资料免费下载
    发表于 07-04 11:02 2次下载
    <b class='flag-5'>移动机器人</b>的构建

    【科普】干货!带你从0了解移动机器人(四) ——移动机器人导航技术

    移动机器人导航是指移动机器人确定自己在地图参考系中的位置后,自动规划出通往地图参考系中某个目标位置路径并沿着该路径到达目标位置点的能力,是移动机器人行动能力的关键。 基于整个智能制造的
    发表于 06-28 09:52

    【科普】干货!带你从0了解移动机器人(三) ——自主导航系统及上位机软件设计与实现

    与实现移动机器人控制 移动机器人的自主导航系统及上位机软件设计与实现是移动机器人技术的重要组成部分,是实现机器人智能化的关键。 在现阶段发展
    发表于 06-28 09:36

    【科普】干货!带你从0了解移动机器人(四) ——移动机器人导航技术

    移动机器人导航是指移动机器人确定自己在地图参考系中的位置后,自动规划出通往地图参考系中某个目标位置路径并沿着该路径到达目标位置点的能力,是移动机器人行动能力的关键。基于整个智能制造的发
    的头像 发表于 06-21 17:29 956次阅读
    【科普】干货!带你从0了解<b class='flag-5'>移动机器人</b>(四)  ——<b class='flag-5'>移动机器人</b>导航技术

    【科普】干货!带你从0了解移动机器人(四) ——移动机器人导航技术

    移动机器人导航是指移动机器人确定自己在地图参考系中的位置后,自动规划出通往地图参考系中某个目标位置路径并沿着该路径到达目标位置点的能力,是移动机器人行动能力的关键。
    的头像 发表于 06-20 17:09 1118次阅读
    【科普】干货!带你从0了解<b class='flag-5'>移动机器人</b>(四) ——<b class='flag-5'>移动机器人</b>导航技术

    「车型分析」移动机器人控制系统典型应用车型 ——叉式移动机器人(AGV/AMR)

    叉式移动机器人(AGV/AMR)是一种常见的移动机器人类型,它摆脱传统的人车操作,自动导航行驶,具有强大的柔性和智能性。叉式移动机器人(AGV/AMR)不同于传统叉车,它无需人工驾驶运
    的头像 发表于 06-05 15:34 829次阅读
    「车型分析」<b class='flag-5'>移动机器人</b>控制系统典型应用车型 ——叉式<b class='flag-5'>移动机器人</b>(AGV/AMR)

    【科普】干货!带你从0了解移动机器人(二)—— 移动机器人硬件组成

    移动机器人是一个多功能于一体的综合系统,内容涵盖了传感器技术、自动化技术、信息处理、电子工程等,它集环境感知、动态决策与规划于一体,是目前科学技术发展最活跃的领域之一。移动机器人的各种组件之间需要
    的头像 发表于 05-24 17:01 1289次阅读
    【科普】干货!带你从0了解<b class='flag-5'>移动机器人</b>(二)—— <b class='flag-5'>移动机器人</b>硬件组成