基于树莓派的无线遥控移动机器人设计及运动控制_第1页
基于树莓派的无线遥控移动机器人设计及运动控制_第2页
基于树莓派的无线遥控移动机器人设计及运动控制_第3页
基于树莓派的无线遥控移动机器人设计及运动控制_第4页
基于树莓派的无线遥控移动机器人设计及运动控制_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于树莓派的无线遥控移动机器人设计及运动控制 杨丛丛吴涛张安峰江山强摘 要: 本文设计并开发了一种基于树莓派的无线遥控移动机器人,机器人使用手机作为控制端,控制系统以树莓派作为核心控制器,采用Python语言进行程序开发,机器人拥有小车底盘、电机驱动、机械臂、舵机驱动和超声波测距等多个功能模块。系统通过Wi-Fi实现了机器人与手机之间的信息交互,操作者可以无线远程遥控来实现机器人的移动、避障和物体抓取。Key:树莓派;机械臂;电机驱动;超声波测距;舵机驱动: TP242.6:ADOI:10.3969/j.issn.1003-6970.2020.02.021【Abstract】: This p

2、aper designs and develops a wireless remote control mobile robot based on Raspberry Pi. The robot uses the mobile phone as the control terminal. The control system uses the Raspberry Pi as the core controller. The program is developed in Python language. The robot is composed of several functional m

3、odules such as car chassis, motor drive, manipulator, steering gear drive and ultrasonic ranging. the system realizes the information interaction between the robot and the mobile phone through Wi-Fi, and the operator can wirelessly remotely control the robot to move, avoid obstacles and grasp object

4、s.【Key words】: Raspberry Pi; Robotic arm; Motor-drive; Ultrasonic ranging; Servo-drive0引言隨着计算机科学与网络技术的不断创新,为智能机器人技术的发展带来了新的发展机遇,各种机器人在不同的领域发挥着越来越重要的作用1。无线远程遥控机器人能够替代人类执行一些危险的活动,对于消除危险隐患、减少人员伤亡具有重要意义。Wi-Fi是一种无线传输技术,传输距离长,并且网络稳定可靠。近年来,智能手机、平板电脑等移动手持设备的普及,智能家居的兴起使得Wi-Fi技术成为人们工作生活中不可或缺的部分。树莓派(RaspberryP

5、i),简称Rpi或者RasPi,是一款基本ARM的微型电脑主板,以SD卡为内存硬盘,提供了一个具有最基本功能的,廉价的硬件平台。尺寸只有信用卡大小,运行速度比台式机稍慢,但已具备了电脑的所有基本功能2。树莓派作为本次设计机器人平台的“大脑”,可通过编程来管理机器人的操作(地图、导航、障碍物探测和躲避运输等)3。本次设计旨在服务那些行走不便的中老年人群,通过远程控制机器人实现传递物品、操作家用电器等功能,能够满足一般家用需求。1硬件部分的选择与设计1.1硬件组成本次设计所需的硬件主要包括底盘、4个车轮(两前轮两后轮)、直流电机、树莓派(3B+型号)、舵机、超声波传感器、电机驱动板和舵机驱动板等,

6、选用电机驱动板型号为L298N,舵机驱动板型号为PCA9685,机器人的总装配图和实物图如图1所示。1.2小车底盘模块小车的驱动方式为四轮驱动,四个车轮都为驱动轮,直流电机与电机驱动板联接,电机驱动板与树莓派联接,树莓派通过自身的GPIO口联接电机驱动板实现对小车的控制。1.3电机驱动模块电机驱动模块采用可直接驱动两路直流电机的L298N芯片,L298N是专用驱动集成芯片,属于H桥集成电路,具有输出电流大负载能力强等特点,可以直接控制两台直流电机,并可实现电机的正反转,实现此功能只需要改变输入逻辑电平,并且通过使能端ENA、ENB输入PWM信号,还可以实现速度调节。使能端为高电平时有效。直流电

7、机与L298N的连接,由OUT1和OUT2接口控制机器人右侧电机,OUT3和OUT4接口控制机器人左侧电机。L298N与电机和树莓派的连接方式如图2所示。IN1IN4为逻辑输入端分别与树莓派的四个GPIO输入/输出接口相连,L298N的+5V端口与树莓派的5V端口连接用来给树莓派供电,L298N单独供电。1.4机械臂模块机械臂装配图如图3所示,机械臂整体为六自由度,由六个舵机进行驱动,树莓派联接舵机驱动板来控制舵机进而控制机械臂的运动。机械臂底座是一个旋转平台,旋转平台的下半部分是固定的,1号舵机能够控制机械臂底座上半部分的旋转。2号、3号和4号舵机分别控制其上方机械臂对下方机械臂关节处的相对

