路径点式行走机器人的控制方法与流程

文档序号:13750429阅读:352来源:国知局
路径点式行走机器人的控制方法与流程

技术领域

本发明涉及一种电子控制与驱动设备的组合,具体的说,是一种路径点式行走系统的控制方法,属于电子技术领域。



背景技术:

人工智能目前被用于许多领域来代替人工生产力。同时人工智能产品在目前具有新奇,新颖,娱乐大众的特点。

在中国机器人仍然是一个新兴产业,机器人对人们的吸引力越来越大。国内大部分厂商开始从事工业机器人的生产制造,然而服务机器人却并不是很多,服务机器人的产品推广仍显不足,市场潜力十分巨大。

1.目前服务机器人领域的大多数产品都是只专注于娱乐功能,存在感十分低下从而导致用户需求明显不足。他们无法真正发挥机器人的吸引人的优势和节约人工的优点。比如市场上常见的娱乐机器人只能简单完成几个动作送餐机器人无法真正服务顾客。他们运用了先进的技术但是却把产品定位在了目前不够成熟的领域。

2.目前市场上的智能广告媒体绝大多数为定点广告,无法移动,传播受众有限,形式也不够新奇,无法很好的与受众进行互动。并且大多数定点广告位需要有电源且宽敞有支撑墙的地方,部分场合不适宜摆放。另外,其便携性几乎不存在,重复利用率低。

3.人工广告(如传单发放)需要支付佣金并且效果不好,招工也比较麻烦。

4.目前广告机播放广告均为随机播放或顺序播放,无法针对不同顾客推送不同广告,广告推送针对性不强。

5.关于移动机器人领域,目前机体行走系统基本靠无规则行走或遥控。自律性较差。少数驱动系统带有GPS或室内定位辅助技术提高了移动精度但却使成本提高。另外一部分行走系统通过巡线(循迹,黑线或磁条带)移动,需人为改造场地方可进行移动,麻烦费力环境适应性差。另外,目前市面上行走系统一般使用的是二维或三维坐标系,需要系统实时监控并同时运算处理大量坐标数据,十分耗费系统资源。



技术实现要素:

本发明要解决的问题是针对以上不足,提出一种路径点式行走机器人的控制方法,采用本发明的控制方法,可以大幅降低成本,不需要借助外部设备,

移动精度高,通过运用一维坐标模式来节约系统资源从而更省电。

机器人与广告的良好结合使人工智能真正发挥其作用。广告业需要吸引人眼球的新颖方式而广告机器人可以提供这样的方式。同时相较于目前按时间收费的昂贵的广告位,本广告机器人长远看来会为商家省下不少费用。

本移动式广告位大大提高了广告的传播范围和传播效果。形式新奇并因为自身携带充电电池便携性大大提高。对场地的适应性也更好。独特的程序设计同时使机器人功耗降低。内置一维坐标系和辅助系,大大降低系统资源占用,节省电力消耗。

本机器人广告位同样支持传单发放。

具有人群识别功能。可以根据不同人群推送不同广告。

提供一种可识别人体的路径点式行走系统,大幅降低成本,不需要借助外部设备并且保证移动精度。

为解决以上技术问题,本发明采取的技术方案如下:一种路径点式行走机器人的控制方法,其特征在于,包括路径点形成步骤。

一种优化方案,路径点形成步骤包括:

步骤1,接收蓝牙发出的运行指令;

步骤2,判断运行指令是转向指令还是前进指令,如果是转向指令则进入步骤3,否则进入步骤4;

步骤3,设置b=-a,主动轮电机m1转速为90-b,左转:a=-a,右转: a=a,然后进入步骤5;

步骤4,设置b=a,主动轮电机m1转速为90-b,然后进入步骤5;

步骤5,电机启动,设置速度,m1:90-b,m2:90-a,a=15,然后进入步骤6;

步骤6,计步器读取左右轮数据r1、r2,进入步骤7和步骤10;

步骤7,判断是否r1>r2,是则进入步骤8,否则进入步骤9;

步骤8,电机M2的速度为:90-a*(r1-r2)/6.5-a;

步骤9,电机M2的速度为:90+a*(r1-r2)/6.5-a;

步骤10,检测蓝牙端口,判断是否有信息并接收到与上一指令不同的指令,是则进入步骤12,否则进入步骤11;

步骤11,继续运行;

步骤12,读取r1读数计入路径点库,所有计步器清零,然后进入步骤13;

步骤13,判断蓝牙端口是否有结束指令,如果有则结束运行,否则返回步骤1。

进一步地,还包括直线系走步骤。

进一步地,直线系走步骤包括:

步骤1,启用上一步采集的路径数据,然后进入步骤2;

步骤2,测距传感器2检测前方是否有障碍,如果有则进入步骤3,否则进入步骤4;

