四足机器人中各关节的控制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
舵机控制采用PWM信号, 利用其占空比的变 化可改变舵机的位置, 其控制信号如图4所示。 当脉宽为1 ms时, 舵机转到右极限位置; 而当脉 宽为2 ms时, 舵机转到左极限位置。可见, 对于 单 个 的20 ms周 期 脉 冲 的 调 制 是 相 对 容 易 的 , 设 计 时 可 利 用 89C51 单 片 机 中 的 定 时 器 来 实 现 。 若 调制脉宽为1.8 ms的脉冲, 则可选择一种定时方
图1所 示 是 机 器 人 的 一 条 腿 (线 条 1, 2, 3) 以及机器人的身体部分 (矩形框) 的行动模型示 意图, 在身体的其他相应位置安装有同样的三条
收稿日期: 2007- 06- 09
44
2008.1 www.ecda.cn
腿。图中各坐标系的原点即是电机安装的位置。 坐标系的原点电机负责腿1在平面内的活动, 而 坐标系原点的电机负责腿2在平面的活动, 第三 个 坐 标 系 原 点 的 电 机 则 负 责 腿 3 在 平 面 Y3Z3 内 的 运动。三个电机协调起来就能实现整个一条腿在 空间内6个自由度内的运动。对应的, 机器人的 其他三条腿同样也能够在空间内自由地运动, 然 后配合适当的步态, 机器人就能够行走起来。图 2所示为其仿真试验的模型效果图。
2 四足机器人中的舵机控制
在谈及电机的控制时, 首先应明确一下该四 足机器人所需的电机特征。由于四足机器人要求 尽量轻巧, 故在选择电机时不能选质量太大的电 机, 另外, 机器人的各个关节的运动是在一定的 范围之内, 即每一关节不可能需要在0 ̄360度的 范围内运动, 只需要一个相对较小的角度范围就 可以了。在对市场上现有的各种电机的比较中, 本设 计 选 择 了 重 量 为4.3克 的BA- TS- 4.3型 舵 机 ,
[1] Motorola. MPC8260 PowerQUICC Ⅱ User’s Manual, 1999.
[2] The ATM Forum Technical Committee. Utopia Level 2.
可以看出, 调度到的连接号依次为0、0、2、1、
0 引言
随着科学技术的发展和不同的应用要求, 机 器人的设计也朝着不同的方向发展。本文所讨论 的机器人电机控制系统是基于类似壁虎的小型四 足机器人的控制模型, 适合在一些狭小恶劣、人 无法到达或承受的环境中工作, 另外, 该机器人 的四个脚类似于壁虎的四足, 能像壁虎一样在平 面、垂直面上行走, 所以, 其活动范围较广, 不 易被发现, 可用于某些侦查活动 (如军事侦查, 科学探索等)。该模型中使用了很多的电机, 每 个电机在不同的时刻和不同的状况都需要有不同 的控制信号, 如何来协调电机的控制将是一个相 对复杂的地过程。
4 各关节的协调控制过程
对一个关节的控制仅需要一个舵机就行了, 而对一个舵机的控制是十分简单的事情。但是在 这个机器人中, 要达到既节省硬件资源, 又同时 控制12个舵机 (12个关节) 协调工作却不是容易 的 事 情 。 芯 片 89C51 仅 有 两 个 定 时 器 、 两 个 外 部 中断和一个串口中断, 可见, 要利用这些资源来 产 生12路 周 期 为20 ms的 脉 冲 是 不 可 能 的 。 而 在 硬件设计时, 考虑到该芯片共有24个I/O口 (分别 为P1、P2、P3, 每 个 口 各 有8个 输 入 输 出 端 口), 可以利用这些口中的一部分来作为脉冲的输出 口。由于每一条指令的执行需要一定的时间, 本 机器人控制芯片所选用 的 是12MH晶 振 , 每 一 个 机 器 周 期 需 要1 μs的 时 间 。 而89C51指 令 系 统 中 的一条指令执行时间需要1 ̄4个机器周期, 那么, 执行一段代码所需的时间就可以通过下面的公式 来计算:
第10卷 第1期 2008年1月
Electronic Component & Device Applications
Vol.10 No.1 Jan. 2008
四足机器人中各关节的控制
成光华, 毛建国 (南京航空航天大学能源与动力学院, 江苏 南京 210016)
摘 要: 为了实现对机器人的控制。文中阐述了四足机器人中所使用的舵机执行机构的工作 模型, 给出了用89C51单片机作为控制芯片来完成其协调工作, 从而使四足机器人各个关节 按照一定的规律运动, 并使机器人能够按照给定的步态平稳行走的系统设计方法。 关键词: 四足机器人; 单片机; 舵机控制; 机电控制
度请求清除信号, PHY是选中的物理设备的地址 算 法 机 制 , 并 在 此 基 础 上 给 出 了 对 应 的 IP核 设
(即要进行调度的物理设备地址), chn是调度到的 计。通过对其进行的功能仿真结果表明, 该算法
ATM的连接号, APCLC是当前调度到的连接所连 运行良好且高效, 可以满足实际系统的需要。
第10卷 第1期 2008年1月
图2 机器人仿真模型
设计参考
Vol.10 No.1 Jan. 2008
式, 并在定时寄存器中设置一个特定的值, 这 样, 当1.8 ms的时刻到达时, 该值由于不断的增 加而在这一时刻正好溢出, 然后就进入定时中断 程序。定时中断程序的任务是把原来的高电平设 置为低, 同时在定时寄存器中设置新的数值, 使 单片机在接下来的18.2 ms后再一次进入中断, 并 在进入中断后把定时寄存器的值设为原先的值, 如此循环, 就能持续产生脉宽为1.8 ms的脉冲了。
市场上的舵机转速一般都是固定的。如果要 改变其转速, 只能改变其内部电路结构, 如改变 内部电阻或电流的大小。这种方法对于四足机器 人来说, 要调节舵机转速是不切实际的, 因为你 无法在四足机器人运动时去调节舵机内部的电路 结构。而另一方面, 机器人行走时, 不同的环境 要求步伐的速度是不一样的, 也就是舵机的转速 是适时变化的。因此, 要改变舵机转速, 只能通 过软件控制的方法来实现。如机器人的某个舵机 要转过30度, 则可把30度划分成60等份, 每等份 0.5度。以将舵机转过30度的过程看成是舵机转过 60个0.5度等份的过程。这样, 在每个等份之间作 恰当的延时 (例如延 时0.05 s), 那 么 , 转 过 整 个 30度就需要3 s的时间, 从而达到使舵机转速减低 之 目 的 。 当 然 , 由 于 延 时 时 间 为0.05 s, 对 于 人 的感官来说是很难感觉到这个停顿, 舵机转过60 个0.5度的非连续过程对人来说就象是一个连续转 动的过程。图5是一个舵机调速的程序流程图。
调这12路脉冲信号的发送过程, 从而控制12个舵 机的转动, 使四足机器人能够按照要求的步态行 走。从舵机控制原理可知, 周期脉冲中, 高电平 所占的脉宽不同, 舵机所转过的角度就不同。在 四足机器人行走时, 各个舵机在某一时刻所转过 的位置是各不相同的, 这就要求单片机89C51在 不 同 时 刻 发 出12 路 占 空 比 各 不 相 同 的 脉 冲 控 制 信 号。另外, 四足机器人是按照一个步态接一个步 态有规律的行走, 即在某一时刻有几个舵机所控 制的脚在行走, 而在接下来的一个时刻又会有另 外的几个舵机所控制的脚在行走, 如此反复, 经 过若干个步态之后, 四足机器人又会回到初始的 状态, 接下去就是不断地循环以前的步态, 从而 让四足机器人在地面上行走。根据这两个特点, 设计程序时, 一方面可以利用指令本身执行需要 一定的时间这一特点来代替定时器的功能, 以节 省硬件资源, 另一方面, 根据四足机器人行走时 步态的反复性, 也可以用循环的方式, 使其按照 指定的步态行走。当然, 这里是以机器人直线行 走的方式为例来说明的, 而机器人如果是以转弯 的方式行走, 也可以按照这样的分析方法来设计 程序, 这样所设计的程序比较简练, 代码量少, 可以节省89C51芯片内部的4 KB的ROM空间。图7 所示是12个舵机的控制流程图。
5 结束语
四 足 机 器 人 模 型 中 需 要 控 制 的 关 节 多 达 12
个, 对于一般的芯片来说, 如果选用定时方式来
产生舵机控制所需要的脉冲信号显然是不合理
的 。 而 该 模 型 中 选 用 的 芯 片 89C51 仅 有 两 个 定 时
器, 因此, 如何来产生12路
(下转第50页)
46
1 四足机器人模型
四足机器人的结构设计是以壁虎的形状为依 据的。该机器人共有四条腿, 前后各两条, 每条 腿均由小腿和大腿组成, 在小腿与大腿, 大腿与 身体的连接处共有三个关节, 这相当于人胳膊的 肩关节、肘关节、腕关节, 它们分别控制着机器 人前后左右和上下等不同方向的运动, 这样, 四 条 腿 、12 个 关 节 协 调 起 来 就 能 行 走 。 该 机 器 人 的 行动模型示意图如图1所示。
t=n+2m+3l+4k 式中, t为执行代码段所需的时间, 单位为 μs; n、m、l、k分别为代码段中单、双、三和四 个周期指令的个数。由此就可通过指令本身执行 所 需 要 的 时 间 来 代 替 定 时 器 的 功 能 。 假 如 某 个 I/ O口开始时的输出电平为高电平, 程序将循环执 行某几条指令, 然后使程序在某处停止下来, 之 后当1.8 ms的时刻到达时再使程序跳出循环。接 下 来 再 把 这 个I/O口 输 出 电 平 设 置 为 低 电 平 , 接 着再一次进入循环, 并当18.2 ms的时刻到达时, 再 把 I/O口 输 出 电 平 恢 复 成 高 电 平 。 如 此 循 环 , 就能产生所需要的脉冲信号, 以P1.0输出为例的 单脉冲产生的流程图如图6所示。 以上所述是如何在没有使用定时器的情况下 输出一路脉冲的过程。当然, 其他的11路脉冲也 可以用同样的方法实现。接下来介绍下如何来协
图4 PWM脉冲信号
3 舵机的转速调节
图3 BA- TS- 4.3舵机
该舵机的外观如图3所示。 在机器人机电控制系统中, 舵机的控制效果
是性能的重要影响因素。舵机可以在微机电系统 和航模中作为基本的输出执行机构, 其简单的控 制和输出使得单片机系统非常容易与之接口。该 舵机的控制是采用89C51芯片产生控制信号, 并 通 过 单 片 机 的 I/O口 输 入 到 舵 机 信 号 调 制 芯 片 , 以获得直流偏置电压。舵机内部有一个基准电 路, 可产生周期为20 ms、宽度为1.5 ms 的基准信 号。将获得的直流偏置电压与电位器的电压进行 比较即可获得电压差输出。最后将该电压差的正 负信号输出到电机驱动芯片即可决定电机的正反 转。当电机转速一定时, 通过级联减速齿轮带动 电位器旋转, 可使电压差为0, 进而使电机停止。
2008.1 www.ecda.cn
第10卷 第1期 2008年1月
Electronic Component & Device Applications
Vol.10 No.1 Jan. 2008
图3 PHY0的调度结果仿真
度请求信号 ( S_Req有效时进行调度) , clr_S是调 现ATM流量控制的方法, 提出了一种较为实用的
wenku.baidu.com
接的下一个连接号, PCR是峰值信元速率对应的 时 隙 调 度 速 率 , CPS是 每 个 时 隙 发 送 的 信 元 数 ,
参考文献
CPS_CNT是信元计数, ATT是ATM通信类型指示 (00表示PCR通信类型)。本设计中的CBR和UBR都 是PCR通信类型, 所以ATT均为00。从仿 真 结 果
图5 舵机调速流程图
www.ecda.cn 2008.1
45
第10卷 第1期 2008年1月
Electronic Component & Device Applications
Vol.10 No.1 Jan. 2008
调节舵机的转速一方面可满足机器人不同的 步伐速度要求, 另一方面, 由于舵机直接与各关 节相连, 舵机的转速就是各个腿转动的角速度, 这如果转化为脚尖的线速度是相当的大, 因而会 使机器人行走产生较大的振动。而降低舵机的转 速就能使各条腿的线速度降下来, 从而减小脚与 地面快速接触时产生的冲击。
图1所 示 是 机 器 人 的 一 条 腿 (线 条 1, 2, 3) 以及机器人的身体部分 (矩形框) 的行动模型示 意图, 在身体的其他相应位置安装有同样的三条
收稿日期: 2007- 06- 09
44
2008.1 www.ecda.cn
腿。图中各坐标系的原点即是电机安装的位置。 坐标系的原点电机负责腿1在平面内的活动, 而 坐标系原点的电机负责腿2在平面的活动, 第三 个 坐 标 系 原 点 的 电 机 则 负 责 腿 3 在 平 面 Y3Z3 内 的 运动。三个电机协调起来就能实现整个一条腿在 空间内6个自由度内的运动。对应的, 机器人的 其他三条腿同样也能够在空间内自由地运动, 然 后配合适当的步态, 机器人就能够行走起来。图 2所示为其仿真试验的模型效果图。
2 四足机器人中的舵机控制
在谈及电机的控制时, 首先应明确一下该四 足机器人所需的电机特征。由于四足机器人要求 尽量轻巧, 故在选择电机时不能选质量太大的电 机, 另外, 机器人的各个关节的运动是在一定的 范围之内, 即每一关节不可能需要在0 ̄360度的 范围内运动, 只需要一个相对较小的角度范围就 可以了。在对市场上现有的各种电机的比较中, 本设 计 选 择 了 重 量 为4.3克 的BA- TS- 4.3型 舵 机 ,
[1] Motorola. MPC8260 PowerQUICC Ⅱ User’s Manual, 1999.
[2] The ATM Forum Technical Committee. Utopia Level 2.
可以看出, 调度到的连接号依次为0、0、2、1、
0 引言
随着科学技术的发展和不同的应用要求, 机 器人的设计也朝着不同的方向发展。本文所讨论 的机器人电机控制系统是基于类似壁虎的小型四 足机器人的控制模型, 适合在一些狭小恶劣、人 无法到达或承受的环境中工作, 另外, 该机器人 的四个脚类似于壁虎的四足, 能像壁虎一样在平 面、垂直面上行走, 所以, 其活动范围较广, 不 易被发现, 可用于某些侦查活动 (如军事侦查, 科学探索等)。该模型中使用了很多的电机, 每 个电机在不同的时刻和不同的状况都需要有不同 的控制信号, 如何来协调电机的控制将是一个相 对复杂的地过程。
4 各关节的协调控制过程
对一个关节的控制仅需要一个舵机就行了, 而对一个舵机的控制是十分简单的事情。但是在 这个机器人中, 要达到既节省硬件资源, 又同时 控制12个舵机 (12个关节) 协调工作却不是容易 的 事 情 。 芯 片 89C51 仅 有 两 个 定 时 器 、 两 个 外 部 中断和一个串口中断, 可见, 要利用这些资源来 产 生12路 周 期 为20 ms的 脉 冲 是 不 可 能 的 。 而 在 硬件设计时, 考虑到该芯片共有24个I/O口 (分别 为P1、P2、P3, 每 个 口 各 有8个 输 入 输 出 端 口), 可以利用这些口中的一部分来作为脉冲的输出 口。由于每一条指令的执行需要一定的时间, 本 机器人控制芯片所选用 的 是12MH晶 振 , 每 一 个 机 器 周 期 需 要1 μs的 时 间 。 而89C51指 令 系 统 中 的一条指令执行时间需要1 ̄4个机器周期, 那么, 执行一段代码所需的时间就可以通过下面的公式 来计算:
第10卷 第1期 2008年1月
Electronic Component & Device Applications
Vol.10 No.1 Jan. 2008
四足机器人中各关节的控制
成光华, 毛建国 (南京航空航天大学能源与动力学院, 江苏 南京 210016)
摘 要: 为了实现对机器人的控制。文中阐述了四足机器人中所使用的舵机执行机构的工作 模型, 给出了用89C51单片机作为控制芯片来完成其协调工作, 从而使四足机器人各个关节 按照一定的规律运动, 并使机器人能够按照给定的步态平稳行走的系统设计方法。 关键词: 四足机器人; 单片机; 舵机控制; 机电控制
度请求清除信号, PHY是选中的物理设备的地址 算 法 机 制 , 并 在 此 基 础 上 给 出 了 对 应 的 IP核 设
(即要进行调度的物理设备地址), chn是调度到的 计。通过对其进行的功能仿真结果表明, 该算法
ATM的连接号, APCLC是当前调度到的连接所连 运行良好且高效, 可以满足实际系统的需要。
第10卷 第1期 2008年1月
图2 机器人仿真模型
设计参考
Vol.10 No.1 Jan. 2008
式, 并在定时寄存器中设置一个特定的值, 这 样, 当1.8 ms的时刻到达时, 该值由于不断的增 加而在这一时刻正好溢出, 然后就进入定时中断 程序。定时中断程序的任务是把原来的高电平设 置为低, 同时在定时寄存器中设置新的数值, 使 单片机在接下来的18.2 ms后再一次进入中断, 并 在进入中断后把定时寄存器的值设为原先的值, 如此循环, 就能持续产生脉宽为1.8 ms的脉冲了。
市场上的舵机转速一般都是固定的。如果要 改变其转速, 只能改变其内部电路结构, 如改变 内部电阻或电流的大小。这种方法对于四足机器 人来说, 要调节舵机转速是不切实际的, 因为你 无法在四足机器人运动时去调节舵机内部的电路 结构。而另一方面, 机器人行走时, 不同的环境 要求步伐的速度是不一样的, 也就是舵机的转速 是适时变化的。因此, 要改变舵机转速, 只能通 过软件控制的方法来实现。如机器人的某个舵机 要转过30度, 则可把30度划分成60等份, 每等份 0.5度。以将舵机转过30度的过程看成是舵机转过 60个0.5度等份的过程。这样, 在每个等份之间作 恰当的延时 (例如延 时0.05 s), 那 么 , 转 过 整 个 30度就需要3 s的时间, 从而达到使舵机转速减低 之 目 的 。 当 然 , 由 于 延 时 时 间 为0.05 s, 对 于 人 的感官来说是很难感觉到这个停顿, 舵机转过60 个0.5度的非连续过程对人来说就象是一个连续转 动的过程。图5是一个舵机调速的程序流程图。
调这12路脉冲信号的发送过程, 从而控制12个舵 机的转动, 使四足机器人能够按照要求的步态行 走。从舵机控制原理可知, 周期脉冲中, 高电平 所占的脉宽不同, 舵机所转过的角度就不同。在 四足机器人行走时, 各个舵机在某一时刻所转过 的位置是各不相同的, 这就要求单片机89C51在 不 同 时 刻 发 出12 路 占 空 比 各 不 相 同 的 脉 冲 控 制 信 号。另外, 四足机器人是按照一个步态接一个步 态有规律的行走, 即在某一时刻有几个舵机所控 制的脚在行走, 而在接下来的一个时刻又会有另 外的几个舵机所控制的脚在行走, 如此反复, 经 过若干个步态之后, 四足机器人又会回到初始的 状态, 接下去就是不断地循环以前的步态, 从而 让四足机器人在地面上行走。根据这两个特点, 设计程序时, 一方面可以利用指令本身执行需要 一定的时间这一特点来代替定时器的功能, 以节 省硬件资源, 另一方面, 根据四足机器人行走时 步态的反复性, 也可以用循环的方式, 使其按照 指定的步态行走。当然, 这里是以机器人直线行 走的方式为例来说明的, 而机器人如果是以转弯 的方式行走, 也可以按照这样的分析方法来设计 程序, 这样所设计的程序比较简练, 代码量少, 可以节省89C51芯片内部的4 KB的ROM空间。图7 所示是12个舵机的控制流程图。
5 结束语
四 足 机 器 人 模 型 中 需 要 控 制 的 关 节 多 达 12
个, 对于一般的芯片来说, 如果选用定时方式来
产生舵机控制所需要的脉冲信号显然是不合理
的 。 而 该 模 型 中 选 用 的 芯 片 89C51 仅 有 两 个 定 时
器, 因此, 如何来产生12路
(下转第50页)
46
1 四足机器人模型
四足机器人的结构设计是以壁虎的形状为依 据的。该机器人共有四条腿, 前后各两条, 每条 腿均由小腿和大腿组成, 在小腿与大腿, 大腿与 身体的连接处共有三个关节, 这相当于人胳膊的 肩关节、肘关节、腕关节, 它们分别控制着机器 人前后左右和上下等不同方向的运动, 这样, 四 条 腿 、12 个 关 节 协 调 起 来 就 能 行 走 。 该 机 器 人 的 行动模型示意图如图1所示。
t=n+2m+3l+4k 式中, t为执行代码段所需的时间, 单位为 μs; n、m、l、k分别为代码段中单、双、三和四 个周期指令的个数。由此就可通过指令本身执行 所 需 要 的 时 间 来 代 替 定 时 器 的 功 能 。 假 如 某 个 I/ O口开始时的输出电平为高电平, 程序将循环执 行某几条指令, 然后使程序在某处停止下来, 之 后当1.8 ms的时刻到达时再使程序跳出循环。接 下 来 再 把 这 个I/O口 输 出 电 平 设 置 为 低 电 平 , 接 着再一次进入循环, 并当18.2 ms的时刻到达时, 再 把 I/O口 输 出 电 平 恢 复 成 高 电 平 。 如 此 循 环 , 就能产生所需要的脉冲信号, 以P1.0输出为例的 单脉冲产生的流程图如图6所示。 以上所述是如何在没有使用定时器的情况下 输出一路脉冲的过程。当然, 其他的11路脉冲也 可以用同样的方法实现。接下来介绍下如何来协
图4 PWM脉冲信号
3 舵机的转速调节
图3 BA- TS- 4.3舵机
该舵机的外观如图3所示。 在机器人机电控制系统中, 舵机的控制效果
是性能的重要影响因素。舵机可以在微机电系统 和航模中作为基本的输出执行机构, 其简单的控 制和输出使得单片机系统非常容易与之接口。该 舵机的控制是采用89C51芯片产生控制信号, 并 通 过 单 片 机 的 I/O口 输 入 到 舵 机 信 号 调 制 芯 片 , 以获得直流偏置电压。舵机内部有一个基准电 路, 可产生周期为20 ms、宽度为1.5 ms 的基准信 号。将获得的直流偏置电压与电位器的电压进行 比较即可获得电压差输出。最后将该电压差的正 负信号输出到电机驱动芯片即可决定电机的正反 转。当电机转速一定时, 通过级联减速齿轮带动 电位器旋转, 可使电压差为0, 进而使电机停止。
2008.1 www.ecda.cn
第10卷 第1期 2008年1月
Electronic Component & Device Applications
Vol.10 No.1 Jan. 2008
图3 PHY0的调度结果仿真
度请求信号 ( S_Req有效时进行调度) , clr_S是调 现ATM流量控制的方法, 提出了一种较为实用的
wenku.baidu.com
接的下一个连接号, PCR是峰值信元速率对应的 时 隙 调 度 速 率 , CPS是 每 个 时 隙 发 送 的 信 元 数 ,
参考文献
CPS_CNT是信元计数, ATT是ATM通信类型指示 (00表示PCR通信类型)。本设计中的CBR和UBR都 是PCR通信类型, 所以ATT均为00。从仿 真 结 果
图5 舵机调速流程图
www.ecda.cn 2008.1
45
第10卷 第1期 2008年1月
Electronic Component & Device Applications
Vol.10 No.1 Jan. 2008
调节舵机的转速一方面可满足机器人不同的 步伐速度要求, 另一方面, 由于舵机直接与各关 节相连, 舵机的转速就是各个腿转动的角速度, 这如果转化为脚尖的线速度是相当的大, 因而会 使机器人行走产生较大的振动。而降低舵机的转 速就能使各条腿的线速度降下来, 从而减小脚与 地面快速接触时产生的冲击。