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.
2 views (last 30 days)
Show older comments
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 :)
Answers (0)
See Also
Categories
Find more on Assembly in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!