步骤3,人体红外传感器检测前方是否有人,如果是则进入步骤5,否则返回步骤2;

步骤4,从动轮电机同向启动,设置速度参数a=15,设置m2转速为90-a,然后进入步骤6;

步骤5,进入互动步骤,然后返回步骤2;

步骤6,检测路径点为线型坐标还是旋转型坐标,如果是旋转型坐标则进入步骤7,否则进入步骤8;

步骤7,b=-a,主动轮电机m1转速为90-b,左转:a=-a,右转: a=a,然后进入步骤9;a为r2的速度参数,b为r1的速度参数。

步骤8,b=a,主动轮电机m1转速为90-b,然后进入步骤9;

步骤9,双轮计步器r1、r2读取数据,进入步骤11和步骤10;

步骤10,判断是否r1>r2,是则进入步骤12,否则进入步骤13;

步骤11,判断是否r1≥路径数值-1,是则进入步骤14,否则进入步骤15;

步骤12,电机M2的速度为:90-a*(r1-r2)/6.5-a;

步骤13,电机M2的速度为:90+a*(r1-r2)/6.5-a;

步骤14,继续运行;

步骤15,主动轮和从动轮电机关闭, 所有计步器清零,然后进入步骤16;

步骤16,检测下一个路径点是否为0,如果是则结束,否则返回步骤1。

进一步地,还包括互动步骤。

进一步地,互动步骤包括:

步骤1,接收探测请求,然后进入步骤2;

步骤2,测距装置判断前方是否有障碍,如果有则读取障碍距离m并进入步骤3,否则进入步骤4;

步骤3,人体识别模块检测前方是否有人,如果有则进入步骤5,否则进入步骤6;

步骤4,继续运行;

步骤5,舵机运转角度:Mysero(90+x);x++;速度设置为最大,转动到最大角度,然后进入步骤7;

步骤6,m1正传m2反转,转动时间随机,然后返回步骤1;

步骤7,等待人体信号消失,然后进入步骤8;

步骤8,计算被检测人身高:身高h=z*m,z需通过内置三角函数库求得,Z=tanx.即h=m*tanx,然后进入步骤9;

步骤9,通过身高输出信号给多媒体模块播放相应广告,进入步骤10后结束。

本发明采用以上技术方案,与现有技术相比,具有以下优点:

1.将广告(LED屏或者静态广告)或展示箱与移动机器人底盘相结合,可实现自行移动并且会根据环境状况进行相应反应。

2.携带12v锂电池供电。同时一维坐标系大幅节约系统资源,在arduino uno r3开发板上运行可比普通二维坐标系运行省电5%-10%;

3.安置有传单匣,可方便放置传单;可以代替人工传单发放。省心省力且避免了许多麻烦。

4.及时发现前方人体并马上变换广告推送方式,可识别不同人群并进行针对性广告投放,大大提高广告传播效率及有效性;

5. 通过计步方式进行信息反馈并运用算法对电机加减速校正使其具有更强的稳定性并减少误差,无需黑线辅助也可以行走;能够按路线精准移动,直线百米偏离误差小于5度。

下面结合附图和实施例对本发明作进一步说明。

附图说明

附图1为本发明实施例中移动机器人的结构示意图;

附图2为附图1的左视图;

附图3为本发明实施例中路径点形成步骤的流程图;

附图4为本发明实施例中直线系走步骤的流程图;

附图5为本发明实施例中互动步骤的流程图;

图中,

1-人体识别传感器,2-测距传感器,3-右轮电机,4-左轮电机,5-传单匣,6-充电电池,7-控制器,8-机架,9-左轮,10-右轮,11-左计步器,12-右计步器,13-微型舵机,14-广告支撑架,15-多媒体屏幕。

具体实施方式

实施例1,如图1、图2所示,一种路径点式行走机器人的控制方法,本发明所采用的技术方案是:控制核心(arduino mega2560),计步模块,传感器与电机相结合的行走系统。所述行走系统通过计步模块(可用红外线传感器,距离传感器,电位器实现)采集到的数据建立一元坐标系。系统有直行与转向2种模式。在任一模式进行期间指定一个计步模块为主要模块r1进行数据采集(r1加装于电机m1上)。另外一个计步模块r2(r2加装于电机m2上)通过采集数据并与主要模块r1对比从而对其对应电机m2进行纠正从而达到精准行走效果。通过记录主数据信息并通过算法处理进而得到路径信息从而驱动电机移动至指

定地点。

算法同时可以算出如何控制电机来实现正向或逆向通过由路径点形成的路线。

另外,系统加装有测距模块d1可以有效避免与障碍物相撞。

