基于STM32单片机的双足竞步机器人设计

物联网技术  2022年 / 第6期
444gggg
1100 引 言
双足竞步机器人是一种模仿人步态行走的机器人,能够实现双足行走和其他相关动作,其在直立行走过程中,有着良好的自由度,动作灵活、自如、稳定[1]。双足竞步机器人包含丰富的动力学特性,具有广阔的发展前景,经过技术的创新与发展,未来它可以在多种场景中广泛应用,如物品搬运[2]、救灾抢险等。
目前市场上的小型双足竞步机器人大致可分为使用传感器及弹性连接件和不使用传感器及弹性连接件两类。使用摄像头、激光雷达等传感器增加了机器人的功耗和成本。本文使用单片机、双轴舵机等,设计了一种小型双足竞步机器人。此机器人在不使用传感器及弹性连接件的情况下,在6 m 的距离内能够稳
定、快速地实现直线行走。
1 系统整体设计
此次设计的双足竞步机器人主要由机械结构、驱动模块、传感模块和控制模块等组成[3]。机器人控制系统是机器人的“心脏”,它根据编程指令及传感信号控制机器人完成规定动作。作为机器人的核心,机器人控制系统决定着机器人的性能表现,很大程度上影响着机器人的发展方向。本文设计的机器人系统选用STM32单片机作为双足竞步机器人控制 系统[4]。
机器人技术的实现与其优良的机械结构和智能控制系统
有关,控制系统要做到工作稳定、精度可靠等,就需要设计高级的控制算法。近年来,国内外相关研究人员提出了多种控制算法,以及实现相关算法的控制器,但目前相关技术还处在实验阶段,一些高级控制方法在实测过程中不够稳定,因此机器人智能控制系统仍是当前的研究热点。本文设计并制作了一种双足竞步机器人,它可以按照设定的动作,通过指令程序的编程控制实现如前、后滚翻,前进、后退等动作,并可以快速、稳定地直线行走[5]。
2 机械结构设计
2.1 机械结构参数
双足竞步机器人的机械结构类似于人形,通过双足结构实现行走[6]。为实现对机器人的步态设计控制,在进行机械结构设计时,通过双轴舵机模拟人类腿部膝关节。机械结构通过舵机控制芯片控制机器人腿部各关节的动作,对每一步的大小、快慢、幅度实现了精确控制。此机器人选用亚克力板材料制作,成品机器人身高约25 cm ,长度约20 cm ,宽度约11 cm 。2.2 机器人模型建模
通过大量研究人体腿部运动的图片、视频、相关数据,确定了机器人的结构尺寸。并通过大量仿真与实验,最终确定了机器人的原始模型,根据比例缩放后得到最终的机械结构。借助Solidworks 三维绘图软件绘制三维模型,如图1所示。2.3 机器人实物制作
制作夹件、卡件和连接件时,依照图纸参数通过3D 打印机加工完成。然后进行打孔、螺丝装配等精加工操作,最终完成机器人机械机构的制作和装配。机器人能够独立完成行走或其他任务。设计的双足竞步机器人依靠多关节配合行
邓三星,杨蒙蒙,张 凯,刘越奇,刘 通
口罩成型机(黄河交通学院 河南省智能制造技术与装备工程技术研究中心,河南 焦作 454950)
摘 要:
文中设计了一种小型双足竞步机器人。机器人机械结构部分两足呈对称结构,可双足交叉直立行走。
控制部分使用STM32F103RCT6单片机芯片作为控制器主控芯片,控制器具有低压报警功能和上位机软件编程功能,能快速调试机器人动作。机器人的双腿分别由3个双轴舵机串联而成,通过舵机控制机器人的重心来实现立正、向前走、向后走、向前翻跟斗、向后翻跟斗、向左转、向右转等动作。在不使用各种传感器的情况下,该双足步行机器人可实现直线行走,在不使用弹性连接件的情况下,可自由运动。
关键词:
舵机;STM32;自由度;双足;竞步机器人;PWM ;串行通信中图分类号:TP18      文献标识码:A      文章编号:
2095-1302(2022)06-0110-04收稿日期:2021-08-23  修回日期:2021-09-29
基金项目:黄河交通学院2021年度校级一流课程(HHJTXY-2021
ylkc58);黄河交通学院2021年度校级一流专业(HHJT XY-2021ylzy01)
图1 机器人三维模型
图2 机器人实物
控制电路设计
双足竞步机器人控制部分采用的核心处理器为STM32F103RCT6型单片机。图3为单片机工作的最小系统,
它主要由STM32F103RCT6单片机、晶振与复位电路组成,其中,晶振为32.768 kHz。
舵机控制电路主要由PCA9685PW芯片组成,通过时钟线SCL和数据线SDA与STM32单片机通信。舵机控制电路如图4所示。
舵机控制电路的P0~P6口分别与6个舵机的PWM信号线相连,以不断输出PWM波形,控制6个舵机的旋转角度,最终实现双足竞步机器人姿态的控制[7]。舵机控制接口电路如图5所示。
3.2 电源设计
通常出于安全和续航等因素考虑,机器人的工作电源采用7.4 V锂电池,它可以向控制系统和舵机提供7.4 V工作电压。而控制系统与舵机的电源要分开供电,避免舵机供电电源产生的电压波动对控制系统产生干扰。控制系统将锂电池提供的7.4 V电源经LM2940芯片稳压后输出
5 V电源作为工作电源,而舵机可以直接使用锂电池提供的7.4 V电源。电源转换电路如图6所示。
3.3 舵机的使用及参数
本文设计的双足竞步机器人重量轻、体积小,腿部各关节通过舵机驱动实现精确的步态控制。舵机最早应用于航模
螺旋桨设计图3 STM32F103RCT6最小系统
血氧仪测试方法图4 舵机控制电路
图5 舵机控制接口电路
2022年 / 第6期物联网技术
111
物联网技术  2022年 / 第6期
112图6 电源转换电路
舵机分为单轴舵机和双轴舵机,型号分别为DS3115MG 和RDS3115MG 。单轴舵机在智能小车、机械臂等设备上使用较为广泛,而双轴舵机与单轴舵机的不同之处在于它有一个虚轴,因此常用于人形机器人,如双足竞步机器人。双轴舵机外观如图7(a )所示,单轴外观如图7(b )所示
图7 舵机实物
舵机各参数是决定机器人性能的重要指标。本次设计使用的舵机的额定工作电压为6 V ,额定扭矩为15 N ·m 。它提供180°内可控制正反转、270°内可控制正反转、360°内可定圈连续旋转及正反转、360°内定时连续旋转及正反转等8种角度工作模式,用户可自由切换。舵机采用单总线通信,其波特率为115 200,通过总线串联各舵机。本设计中的 6个舵机有专属ID 号,舵机默认ID 为0,可通过命令改变舵机ID ,255代表广播地址。可回读角度参数,读取舵机当前实时位置。
4 软件设计
4.1 机器人系统控制原理
上位机编程软件和
STM32舵机控制器之间进行实时双向通信传输,STM32舵机控制器发送控制指令给串行总线舵机并实现舵机姿态的角度回读。STM32单片机也可将编写好的程序下载到芯片中脱机运行。机器人控制流程如图8所示。4.2 串行总线舵机通信原理
本文设计的机器人控制系统采用单总线通信方式,这种方式的优点是舵机之间可串联,最多可级联255个舵机。同
图8 机器人控制流程
图9 舵机通信流程
4.3 STM32舵机控制器控制算法
双足竞步机器人STM32舵机控制器的控制算法,可实现LED 灯亮灭及闪烁功能,实现蜂鸣器鸣叫与多个舵机联动控制,并做一些组合动作。如下所示为启动代码,用于完成时钟配置。
dj_io_init(); //舵机定时器初始化RCC_HSEConfig(RCC_HSE_ON); //外部时钟开启,并初始化
HSEStartUpStatus = RCC_WaitForHSEStartUp();
//等待,确认外部时钟是否准备好
while(HSEStartUpStatus == ERROR); //启动失败在这里等待
RCC_HCLKConfig(RCC_SYSCLK_Div1);
//设置单片机内部总线时钟
RCC_PCLK1Config(RCC_HCLK_Div2);
//外部时钟为8 MHz ,此处倍频为36 MHz
RCC_PCLK2Config(RCC_HCLK_Div1);
//外部时钟为8 MHz ,此处倍频为72 MHz
RCC_HSICmd(DISABLE); //关闭内部时钟HSI RCC_LSICmd(DISABLE); //关闭内部时钟LSI 配置I/O 口时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //启动PA 口的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //启动PB 口的时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
//配置,pin10
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//推挽输出
磁化净水器
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //I/O 翻转,50 MHz
2022年 / 第6期  物联网技术
113
配置。首先,结构重心右移,此时右腿支撑地面,左腿轻微抬起,然后左腿平稳放下,重心转移到双腿中间,接着结构重心左移,此时左腿支撑地面,右腿轻微抬起
然后右腿平稳放下,最后重心再次转移到双腿间。机器人每条腿获得 3个自由度,故2条腿共有6个自由度。髋关节、膝关节和踝关节的俯仰自由度协作配合,使机器人在前进方向上实现直线行走;髋关节的转体自由度可控制机器人转弯功能的实现;髋关节和踝关节的偏转自由度协作配合,可实现在横向平面内的重心转移。5.2 控制板简介
舵机控制
模块采用STM32舵机控制板,其主要由STM32F103RCT6单片机芯片、舵机控制电路、USB 调试接口、蓝牙接口、无线串口、电源接口、蜂鸣器、舵机接口组成。STM32舵机控制板如图10
所示。
图10 STM32舵机控制板
5.3 调试界面
控制板使用上位机软件控制,可直接使用USB 接口,蓝牙模块和无线串口进行调试或下载编程。系统既可实现机器人开机状态的设置,直接使用在线运行模式控制机器人的运动,也可以将程序烧录到STM32单片机中实现脱机运行。通过重启控制器可以清除控制器中烧录的程序,实现机器人复位。在调试过程中还可以实现多个机器人协同运行[8],做出统一动作。调试界面如图11所示。
图11 调试界面
文设计的双足竞步机器人可以实现前后方向走步、前后方向翻跟斗、向左及向右转动等功能。如图12所示,机器人正在跑道上进行翻滚动作,此时机器人头部朝下,脚部朝上。
图12 调试结果
6 结 语
本文采用STM32F103RCT6单片机作为控制器,开发设计了双足竞步机器人系统。首先确定了系统总体结构和组成,然后对双足竞步机器人的机械结构、舵机控制系统和上位机编程软件进行了设计与测试。在不使用弹性连接件、传感器的情况下,经过调试,机器人能够满足前行、后退、转弯、翻跟斗等基本动作要求。该机器人结构稳定,可靠性高,动作转变协调性好,运行效果良好[10]。
[1]崔庆权,宁晶.一种教学和竞赛通用型双足竞步机器人的设计与
研究[J].电子测量技术,2020,43(9):18-22.
[2]肖全,鞠全勇.基于RobotStudio 的机器人搬运工作站设计与路径仿真[J].机电技术,2020,44(4):33-36.
[3]钟浩然,李新宇,高亮,等. 适应非平整地面的双足竞步机器人柔顺步态优化方法[J].华中科技大学学报(自然科学版),2021,49(7):97-102.
[4]王增喜.基于STM32的双足竞步机器人控制系统的研究[J].自动化与仪表,2019,34(2):32-34.
偏心轮机构[5]林佳裔,胡小春,张春. CPG 机理的双足竞步机器人运动轨迹生成与分析[J].机械设计与制造,2020,58(2):256-259.
[6]王寅霄,彭熙,谷科瑾,等.基于树莓派与惯性传感器的双足人形机器人姿态解算及控制系统的设计及实现[J].电子世界,2020,42(9):134-135.
[7]柯建波.复合扰动下双足竞步机器人位姿修正解耦控制研究[J].国外电子测量技术,2020,39(3):104-108.
[8]周东健,张兴国,李成浩.多机器人系统协同作业技术发展近况与前景[J].机电技术,2013,36(6):146-150.
[9]陈景郁,朱洪雷.STM32控制器烧录工具读写option bytes 的实现[J].机电技术,2019,43(6):30-32.
[10]曾凡菊.基于单片机的双足竞步机器人控制系统设计[J].电脑知
识与技术,2017,13(20):196-197.

本文发布于:2024-09-22 20:29:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/305861.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:机器人   舵机   控制   竞步   实现
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议