当前位置:网站首页>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 .
边栏推荐
- Implementation of map and set
- 本机mysql
- Termux set up the computer to connect to the mobile phone. (knock the command quickly), mobile phone termux port 8022
- Tflite model transformation and quantification
- Vernacular high concurrency (2)
- 使用切面实现记录操作日志
- Mysql-数据丢失,分析binlog日志文件
- Native MySQL
- Storage of data
- QT thread and other 01 concepts
猜你喜欢
什么是 BA ?BA怎么样?BA和BI是什么关系?
Tflite model transformation and quantification
23. (ArcGIS API for JS) ArcGIS API for JS ellipse collection (sketchviewmodel)
22. (ArcGIS API for JS) ArcGIS API for JS Circle Collection (sketchviewmodel)
QT 项目 表格新建列名称设置 需求练习(找数组消失的数字、最大值)
API data interface of A-share index component data
浅谈网络安全之文件上传
The most complete learning rate adjustment strategy in history LR_ scheduler
【安全攻防】序列化與反序列,你了解多少?
Tencent cloud native database tdsql-c was selected into the cloud native product catalog of the Academy of communications and communications
随机推荐
使用 TiDB Lightning 恢复 GCS 上的备份数据
What is Ba? How about Ba? What is the relationship between Ba and Bi?
海思3559万能平台搭建:RTSP实时播放的支持
The JSON format of the international area code of the mobile phone number is obtained with PHP
2022夏每日一题(一)
使用 Dumpling 备份 TiDB 集群数据到 GCS
链表面试常见题
大白话高并发(二)
接口数据安全保证的10种方式
10 ways of interface data security assurance
你心目中的数据分析 Top 1 选 Pandas 还是选 SQL?
Hongmi K40S root gameplay notes
Optimization cases of complex factor calculation: deep imbalance, buying and selling pressure index, volatility calculation
Class常量池与运行时常量池
Force buckle ----- path sum III
二叉搜索树的实现
ggplot 分面的细节调整汇总
22. (ArcGIS API for JS) ArcGIS API for JS Circle Collection (sketchviewmodel)
【安全攻防】序列化与反序列,你了解多少?
golang 根据生日计算星座和属相