找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 5719|回复: 0

基于模型的NXT SCARA机器手臂设计(8)

[复制链接]
发表于 2013-1-12 13:10:07 | 显示全部楼层 |阅读模式
本帖最后由 旭日东升 于 2013-1-12 13:28 编辑

8   控制器模型
     本章描述控制程序,任务配置,和nxtscara_controller.mdl.模型的项目。
8.1  控制器程序总结
状态机框图
       图8-1显示NXT SCARA控制器状态机的流程框图。描述在参考策略下NXT SCARA的轨迹模式和我们可以调节链接角度和笔高度调节模式。
       8-1.JPG    8-2.JPG
链接角度和画笔的高度可以通过在调节模式的子状态下按下触控按键传感器来调节。
任务配置
NXT SCARA控制器在表8-1中有3个任务描述。
                                                                      Table 8-1  NXT SCARA 控制器任务
任务
周期
工作
Task_init
仅初始化时刻
初始化值设置
Task_ts1
50[ms]
策略轨迹控制
链接角度和画笔高度调节
数据记录
Task_ts2
100[ms]
操作模式切换(轨迹/调节)
马达切换在调节模式

5.2控制器设计中,控制器的描述用于轨迹控制策略。
数据类型
我们用单精度浮点数据用于策略轨迹控制减少计算误差。在NXT智能块的ARM7处理器没有FPU(浮点数处理单元),不过我们可以执行软件在单精度架构通过GCC的浮点架构库完成。
8.2  模型总结
nxtscara_controller.mdl 基于Embedded Coder Robot NXT 框架。
8-3.JPG
设备接口
我们可以配置设备接口通过传感器设备接口设计及其由Embedded Coder Robot NXT库提供的电机模块。
8-4.JPG
计划和任务
ExpFcnCalls计划模块有任务配置例如任务名字,任务周期,平台和堆栈大小。我们配置计划配置调度函数来呼叫调度任务子系统。

8-5.JPG

优先级
我们必须设置设备模块的优先级,ExpFcnCalls计划模块在root级别按照1.设备输入->2.任务->3.设备输出排序。低的数据表示高的优先级,允许负数配置设定。
显示优先级,右击模块后选择[Block Properties].
8-6.JPG
共享数据
我们通过数据存入内存模块共享任务之间的数据。
8-7.JPG
8.3  初始化任务: task_init
任务配置初始化的值

8.4 50ms  Task : task_ts1
任务包括策略轨迹模式和调节模式,operation_mode= 1为轨迹模式,operation_mode= 2为调节模式。
8-9.JPG
轨迹模式
在轨迹模式下状态的传递转换基于计时器timer_trj.
1.初始状态是准备态,timer_trj初始值是unsigned 32 bit的最大值。
2.当按触控键为1时,状态转换到运行态timer_trj设置为0。
3. 在任务周期内 (50 ms)的运行态, timer_trj 累加1。当在运行完成时,状态转换准备态为time_finish,同时timer_trj重新设置为初始值。
8-10.JPG
定时器计算(Timer
定时器子系统计算轨迹策略的定时器timer_trj和其他的定时器。当DC马达1和马达2开始各自的反向间隙弥补,timer_en1timer_en2定时器将复位。当开始控制画笔时,timer_pen定时器将复位。timer_trj将不递增在反向间隙时(timer_en1timer_en2),同时当弥补反向空隙和处理画笔时,画笔处理计时(time_pen)保持在相同的位置。图8-11显示每个计时器在采样时变化。
8-11.JPG
8-12.JPG
PWM1 & PWM2 计算 (PWM1_PWM2)
  pwm1 pwm2 计算基于Figure 5-3所示的框图。
8-13.JPG
反向间隙弥补(反向间隙1弥补& 反向间隙2弥补)
当马达角度变量参考信号反向和它的绝对值大于dthetam_bl [deg]时, 反向间隙开始弥补。这里dthetam_bl是计算误差的极限阀值。在反向间隙弥补时,我们从参考马达角度上加/减一些角度(backlash1/2)。更多些,完成轨迹绘制后,当前运动态的的齿轮还原到初始化的状态。
8-14.JPG
PWM3 计算 (PWM3)
timer_pen来计算出pwm3,推导由图8-15的定时器子系统得到。画笔上下运动的方向由pen_idx的奇偶特性决定。
8-16.JPG
调节模式
当按下触控按键1时,PWM为正的;当按下触控按键2时,PWM为负的;motor_num 用来切换马达。
8-17.JPG

8.5 100ms Task:task_ts2
  该任务完成操作模式切换和在调节模式的调节。operation_mode对应操作模式,motor_number对应调节的马达。
8-18.JPG
8.6 标定参数
8-2显示轨迹控制的标定参数,你可能需要标定这些参数由于部件,模块,传感器和电机个体的差异。

                                                                                    8-2 标定参数
参数
描述
pwm1_gain
直流马达1P控制增益配置表
pwm1_offset
直流马达1P控制增益偏移表
Pwm2_gain
直流马达2P控制增益配置表
Pwm2_offset
直流马达2P控制增益偏移表
backlash1
齿轮1反向间隙补偿
Backlash2
齿轮2反向间隙补偿
time_en1
齿轮1反向间隙补偿时刻
time_en2
齿轮2反向间隙补偿时刻



如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-11-15 21:10 , Processed in 0.099893 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表