美文网首页
机器人项目学习记录

机器人项目学习记录

作者: fx2h | 来源:发表于2020-10-20 17:01 被阅读0次

首先讲一下项目启动的过程,项目的目录如下图所示:


项目目录.jpg

启动USB7635_DA.vi,启动界面如下,输出范围选择0~10v。


USB7635_DA.jpg
启动USB7660_指定通道采集.vi,界面如下,采集通道为13。
USB7660指定通道采集.jpg

启动main.vi,期望轨迹选择theta_x = 0.2,theta_y = 0.1,theta_z = 0.1,频率fre = 0.05;初始化以后运行vi即可开始机器人的轨迹追踪。


main.jpg
控制的逻辑是:将角度传感器采集到的角度转换为柔索长度,转换函数为:
%% 3自由度脚踝康复机器人机构仿真函数
%l 返回柔索长度矩阵
% theta_x%平台绕x轴旋转角度
% theta_y%平台绕y轴旋转角度
% theta_z%平台绕z轴旋转角度

H=[0 0 -477]';
%% 定平台坐标点
p1f=[-187.5,89,0]'; %p1f=[89,187.5,0]';
p2f=[187.5,89,0]'; %p2f=[89,-187.5,0]';
p3f=[-172,50,-583]'; %p3f=[50,172,-583]';
p4f=[172,50,-583]'; %p4f=[50,-172,-583]';
p5f=[0,-74,-345]'; %p5f=[-74,0,-345]';

%% 动平台坐标点
p1m=[-60,50,-106]'; %p1m=[50,60,-106]';
p2m=[60,50,-106]'; %p2m=[50,-60,-106]';
p3m=[-60,50,-106]'; %p3m=[50,60,-106]';
p4m=[60,50,-106]'; %p4m=[50,-60,-106]';
p5m=[0,-74,-106]'; %p5m=[-74,0,-106]';

%% 旋转矩阵
T_x=[1 0 0;
    0 cos(theta_x) -sin(theta_x);
    0 sin(theta_x) cos(theta_x)];
T_y=[cos(theta_y) 0 sin(theta_y);
    0 1 0;
    -sin(theta_y) 0 cos(theta_y)];
T_z=[cos(theta_z) -sin(theta_z) 0;
    sin(theta_z) cos(theta_z) 0;
    0 0 1];
T=T_z*T_y*T_x;

L(1:3,1)=T*p1m+H-p1f;
L(1:3,2)=T*p2m+H-p2f;
L(1:3,3)=T*p3m+H-p3f;
L(1:3,4)=T*p4m+H-p4f;
L(1:3,5)=T*p5m+H-p5f;

for i=1:5
    l(i)=sqrt(L(1,i)^2+L(2,i)^2+L(3,i)^2);
end
l1=(66-l(1)+598.0520)/1000;%25.1227
l2=(66-l(2)+598.0520)/1000;
l3=(46-l(3)+112)/1000;%22.0110
l4=(46-l(4)+112)/1000;
l5=(40-l(5)+238)/1000;%21.8995

%l1=l(1)-598.0520;%25.1227
%l2=l(2)-598.0520;
%l3=l(3)-112;%22.0110
%l4=l(4)-112;
%l5=l(5)-238;%21.8995

通过三个角度计算出5根气动肌肉的长度。这个长度的计算是采用期望角度计算出来的气动肌肉的期望长度,而实际的柔索长度是通过长度传感器计算出来的。得到实际长度和期望长度以后,计算期望轨迹的一阶导速度,二阶导加速度和实际轨迹的一阶导速度,得到5根肌肉的实际轨迹和期望轨迹以后使用控制算法得到控制律,控制律的算法为:

gama = 0.5;
c1 = 2800;
k1 = 2800;
e1  = x - xd;
de1 = dx - dxd;
alfa1 = c1 * e1;
e2 = dx - dxd + alfa1;

s = k1 * e1 + e2;
F1 = gama * s(1);
F2 = gama * s(2);
F3 = gama * s(3);
F4 = gama * s(4);
F5 = gama * s(5);

Fp=[F1;F2;F3;F4;F5]';
c1 = 3800;
k1 = 3800;
h = 1.5;
beta = 1.5;

e1 = x - xd;
de1 = dx - dxd;
e2 = dx - dxd + c1 * e1;
s = k1 * e1 + e2;
ut = (-k1 * (e2 - c1 * e1) - f  - Fp + ddxd - c1 * de1 - h * (s + beta * sign(s))) ./ b;
p1 = ut(1);
p2 = ut(2);
p3 = ut(3);
p4 = ut(4);
p5 = ut(5)

其中x为期望轨迹的数组,xd为实际轨迹的数组。f,b是通过实际轨迹和外部负载计算出的力和参数b。
计算出来控制律以后,在USB7635_DA来控制气动肌肉的输出。

相关文章

  • 机器人项目学习记录

    首先讲一下项目启动的过程,项目的目录如下图所示: 启动USB7635_DA.vi,启动界面如下,输出范围选择0~1...

  • 谷歌重新启动机器人项目,关注机器人应用

    据CNBC消息,谷歌正在重新启动机器人项目。谷歌改组后的机器人项目将更多地关注那些能够通过机器学习来执行和学习任务...

  • 阅读分享

    阅读书目:项目化学习设计 阅读分享: 1.机器人项目化学习是以真实或虚拟世界中机器人如何发挥作用为突破口,侧重在科...

  • 《概率机器人》学习笔记

    介绍 这篇文章用于记录《概率机器人》(《Probalbilistic Robotics》)这本书的学习笔记和心得,...

  • 公司项目学习记录

    2017.6.20-至今 项目开题,编写基本代码 7.19 编写数据库,用于存储用户信息为数据库设置缓存,提高查...

  • 【设计经验】机器人集成项目外部行走机构

    机器人集成项目外部行走机构 小编有话说,工业机器人集成项目中经常需要设计机器人外部行走部分,常称为机器人的导轨系统...

  • python人工智能机器人工具书籍: Python Roboti

    简介 利用Python的强大功能构建DIY机器人项目 主要特点•设计,构建和激发协作机器人•建立高端机器人项目,如...

  • 行业新闻简报

    一、谷歌重新启动机器人项目 据外媒报道,在此前的努力失败后,谷歌现在又重新启动机器人项目。谷歌重启的机器人项目将更...

  • 智能机器人到底值不值得买?

    最近看到网络上很火的AR智能机器人,号称“孩子学习好,父母享轻松”,那么这种机器人到底如何呢? 先看看这个项目及产...

  • 自然语言处理基础

    前言 年初公司开展了一个智能聊天机器人的项目(Sima),前期在项目里面负责NLP调研和爬虫的工作,出于学习兴趣和...

网友评论

      本文标题:机器人项目学习记录

      本文链接:https://www.haomeiwen.com/subject/ngmdmktx.html