Clearence Check: Passing an Object (stick/line) through Pipe.

3 次查看(过去 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 :)
  2 个评论
Mazhar
Mazhar 2013-8-14
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.
Mazhar
Mazhar 2013-8-14
One Method I think will work is;
If we neglect the width of the stick we are left with just a line. And by taking out the same thickness from the internal diameter of the pipe, we should have the same problem, but simplified.
This can then perhaps be solved for interaction I'm guessing, but not sure how to implement.
Please give suggestions.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assembly 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by