机器人用到的专业Toolbox总结

本文介绍了适用于MATLAB®版本10的机器人工具箱,包括四旋翼、移动机器人和粒子过滤器定位的动画演示。此外,提到了MATLAB空间数学工具箱、Python机器人工具箱和机器视觉工具箱,这些工具箱提供了运动学、动力学、路径规划、定位和视觉功能。工具箱优点在于代码成熟、易于理解和教学,部分功能支持动画展示。
摘要由CSDN通过智能技术生成

适用于 MATLAB® 版本 10 的机器人工具箱

该工具箱利用 MATLAB 的本机功能(线性代数、可移植性、图形)为 MATLAB 带来了机器人特定功能。

工具箱使用一种非常通用的方法将串行链接机械手的运动学和动力学表示为 MATLAB® 对象——用户可以为任何串行链接机械手创建机器人对象,并为 Kinova 的知名机器人提供了许多示例、Universal Robotics、Rethink 以及 Puma 560 和 Stanford arm 等经典机器人。

该工具箱还支持具有机器人运动模型(独轮车、自行车)、路径规划算法(bug、距离变换、D*、PRM)、运动动力学规划(晶格、RRT)、定位(EKF、粒子滤波器)、地图功能的移动机器人构建(EKF)和同时定位和映射(EKF),以及非完整车辆的Simulink模型。该工具箱还包括用于四旋翼飞行机器人的详细 Simulink 模型。

工具箱的优点是:

  • 代码成熟,为相同算法的其他实现提供了一个比较点;
  • 例程通常以简单的方式编写,以便于理解,可能以牺牲计算效率为代价。如果您对计算效率有强烈的感觉,那么您可以随时重写函数以提高效率,使用 MATLAB 编译器编译 M 文件,或创建 MEX 版本;
  • 由于源代码可用,因此有利于理解和教学。

daimashil

>> mdl_puma560
>> p560
p560 = 

Puma 560 [Unimation]:: 6 axis, RRRRRR, stdDH, fastRNE            
 - viscous friction; params of 8/95;                             
+---+-----------+-----------+-----------+-----------+-----------+
| j |     theta |         d |         a |     alpha |    offset |
+---+-----------+-----------+-----------+-----------+-----------+
|  1|         q1|          0|          0|     1.5708|          0|
|  2|         q2|          0|     0.4318|          0|          0|
|  3|         q3|    0.15005|     0.0203|    -1.5708|          0|
|  4|         q4|     0.4318|          0|     1.5708|          0|
|  5|         q5|          0|          0|    -1.5708|          0|
|  6|         q6|          0|          0|          0|          0|
+---+-----------+-----------+-----------+-----------+-----------+
 
>> p560.fkine([0 0 0 0 0 0])  % forward kinematics
ans = 
         1         0         0    0.4521
         0         1         0     -0.15
         0         0         1    0.4318
         0         0         0         1

可以为路径设置动画

mdl_puma560

p = [0.8 0 0];
T = transl(p) * troty(pi/2);
qr(1) = -pi/2;
qqr = p560.ikine6s(T, 'ru');
qrt = jtraj(qr, qqr, 50);

plot_sphere(p, 0.05, 'y');
p560.plot3d(qrt, 'view', ae, 'movie', 'move2ball.gif');

四旋翼动画

移动机器人沿着圆形轨迹升空并悬停在一个点上,同时缓慢转动。

>> sl_quadrotor

移动机器人动画

使用 Reeds-Shepp 规划器计算的汽车式移动机器人进行 3 点转弯

q0 = [0 0 0]'; % initial configuration [x y theta]
qf = [0 0 pi]'; % final configuration
maxcurv = 1/5;   % 5m turning circle
rs = ReedsShepp(q0, qf, maxcurv, 0.05)

% set up a vehicle model for animation
[car.image,~,car.alpha] = imread('car2.png');
car.rotation = 180; % degrees
car.centre = [648; 173]; % pix
car.length = 4.2; % m

% setup the plot
clf; plotvol([-4 8 -6 6])
a = gca;
a.XLimMode = 'manual';
a.YLimMode = 'manual';
set(gcf, 'Color', 'w')
grid on
a = gca;
xyzlabel

% now animate
plot_vehicle(rs.path, 'model', car, 'trail', 'r:', 'movie', '3point.gif');

粒子过滤器定位动画

使用粒子过滤器从信标定位的移动机器人。

V = diag([0.1, 1*pi/180].^2);
veh = Vehicle(V);
veh.add_driver( RandomPath(10) );
map = Map(20, 10);
W = diag([0.1, 1*pi/180].^2);
L = diag([0.1 0.1]);
Q = diag([0.1, 0.1, 1*pi/180]).^2;

pf = ParticleFilter(veh, sensor, Q, L, 1000, 'movi
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值