基于单片机的双足仿生运动机器人的设计

news2024/11/18 15:38:57

目录
1 概述 1
1.1 研究背景及意义 1
1.2 机器人的应用领域及发展现状 1
1.2.1 应用领域 1
1.2.2 发展现状 1
1.3 双足机器人设计要求 2
1.3.1 硬件部分 2
1.3.2 软件部分 2
2 系统方案设计 3
2.1 主控芯片选择 3
2.2 机器人自由度选择 3
2.3 驱动方案选择 3
2.4 双足机器人的步态规划 4
2.5 双足机器人的步态设计 4
3 双足机器人的硬件设计 5
3.1 硬件系统结构 5
3.2 单片机控制模块 5
3.3 稳压驱动模块 6
3.4 舵机模块 7
4 双足机器人的软件设计 9
4.1 编程软件 9
4.2 程序设计 10
4.2.1 程序流程图 10
4.2.2 主程序 10
4.2.3 关节测试程序 11
4.2.4 行走程序 12
4.2.5 动作程序 12
5 调试 15
6 总结 18
参考文献 19
致谢 20
附录 21
2系统方案设计
2.1主控芯片选择
方案1:采用STC89C51单片机作为控制芯片。51单片机技术成熟、功耗低、价格低廉,但是STC89C51为八位单片机,运算速度相对较慢,实时性较差,复杂控制算法难以实现实时性控制,不利于精度高的控制。
方案2:采用STC15W4K56S4单片机作为控制芯片。该单片机为新一代的51单片机,指令完全兼容传统的8051,但运算速度远胜于8051。且STC15W4K56S4单片机内部具有6个独立的PWM波形发生器,能够自行根据用户需求产生脉宽调制信号(PWM)波形。
综上所述,虽然STC89C51单片机在成本上较为低廉,但处理速度较慢,难以实现复杂的控制算法的实时性,在高精度控制上力不从心,因此在芯片选择上选择方案2的STC15W4K56S4单片机作为控制芯片。
2.2机器人自由度选择
双足步行机器人的行走必须依赖自身的舵机关节,关节数量越多其灵活性就越高,同时对其的控制难度也就越大。人体的关节由于不是刚性物体而是柔性,因此具有相当高的自由度,而双足步行机器人若要实现行走需要至少4个自由度。根据设计要选择6自由度机器人作为本次设计的框架,在此基础上进行设计。本次设计中的6个自由度分别为2个踝关节、2个膝关节和2个髋关节。
2.3驱动方案选择
目前机器人的主流驱动方式大致分为液压驱动、气压驱动和电机驱动。液压驱动具有力矩大、相应速度快点的特点,但是其质量大,成本高昂;气压驱动具有相应速度快的特点但其稳定性较差,难以控制。并且液压和气压驱动主要用于大型设备当中,本系统作为小型设计系统则采用电机驱动的方式。
常用电机有步进电机、舵机和直流电机等。直流电机与步进电机的控制均较为复杂难以实现简单的精确控制,常用于较大型的机器人和巡线跟踪机器人,不适合本次设计的小型双足步行机器人,故选用舵机。
舵机是一种精度高、安全性强、低成本且易于维修的角度伺服驱动器,十分的适合于角度需要不断变化并且能够保持的系统,最早使用于船模。能够通过PWM波进行角度的控制,具有较高的稳定性且便于单片机的编程和实际应用。
2.4双足机器人的步态规划
在双足步行机器人的研究过程中步态规划一项重要的工作。步态规划是指在机器人的行走过程中对其运动轨迹的规划,它能够直接影响行走过程中动作的流畅性、电机所需提供的力矩的大小及行走的稳定性等多个方面,同时也会直接影响到机器人在动作控制方面的难易程度。因此双足机器人的运动稳定性的好坏受步态规划的影响。
实现步态规划的主要方法有基于仿生学的步态规划方法、基于算法的步态规划方法、基于模型的步态规划方法。
(1)基于仿生学的步态规划方法,通过对人行走过程中的正面和侧面录像的分析,获得该人在行走过程中主要活动关节的角度变化,然后根据力学相似的原理把这些角度近似地应用到机器人的关节变化上。
(2)基于算法的步态规划方法,通过类似于遗传控制、神经网络、模糊控制的智能算法,提高仿人机器人的学习、容错和自适应能力从而改善对环境适应性差和学习能力不足的缺陷。
(3)基于模型的步态规划方法,通过建立一个严格遵从指令运动的理想刚性机构对步态进行规划。主要使用连杆模型、倒立摆模型和桌子-小车模型等。
2.5双足机器人的步态设计
为了保证双足步行机器人在行走过程中的稳定,要知道双足机器人的步态规则,需要保证机器人的重心在行走时不发生改变才能使机器人在行走过程中处于稳定状态。而双足步行机器人的行走过程能够分解成双脚支撑时期与单脚支撑时期的交替。所以,可以将步态的设计分为两个独立的阶段:
(1)摆动腿从支撑腿的后方摆动到支撑腿的前方。
(2)机器人的重心从原来的支撑腿移动到开始的摆动腿上。因此,在一个行走的周期中,机器人先右侧身,迈出左腿,落地后左侧身,再迈出右腿和落地。侧身的幅度根据机器人的机械结构和重心的位置决定,以此保证行走中的稳定。
双足机器人的硬件设计
3.1硬件系统结构
在这里插入图片描述
图3.1 系统结构

