基于TMS32OF2812 DSP的双足机器人样机设计
时间:11-30
来源:互联网
点击:
1 引言
双足机器人样机是研究双足行走的实验对象,为了研究的顺利进行,必须对机器人的自由度、驱动方式、重量、高度等进行合适的配置;这就需要自由度的分配简单合理、驱动方案可靠易用以及机械结构轻便结实。为了得到可靠高效的控制系统,首先要选择合适的主控芯片,然后针对实时控制中所需要的各种姿态信息,选择可靠性高且方便和主控芯片连接的传感器。
双足步行机器人是一个多自由度、非线性、具有复杂动力学特性的多体系统,本田公司、索尼公司以及北京理工大学等相继推出了各自研制的双足机器人样机,其中以本田公司的ASIM0制作水平最高。本文在参考国内外相关研究的基础上,从便于实现的角度出发,设计研制了样机,以TI公司的DSP TMS320F2812为核心设计了机器人驱动、控制电路,分别采用了触力传感器FSSl500NST、微机械陀螺仪ADXRSl50来检测足底接触力信息和躯干角速度,并成功实现了机器人的稳定行走。
2 机械设计
为了实现机器人前后行走、上下台阶及爬斜坡等功能,机器人每条腿至少应有三个俯仰自由度;要实现质心在左右脚之间转移的功能,每条腿至少应有一个滚转自由度。基于实现预期功能而又尽量降低成本,精简机构的原则,我们设计的双足机器人共有十个自由度,每条腿各有五个自由度,其中髋关节两个(俯仰和滚转),膝关节一个(俯仰),踝关节两个(俯仰和滚转)。这个十自由度的双足机器人可以实现左右方向和前后方向上的多种运动。
考虑到驱动负载以及稳定性等因素,在设计时将腿长取为28cm,其中大腿有效长度(髋部俯仰方向舵机输出轴到膝盖舵机输出轴的距离)为15cm,小腿有效长度(膝盖舵机输出轴到踝部俯仰方向舵机输出轴的距离)13cm,每个脚底板宽8cm,长12cm,材料为2mm厚的电路板,上面安装了四个触力传感器,每个角上一个,用于检测机器人行走时支撑脚和地面之间的压力;电路板上还有四个传感器的信号调理电路。大腿和小腿都由轻质铝合金板加工而成;两条腿最上面的舵机通过u型件连在一根角铝上,用螺栓螺母拧紧后,就构成了机器人的骨盆,在骨盆中央竖直方向上固定一根硬铝板条,作为机器人的脊柱;电路板和为整个系统供电的锂电池可以放在一个特制的盒子里,将盒子固连在竖直板条上,就构成了机器人的胸腹。
3 驱动方案与控制系统设计
基于处理能力等多方面的考虑,我们选用TI公司的高性能数字信号处理器TMS320F2812为机器人控制系统的核心,来完成信号采集、处理、控制和驱动等功能。
F2812是一种低功耗的32位定点数字信号处理器,在数字控制领域应用广泛,采用哈佛总线结构,具有强大的计算能力、迅速的中断响应和处理以及统一的寄存器编程模式。
3.1 驱动方案
考虑到驱动力大小以及可控性能,本机器人的关节采用汉库HGl4舵机进行驱动,该舵机采用闭环反馈位置控制,其部分技术指标如表1所示:
减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器进行位置检测,该电位器把转角坐标转换为一比例电压反馈给控制单元,控制单元将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,从而达到舵机精确定位的目的。
舵机的控制信号是脉冲位置调制(PPM)信号,是一种宽度可调的周期性方波脉冲信号,周期一般为20ms,当方波的脉冲宽度改变时,舵机转轴的角度发生变化,角度变化与脉冲宽度的变化成正比。一般舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用图1表示。
由于制作工艺等多方面的原因,舵机的输出轴转角并不是准确地遵循与控制信号的脉冲宽度对应的关系,但一般和控制信号脉冲宽度成比例关系。为了减小误差,我们事先测出在额定脉宽下舵机的实际转角,然后计算出和额定转角的比例系数,在软件中对控制信号脉宽予以调整,这样可以将转角误差减小到0.5°以内。
3.2 控制系统设计
TMS320F2812具有较高的处理速度,可以满足双足机器人步态规划以及控制的算法的实现,另外还有着集成丰富的外设,可满足多个传感器的信号采集的需要。为了避免每次改写程序都重新对片内FLASH进行烧写,我们采用如下方案:由DSP通过JZ864微功率无线数据传输模块将由传感器得到的机器人姿态信息送到上位机,然后上位机根据这些信息和动作时序计算相应的控制指令,通过无线数传模块将指令发送回DSP,再由DSP的定时器生成相应的信号来控制舵机(如图2所示)。这样调试时只要在上位机里改写程序即可,动作调试好以后再将相应的程序烧写到DSP芯片的FLASH中。
十个舵机的控制信号由F2812的通用I/0引脚A0到A9产生,这个过程由通用定时器l和通用定时器2的中断服务程序来完成。
双足机器人的实时控制系统需要实时测量机器人的一些信息,为此我们在每个足底安装了四个霍尼韦尔触力传感器FSSl500NST,用于实时检测双足机器人脚面触地情况,计算双足机器人脚面压力中心位置。这种触力传感器具使用专门设计的精制压敏电阻硅传感元件。硅压阻元件在受到外力而发生弯曲变形的时候,电阻会相应增大。触力传感器通过不锈钢柱塞,将所受外力直接传递到硅感应元件上,元件阻值就随着所受外力同比例增加。这种电阻值的变化将最终通过电桥电路以mv级电平输出,灵敏度为0.12mY/g,直接接入DSP的模数转换电路会导致测量精度不高,需要设计如图3所示的信号调理电路。
双足机器人样机是研究双足行走的实验对象,为了研究的顺利进行,必须对机器人的自由度、驱动方式、重量、高度等进行合适的配置;这就需要自由度的分配简单合理、驱动方案可靠易用以及机械结构轻便结实。为了得到可靠高效的控制系统,首先要选择合适的主控芯片,然后针对实时控制中所需要的各种姿态信息,选择可靠性高且方便和主控芯片连接的传感器。
双足步行机器人是一个多自由度、非线性、具有复杂动力学特性的多体系统,本田公司、索尼公司以及北京理工大学等相继推出了各自研制的双足机器人样机,其中以本田公司的ASIM0制作水平最高。本文在参考国内外相关研究的基础上,从便于实现的角度出发,设计研制了样机,以TI公司的DSP TMS320F2812为核心设计了机器人驱动、控制电路,分别采用了触力传感器FSSl500NST、微机械陀螺仪ADXRSl50来检测足底接触力信息和躯干角速度,并成功实现了机器人的稳定行走。
2 机械设计
为了实现机器人前后行走、上下台阶及爬斜坡等功能,机器人每条腿至少应有三个俯仰自由度;要实现质心在左右脚之间转移的功能,每条腿至少应有一个滚转自由度。基于实现预期功能而又尽量降低成本,精简机构的原则,我们设计的双足机器人共有十个自由度,每条腿各有五个自由度,其中髋关节两个(俯仰和滚转),膝关节一个(俯仰),踝关节两个(俯仰和滚转)。这个十自由度的双足机器人可以实现左右方向和前后方向上的多种运动。
考虑到驱动负载以及稳定性等因素,在设计时将腿长取为28cm,其中大腿有效长度(髋部俯仰方向舵机输出轴到膝盖舵机输出轴的距离)为15cm,小腿有效长度(膝盖舵机输出轴到踝部俯仰方向舵机输出轴的距离)13cm,每个脚底板宽8cm,长12cm,材料为2mm厚的电路板,上面安装了四个触力传感器,每个角上一个,用于检测机器人行走时支撑脚和地面之间的压力;电路板上还有四个传感器的信号调理电路。大腿和小腿都由轻质铝合金板加工而成;两条腿最上面的舵机通过u型件连在一根角铝上,用螺栓螺母拧紧后,就构成了机器人的骨盆,在骨盆中央竖直方向上固定一根硬铝板条,作为机器人的脊柱;电路板和为整个系统供电的锂电池可以放在一个特制的盒子里,将盒子固连在竖直板条上,就构成了机器人的胸腹。
3 驱动方案与控制系统设计
基于处理能力等多方面的考虑,我们选用TI公司的高性能数字信号处理器TMS320F2812为机器人控制系统的核心,来完成信号采集、处理、控制和驱动等功能。
F2812是一种低功耗的32位定点数字信号处理器,在数字控制领域应用广泛,采用哈佛总线结构,具有强大的计算能力、迅速的中断响应和处理以及统一的寄存器编程模式。
3.1 驱动方案
考虑到驱动力大小以及可控性能,本机器人的关节采用汉库HGl4舵机进行驱动,该舵机采用闭环反馈位置控制,其部分技术指标如表1所示:
减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器进行位置检测,该电位器把转角坐标转换为一比例电压反馈给控制单元,控制单元将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,从而达到舵机精确定位的目的。
舵机的控制信号是脉冲位置调制(PPM)信号,是一种宽度可调的周期性方波脉冲信号,周期一般为20ms,当方波的脉冲宽度改变时,舵机转轴的角度发生变化,角度变化与脉冲宽度的变化成正比。一般舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用图1表示。
由于制作工艺等多方面的原因,舵机的输出轴转角并不是准确地遵循与控制信号的脉冲宽度对应的关系,但一般和控制信号脉冲宽度成比例关系。为了减小误差,我们事先测出在额定脉宽下舵机的实际转角,然后计算出和额定转角的比例系数,在软件中对控制信号脉宽予以调整,这样可以将转角误差减小到0.5°以内。
3.2 控制系统设计
TMS320F2812具有较高的处理速度,可以满足双足机器人步态规划以及控制的算法的实现,另外还有着集成丰富的外设,可满足多个传感器的信号采集的需要。为了避免每次改写程序都重新对片内FLASH进行烧写,我们采用如下方案:由DSP通过JZ864微功率无线数据传输模块将由传感器得到的机器人姿态信息送到上位机,然后上位机根据这些信息和动作时序计算相应的控制指令,通过无线数传模块将指令发送回DSP,再由DSP的定时器生成相应的信号来控制舵机(如图2所示)。这样调试时只要在上位机里改写程序即可,动作调试好以后再将相应的程序烧写到DSP芯片的FLASH中。
十个舵机的控制信号由F2812的通用I/0引脚A0到A9产生,这个过程由通用定时器l和通用定时器2的中断服务程序来完成。
双足机器人的实时控制系统需要实时测量机器人的一些信息,为此我们在每个足底安装了四个霍尼韦尔触力传感器FSSl500NST,用于实时检测双足机器人脚面触地情况,计算双足机器人脚面压力中心位置。这种触力传感器具使用专门设计的精制压敏电阻硅传感元件。硅压阻元件在受到外力而发生弯曲变形的时候,电阻会相应增大。触力传感器通过不锈钢柱塞,将所受外力直接传递到硅感应元件上,元件阻值就随着所受外力同比例增加。这种电阻值的变化将最终通过电桥电路以mv级电平输出,灵敏度为0.12mY/g,直接接入DSP的模数转换电路会导致测量精度不高,需要设计如图3所示的信号调理电路。
机器人 传感器 DSP 电路 陀螺仪 总线 电压 电阻 ADI 红外 相关文章:
- 基于MSP430的自主式移动机器人设计与实现(06-12)
- 如何制作一个最简单的机器人(02-23)
- 机器人技术的新进展(02-23)
- CAN总线技术在工业码垛机器人控制系统中的应用研究(06-27)
- 制作机器人常用传感器盘点(02-23)
- 基于LabVIEW构建智能的移动机器人及无人驾驶车(10-27)