关于识别人群并进行相应广告推送:通过人体识别传感器和测距传感器和舵机的组合,通过舵机旋转带动传感器组上下转动。从水平面开始舵机带动传感器组向上转动并开始计时。直到探测不到人体停止并进行距离采集。读取转动时间并乘以转动角速度之后通过三角函数确定人的身高。显示器上的广告则将会根据身高所在区间进行相应年龄段(或身高段)广告推送。

打开电源并用手机连接机体蓝牙。通过手机控制控制核心7进行移动,行走至指定地点后在手机端点击设置机器人行走路径。设置路线后点击执行即可让机体携带LED屏15(或平面广告于14处放置)沿路线巡回行走。行进途中可通过人体识别传感器1识别人流。如果检测到人流则停止移动并进行相应动作和语音播放。人体识别传感器1同时可搭配测距传感器2识别人体身高从而在多媒体屏幕15上播放相应广告。途中测距传感器2用来避障及辅助检测人体。

其中,路径行走部分采用程序计步对比调节来补足直流电机的误差(如图3)。全程坐标均以步数为单位。步数分为直线行走步和旋转步。每种类型均有

正负来分辨方向。(比如向左转10步为turn+10向右转则为turn-10)具体步数调节规则为:m1设置为基准,m2速度将通过两电机上相应计步器r1,r2读数不断改变。

m2速度为:

(r1=r2时不做改变)

90-a*(r1-r2)/6.5-a (r1>r2)

90+a*(r1-r2)/6.5-a (r1<r2)

其中6.5为误差常数。90为电机刹车点(控制方法与SPD018舵机相同)。A为设置的速度值,初始设置的a越大全局速度越大。在调速时,为避免时间差导致纠正过量,采用if(a>20||a<13){a=b;}的方式使a值稳定。

在识别路径点类别时程序同时会对电机m1m2进行不同初始设定来达到预期效果:当为角度路径点时使用b=-a;主动轮电机m1转速为90-b;左转:a=-a;右转: a=a。当为线性路径点时使用b=a;主动轮电机m1转速为90-b。

图4中介绍了路径点的形成过程。通过蓝牙对机体下达指令采集计步器r1的读数从而形成路径。其中也运用到了上述的程序计步对比调节。

图5为互动部分。首先测距传感器2读取前方障碍物距离并通过人体识别传感器1识别障碍物是否为人。之后携带传感器1,2的舵机13运转。舵机运转角度:Mysero(90+x);x++;舵机运转速度调至最大以免目标人体走失。(经测验舵机达到最大仰角时间只需0.46秒)当人体信号消失后,读取舵机角度值x。之后通过h=m*tanx计算出该人体身高。计算出人体身高后通过身高数值推算人的年龄,控制核心会将身高低于159.5(13岁儿童正常身高)的人认定为儿童并推送相应广告。其余身高则会推送其他广告。广告推送概率可由用户自行调节。

实施例2,如图1、图2所示,一种路径点式行走机器人的控制方法,实施该方法的装置包括机架8,机架8的底部设有左轮9、右轮10,左轮9由左轮电机4驱动,左轮电机4即电机m2,左轮电机4耦接有左计步器11,左计步器11即主要模块r1;右轮10由右轮电机3驱动,右轮电机3即电机m1,右轮电机3 耦接有右计步器12,右计步器12即计步模块r2,机架8的上方设有传单匣5,在机架8的前侧设有微型舵机13,微型舵机13上设置有人体识别传感器1和测距传感器2,机架8上充电电池6和控制器7,控制器7即控制核心,在机架8

的顶部设有广告支撑架14和LED屏15。

通过计步模块采集到的数据建立一元坐标系,计步模块可用红外线传感器,距离传感器,电位器实现。系统有直行与转向2种模式。在任一模式进行期间指定一个计步模块为主要模块r1进行数据采集(r1加装于电机m1上)。另外一个计步模块r2(r2加装于电机m2上)通过采集数据并与主要模块r1对比从而对其对应电机m2进行纠正从而达到精准行走效果。通过记录主数据信息并通过算法处理进而得到路径信息从而驱动电机移动至指定地点。

算法同时可以算出如何控制电机来实现正向或逆向通过由路径点形成的路线。

另外,系统加装有测距模块d1可以有效避免与障碍物相撞。

关于识别人群并进行相应广告推送:通过人体识别传感器和测距传感器和舵机的组合,通过舵机旋转带动传感器组上下转动。从水平面开始舵机带动传感器组向上转动并开始计时。直到探测不到人体停止并进行距离采集。读取转动时间并乘以转动角速度之后通过三角函数确定人的身高。显示器上的广告则将会根据身高所在区间进行相应年龄段(或身高段)广告推送。

其控制方法包括路径点形成步骤、直线系走步骤和互动步骤。

如图3所示,路径点形成步骤包括:

步骤1,接收蓝牙发出的运行指令;

步骤2,判断运行指令是转向指令还是前进指令,如果是转向指令则进入步骤3,否则进入步骤4;

步骤3,设置b=-a,主动轮电机m1转速为90-b,左转:a=-a,右转: a=a,然后进入步骤5;

步骤4,设置b=a,主动轮电机m1转速为90-b,然后进入步骤5;

在识别路径点类别时同时对电机m1、m2进行不同初始设定来达到预期效果:当为角度路径点时使用b=-a;主动轮电机m1转速为90-b;左转:a=-a;右转: a=a。当为线性路径点时使用b=a;主动轮电机m1转速为90-b。

b和a用来决定电机速度的数值,a是控制从动轮电机速度,b控制主动轮电机速度。

步骤5,电机启动,设置速度,m1:90-b,m2:90-a,a=15,然后进入步骤6;

步骤6,计步器读取左右轮数据r1、r2,进入步骤7和步骤10;

步骤7,判断是否r1>r2,是则进入步骤8,否则进入步骤9;

步骤8,电机M2的速度为:90-a*(r1-r2)/6.5-a;

步骤9,电机M2的速度为:90+a*(r1-r2)/6.5-a;电机m1的速度设为基准,电机m2的速度将通过两电机上相应计步器r1,计步器r2读数不断改变:r1=r2时不做改变,6.5为误差常数,90为电机刹车点(控制方法与SPD018舵机相同)。a为设置的速度值,初始设置的a越大全局速度越大。在调速时,为避免时间差导致纠正过量,采用if(a>20||a<13){a=b;}的方式使a值稳定。

步骤10,检测蓝牙端口,判断是否有信息并接收到与上一指令不同的指令(如前进变为左转),是则进入步骤12,否则进入步骤11;

步骤11,继续运行;

步骤12,读取r1读数计入路径点库,所有计步器清零,然后进入步骤13;

步骤13,判断蓝牙端口是否有结束指令,如果有则结束运行,否则返回步骤1。

如图4所示,直线系走步骤包括:

步骤1,启用上一步采集的路径数据(指的是计入路径点库的r1读数),然后进入步骤2;

步骤2,测距传感器2检测前方是否有障碍,如果有则进入步骤3,否则进入步骤4;

步骤3,人体红外传感器检测前方是否有人,如果是则进入步骤5,否则返回步骤2;

步骤4,从动轮电机同向启动,设置速度参数a=15(a越大整体速度越大)设置m2转速为90-a,然后进入步骤6;

步骤5,进入互动步骤,然后返回步骤2;

步骤6,检测路径点为线型坐标还是旋转型坐标,如果是旋转型坐标则进入步骤7,否则进入步骤8;

步骤7,b=-a,主动轮电机m1转速为90-b,左转:a=-a,右转: a=a,然后进入步骤9; a为r2的速度参数,b为r1的速度参数。

步骤8,b=a,主动轮电机m1转速为90-b,然后进入步骤9;

步骤9,双轮计步器r1、r2读取数据,进入步骤11和步骤10;

步骤10,判断是否r1>r2,是则进入步骤12,否则进入步骤13;

步骤11,判断是否r1≥路径数值-1,是则进入步骤14,否则进入步骤15;

步骤12,电机M2的速度为:90-a*(r1-r2)/6.5-a;

步骤13,电机M2的速度为:90+a*(r1-r2)/6.5-a;

步骤14,继续运行;

步骤15,主动轮和从动轮电机关闭, 所有计步器清零,然后进入步骤16;

步骤16,检测下一个路径点是否为0,如果是则结束,否则返回步骤1。

如图5所示,互动步骤包括:

步骤1,接收探测请求,然后进入步骤2;

步骤2,测距装置判断前方是否有障碍,如果有则读取障碍距离m并进入步骤3,否则进入步骤4;

步骤3,人体识别模块检测前方是否有人,如果有则进入步骤5,否则进入步骤6;

步骤4,继续运行;

步骤5,舵机运转角度:Mysero(90+x);x++;速度设置为最大,转动到最大角度,然后进入步骤7;

步骤6,m1正传m2反转,转动时间随机,然后返回步骤1;

步骤7,等待人体信号消失,然后进入步骤8;

步骤8,计算被检测人身高:身高h=z*m,z需通过内置三角函数库求得,Z=tanx.即h=m*tanx,然后进入步骤9;

步骤9,通过身高输出信号给多媒体模块播放相应广告,进入步骤10后结束。

本领域技术人员应该认识到,上述的具体实施方式只是示例性的,是为了使本领域技术人员能够更好的理解本发明内容,不应理解为是对本发明保护范围的限制,只要是根据本发明技术方案所作的改进,均落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1