#include"stc15.h"
#include "config.h"
#include "delay.h"

#define CYCLE 20000L	//定义PWM周期(最大为32767)			

sbit move=P2^3;	 //PWM5设置到P4^2口,PWM3设置到P4^5口
sbit text=P2^4;
sbit dongzuo=P2^5;
sbit stop=P2^6;	   //低电平有效

sbit PWM2=P3^7;
sbit PWM3=P4^5;
sbit PWM4=P4^4;
sbit PWM5=P4^2;
sbit PWM6=P0^7;
sbit PWM7=P0^6;

void PWM_config();
void delay_ms(unsigned char ms);		  
void PWM2_Set(unsigned short Wide);		  
void PWM3_Set(unsigned short Wide);
void PWM4_Set(unsigned short Wide);
void PWM5_Set(unsigned short Wide);					
void PWM6_Set(unsigned short Wide);	   
void PWM7_Set(unsigned short Wide);

void key();
void zhanli();
void resetbody();

void turndown2(unsigned short x,unsigned short y);
void turndown3(unsigned short x,unsigned short y);
void turndown4(unsigned short x,unsigned short y);
void turndown5(unsigned short x,unsigned short y);
void turndown6(unsigned short x,unsigned short y);
void turndown7(unsigned short x,unsigned short y);

unsigned short xianzhuang2,xianzhuang3,xianzhuang4,xianzhuang5,xianzhuang6,xianzhuang7;
unsigned short angle2,angle3,angle4,angle5,angle6,angle7;
unsigned short a2,a3,a4,a5,a6,a7;
unsigned short mun,i;
void main()
{						
	PWM_config();
	delay_ms(20);
	zhanli();
	mun=0;
	while(1)
	{
		key();	 
	}					 	 
	
}	  			

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

00后表示真干不过,部门新来的00后测试员已把我卷崩溃,想离职了...

在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&#x…

web安全之信息收集

💪💪 web安全之信息收集1.网络入口/信息1.1网络拓扑信息1.2 IP信息1.3线下网络2.域名信息2.1Whios2.2搜索引擎搜索2.3. 第三方查询2.4. ASN信息关联2.5. 域名相关性2.6. 网站信息利用2.7. HTTPS证书2.8. CDN2.9. 子域爆破3.端口信息3.1常见端口3.2端口扫…

具有现代设计和最新Bootstrap版本的数字市场HTML模板

DegMark是具有现代设计和最新Bootstrap版本的数字市场HTML模板。凭借优秀的设计很容易创建虚拟商品交易网站,比如图片素材在线交易,视频文件交易,代码交易等虚拟商品交易。 主要特色 Bootstrapv5 移动响应 FontAwesome图标 jQuery增强 …

metaRTC Visual Studio编译指南

概述 metaRTC windows版本提供qt和vs2019两种编译支持,vs2019编译工程支持从metaRTC6.0版本开始,qt编译在B站有视频教程。 metaRTC5 windows版编译教程_哔哩哔哩_bilibilimetartc5编译教程,windows版本只支持msvc,下载所带第三方库为msvc20…

生物信息-快速序列比对-edlib包安装与使用方法-python和dll

安装 下载:https://github.com/Martinsos/edlib cd build && cmake -D CMAKE_BUILD_TYPERelease .. && make升级cmake https://cmake.org/download/ 下载tar.gz包,我这里下载的是: 拷贝到 /home/xxx/app 下解压&#xff…

初识C#事件

