Elmo驱动器:CANopen协议电机PVT模式的PDO映射 0.前言 最近在做Rhex机器人,该机器人的六条腿部每条腿均只有一个电机,对步态的控制完全依赖于一个电机的控制,使用以前用的比较简单的电机位置PTP(Point to Point)模式时由于每两个点之间驱动器均要进行一次加速减速的过程,而实际的控制过程中对每条腿每个周期的规划是一个整体的加速减速过程,PTP导致电机运动噪
Delta机器人:运动学正反解分析 一、Delta机构简介 Delta机构是并联机构中的一种典型机构,起原始结构如图1所示。Delta机构由R.Clavel 博士在 1985年发明,是现在并联机器人中使用最多的一种,具备了并联机构所特有的优点,负载能力强、效率高、末端执行器精度高、运动惯性小,可以高速稳定运动等。因此在机器人领域获得了越来越广泛的应用。以实现高速、精准、高效的运动。 二、
Qt For Android :开发环境搭建 0.环境及版本 搭建环境: Win10QT版本: 5.14QT Creator: 4.11.1JDK: JDK8Android SDK: Android 10 (API29)Android NDK: android-ndk-r20b 1. 安装QT及QT Creator 下载qt-opensource-windows-x86
Matlab BP神经网络拟合四足机器人足端轨迹线积分方程用于足端轨迹规划 问题描述 一般情况下,在对四足机器人足端轨迹进行规划时分别对足端路径和轨迹加速度进行规划,然后将规划好的加速度进行两次积分得到足端在该加速度条件下的位移,将位移与规划的足端路径的线积分长度进行匹配,从而建立起规划的路径与控制系统时间的映射关系。以下对几个概念进行解释: 路径规划(Path Planning):路径规划
一、背景 在四足机器人的发展中,由于串联腿结构对关节驱动电机的要求很高,控制精度难以保证,因此逐渐出现了使用闭链五杆机构作为机器人腿结构的四足机器人,如宾夕法尼亚大学的Minitaur,斯坦福的开源机器狗Stanford Doggo,以及在2019年全国大学生机器人大赛Robocon赛事中以武汉大学的四足机器人为代表的一系列高校所采取的并联五杆结构四足机器人。 本文针对这一类机器人所采用的闭链
速度分析 建立三轮底盘的速度物理学模型如图所示。 其中v 1 、v 2 、v 3分别为三个轮子的转速,ω为旋转角速度,v x 、v y 为车身坐标系中的速度即相对速度(由于底盘速度性能与在世界坐标系中的姿态无关,因此此处为简化运算,取车身坐标系与世界坐标系X,Y方向重合),a为旋转中心到轮轴心的垂直距离,θ为轮轴与x轴夹角,θ = π / 6 θ=π/6θ=π/6。不难得出各轮速度的转换矩阵为
Linux+QT+SocketCAN:使用信号槽机制实现数据收发 最近在考虑采用面对对象的方式重新搭建机器人的主控程序框架,虽然之前的框架也是有这种思想在里面,但是总感觉还是有程序化编程的影子,很多地方的处理都不太理想,而且虽然之前也是一直在采用QT Creator作为IDE开发程序,但是实际上并没有怎么用QT的库,只是单纯的作为一个IDE来用,未免也是空守宝山而不入。因此这次决定充分利用QT的
1.构建数学模型 即 以上即为世界坐标系到本体坐标系的速度映射矩阵, 该矩阵与底盘的轮系没有关系。 3.麦轮速度解算 由于此处旋转中心与轮轴的连线不垂直于棍子,所以使用向量外积对角速度进行处理。由物理关系 和几何关系 可得 根据上图,将角速度投影到本体坐标轴上,与两轴向速度融合。 可以得到: 以上即为麦克纳姆轮四轮长方形底盘速度解
Elmo驱动器:CANopen协议电机PVT模式的PDO映射 0.前言 最近在做Rhex机器人,该机器人的六条腿部每条腿均只有一个电机,对步态的控制完全依赖于一个电机的控制,使用以前用的比较简单的电机位置PTP(Point to Point)模式时由于每两个点之间驱动器均要进行一次加速减速的过程,而实际的控制过程中对每条腿每个周期的规划是一个整体的加速减速过程,PTP导致电机运动噪音很大(每两
Delta机器人:运动学正反解分析 一、Delta机构简介 Delta机构是并联机构中的一种典型机构,起原始结构如图1所示。Delta机构由R.Clavel 博士在 1985年发明,是现在并联机器人中使用最多的一种,具备了并联机构所特有的优点,负载能力强、效率高、末端执行器精度高、运动惯性小,可以高速稳定运动等。因此在机器人领域获得了越来越广泛的应用。以实现高速、精准、高效的运动。 图1
速度分析 建立三轮底盘的速度物理学模型如图所示。 各方向速度图像: 分析可知,三轮底盘当沿着一个轮轴方向前进时,速度可取到平动的最大值 利用与上述相同的方法,可以得到加速度在各个方向上的极值,如下图: 因此,对三轮底盘来说,最大速度和最大加速度均发生在与一个轮轴重合的方向上。 非线性归划求极值MATLAB源码
https://zhuanlan.zhihu.com/p/20282234?utm_source=qq&utm_medium=social 什么是麦克纳姆轮 在竞赛机器人和特殊工种机器人中,全向移动经常是一个必需的功能。「全向移动」意味着可以在平面内做出任意方向平移同时自转的动作。为了实现全向移动,一般机器人会使用「全向轮」(Omni Wheel)或「麦克纳姆轮」(Mecanum Wh
Webots+Matlab:使用Simulink搭建RHex控制器(3) 在上一篇文章中我们已经成功搭建了simulink模型,并让机器人动了起来,接下来我们将模仿油管上的相关操作,在simulink模型中添加一下可视化和可以直接进行操作的块,来实现一些功能。 5.完善simulink模型 首先是实现动态的调节输入,让我们在机器人仿真时能够通过拖动的方式实现机器人的执行机构控制。在此处用到
Webots+Matlab:使用Simulink搭建RHex控制器(2) 在上一篇文章中我们完成了控制器的创建,接下来进一步对控制器进行设计,并搭建一个Simulink模型。 2.初始化机器人 在工作区创建新的matlab函数文件,将其命名为InitRobot接下来调用接口API初始化各设备即六条腿的驱动电机、编码器和GPS、IMU和陀螺仪为了让初始化获取的设备能够在整个工程中使用,因此将
Webots+Matlab:使用Simulink搭建RHex控制器(1) 最近由于要做控制器,需要用到很多矩阵运算和优化相关的库,虽然也已经安装了对应的C++优化库,但是在C++里面写控制器果然还是效率很低,虽然以后直接往样机上移植的时候确实方便,但是前期针对算法的研究果然还是应该专注在算法本身上,而不是话很多时间去学习各种库的使用,因此最后还是决定在Matlab中搭建控制器,专注于控制器
Webots:RHex仿真平台搭建——(二)给不规则腿部设置boundingObject 将模型导入成功之后点击启动仿真,模型并不会有任何变化,给整个机器人添加physics,点击启动仿真,机器人直接穿过地面掉落,原因是没有对腿部添加boundingObject。一般在直接使用Webots自带的几何形状构建模型时,添加boundingObject只需要选择相同的几何形状即可,但是由于我们的
Webots:RHex仿真平台搭建——(三)使用VS编译器+QT库作为控制器开发环境 虽然Webots自带了一个很简单的Text Editor可以用来编写简单的控制程序,但是考虑到整个机器人的控制系统较为复杂,并有可能需要用到多线程对多个腿进行处理,所以决定采用VS对控制器进行开发,除此之外因为用习惯了QT库,所以决定将QT库也配置在工程中一并使用。 1. 配置环境 1)Visual St
STM32F4浮点数赋值导致HardFault 1.问题描述 STM32F407+ucosII,调用函数对某float型变量赋值后进入HardFault,程序没有任何语法错误,且该函数第一次赋值同一变量没有问题 void main() { ``` motor1.Init(1,*CAN1,1,1.0,0.5,0); motor2.Init(2,*CAN1,1,1.0,0.5,0); /
Webots:RHex仿真平台搭建——(一)将SolidWorks模型导入Webots 最近在做一个RHex机器人的步态研究,想做一下仿真,因为之前都是使用Adams-Matlab的联合仿真,而一直听说Webots做机器人的仿真十分好用,所以就打算学习一下。基础的操作看起来是比较简单的,在Webots自带的User Guide和Reference manual里面都能够学到。下面主要介绍一
具体目的 使用STM32的SPI通道,采集ADS8320对DT50(激光测距传感器)进行了AD转换之的数据。不要求进行滤波,但采集到的数据要与距离呈正相关。 ** 具体代码 ** main.h #ifndef _MAIN_H #define _MAIN_H #include "SPI_DMA_Config.h" #include "stm32f10x.h" #include "delay_
问题描述 之前是在Flash中写入了一些参数,读取一直是正常的,但是今天修改了一些程序后再次刷入程序,跑的时候却发现写在Flash中的参数崩了。 解决方案 Debug观察Flash中的数据,发现在写参数的扇区中的数据变成了乱码,怀疑是刷入了程序,于是检查了程序的大小对比当前Flash的地址,发现果然是程序的大小超过了写参数的Flash地址的大小。 程序总大小 (129520+7152+
问题描述 控制系统使用的是STM32F4+UCOSII 抢占型内核,最近一段时间出现了程序跑一段时间之后操作系统直接死掉的问题,表现为:操作系统中设有优先级很低的呼吸灯任务,只要操作系统在正常工作,呼吸灯就会不停的跳动,但是当出现问题时,呼吸灯停止跳动,控制底盘运动的任务也死掉,底盘处于失控状态,LCD所在的任务也死掉,不再进行刷新,推测为所有的操作系统的任务均死掉,不能正常工作,但是中断
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信