上一篇把Observability和Constructibility在离散系统中的差别分析了。我们在这篇中分析一下对于一个连续LTI系统而言,两者之间的等价性。然后我们将总结能观性的充要条件,并且再次分析一下PBH test以及Observability Gramian。 有了之前3篇关于能控性和能达性讨论的文章作为铺垫,我们对PBH test和Observability Gramian的
写在前面 上次的语法问题没有解决,我换了一种更为清晰的实现思路,将在接下来给出。今天也实现了A*算法的逻辑设计。 知识点 1:C++类的前向声明写法: class Graph 实现 首先是数据流转方向,具体如下图所示: 首先利用user_para在Graph对象user_graph中生成起点,终点,障碍物的坐标,并且通过user_graph对象的get方法做为接口将起点,终点,障碍物的坐标和us
最近几篇文章的阅读量不大,我也能理解:毕竟到了真正hardcore的部分了,能真的深入认真学习的人也肯定会少起来。这几天疫情搞得人人自危,在家何不好好学习呢? 我们从这篇开始关注另外两个状态空间设计法中重要概念:能观性(observability)与能构性(constructibility)。 在这篇之前,我写了3篇文章专门针对能控性与能观性。在这3篇文章中的分析思路可以完全套用到observa
1.前言 最近参加ROBOCON,我负责编写传球机器人,由于传球机构需要一个电机转固定角度来带动球,所以便用大疆3508电机通过串级PID来实现,不得不说3508电机还是真的强,先看一下效果吧。 视频 2.配置程序 关于3508的配置程序以及一些其他部分在我的另外一篇博客里有详细的介绍,本篇主要是详细讲解3508串级pid(转固定角度)。大疆3508/2006/6020电机使用教程 3.角度位置控
本节对Moco-8的软硬件设计进行详细介绍,包括了原理图设计详解和开源版本步态算法的讲解,首先对控制器硬件设计进行介绍。 硬件设计详解 Moco-8机器人使用了OLDX通用机器人控制器OLDX-HROS,其能兼容多种机器人如飞控、无人小车或者足式机器人,采用STM32F4系列高性能处理器实现导航和控制算法,板载了10轴MEMS传感器并采用内减震设计,控制器具有丰富的外扩接口具有最多12路的PW
写在前面 今天主要是实现A_star类的功能函数,但是还出现了一个链接时候的BUG,留待明天解决。 知识点 1:通常情况下文件、目录名称用小写,大写表示很重要的东西(如README)等; 2:类里面的const变量使用大写来表示; 3:类的成员函数,用动词+名词来表示,动词用小写,名词用大写,如:getH; 4:C++工程应该有一个专门的main.cpp文件; 5:“::”是C++的域解析符 今天
写在前面 昨天生成障碍物,起点和终点的方法比较随意,今天重新想了个办法实现了生成不重复的二维坐标,将在后面进行介绍,同时完成了A*类的构建。 知识点 1:不重复二维坐标生成方法: 我将整张图的所有格点存到一个vector里面,然后将vector进行无序化,之后按顺序取出其中数据即可实现不重复的二维坐标获取,这样做主要是为了避免障碍物,起点,终点生成的随机点重复,实现如下所示(注意,#include
写在前面 今天主要完成了基本地图Graph类的设计以及实现,我设置的控制台的大小是960X480,每个格子的大小是32,水平往右是x轴正方向,竖直向下是y轴正方向,因此x轴总共有30个格子,y轴总共有15个格子。 知识点 1:特定范围随机数生成方法: #define RANDOM(a) (rand()%a) #define RANDOM_RANGE(a,b) (rand()%(b-a+1)+a)
写在前面 接下来需要用C++做轨迹规划相关项目的学习和开发,因此C++的可用GUI库那就是必不可少的了,今天就给大家介绍一个香喷喷的开源图形库——EasyX。 效果展示 只需要一段简单的程序就可以进行图形绘制,结果如下图所示: 程序如下图所示(以下源码来自EasyX官方文档,感谢技术大大们的辛勤付出): #include <graphics.h> #include <time.
机器人 广义:AGV,无人车、服务机器人、陪护机器人、宠物机器人,各种机器人。 狭义:工业机器人。 工业机器人主要是关节型机器人,有如下几类: 直角型机器人 SCARA机器人 串联垂直多关节机器人 Delta机器人 控制 广义:掌握住对象不使任意活动或者超出范围或使其按控制者的医院活动。 狭义:系统状态或者输出对期望的镇定或跟踪。(镇定控制、跟踪控制、接触控制) 机器人的控制层次大致分为高层
Moco-8仅有8自由度因此以对角步态为主,而对四足机器人来说爬行步态是更重要的一种步态其能实现在崎岖路面上的移动特别是上下楼梯大多以爬行步态为主,相比如波士顿动力公司所设计机器人采用的液压或高性能伺服驱动,受体积和成本限制其关节多采用舵机及减速组传动,因此关节响应速度较慢同时由于缺少关节角度反馈和足底力反馈使其难以实现可靠的对角小跑步态,因此爬行步态是微型四足机器人中最主要的移动方式。 优酷视频
本章介绍如何使用开源的Moco-8资料自己完成机器人的制作,相关资料被托管在github上,其包括了PCB和3D打印机架,对于机器人的软件代码来说我们建立了一个单独的项目方便下载和维护。 golaced/MocoMoco_Softwaregithub.com/golaced/MocoMoco_Software 项目采用多种构建方式,可以根据自己已有的工具和预估经费进行选择,项目的搭建模式如下表所
写在前面 在之后的时间内,我将会从事自动驾驶的轨迹规划的相关学习,轨迹规划的算法有很多,类似于A_这种,那么这个系列就先分享一下A_算法的原理以及实现。 需求场景 曾经有一个机器人的轨迹规划项目,示意图如下所示: 图中排成一排的机器人是障碍物,那么我的任务就是控制一台机器人按照红线的轨迹从起点运行到终点,经过对比之后,我选了A*算法。 场景转换 A*算法是基于格点来走的,所以我们首先需要将实地场
STM32三轮全向底盘 最近在实验室培训,玩过麦克纳姆四轮底盘后,玩三轮全向底盘也有一段时间了,于是来分享一下自己的心得。 附图 这是去年参加robocon的底盘,三个大疆3508电机,一个全场定位模块,一个实验室焊的遥控器[^1]: (怕出问题所以没用DEVO10)。 1.底盘公式三轮全向底盘论坛上已经有很多的前辈写了很多好的文章,自己就不再重复论述了。 附上一篇前辈的博文:https://b
从“移动”的字面意思上来看,自动驾驶汽车、无人机、水下机器人等各种位置可变的机器人都可以算作是“移动机器人”,这里我们先划分一下界限,以下“移动机器人”概念主要指地面上的移动机器人。 一、移动机器人的运动模态 移动机器人是机器人“大军”中非常重要的一种类型,在我们的生活和生产中已经普遍存在,此时你脑海里想到了哪些机器人呢?再仔细想想这些机器人是如何“移动”的呢? 你可能会想到昨天还在家里用扫地机器
第3章 Moco-8四足机器人导航算法简介 3.1 Moco-8导航算法框架 Moco-8导航算法框图 如图所示Moco-8的导航系统包括了完整的姿态解算和组合导航,上述框架也适用于飞控和其他小车底盘的导航系统中。在完成对IMU数据采样后首先对其进行预处理,包括中值滤波剔除异常值,标定参数校准和低通滤波。之后,使用预处理数据完成姿态解算获取精确的姿态角和机体加速度值。为减少机器人冲击地面
笔者比较懒,就直接采用图片的形式将公众号《混沌无形》中的文章以图片的形式搬运过来了,喜欢的读者可以关注“混沌无形”,阅读原文(原文提供PDF下载链接) 原文链接:https://mp.weixin.qq.com/s/qPBFqa_-ay4WZG1jWUvEfw 喜欢的话,请关注公众号《混沌无形》哦! 喜欢的话,请关注公众号《混沌无形》哦!
注:本人并非专业研究足式机器人,只是兴趣爱好开发,如有错误请谅解! 第2章 Moco-8四足机器人控制算法简介 2.1 分解式虚拟模型步态算法 2.1.1 VMC支撑相控制算法 对于足式机器人来说有许多不同的步态,最典型的如ZMP算法规划重心在着地平面移动轨迹的爬行步态,对角步态是足式机器人最常用的步态由于Moco-8机器人每个腿仅有2Dof、没有胯关节因此其主要以对角步态为主,其余如Boun
0.引言 现在假设你拥有一个四旋翼飞行器,你希望通过控制电机的转速使其到达并悬停在50米的高度,你该怎么做?PID控制或许是一个不错的解决方案[1]. 1.P(Proportional)比例环节:着眼于当下误差 在飞行器的例子中: 当飞行器尚未起飞的时候,误差为50米.我们设计电机的实时转速为误差乘以比例系数 ,其结构图如下: 这看上去可行,最开始的时候,飞行器距离目标高度较远,所以电机以
大家好,我是人见人爱,花见花开的小鱼。 今天上午去深圳会展中心看了一个绿色农业博览会,结果都是大爷大妈在买菜,让小鱼想起来有一年和小仙女看展会,展会没看到啥,倒是最后买了好几十块钱的牛肉干。 回归正题,小鱼前几天搞了一下moveit2相关的教程,结果越来越多的小伙伴找上门问问题。 其实问题出在了官方源码上,因为每天都在更新,而且没有经过CI测试的代码,所以改一些依赖之类的、源码相关的很正常。
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信