文章目录一 事件1 抛砖引玉案例1.1工具人下楼案例1.1.1 ToolMan.cs1.1.2 LazyMan.cs1.1.3 Program.cs1.1.4 测试结果1.1.5 升级到事件二 委托和事件的区别和联系一 事件 1 抛砖引玉案例 订阅和发布机制 比如说,我要下楼去吃饭,正常情况下我会问一下室友…

设计模式之适配器模式

设计模式之适配器模式 文章目录设计模式之适配器模式1. 定义2. 类型3. 场景4. 优点5. 缺点6. 适配器扩展6. 相关适配器模式7. coding7.1 被 适配者方法7.2 接口7.3 接口的实现7.4 适配者适配被适配者达到Target 目标7.5 类适配器的实现方式,其他的都不变8. 源码解析…

【Django】REST_Framework框架——序列化器serializers源码解析

一、序列化器类——Serializer 1、序列化器的作用 序列化器的使用分两个阶段: 1、在客户端请求时,使用序列化器可以完成对数据的反序列化(将字典格式的数据转化为模型对象)。 2、在服务器响应时,使用序列化器可以完…

网络原理——No.4 传输层_TCP协议中的延迟应答, 捎带应答, 面向字节流与TCP的异常处理

JavaEE传送门JavaEE 网络原理——No.2 传输层_TCP的连接管理 网络原理——No.3 传输层_TCP的滑动窗口, 流量控制与拥塞控制 目录延迟应答捎带应答面向字节流粘包问题TCP 中的异常处理(连接异常)TCP 和 UDP 的应用场景延迟应答 一种提高传输效率的机制, 又是基于流量控制, 来引…

Appinventor——蓝牙app(蓝牙遥控器、串口助手、温湿度显示、切换界面蓝牙依旧保持连接)

App Inventor由谷歌实验室开发,移交麻省理工学院,是一款图形化编程环境,不需要复杂的变成语言,采用搭积木的方式编程,只需将组件拖入即可,简直就是不爱编程党的超级福音 本文搭建了一个蓝牙app&#xff0c…

【CSS】CSS基础认知【CSS基础知识详解】

🌸大家好,我是花无缺,一枚热爱生活的新时代青年,感谢你的阅读🥰~ 👨‍💻个人主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专…

女朋友说她累了之后依然在线,于是20行代码写了个小工具康康发生了什么

近发现女朋友一到晚上总是很忙的样子, 每晚匆匆忙忙道过晚安就说自己累了去睡觉。 是我哪里做的不对吗… 睡就睡了,可是,QQ头像却会偶尔亮起来, 我非常担心,是不是账号被盗了呢? 然后,就想帮…

Django全家桶

Django框架从入门到高级 (一)Django入门 Web应用 详细地址见:https://blog.csdn.net/DiligentGG/article/details/126606099?spm1001.2014.3001.5501 Web框架本质 web框架本质上可以看成是一个功能强大的socket服务端,用户的…

Android专有GitHook完结篇,发布到npm

系列文章目录 Android打造专有hook,让不规范的代码扼杀在萌芽之中 Android打造专有hook第二篇,走进规范第一步 Android打造专有Hook第三篇,实战全量代码规范检查 Android打造专有Hook第四篇,实战增量代码规范检查 Hello啊各位…

【NLP】词向量

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

阿里巴巴面试题- - -多线程并发篇(三十)

前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elast…

窥一斑而知全豹,从五大厂商看MCU国产化的机遇和挑战

👆👆👆 #电巢直播10月26日(周三)扫码参与 前言 近年来,MCU在各领域的应用大幅度增加。2021年全球MCU的总出货量仍旧增长12%,使去年全球MCU的交付量达到了309亿片的历史新高。根据IC Insights…

工业控制系统安全评估流程系统评定与分类

综述 随着计算机和网络技术的发展,特别是信息化与工业化## 综述 随着计算机和网络技术的发展,特别是信息化与工业化深度融合以及物联网的快速发展,工业控制 系统产品越来越多地采用通用协议、通用硬件和通用软件,网络威胁正在由传…

Linux文件属性与权限

目录 前言 文件权限类 文件属性 rwx 作用文件和目录的不同解释 chmod 改变权限 1)基本语法 2)经验技巧 3)案例实操 chown 改变所有者 1)基本语法 2)选项说明 3)实操案例 chgrp 改变所属组 …

康为世纪科创板上市破发:跌幅超10% 公司市值41亿

雷递网 雷建平 10月25日江苏康为世纪生物科技股份有限公司(简称:“康为世纪”,股票代码为“688426”)今日在科创板上市。康为世纪此次发行价为48.98元,发行2329万股,募资总额为11.4亿元。康为世纪开盘价为4…