当前位置:网站首页>Quick completion guide of manipulator (10): accessible workspace
Quick completion guide of manipulator (10): accessible workspace
2022-07-07 04:00:00 【Lie on me】
Directory :
Quick completion guide of mechanical arm ( zero ): Main contents and analysis methods of the guide
Quick completion guide of mechanical arm ( One ): The development of manipulator
Quick completion guide of mechanical arm ( Two ): Application of mechanical arm
Quick completion guide of mechanical arm ( 3、 ... and ): Mechanical structure of mechanical arm
Quick completion guide of mechanical arm ( Four ): Reducer of key components of mechanical arm
Quick completion guide of mechanical arm ( 5、 ... and ): End actuators
Quick completion guide of mechanical arm ( 6、 ... and ): Stepper motor driver
Quick completion guide of mechanical arm ( 7、 ... and ): Description method of robot arm posture
Quick completion guide of mechanical arm ( 8、 ... and ): Kinematic modeling ( standard DH Law )
Quick completion guide of mechanical arm ( Nine ): Forward kinematics analysis
Quick completion guide of mechanical arm ( Ten ): Reachable workspace
******************** Here is the main body ********************
stay guide ( Nine ) in , We have obtained a six degree of freedom manipulator Forward kinematics equation , By substituting joint variables into the equation, the position and posture of the end of the manipulator can be obtained . Now we know the rotatable range of each joint , that , At the same time, we can also get all the positions that the end of the manipulator can reach , We call this set of possible locations as Reachable workspace , And this is also an important parameter index of the manipulator .
Used in the guide MATLAB Medium Robotic Toolbox hold-all ( It's not official Robotics System Toolbox ) Kinematic simulation of the manipulator , The reachable workspace of the manipulator is obtained by Monte Carlo method, which is easy to implement and runs fast .
One 、 Joint space and drive space
Joint space description and driver space description are two methods used to describe the pose of manipulator .
1. Joint space
For one with n For a manipulator with three degrees of freedom , The positions of all its connecting rods can be determined by a group n Joint variables are confirmed
set . Such a set of variables is often called nx1 Joint vector . The space composed of all joint vectors is called Joint space .
2. Drive space
up to now , We have always assumed that every joint is directly driven by some kind of driver . However , This is not the case for many industrial robots , Sometimes we also use two drivers to drive a joint in a differential way , Sometimes, a linear driver is used to drive the rotating joint through a four-bar linkage .
In these cases , You need to consider the drive space . Because the sensor that measures the joint change of the manipulator is usually installed on the driver , Therefore, in some calculations, the joint vector must be expressed as a set of driver functions , Drive vector . The space composed of all drive vectors is called Drive space .
Two 、 working space (workspace)
working space (workspace) It is when all the joints of the manipulator perform all the possible movements , A collection of the origin positions of the end effector coordinate system . The workspace can be divided into Can be up to (reachable) working space And flexible (dexterous) working space .
Workspace is Co., LTD. 、 closed 、 coherent Of . Because joints are rotating or moving , It is easy to know that the workspace is composed of a plane 、 spherical 、 Composed of surface elements such as ring and cylinder . Manipulator manufacturers will give the workspace of the manipulator in the form of top view and flat view in the data manual , It is the basic element needed to evaluate the performance of the robot in the expected application .
1. Reachable workspace
The set of target points reached by the manipulator end effector in more than one direction is Reachable workspace .
2. Flexible workspace
The set of target points that the manipulator can reach in any direction is Flexible workspace .
3. Programming realization of reachable workspace calculation of manipulator
% Monte Carlo method simulates the reachable workspace of the manipulator
% Liu lie
radian1 = pi/180;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Definition DH Parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Liu lie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
d1 = 169.77;
d2 = 0;
d3 = 0;
d4 = -222.63;
d5 = 0;
d6 = -36.25;
% Mechanical arm link length parameter a
a1 = 64.2;
a2 = 305;
a3 = 0;
a4 = 0;
a5 = 0;
a6 = 0;
% Parameters of joint deflection angle of manipulator alpha
alpha1 = -90 * radian1;
alpha2 = 0 * radian1;
alpha3 = 90 * radian1;
alpha4 = -90 * radian1;
alpha5 = 90 * radian1;
alpha6 = 0 * radian1;
% Define joint angle limits
lim1_min = -170 * radian1; lim1_max = 170 * radian1; % The joints 1(-170,170)
lim2_min = -132 * radian1; lim2_max = 0 * radian1; % The joints 2(-132,0)
lim3_min = 1 * radian1; lim3_max = 141 * radian1; % The joints 3(1,141)
lim4_min = -165 * radian1; lim4_max = 165 * radian1; % The joints 4(-165,165)
lim5_min = -105 * radian1; lim5_max = 105 * radian1; % The joints 5(-105,105)
lim6_min = -155 * radian1; lim6_max = 155 * radian1; % The joints 6(-155,155)
% Define the range of joint rotation
lim1 = lim1_max - lim1_min;
lim2 = lim2_max - lim2_min;
lim3 = lim3_max - lim3_min;
lim4 = lim4_max - lim4_min;
lim5 = lim5_max - lim5_min;
lim6 = lim6_max - lim6_min;
% Define each link and joint type , The default is to rotate the joint
% θ d a α Angle limit Joint offset
L(1)=Link([ 0 d1 a1 alpha1]); L(1).qlim=[lim1_min,lim1_max];
L(2)=Link([ 0 d2 a2 alpha2]); L(2).qlim=[lim2_min,lim2_max];
L(3)=Link([ 0 d3 a3 alpha3]); L(3).qlim=[lim3_min,lim3_max]; L(3).offset=-pi/2;
L(4)=Link([ 0 d4 a4 alpha4]); L(4).qlim=[lim4_min,lim4_max];
L(5)=Link([ 0 d5 a5 alpha5]); L(5).qlim=[lim5_min,lim5_max];
L(6)=Link([ 0 d6 a6 alpha6]); L(6).qlim=[lim6_min,lim6_max]; L(6).offset=pi;
% Combine the above connecting rods
AR3=SerialLink(L,'name','AR3');
% Displays the number of manipulator joints and D_H parameter list
%AR3:: 6 axis, RRRRRR, stdDH, slowRNE
AR3.display();
% Use Monte Carlo method to draw the workspace of the manipulator
N=15000;
theta1 = ( lim1_min + (lim1 * rand(N,1)) );
theta2 = ( lim2_min + (lim2 * rand(N,1)) );
theta3 = ( lim3_min + (lim3 * rand(N,1)) );
theta4 = ( lim4_min + (lim4 * rand(N,1)) );
theta5 = ( lim5_min + (lim5 * rand(N,1)) );
theta6 = ( lim6_min + (lim6 * rand(N,1)) );
for n = 1:N
theta = [theta1(n),theta2(n),theta3(n),theta4(n),theta5(n),theta6(n)];
workspace = AR3.fkine(theta);
plot3(workspace.t(1),workspace.t(2),workspace.t(3),'b.','markersize',1);
hold on;
end
AR3.plot(theta); % Animation display
% Real time display of robots
AR3.teach();
The specific programming process is : First, according to the definition in the previous chapter Kinematic parameters of manipulator Yes Robotic Toolbox Assignment of relevant parameters of the manipulator in the toolbox , In order to build the simulation model of the manipulator ; next , Generate 30000 Random joint variables , Substitute Forward kinematics equation To solve the ; Last , Mark the points representing the reachable position of the end effector in three-dimensional space , The dot matrix formed can represent the Reachable workspace , The running effect of the program is shown in the figure below .
![]() | ![]() | ![]() |
边栏推荐
- leetcode:面试题 17.24. 子矩阵最大累加和(待研究)
- Implementation steps of docker deploying mysql8
- cuda编程
- 【mysql】mysql中行排序
- Antd Comment 递归循环评论
- Hisilicon 3559 universal platform construction: RTSP real-time playback support
- 19. (ArcGIS API for JS) ArcGIS API for JS line acquisition (sketchviewmodel)
- Que savez - vous de la sérialisation et de l'anti - séquence?
- SSL证书部署
- ggplot 分面的细节调整汇总
猜你喜欢
随机推荐
MySQL storage engine
AVL树插入操作与验证操作的简单实现
First understand the principle of network
Kbone与小程序跨端开发的一些思考
It's too convenient. You can complete the code release and approval by nailing it!
Kotlin Android 环境搭建
QT opens a file and uses QFileDialog to obtain the file name, content, etc
ggplot 分面的细节调整汇总
[development software] tilipa Developer Software
再AD 的 界面顶部(菜单栏)创建常用的快捷图标
Enter the rough outline of the URL question (continuously updated)
HW notes (II)
什么是 BA ?BA怎么样?BA和BI是什么关系?
PHP 实现根据概率抽奖
红米k40s root玩机笔记
史上最全学习率调整策略lr_scheduler
Delete data in SQL
ERROR: Could not build wheels for pycocotools which use PEP 517 and cannot be installed directly
codeforces每日5题(均1700)-第七天
运算放大器应用汇总1