8、转动。机械手抓手包括两个部分。下半部分为旋转部分,由下方固定在机械臂上的5号舵机所控制;上半部分为夹取部分,由6号舵机控制。1号到6号舵机的信号线、正极和负极分别接PCA9685的5号到0号通道的PWM、V+、GND。为简便表示,接线图中只标注了6号舵机,其余舵机的接线与6号舵机一致。PCA9685分为控制电和驱动电两个电源,其中控制电接3.3V,由树莓派提供,同时SCL和SDA和单片机的数据信号和时钟信号相连;而驱动电需接5v电压。PCA9685与舵机和树莓派的接线图如图4所示。1.5舵机驱动模块1.5.1 脉冲频率设置1.5.2 脉冲宽度调节一个周期为20ms的脉冲里面高电平持续的时间决定

9、了舵机转动的角度,180度舵机对应关系如下:0.5ms0度,1ms45度,1.5ms90度,2ms135度,2.5ms180度。則舵机旋转角度与脉冲宽度间的关系为:PCA9685的任一通道均有4个寄存器用于设置12位计数器以此实现脉宽调节,分别用于控制高电平开始到结束的时刻,每个通道都LEDX_ON_L、LEDX_ON_H、LEDX_OFF_L、LEDX_OFF_H四个寄存器。一般将LEDX_ON设置为0,如果脉宽为duty,则LEDX_OFF的计算公式如下:pwm.setpwm(0,0,servo)#后面的参数中第一个参数为通道。后两个参数,前面一个是低电平转高电平的时间,后面一个是高电平转

10、低电平的时间,这两个数值都应该小于4096。该函数设置PWM波的占空比,一般以4096为一个PWM波周期。1.6超声波测距模块树莓派小车实现自动驾驶需要加装距离传感器。由于超声波指向性强,能量消耗较慢且在介质中传播的距离较远,因此超声波经常用于距离测量。HC-SR04是一个超声波距离传感器,工作原理和声纳相同。如果需要精确测量距离,则需安装多个传感器。HC-SR04共有4个引脚,分别为VCC、Trig、Echo和GND。由于传感器是5V,树莓派是3.3V,需要将1千欧姆的电阻接在GPIO的INPUT和echo中间。Trig将由树莓派GPIO的OUTPUT给出10微妙的高电压来触发,被触发后超声

11、波测距模块会产生8个40KHz的方波,并检测是否有方波返回,若有方波返回则会通过Echo引脚输出一个高电平,高电平持续的时间就是方波从发射到返回所经历的时间7。通过距离计算公式便可知障碍物的距离,公式7如下:S为障碍物距小车的距离,T为高电平持续的时间,C为声速(340 m/s)。2机器人的运动控制树莓派接收传感器的反馈信号,通过Wi-Fi发送给手机等手持移动设备,操作者通过手机Wi-Fi连接树莓派,经由树莓派将指令发送给各功能模块,使机器人完成相应作业任务。本次设计中机器人的系统结构框图如图5所示。2.1电机驱动控制首先是小车底盘的电机驱动控制,L298N的控制方式及直流电机状态8如表1所示

12、。由表1可知,使能端ENA、ENB为高电平时电机才可能转动,方向端IN1IN4使电机实现不同方向的转动。IN1、IN3为高电平,IN2、IN4为低电平时电机正转,小车前进;反之小车后退;小车转弯通过速度差实现,若左转,右边车轮不动,从而左转。即IN1、IN2为低电平,IN3高电平IN4低电平时小车左转,反之小车右转9-12。Python控制马达的控制原理框图如图6所示。图中H表示高电平,L表示低电平。2.2舵机驱动控制舵机是一种集成了内部闭环电路和减速器的角位置伺服机构,主要包括控制电路、电动机、齿轮组和线性电位器。减速齿轮由电动机带动,其终端带动一个比例电位器用来检测转过的角度,并把该角度转

