四足机器人研发流程_Piamen的博客-程序员宝宝

技术标签: Say Something  

简介

机器人的定义很模糊,所以现在很多项目不论做成什么样子,都可以自称为机器人。简单的,大创中“一个三轮小底盘搭载一个机械臂”就可以完成的题目,经常被冠以机器人的名号,我觉得很low。而复杂的,不得不提到波士顿动力公司,我的偶像(迷弟脸),自认为他们的足式机器人是机器人行业的顶尖级产品。
我所说的复杂和简单的区别究竟在哪里呢?我觉得主要就在于理论的应用程度。如果机器人有很多理论做支撑的话,研发的路会走的更远。所以以下给出部分值得参考的资料,这些资料不是特别复杂的,而是入门级的。

参考资料

  1. 北理工机电学院罗庆生老师和罗霄前辈所著,立足实践项目,将机器人的系统构成和制作过程介绍的十分清楚,对入门的同学十分友好。(淘宝链接是随便找了家店)
    罗庆生,罗霄 《我的机器人(仿生机器人的设计与制作) 》
  2. 北理工某不愿意透露姓名的学长在博士期间制作的成本极低、技术含量极高的机器人的系列介绍,这些已经介绍的比较深入了,适合进阶学习。
    华北舵狗王带你一起做四足机器人

机械

机械是机器人的骨架,同时是机器人的性能天花板。评价机器人机械的指标包括重量、稳定性、效率等等等。当然这些指标是建立在机械设计正确的基础上的,正确的机械设计这部分内容还是当面跟大家讲吧。

结构设计

阶段产出:描述机器人各功能机构的手绘在白板上的草图、文字、甚至是在大脑中的想法都足够
阶段工作:和机械组、电控组的同学们一起讨论机为实现机器人功能所需的机构(对四足机器人就是行走,亦即腿子)讨论大致的尺寸。
阶段工具:(如果笔和纸也一定要写出来的话)

3D建模

阶段产出:机器人的3D模型。对四足机器人来说至少要像上图那样的装配图。
阶段工作:考虑使用的材料、画图、设计具体尺寸、解决装配问题、解决干涉问题、重新讨论方案可行性。
阶段工具:Solidworks为代表的各种设计工具

机械加工与装配

阶段产出:机器人的实物
阶段工作:切板子、切管子、打孔子、打印、用锤子锤轴承等等
阶段工具:取决于情况,低配版的话,3D打印机+锉刀即可,如果有条件的话需要用到雕刻机、3D打印机、锯铝机、角磨机、台钻等。
目前已经购入的3D打印机链接,可以说是一台宝藏3D打印机了,打印精度巨高、打印稳定性巨高、维护方便。关键是便宜

电控

电控是机器人性能的直接决定环节。

元件选型

  1. 电机选型
    电机这东西,对应人体或生物体上的肉。我们既希望机器人能够灵活运动,也不希望它过于月半,更不希望它站都站不起来。所以选取合适功率、减速比的电机是机器人设计中的核心工作,是完全幻想还是能够成为现实,基本取决于能不能找到合适的电机。所以这部分工作需要电控组和机械组一起讨论敲定。
  2. 电机一旦确定,电机驱动器也就需要确定了,根据电机类型不同、技术参数不同,选取匹配的电调,或者选取可以配置参数的电调。
  3. 电池、电源模块选型
  4. 主控器选型
    阶段工具:各种电机的资料

控制框架

此阶段时间上对应机械组进行画图、加工的过程
阶段产出:机器人的控制框架,能够轻松的实现控制任务,比如在主循环中通过调用API实现电机速度的设置。
阶段工作:调试所用到的电机,得到经测试能够同时驱动所有电机的工程。在此基础上实现各电机的闭环控制(如位置环、如速度环)。
阶段工具:MDK、STM32CUBEMX、JLINK

上车调试

和机械组一起把电机怼到机器人上,然后就可以开始最令人愉快的调试过程啦!
阶段产出:稳定的机器人控制程序
阶段工作:调整控制策略,整定控制参数等

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Piamen/article/details/103480790

智能推荐

ActiveMq简单使用_一个球_的博客-程序员宝宝

ActiveMq服务端配置:         首先引入ActiveMq.Jar                            Spring-Mq配置文件:                    配置文件如下:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/...

IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解决方案_wintersweetzeng的博客-程序员宝宝

最近发现各大类库都能利用xxx.innerHTML=HTML片断来生成节点元素,再把它们插入到目标元素的各个位置上。这东西实际上就是insertAdjacentHTML,但是IE可恶的innerHTML把这优势变成劣势。IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值,重现代码如下复制代码代码如下:   

php 支付宝退款,退款接口(条码支付)_weixin_39571403的博客-程序员宝宝

调用此接口发起全额退款或部分退款请求。退款请求无法撤销。#网关URL注意:如果使用POST方法,请在请求URL中传入_input_charset。例如:https://mapi.alipaydev.com/gateway.do?_input_charset=UTF-8#请求参数参数描述基本参数serviceString不可空接口名称Example:alipay.acquire.overseas....

COCI CONTEST #1 18.10.2014 T1 PROSJEK_Quack_quack的博客-程序员宝宝

第一题:平均数 Mirko在数学课上以一种有趣的方式操作数列,首先,他写下一个数列A,然后他对该数列的前i个数求平均值,得到一个数列B。比如数列A为1,3,2,6,8,那么数列B为: 即: 1,2,2,3,4 给你第二个数列B,求第一个数列A. 输入格式:第一行为整数N(1<=n<=100),表示数列B的长度。 第二行为n个整数,表示数列B。(1<=Bi<=10^9) 输入样例1:

RESTFUL URL命名原则_360linker的博客-程序员宝宝_restful 链接命名规范

URL命名通常有三种,驼峰命名法(serverAddress),蛇形命名法(server_address),脊柱命名法(server-address)。由于URL是大小写敏感的,如果用驼峰命名在输入的时候就要求区分大小写,一个是增加输入难度,另外也容易输错,报404。蛇形命名法用下划线,在输入的时候需要切换shfit,同时下划线容易被文本编辑器的下划线掩盖,支付宝用的是蛇形命名法,stack...

『.NET Core CLI工具文档』(六)dotnet 命令_seayxu的博客-程序员宝宝

名称dotnet – 运行命令行命令的一般驱动程序概要dotnet [--version] [--help] [--verbose] [--info] <command> [<args>]描述dotnet 是命令行界面(CLI)工具链的通用驱动程序。调用它自己,会给出简短的使用说明。每个特定的功能实现为一个命令。为了使用该功能,命令被指定在 dotnet 之后,例如 dotnet build。所有跟

随便推点

树莓派中SSH Secure Shell Client链接失败问题_苏盟答腊的博客-程序员宝宝_secure shell client was lost

树莓派中SSH 连接失败问题。SecureCRT SSH 连接正常sudo vi /etc/ssh/sshd_config在sshd_config配置文件末尾中添加:Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arc...

leetcode--160. 相交链表_长夜qingfeng的博客-程序员宝宝

题目链接https://leetcode-cn.com/problems/intersection-of-two-linked-lists/一、题目编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为

MySQL问题记录--Can't connect to MySQL server on localhost (10061)解决方法_dianmao6889的博客-程序员宝宝

问题很简单,发现自己的mysql服务没有启动,到服务里面启动mysql服务就好了!转载于:https://www.cnblogs.com/j-angel-hy/p/9791624.html

MATLAB中矩阵写入txt文件的方法_沙师弟哪里去的博客-程序员宝宝

本文非原创,转自:http://apps.hi.baidu.com/share/detail/34555626,感谢原作者!     文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。    1、文件的打开与关闭    1)打开文件    在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的...

【LeetCode】127. 单词接龙_jiiiiiaaaa的博客-程序员宝宝

题目给定两个单词(beginWord和 endWord)和一个字典,找到从beginWord 到endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWord 和 endWord 是非空的,且二者不相同。示例1:输入:beginWord = "hit",endW...

c语言迷宫闯关游戏大全,C语言实现迷宫小游戏_浮舟泊古寺的博客-程序员宝宝

C大程的一个作业,实在无聊也可以用来娱乐~//maze.h////maze.h#include #include #include #define Wall 1#define Road 0#define Start 2#define End 3#define Up 1#define Down 2#define Left 3#define Right 4#define n1 25/*定义行范围*/#...