For simplicity, we could assume the pipe has not deformed in its cross section, and that it's internal diameter remains constant throughout at, 0.15m.
Clearence Check: Passing an Object (stick/line) through Pipe.
1 次查看(过去 30 天)
显示 更早的评论
Hi Guys,
I am trying to solve a theoretical problem in MatLab but I am struggling to get the software to reproduce what I have in my head.
Here is the problem:
I have a set of data gathered (length, inclination and azimuth) that defines the path and also the internal diameter of a pipe running through a building. The pipe could be bent out of shape, i.e. not necessarily the x-sections will be perfectly circular but I’ll have at least 10 diameter measurements for each x-section.
Given the trajectory defined by deviation and azimuth and also the clearance related to the diameter of the pipe, can a stick (unbendable) of given length and diameter pass through this pipe?
This is how a sample data set can look like:
depth=[20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0]; % in meters
dev=[5 10 15 25 30 40 45 40 50 55 60 40 50 60 75 60 70 80 85 90]; % in degrees
rot=[0 15 20 30 35 45 50 60 70 75 90 90 80 75 75 60 50 45 45 30]; % in degrees
Depth ---------------Diameter Readings ----------------
20 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
19 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
18 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
17 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
16 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
15 0.17 0.15 0.13 0.13 0.15 0.17 0.15 0.13 0.13 0.15
14 0.17 0.15 0.13 0.13 0.15 0.17 0.15 0.13 0.13 0.15
13 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
12 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
11 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
10 0.13 0.15 0.17 0.17 0.15 0.13 0.15 0.17 0.17 0.15
09 0.13 0.15 0.17 0.17 0.15 0.13 0.15 0.17 0.17 0.15
8 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
7 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
6 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
5 0.13 0.15 0.17 0.17 0.15 0.13 0.15 0.17 0.17 0.15
4 0.13 0.15 0.17 0.17 0.15 0.13 0.15 0.17 0.17 0.15
3 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
2 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
1 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
0 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15
The above diameter readings give a cross section of the pipe using 10 measurements from the center, at each depth reading.
I am able to get a plot of the pipe’s trajectory form the data as:
interval=depth(1)-depth(2);
% The following formulae have been sought and verified
% Distance in y direction
y=zeros(1,length(depth));
for i=2:length(dev)
y(i)=interval.*(sind((dev(i-1)+dev(i))/2)).*(cosd((rot(i-1)+rot(i))/2));
end
% Distance in x direction
x=zeros(1,length(depth));
for i=2:length(dev)
x(i)=interval.*(sind((dev(i-1)+dev(i))/2)).*(sind((rot(i-1)+rot(i))/2));
end
% Distance in z direction
z=zeros(1,length(depth));
for i=2:length(dev)
z(i)=interval.*(cosd((dev(i-1)+dev(i))/2));
end
% Calculate coordinates for plotting
cumx=(1).*cumsum(z);
cumx=(1).*cumsum(x);
cumy=(1).*cumsum(y);
% Plot of pipe path
figure
plot3(cumx,cumy,cumx,'-r','linewidth',3)
grid on
xlabel('Distance in x')
ylabel('Distance in y')
zlabel('Depth in z')
So the ideal solution would allow me to calculate if an item, in this case a cylinder of a certain length and diameter(example – 1.5m length by 0.05m diameter), would be able to “fall through” this pipe without getting stuck either on an particular area that has been deformed out of shape (ie. ovalised cross-section) or getting stuck due to the curvature of a single bend or even due to more consecutive bends creating a path that is impossible to navigate with the cylinder.
All help is greatly appreciated :)
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Software Development Tools 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!