首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于激光雷达避障的机器人控制系统设计
来源:本站整理  作者:佚名  2009-09-30 09:57:11




1.4 无线通信模块
   
无线通信模块利用从前端RF接收到的遥控端或用户端的信息通过串口发送到机器人,也可将机器人的信息通过无线通信模块发送出去。前端RF使用Chip-con公司生产的CC2420芯片,无线通信模块采用的微控制器为Microchip公司的PIC18LF4620。CC2420与PIC18LF4620都使用3.3 V作为工作电压,可以降低功耗,CC2420只需通过SI,SO,SCLK,CSn与PIC18LF4620的SPI接口进行连接。本设计中使用PIC18LF4620的RC6,RC7引脚作为RS 232的数据发送端与数据接收端。CC2420是一款较为通用的符合IEEE802.15.4的2.4 GHz ZigBee收发芯片,该芯片在集成了PHY层和部分MAC层的同时,还提供了许多硬件支持。
1.5 伺服控制模块
   
运动控制模块通过RS 232与主控制模块连接,主控制模块通过串行总线将期望速度、方向信息传送至运动控制器,运动控制器将信息处理后作为运动控制算法的输入量,运动控制算法得到以PWM形式表示的电机控制信息。为判断电机转速及运转方向,安装在电机上的光电编码器提供相位相差90°的两个通道的光码脉冲输出,光电编码器产生的两脉冲送入DSP的正交编码脉冲单元的QEP1,QEP2引脚,通过DSP的比较单元CAP1,CAP2捕捉,然后经译码单元产生内部4倍频后的脉冲信号CLK以及转向信号,将脉冲信号送入选定的计数器进行计数,计数方向由转向信号决定,通过读取选定通用定时器的计数值、脉冲数、计数方向可得到电机的转速、行程及方向为伺服控制提供反馈输入。没计使用TI公司的TMS320F2812作为控制驱动模块的控制器,该芯片产生的PWM信号并不能够直接驱动电机的执行,设计时使用TI公司的直流电机驱动芯片SN7S4410将PWM转换成可驱动电机的驱动信号。图4为移动机器人运动控制系统的原理图。

    图4中电流传感器为霍尔元件电流传感器,将采集到的电机电流信息送入A/D转换接口,从而整个运动控制系统形成双闭环控制系统。运动控制器中运动控制算法采用PID算法,设定允许的误差为e0,设定如下关系:
    当| e(k)|≤e0时,控制器不起作用;
    当| e(k)|>e0时,可以得到控制器的输出为:

   
    PWM信号的宽度由时间管理器中定时器的周期寄存器和与该定时器相关的比较寄存器决定,经过PID处理后的控制器输出u(k)为脉冲的占空比,然后写入选定定时器的比较寄存器,比较寄存器与周期寄存器的比值即为PWM波形的占空比,从而实现电机转速的控制。

2 软件设计
    该机器人控制系统的软件设计包括主控制模块、DSP运动控制器算法程序、PIC18LF4620的程序设计。PIC18LF4620的程序设计在这里不做介绍。
2.1 主控制模块程序设计
    主控制模块软件设计是在μC/OS-Ⅱ平台上设计各硬件的驱动程序,创建和启动各项任务,创建信号量、消息邮箱、消息队列完成各任务间的通信。
    针对S3C4480的硬件资源和编译器特性,移植时要对μC/OS一Ⅱ的三个源文件做修改:
    (1)OS_CPU.H头文件与编译器相关的数据类型重新修改;
    (2)OS_CPU_ A.S文件中修改处理器相关的4个汇编函数;
    (3)OS_ CPU.C文件中编写初始化任务的堆栈函数。
    μC/OS-Ⅱ中程序是从main()函数开始执行,程序启动后跳转至主程序运行,调用ARMInit()初始化ARM系统,包括建立相关参数和变量,配置ARM处理器中断端口、设置中断并初始化各器件,然后调用OSInit()初始化μC/OS-Ⅱ操作系统,将操作系统的初始化与硬件的初始化分开来使得思路更清晰,便于调试。由于各任务之间要通过创建信号量、消息邮箱、消息队列来完成通信,该操作通过调用OSSemCreate(),OSMboxCreate(),OSQCreate()函数来完成,然后调用OSTaskCreate(void(*task)(void*pd),void*pda-ta,OS_STK*ptos,INT8U prio)函数创建各任务完成系统控制。最后调用函数OSStlart(),μC/OS-Ⅱ开始运行,执行任务。本系统设计时主要完成的任务有无线通信任务、命令解释任务、激光雷达信息处理任务。
2.2 伺服控制模块程序设计
   
伺服控制模块利用高速的DSP运动控制器与反馈信号组成闭环控制系统,DSP发送PWM波与方向信号控制直流电机的转速,通过速度反馈,DSP可实时读取当前速度,利用DSP中的控制程序根据速度读数控制PWM的占空比,从而实现闭环控制。主程序流程图如图5所示。

    在DSP的事件管理器中,将其中一个定时器设定一个中断周期,每当定时器产生中断时,调用中断处理子程序获得电机的反馈速度。

3 结 语
    根据新型激光雷达跟踪测量理论,开发研制了基于μC/OS-Ⅱ的机器人实时控制系统。该控制系统已成功用于实验室自主研制开发的足球机器人。性能测试表明,该机器人控制系统能够快速及时跟踪定位目标,并且能够通过无线通信模块与遥控端进行通信,完成指定操作指令。该控制系统采用的控制决策算法为PID,今后将致力于研究采用更为先进的算法。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:208,324.20000 毫秒