13、换成电信号反馈给控制电路,控制电路控制电动机正转或者反转,使齿轮组的输出位置与期望值相符。本次设计中机械臂的舵机驱动控制是利用Python编程来控制舵机的转动角度,需要用不同宽度的脉冲来控制,输出不同宽度的脉冲信号,传输给信号线。一般舵机脉宽在0.52.5ms之间,转1的脉冲时间大约是2 ms180=0.011毫秒/度。但在舵机里面有一些零点几毫秒的延时脉冲。如果用delay()函数做延时,很难做到每个角度都可以转到。所以需要一个比毫秒延时还要精确的延时函数time.sleep(i)来作为脉冲的计时延时函数,函数里面的i数值设置在0.00000.0035之间,这样至少90%的角度都可以转到。如

14、果让舵机循环摆动,一定要加上适当的延时。2.3遥控功能遥控机器人采用WEB按键控制的方式,使用相较于其他web framework处理服务器性能问题更加强健的、轻量级的、强大的PythonWEB框架tornado在树莓派上建立WEB应用服务,设置开放的端口号为8080,进而实现通过手机等客户端访问树莓派上的html网页文件。通过引用Python的GPIO库,实现通过树莓派的GPIO接口来控制L298N模块和PCA9685模块,进而控制机器人的马达和舵机实。html文件通过使用JavaScript的onkeydown事件,通过window.event或者按键事件获取keycode按键编码,通过j

15、Query的ajax进行数据发送13-16,通过点击手机等客户端html网页上的按键或键盘输入相应按键来控制机器人的运动。2.4避障功能小车通过超声波传感器循环检测前、左、右3个方向的障碍物距离,根据3个方向的距离对行驶控制做出判断,使小车实现自动避障行驶。避障算法流程图17如图7所示。首先检测正前方障碍物距离,如果距离大于30 cm则继续向前行驶,如果小于15 cm里面则向后,如果距离在此之间则先后检测小车左方和右方的障碍物距离。如果左右两侧的距离均小于15cm,则小车后退;若右侧距离大于左侧距离,则小车右转;反之,则左转。图7避障算法流程图Fig7Obstacle avoidance al

16、gorithm flow chart3结语本文设计并开发了一种基于树莓派的无线遥控移动机器人,可实现机器人的远程控制、自主避障行驶等功能。树莓派作为主控板,通过L298N实现利用电机控制小车,通过PCA9685实现利用舵机控制机械臂,接入WiFi模块实现远程遥控信号的接收,手机通过WiFi即可实现对机器人的远程控制。接入超声波测距模块实现对机器人前方障碍物的自主避障。设计了基于前方障碍物距离的避障行驶算法,确保机器人行驶过程中自主避开障碍物。实验表明机器人具有较好的遥控和避障性能,在智能机器人领域具有一定的实用价值。该机器人系统简单,精度较高,且成本较低。能够满足一般家用需求。Referenc

17、e徐胜华. 基于STM32的智能扫地机器人研究与设计D.广西师范大学,2016.理查德,格里梅特.树莓派机器人实战秘笈.北京: 人民邮电出版社,2018.门伯里,豪斯.树莓派学习指南-(基于Linux)M.北京: 人民邮电出版社,2014.李强,霍淑珍,郑伟.基于I2C通信的PCA9685在舵机控制中的应用J.科技创新与应用,2018(28):173-174.周雅静,彭熙,张翠翠,等.基于树莓派及串行舵机控制技术的人形机器人控制系统的设计及实现J.电子世界,2019(02):140-141.周英路,王志亮,朱松青,等.基于PCA9685的多路舵机控制器设计J.南京工程学院学报(自然科学版),2

18、017,15(04):26-31.霍海波.基于单片机的超声波测距系统设计J.电子技术与软件工程,2019(14):246-247.张天鹏,徐磊.L298N控制直流电机正反转J.工业设计,2011(03):98-99.吴波涛,孔金平,王湘.基于Arduino和树莓派的智能小车的设计与实现J.电子设计工程,2017,25(15):58-61.王小宇. 基于Raspberry Pi的轮式移动机器人设计及运动控制D.山东理工大学,2018.曾杰,陈超波,赵楠,等.基于树莓派的搜检机器人的设计J.计算机与数字工程,2019,47(03):700-705.杨志勇,黄文锋,刘灿.基于树莓派的远程控制智能拍照小车J.现代电子技术,2019,42(08):168-170+174.张常友.基于树莓派和Arduino平台的移动式家庭服务机器人设计J.山东工业技术,2017(09):222.Stelian-Emilian Ol

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论