Design and Fabrication of a Maneuverable Robot for In-Pipe Leak Detection by You Wu Submitted to the Department of Mechanical Engineering in partial fulfillment of the requirements for the degree of Master of Science in Mechanical Engineering MASSACHUSETTS INSTITUTE OF TECHNOLOGY AUG 15 2014 at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY LIBRARIES June 2014 @ Massachusetts Institute of Technology 2014. All rights reserved. Signature redacted ............ A uthor .................. Department of Mechanical Engineering May 20, 2014 Certified by. redacted ...Si gnature I Kamal Youcef-Toumi Professor Thesis Supervisor Signature redacted Accepted by............ .......... David E Hardt Chairman, Department Committee on Graduate Theses Design and Fabrication of a Maneuverable Robot for In-Pipe Leak Detection by You Wu Submitted to the Department of Mechanical Engineering on May 20, 2014, in partial fulfillment of the requirements for the degree of Master of Science in Mechanical Engineering Abstract Leaks in pipelines have been causing a significant amount of financial losses and serious damages to the community and the environment. The recent development of in-pipe leak detection technologies at Massachusetts Institute of Technology made it possible to find the accurate location of leaks in underground pipes. However, like all in-pipe leak sensors, they need a maneuverable robot to transport them inside the pipes. In the pipe networks, the robot must be able to perform complicated movements such as sharp turns at Tee junctions. This thesis presents a solution to this in-pipe leak detection challenge and the design and a prototype of such robot. The design and fabrication of a small in-pipe swimming robot of high maneuverability is presented. The robot is equipped with a pair of customized micro RIM driven propellers which provide a powerful and safe propulsion. A prototype robot that operates in 10 cm diameter pipes is built and tested experimentally. This robot demonstrated experimentally abilities to follow straight lines and make turns with radii smaller than a fraction of its body length. Thesis Supervisor: Kamal Youcef-Toumi Title: Professor 3 4 Acknowledgments I would like to first thank my advisor, Prof. Kamal Youcef-Toumi, for guiding me through my two years of study at MIT. With the guidance and help from Kamal, I feel I have become a better researcher, a better engineer and a better presenter. It was a great honor to have a great advisor like Kamal. I am also extremely grateful to my colleagues on my thesis project, Dimitris Chatzigeorgiou, Dalei Wu, David Donghyun Kim and Antoine Noel. This project is a collaborative effort. Without the support and help from each one of them, I could not have accomplished so much on this project. Moreover, they are a big part of my life at MIT. I gratefully acknowledge King Fahd University of Petroleum and Minerals and MIT Clean Water and Clean Energy Center for their generous support of this work. I would like to thank Dr. Rached Ben Mansour, the Co Principle Investigator of this project from King Fahd University of Petroleum and Minerals and my fellow boilermaker. Dr. Rached provided me with valuable insights on my research, but more importantly, he introduced me to the Saudi Arabia culture. Last but not least, I sincerely appreciate my family and my friends. I was far away from my family but they constantly sent their love to me over the internet. My friends here in Boston made my life fun every day. One of them is Josh Adler. Josh took us on a journey to explore the potential commercial space of our research work. I left a startup to come to MIT, but as I was work with Josh, I felt I had never left my entrepreneurial spirit behind. 5 6 Contents 1.1 Motivation For In-pipe Leak Detection . . . . . . . . . . . . . . . . 17 1.2 Challenges for In-Pipe Robots . . . . . . . . . . . . . . . . . . . . . 19 1.3 The Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 . . . 17 23 2.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 Design Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Hydrodynamic Design 29 2.4 . . Robot Design . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Notations and Assumptions 2.3.2 Design for Low Axial Drag Force . . . . . . . . . . . . . . . 31 2.3.3 Design for Angular Stability . . . . . . . . . . . . . . . . . . 32 2.3.4 Design for Radial Stability . . . . . . . . . . . . . . . . . . . 33 2.3.5 Design for Minimal Turning Radius . . . . . . . . . . . . . . 34 2.3.6 Conclusion of Hydrodynamic Design . . . . . . . . . . . . . 38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . . . . . . . . Summary . 2 Introduction . 1 3 Actuation System 30 41 Actuation System Alternatives . . . . . . . . . . . . . . . . 41 3.2 Actuation System Design . . . . . . . . . . . . . . . . . . . 42 3.3 Propeller Sizing . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3.1 Scenario 1: Moving in A Straight Pipe . . . . . . . . 44 3.3.2 Scenario 2: Turning at A Tee Junction . . . . . . . . 46 . . . 3.1 7 3.6 3.7 3.4.1 Stator . . . . . . . . . . . . . 52 3.4.2 Rotor . . . . . . . . . . . . . 53 3.4.3 Propeller Blade . . . . . . . . 54 3.4.4 Bearing . . . . . . . . . . . . 57 Performance . . . . . . . . . . . . . . 59 3.5.1 Experiment Setup . . . . . . . 60 3.5.2 Experiment Results . . . . . . 61 Propeller Characterization . . . . . . 62 . . . . . . 51 . 3.5 Design and Fabrication of the RIM Propeller . 3.4 3.6.1 input-output mapping..... 63 3.6.2 Dynamics of the RIM propeller 64 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Integration 67 Robot Housing . . . . . . . . . . . . . . 4.2 Electronic Subsystems 67 . 4.1 68 4.2.1 Power . . . . . . . . . . . . . . . 68 4.2.2 Sensing . . . . . . . . . . . . . . 69 4.2.3 Communication . . . . . . . . . . 70 4.2.4 Control 70 4.2.5 Integration of Electronic Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Packaging . . . . . . . . . . . . . . . . . 72 4.4 Waterproofing . . . . . . . . . . . . . . . 74 4.5 Summary 75 . . 4.3 . . . . . . . . . . . . . . . . . . Control . . . . . 77 5.1.1 Robot Modeling . . . . . . . . . . . . . . . 77 5.1.2 Onboard Controller Design . . . . . . . . . 79 . . . . . . . . . . . . . . 81 . . . . . . . . . . . . . . . . . . . . . . 86 . . . Onboard Controller . . . . . . . . . . . . 5.2 Remote Control System 5.3 Summary . 5.1 77 . 5 66 8 87 6.1 Overview ........................ 87 6.2 Experiment Setup ............... 87 6.3 Results and Discussion ............... 89 6.3.1 Following Straight Lines . . . . . . 89 6.3.2 Follow Straight Lines and Overcoming disturbances 91 6.3.3 90-degree Turns . . . . . . . . . . . 92 6.3.4 Minimum Turning Radius . . . . . 94 6.4 7 Summary of Results . . . Experimental Results . . . . . . . . . . . . . 6 Conclusion and Recommandations A Robot CAD Model 96 97 99 B RIM Propeller CAD Model 105 C CFD Simulation Setup 107 D LabVIEW Block Diagram 111 9 10 List of Figures 1-1 Picture of MIT MRL leak Detection robot [9, 101 . . . . . . . . . . . 21 1-2 Prototype of the maneuverable robot . . . . . . . . . . . . . . . . . . 22 2-1 Simplified problem . . . . . . . .. . . . . . . . . . . . . . . . . . . . . 24 2-2 Illustration of a multi-module crawler turning at a Tee junction 26 2-3 Sketch of the composition of a typical Tee Junction. A Tee junction . . . usually has a different diameter than the pipes it is connected to. Steps are formed at the joints. . . . . . . . . . . . . . . . . . . . . . . . . . 26 2-4 Illustration of an omnidirectional crawler turning at a Tee junction . 27 2-5 Illustration of a swimming robot at a Tee junction . . . . . . . . . . . 28 2-6 Body Fixed Reference Frame used in the hydrodynamic analysis. Top view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Fluid accelerates around the robot in a pipe and increases the drag force dram atically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 30 32 Fluid forces and moments on different shapes at different angular offset. (A) and (B): a robot with different profiles in x and y direction experiences a Munk moment. (C) and (D): a robot with the same profile in x and y direction experiences no Munk moment. 2-9 . . . . . . 33 Illustration of Venturi's Effect on an in-pipe robot . . . . . . . . . . . 34 2-10 Isometric view of the robot body . . . . . . . . . . . . . . . . . . . . 38 2-11 Frontal view of the robot body . . . . . . . . . . . . . . . . . . . . . . 39 3-1 43 Isometric view of the robot with two ducted RIM propellers ..... 11 3-2 Schematic of the horizontal cross section view of the robot with two ducted RIM propellers 3-3 . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Cross-section view of the pipe and the robot in the simulation. The robot is placed at the center of a circular pipe of diameter D and length 2L,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Horizontal cross-section view of the simulated robot placed in the fluid 3-5 Cross-section view of the Tee junction and the robot in the simulation. The robot is placed at the center of the Tee junction. . . . . . . . . . 3-6 47 48 Flow visualization for the robot inside a Tee junction. FD and force Fs are measured. 3-7 45 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Flow visualization for the robot inside a Tee junction. Location B has higher flow speed and lower static pressure than location C. . . . . . 50 3-8 Simulated force on the improved robot at different angular positions 51 3-9 Stator and rotor assembly of the RIM propeller . . . . . . . . . . . . 52 3-10 Design of the rotor . . . . . . . . . . . . . . . . .. . . . . . . . . . . . 54 3-11 Specifications input to the OpenProp software . . . . . . . . . . . . . 55 3-12 CAD model of the rotor with optimal blades . . . . . . . . . . . . . . 56 3-13 Plot of maximum thrust measured on rotors with different center opening size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3-14 Three different kinds of bearings for the RIM propeller . . . . . . . . 57 3-15 The RIM propeller placed inside the bearing of design C. Three set screws are placed inside 3 holes. The back side of the bearing has the same configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3-16 The experiment setup for testing RIM propellers . . . . . . . . . . . . 61 3-17 Picture of the experiment for testing RIM propellers . . . . . . . . . . 62 3-18 Plot of rotational speed and thrust . . . . . . . . . . . . . . . . . . . 63 3-19 Plot of rotational speed and power consumption . . . . . . . . . . . . 63 . . . . . . . . . . . . . . . . . 64 3-21 Plot of input command vs measured steady state rotational speed . . 64 3-22 Plot of input command vs measured steady state thrust . . . . . . . . 65 3-20 Plot of thrust and power consumption 12 3-23 Measured step responses of the RIM propeller . . . . . . . . . . . . .6 4-1 66 Exploded view of the robot housing. Part A is the main body, B is the cap, C and D are the RIM propeller bearings. . . . . . . . . . . . . . 68 4-2 Simplified electronics diagram . . . . . . . . . . . . . . . . . . . . . . 71 4-3 Layout of electronics inside the robot . . . . . . . . . . . . . . . . . . 73 4-4 Three views of the cap. (A) side view, (B) bottom view and (C) bottom view of the the cap with a silicone ring . . . . . . . . . . . . . . . . . 75 4-5 Picture of the fully assembled robot . . . . . . . . . . . . . . . . . . . 75 5-1 Block diagram of the closed loop robot system . . . . . . . . . . . . . 79 5-2 Response of the closed loop robot system to a 90 degree step (1.57 rad) input......... .................................... 82 5-3 Image of the LabVIEW interface for robot control . . . . . . . . . . . 83 5-4 Plot of speed command vs measured steady state rotational speed . . 85 5-5 Plot of speed command vs measured steady state thrust . . . . . . . 85 6-1 Picture of the water tank used in the experiment . . . . . . . . . . . 88 6-2 Picture of the robot following a straight line . . . . . . . . . . . . . . 90 6-3 Picture of the robot following an straight path and overcoming an obstacle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6-4 Picture of the robot going straight and then making a 90 degree turn 93 6-5 Picture of the robot during the spinning motion . . . . . . . . . . . . 95 A-1 Technical drawing of the robot main body, page 1/2. . . . . . . . . . 100 A-2 Technical drawing of the robot main body, page 2/2. . . . . . . . . . 101 A-3 Technical drawing of the cap. . . . . . . . . . . . . . . . . . . . . . . 102 A-4 Technical drawing of the RIM propeller bearing. . . . . . . . . . . . . 103 B-1 Technical drawing of the stator in the RIM propeller. ......... 106 C-1 CFD mesh settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 13 C-2 CFD setups. (A) General solver settings, (B)Viscous model settings and (C) material settings. . . . . . . . . . . . . . . . . . . . . . . . . 108 C-3 CFD boundary conditions at four boundaries: (A) inlet, (B) robot surface (C) outlet, and (D) pipe wall. . . , . . . . . . . . . . . . . . . 109 C-4 CFD calculation settings. (A) reference values, (B) solution methods and (C) solution initialization. . . . . . . . . . . . . . . . . . . . . . . 110 D-1 Main block diagram of the remote control interface in LabVIEW. Area A surrounded by the red dash lines is a stack of 9 frames of codes. The first frame is shown in this Figure. The other 8 frames are shown in Figure D -2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 D-2 8 subsequent frames of codes for area A in Figure D-1. . . . . . . . . 112 D-3 Block diagrams of two subVIs. The first subVI "Decode V2" is used in Figure D-2. The second subVI, "PID conv string" is used in Figure D-1. 113 14 Functional requirements for the robot . . . . . . . . 24 2.2 Comparison of Design Alternatives . . . . . . . . . 29 2.3 Notations used to describe the robot hydrodynamics 30 2.4 Physical meanings of hydrodynamic coefficients . . 35 2.5 Dimension of the robot . . . . . . . . . . . . . . . . 40 3.1 Parameters of the simulated robot . . . . . . . . . . . . . . . . . 44 3.2 Parameters considered in the CFD simulation . . . . . . . . . . . 46 3.3 Desired parameters of the RIM propeller . . . . . . . . . . . . . 52 3.4 Measured parameters of the RIM propeller . . . . . . . . . . . . 57 4.1 List of electronic components 5.1 List of physical properties of the robot 5.2 Mapping between commands, wireless signals and controller input . . . . . . . 2.1 . List of Tables . . . . . . . . . 72 15 . . . . . . . . . 79 84 16 Chapter 1 Introduction 1.1 Motivation For In-pipe Leak Detection Leak in pipelines is a widely spread problem. Millions of miles of underground pipes carry all kinds of resources-water, oil and natural gas around the globe every day. Leak happens here and there along those pipelines due to cracking, corrosion, aging and damage. Pipeline leaks result in loss of the precious natural resource, significant financial loss and serious environmental contamination. There are incredible amounts of scarce resources leaked out every year. In gaspowered states like Massachusetts, more than one-hundred-million-dollars worth of natural gas is leaked from the aged underground gas pipelines every year [3]. Water leaks account for 15 percent to 25 percent of treated water production in U.S. municipalities every year [14], and it is on average 20 percent in Canada [19]. In dry regions such as the Kingdom of Saudi Arabia, the water leak loss is even more significant. Saudi Arabia has more than 70 of the water supply comes from seawater desalination [1], but its pipeline underneath the desert is losing 30 percent of this expensive product [2]. It is estimated that Saudi Arabia loses around 500 million U.S. dollars annually from water pipe leakage. In addition to financial and product loss, leaks are dangerous to the community and the environment. Gas leaks are very dangerous: it caused the 2010 San Bruno Explosion which wiped out blocks of streets, took 8 lives and injured 51 people [20]. 17 Water leaks, on the other hand, are less life threatening, but still could cause structural losses to cities. In addition, the remaining water is prone to get contaminated from these pipe leaks. Pipe leaks force cities to draw more water from local bodies of water than what would otherwise be needed, which accelerates the decline of wetland ecosystems. Leak detection and overhaul in both gas and water pipelines is critical to make communities safer and more sustainable. Leak detection can be performed from outside and inside of the pipes. Some leaks can be found from outside of the pipe using geophones and sniffers. On straight pipes, multiple acoustic sensors can be deployed along the pipe and listen to the noise created by the leaks. Through cross correlation of the received signals, the location of the leak can be determined. To find leaks from inside of the pipes, robots are usually deployed into the pipe. Those robots can carry acoustic sensors and magnetic flux leakage sensors to pinpoint the location of the leaks. In-pipe leak detection is particularly good for a range of leak problems. Most underground pipelines are hard to reach, and the majority of leaks are too small to be found remotely. Fluid leaked from underground pipes can take a complex path before it reach the ground, making it difficult for above ground leak detection techniques such as geophones and sniffers to locate the leaks accurately. At the same time, small leaks of low flow rate can remain undetected and be left leaking for years. In-pipe leak detection techniques can find the accurate location of those leaks. However, it is still challenging to find leaks in plastic and small diameter pipes. Inpipe leak detection systems using acoustic sensors and magnetic flux leakage sensors can find leaks accurately in metallic pipes, but they are less effective on plastic pipes. In the Kingdom of Saudi Arabia and many newly developed regions in the world, PVC pipes are commonly used in the transportation of water and sometimes gas. Such PVC pipes need a leak detection solution. Most of the pipes in local water distribution networks are of small diameter, 10cm for example. The sensors and the robotic platform that carry the sensors must be made small enough to fit into those pipes. The Mechatronics Research Laboratory (MRL) at Massachusetts Institute of Technology (MIT) has been developing in-pipe leak detection technologies targeting 18 those small leaks in underground small diameter pipes [5, 4, 6, 7, 81. This leak detector can sense the fluid pressure gradient in the vicinity of the leaks. The pressure gradient exists in all fluid, such as gas, water or oil, and it happens on pipes of any kind of material, for example, plastic and metallic. In experiments, the this leak detector is able to find leaks of pressure difference as low as 0.7 Bar and leak flow rate as long as 61 liter/min (2.14 ft 3 /min). Therefore this leak detector can detect leaks in pipes made of any material that carries any fluid, as long as there is a robot that can transport it inside the pipe. 1.2 Challenges for In-Pipe Robots In-pipe robots developed for pipeline inspection exist in various forms. They are generally designed to carry sensors to evaluate the integrity of the pipelines that transport natural gas, water, oil or all other products. Based on their locomotion methods, robots are divided into two main categories, passive ones and active ones. Passive robots float with the fluid inside the pipe, such as the SmartBall system from Pure Technologies, Ltd and most pig robots for oil pipelines. Active robots use a wide range of actuation mechanisms to crawl and/or swim inside the pipe, such as the Explorer robot from Carnegie Mellon University [11] and the MIT leak detection robot [6, 7]. In-pipe robots can be tethered or tetherless. Tethered robots are connected to a remote power source and control center via cables. Power is supplied to these robots via cables and communication is also handed by another set of cables. Tetherless robots do not use any cables and are powered by their onboard batteries. The Smartball, the Explorer and the MIT leak detection robot are all tetherless robots. Tetherless robots can communicate with the control center wirelessly, such as the Explorer and the MIT leak detection robot do. They can also save information onboard when they are in the pipe and download the information when they are outside the pipe, such as the Smartball does. In-pipe robots are faced with a number of challenges. Those challenges are in power, range, communication, deployment, localization and maneuverability. 19 Power, range and communication challenges are faced by all in-pipe robots. A Tethered robot has secure power supply and communication via a cable, but its range is limited by the length of the cable. When the tethered robot is operating inside a complex pipe network, its range is more limited as it is difficult to pull cables around pipe bends and junctions. A tetherless robot operates on its onboard battery, so its range is dependent on the battery life. A tetherless robot has to communicate with a remote control center wirelessly and it is difficult. When the robot is operating in an underground pipeline, the wireless signal can be significantly attenuated and hindered by the soil and metal pipe. The deployment of in-pipe robots, including insertion and retrieval is another challenge. Special tools are needed to insert the robots into pipelines safely. The robot must have appropriate size so it can be deployed in the pipes. Robots, such as the MIT leak detection robot [6, 7], can only enter pipes through appropriate openings. In-pipe robots must have localization capabilities in order to navigate through a pipe network. Localization is the process to recognize where the robot is in the pipe globally and locally. The global location of the robot is necessary for pinpointing the robot and the points of interest such as cracks, leaks, corrosion, damage or blockages. It has always been a challenge to obtain the accurate position of the robot especially in long-distance or underground pipelines. In a short range, the robot needs to recognize its location with respect to pipe features such as Tee junctions, Y junctions and bends. The robot cannot successfully navigate through a complex pipe network without the local information. Besides the localization capability, in-pipe robots must have proper maneuverability. In a pipe network there are many Tee junctions, Y junctions and bends. A robot should also be able to perform controlled turning at those locations in order to inspect specific sections of the pipe and get to the retrieval point. To closely investigate a pipe condition such as a leak, a maneuverable robot is also required to control its speed and sometimes maintain stationary in the moving fluid inside the pipe. The majority of the current in-pipe robot cannot meet the maneuverability re20 quirement, particularly the turning capability. For example, the initial prototype of the MIT MRL leak detection robot [6, 71 as shown in Figure 1-1 can operate in straight pipes only. One of the most frequently asked question is, "Can it turn at a Tee junction?" Over the last 20 years, a wide range of crawlers have been developed [131. However, most of the state-of-the-art robots are designed to operate in empty pipes. Pipe operators prefer to conduct maintenance when pipe is in service to avoid the loss of revenue. Figure 1-1: Picture of MIT MRL leak Detection robot [9, 10] 1.3 The Contribution Two technical contributions are made in this thesis. The first one is the design of the robot of high maneuverability. The second contribution is a safe and powerful micro propulsion system. A swimming robot is designed and fabricated to perform maneuvers in pipes. It is capable of maneuvers such as maintaining its heading direction and making sharp turns. These are required for the robot to operate inside common pipe networks that consist of straight sections and Tee junctions. A prototype of this robot is shown in Figure 1-2. Its shape is that of an ellipsoid. All its subsystems, including power, 21 control, communication, sensing and actuation, are integrated within the robot. It utilizes a pair of hub-less micro propulsion systems to perform maneuvers. Figure 1-2: Prototype of the maneuverable robot A safe and powerful micro propulsion system is developed. For a robot to operate in a small confined environment such as the water pipes of small diameter, compact, safe and powerful actuators are needed. A propulsion system based on the RIM driven propeller concept is designed and fabricated. It achieves strong propulsion while occupying a very small volume. It satisfies the actuation requirement of this in pipe robot, and it can be one of the best actuation solutions for all small scale underwater robots. This Thesis is organized as follows: Chapter 2 describes the robot design. Chapter 3 focuses on the actuation systems. Chapter 4 illustrates the integration of the robot. Chapter 5 shows the control system design and its implementation. Chapter 6 discusses the performance of the robot and Chapter 7 provides conclusions and recommendations. 22 Chapter 2 Robot Design In this chapter, the design of the in-pipe swimming robot is presented. Different designs are compared, and a most reliable design is chosen. A design methodology for this robot is described. 2.1 Functional Requirements The goal of this project is to design a robot with a high degree of maneuverability inside the pipe. Since it is an application-driven project, the robot was designed for a real water distribution network. Once real pipe information was collected, a simplified representation of the problem was formulated and functional requirements were derived. The information about water pipes in the Kingdom of Saudi Arabia was collected. The common water pipes used in the distribution network are 10 cm (4 inches) in diameter and made out of PVC. The pipe elements include straight sections, Tee junctions and 90 degrees bends. These elements are in both vertical and horizontal orientations. It is known that the interior of the water pipe is not perfectly smooth or clean due to scales. When the pipe is in service, the water speed can vary from zero up to 2.5 m/s. The total pressure in the pipe can be as high as 5 Bars. A simplified scenario as shown in Figure 2-1 is considered in this work. The simplified pipe network contains a straight section and two Tee junctions. The average 23 inner diameter of the pipe is D. The diameter of the pipes in this networks is not uniform. The fluid in the straight pipe section flows at a constant speed U. The goal of this work is to design a robot that can operate in such a network. The robot needs to follow the straight pipe and make a turn at a specific Tee junction. The parameters of this pipe network are chosen to be similar to the real ones in our Saudi Arabia: D = 10cm and U r1m/s. A few assumptions are made. In this work, we assume both the straight section and the Tee junctions are in horizontal orientation. The robot is assumed to be stable in the vertical plane and it only needs to control its motion in the horizontal plane. It is also assumed that the robot only needs to move in the direction of the flow. Flow speed U D Figure 2-1: Simplified problem From this simplified scenario, the functional requirements are defined as Table 2.1. Table 2.1: Functional requirements for the robot 1. 2. 3. 4. The robot must be able to fit in a 10 cm diameter pipe. operate in the direction of the fluid flow with a speed up to 1 m/s. turn 90 degrees at a chosen Tee junction. adapt to small variations in the pipe diameter. 24 2.2 Design Alternatives For a robot to operate in a water pipe, it can either crawl or swim. Crawling is moving based on interaction with the pipe wall. Swimming is moving based on interaction with the fluid. Three general concepts, including two crawlers and one swimming robot, are evaluated. Considering functionality and efficiency in small diameter operating water pipes, a swimming robot is the best choice. Reasons for this design choice are given in the following paragraphs. The first basic concept is a multi-module crawler. There are two or more modules in the robot connected by joints, as shown in Figure 2-2. It is similar to existing in-pipe robots in [9] and [18]. All modules have wheels or actuated legs. Some or all of the joints are actuated as well. The robot can coordinate the appropriate modules and joints to perform motions such as following a straight line, braking and turning. This design has the space advantage. Each module of the robot provides space for hosting subsystems. The robot can carry many subsystems and achieve a range of useful functions. For example, the robot can carry a large amount of batteries for long missions. It can also carry multiple sensors for comprehensive pipe inspection. There is a significant drawback of this multi-module crawler. It is difficult for this kind of crawlers to adapt to small variations in the pipe diameter. Most of this type of robots are designed for empty, perfectly smooth pipes [9, 18]. At a Tee junction of a real water pipe, the junction can be of a bigger diameter than the straight pipes, as illustrated in Figure 2-3. The wheels or the legs of a multi-module robot may get stuck at the step formed when the pipe joins the junction. In addition, if there is a crack or obstacle on the walls of the Tee junction, the wheels or legs of the robot may get stuck. It may be even worse when there is a flow pushing the robot in the back. The fluid force can prevent the robot from backing out of the stalled situation. Thus the reliability of this crawling robot operating in a water pipe may be low. The second basic concept is a single-module omnidirectional crawler. As shown in Figure 2-4, the robot main body represented by the grey circle will be connected to four legs by actuated joints. This is very similar to the work in [15]. The legs are 25 1 + 2 Force/torque Figure 2-2: Illustration of a multi-module crawler turning at a Tee junction I U 7 Figure 2-3: Sketch of the composition of a typical Tee Junction. A Tee junction usually has a different diameter than the pipes it is connected to. Steps are formed at the joints. spring-loaded, and the robot can actuate the joints to change the angular position of the legs. In a straight pipe, the robot can retract all legs a little bit to squeeze through sections of smaller diameter. When approaching a Tee junction, the robot can actuate the joints and expand the angle between legs A and C as well as that between legs B and D. This increases the tension in the legs and thus friction on the wall. The robot can then slow down. Once the robot reaches a Tee junction as shown in Figure 2-4, the robot will lose support from the pipe wall on legs C and D. The tension in the legs C and D is then released allowing the legs to extend into the side branch of the pipe. The robot can lock the joints and thus lock it position at the Tee junction as shown in Figure 2-4. Then the robot can either re-orientate its main propulsion system toward the side pipe or rely on a side propulsion system to drive the robot into the side pipe. This mechanism can be built with 3 actuators, 26 one for joint control, another for main propulsion and a third for rotating the main propulsion system. A design of this mechanism can be found in [22]. This single-module crawler benefits from its legs. It can easily adapt to the small variations in the pipe diameter since its legs can extend and contract. The tension in the legs can be used for sensing. The sudden drop in the tension can indicate the arrival of the robot at a Tee junction. However, the single-module crawler may fail at cracks and obstacles. Similar to the multi-module crawler, a single-module crawler can get stuck at cracks, obstacles and the steps formed at the Tee junction as shown in Figure 2-3. It is also difficult for this mechanism to back out of a stuck situation. In addition, in a forced flow, the robot may start to spin at the Tee junction if the legs are not locked firmly. The performance of this single module crawler can not be consistent in pipes of rough walls and flow conditions. -. A B A B C D C D , direction of motion Figure 2-4: Illustration of an omnidirectional crawler turning at a Tee junction The third basic concept is a swimming robot. As shown in Figure 2-5, a swimming robot can utilize a couple of thrusters and perform differential drive to turn at a Tee junction. It can use the same thrusters to slow down and maintain stationary in a fluid flow. In long straight sections, the swimming robot can turn off the thrusters and simply float. A swimming robot is a reliable solution for pipes of all conditions. Since the swimming robot does not rely on supports from the pipe walls, it is less likely to get stuck at cracks and obstacles inside a pipe. Thus its reliability in this aspect 27 is higher than crawlers. If internal propulsion system such as ducted propellers and micro pumps are used, the exterior of the robot can be perfectly smooth. In the case of possible collisions, actuators inside the rigid shell of the robot are less likely to be damaged and lose functionality, in comparison to the crawlers that have actuators outside the robot body. 1 4- - 2 water jet output Figure 2-5: Illustration of a swimming robot at a Tee junction Swimming in a pipe is challenging for a robot. A pipe is a confined environment. The flow inside this pipe interacts with the robot and it may create disturbances on the robot. The fluid field at a Tee junction can be highly turbulent, and its effects on the swimming motion of the robot have not been studied sufficiently in the past. The robot must have accurate control system so it can maneuver safely in the pipes. Those challenges can be overcome. The next section of this thesis will show with Computational Fluid Dynamics (CFD) simulation results that a proper shape design can allow the swimming robot to overcome the fluid disturbances. A properly designed robot can maneuver inside a fluid flow easily. It can also take advantage of the fluid field at Tee junctions to detect the Tee junction as well as perform turns. Swimming robots perform maneuvers more reliably and efficiently. The comparison between the three types of robtos is summarized in Table 2.2. All three concepts can be designed to fit in 10 cm diameter pipes. They can all turns, but the swimming robot can perform turns more consistently. With properly sized actuators, all three robots can operate in forced flow conditions. Although it should take crawlers less energy to come to a complete stop in a flow, the swimming robot saves more energy 28 floating. While all concepts can meet the functional requirement as listed in Table 2.1, the swimming robot is chosen as it has more potential to reliably and efficiently maneuver in a water pipe. Table 2.2: Comparison of Design Alternatives swimming robot good Single module omnidirectional crawler good poor poor good poor poor good poor poor good Criteria Multi-module crawler Ability to make 90 degree turns Reliability of maneuvering in an uneven pipes Ability to directly take ad- good vantage of the flow Overall power efficiency 2.3 Hydrodynamic Design The desired characteristics of a swimming robot are a large size, a low drag force and a small turning radius. The robot must be made sufficiently large so all components can fit inside. The maximum size of the robot should be smaller than the inner diameter of the pipe. The second feature is low drag force. In order to operate in a fluid, the robot must be able to generate enough thrust to overcome the drag force. If the drag force is low, the thrust and power requirement will be low. The robot can then operate easily in the fluid and go further on the same power supply. The third feature is small turning radius. In a small diameter pipe, the space for the robot to maneuver is very limited. The maximum allowable turning radius decreases as the size of the robot increases. If the robot can turn with minimum radius of curvature, it can be made bigger and carry more batteries and sensing components inside. This is highly desirable for in-pipe robots. The following section describes the hydrodynamic design process of this swimming robot. The idea is to design a generally highly maneuverable robot and then check 29 its performance inside a pipe. Computational tools are used to design a swimming robot with the desired characteristics. 2.3.1 Notations and Assumptions The notations used in the hydrodynamic analysis are the same as in [17]. The frame of reference used in this study is fixed to the robot. In this frame of reference as shown in Figure 2-6, the robot is seen as stationary; the flow and pipe move and rotate about the robot. pipe wall Y 4j x z pipe wall Figure 2-6: Body Fixed Reference Frame used in the hydrodynamic analysis. Top view. The robot has 6 degrees of freedom. The necessary variables are summarized in Table 2.3, and explained as follows. x, y, z are the linear positions, and u, v, w are their corresponding linear velocities. 6, V), # are the angular position about x, y, z axes as indicated in Figure 2-6. p, q, r are their corresponding angular velocity. Table 2.3: Notations used to describe the robot hydrodynamics velocity x dx _O d dt z dz angular position angular velocity P - position dtt In the simplified scenario, it is assumed that all the robot motion is within the horizontal plane. The xy plane in the body fixed reference frame coincident with the 30 horizontal plane. It is assumed that the robot is neutrally buoyant so the gravity and buoyancy forces cancel each other out in the z direction. To study the motion in the xy plane only, all out of plane variables can be assumed to be zero. z = 0,w = 0,0 = 0, V) = O,p = 0, q = 0 2.3.2 (2.1) Design for Low Axial Drag Force The hydrodynamics of a general swimming robot in a general straight pipe are studied to determine the geometry of the robot. Similar to robots in the open water, the inpipe robots undergo fluid drag, lift, Munk moment and added mass effects. Unlike robots in the open water, in-pipe robots are destabilized sideways by Venturi's Effect. The first challenge is the fluid drag force. The drag force makes it difficult for the robot to maneuver in and opposite to the direction of the flow and thus should be kept low. In general, drag force, FD, is defined as follows. 1 FD ~ -pCDAOU 2 2r where p is the fluid density, CD (2.2) is the drag coefficient, AO is the projected area of the robot in the direction of the flow and U, is the relative velocity between the fluid and the robot. Equation (2.2) is for open water only. CD is a dependent on the robot's shape and the confined environment. Shapes such as ellipsoids have low drag coefficients. A swimming robot experiences a larger drag force in a confined environment than in an open fluid medium. The fluid is confined between the pipe wall and the robot. When the fluid runs into the robot, it must accelerate and go around the robot as illustrated in Figure 2-7. This flow acceleration resulted in an increased drag coefficient. This new CD can be determined using Computational Fluid Dynamics (CFD) tools. The cross section area AO should also be carefully selected for low drag force. As the size of the robot increases, the gap between the robot and the pipe wall become smaller. When the gap is smaller than certain size, the fluid will no longer be able 31 pipe wall vehicle pipe wall Figure 2-7: Fluid accelerates around the robot in a pipe and increases the drag force dramatically to go through it fast enough. The passage of the fluid around the robot is then over constraint, and the fluid will push the robot instead of going around it. It is then very difficult for the robot to maneuver against the fluid. This phenomenon puts a hard cap on the size of the robot. Smaller AO can be achieved by reducing the overall size of the robot or adjusting the robot's cross-section profile. 2.3.3 Design for Angular Stability The second challenge is the angular stability. As shown in Figure 2-8, when the x axis of a robot is not aligned with the flow, or it is at a nonzero angular offset (a), it will experience some drag, lift and Munk moment. There is always a drag force when the robot is moving in a fluid. There is also a lift force on the robot since the fluid speeds are different on each side of the robot. The Munk moment (M) occurs due to the unevenly distributed fluid pressure on the robot, and it is zero on axial symmetric shapes. The Munk moment can be calculated as follows. 1 M = -(AyY - A z)U 2 sin(2a) 2 (2.3) Where AYY and A., are the added mass in the y direction and the added mass in the x direction, respectively. For shapes that have the same profile in the x and y directions, A,, will be equivalent to AYY. Thus the Munk moment is zero. 32 The effect of the Munk moment will drive the robot to increase the angular offset in the same direction of the current angular offset until the robot is perpendicular to the flow. This destabilizing moment scales with square of relative velocity. For the stability and the minimum control effort during the turning in the horizontal plane, it is preferred that the robot have the same profile in the x and y directions. (A) (B) a=0 MOO M= ag-+ (C) a=O Drag (D) ( flowMQ M= rag -- +o M=O Drag Figure 2-8: Fluid forces and moments on different shapes at different angular offset. (A) and (B): a robot with different profiles in x and y direction experiences a Munk moment. (C) and (D): a robot with the same profile in x and y direction experiences no Munk moment. 2.3.4 Design for Radial Stability The third challenge is stability in the radial direction. This challenge is unique to in-pipe swimming robots. Robots operating in open water do not have this challenge in general. When a symmetric robot is moving in the direction of a fluid flow in open water, it does not experience a lift force or any lateral forces because of symmetry. For the same robot moving in pipes, it does not experience lift but experiences a radial force. As indicated in Figure 2-9, when the robot is offset from the center of the pipe by dy, the space between the robot and the pipe will be smaller on one side than that on the other side. Due to continuity, the fluid on the smaller opening side will be faster than the other side. Bernoulli's Principle predicts lower static pressure on the smaller opening side due to faster flow. The difference in static pressure on each side of the robot will drive the robot to the side with smaller opening and eventually it hit the pipe wall. This destabilizing force is the basis of Venturi's Effect. It increases 33 with dy as well as the relative velocity between the fluid and the robot, and it has a tendency to force the robot to move away from the centerline of the pipe. Venturi's Effect can be reduced in two ways. The first method is limiting dy by increasing the size of the robot. If the robot is wide enough, it will not be able to move left and right much. thus dy will be constrained in a small range. However, as the robot gets wider, the cross-section area AO would normally increase as well as the drag force. The solution to reduce drag force is to put ducts through the robot. Instead of going around the robot, the fluid can go through the ducts. The second method is to maintain a low relative velocity with the flow. When the robot is floating, the relative speed is low. The Venturi's Effect is then minimal, and the robot can easily correct its heading direction. High Speed, Low Static Pressure pipe wall flow Vent Force Low Speed, High Static Pressure pipe wall Figure 2-9: Illustration of Venturi's Effect on an in-pipe robot 2.3.5 Design for Minimal Turning Radius The shape of the robot can be designed for minimum turning radius through the study of the first order approximation of the hydrodynamic forces. The hydrodynamic force about the geometric center of the robot in the x direction can be expressed as X(X, y z, 0, 0, 0, U, V, W, p, q, r, i, , 11b, P, ,. The same definition can be applied to hydrodynamic force in the y direction, Y, and hydrodynamic moment about the z axis, N. Since we assume the robot motion is confined to the horizontal plane, hydrodynamic forces and moments that are out of the horizontal plane can be assume to be zero. This is the case if the robot is properly balanced and the flow in the pipe is not rotating. 34 The hydrodynamic forces are the net forces on the robot. The momentum principle says the change of momentum is equal to the net force: + rZG)p - (q 2 + r2 )xG] (2.4) Y = m[b + ru - pw + rXG - PZG + (rzG + pxG)p - (r 2 + p 2 )YG] (2.5) X = m[ih + qw - rv + 4ZG - yG + (qyG N = IzxP + Izy4 + Izzr + (Iyy - Jxx)pq + Ixy(p 2 - + m[xG () +ru q2 ) + Iyzpr - Ixzqr - pw) - YG(it + qw - rv) (2.6) where m is the mass of the robot. x, y, z are defined as small position deviations from the zero position in the x, y, z directions. it is the linear acceleration in the x direction) is defined as the time derivative of u (linear speed in the x direction). XG, YG, ZG is the position of the center of mass with respect to the center of the geometry. Iz, Iy,, Iz, are the moment of inertia about x, y and z axes. Ixy is the coupling between different axes. The hydrodynamic forces can be linearized following the method described in [17]. the first order approximation of the hydrodynamic force X can be calculated as follows. X = Xxx+Xyy+Xzz+XoO+XpO+XOb+Xu+Xv+Xw+Xp+Xq+Xr+Xit + Xbi + Xjbh + Xpp + X44 + Xtt + . . (2.7) The meanings of the hydrodynamic coefficients are summarized in Table. 2.4. Table 2.4: Physical meanings of hydrodynamic coefficients Coefficient Physical Meaning X, Xy, X, Xo, X0, X, hydrodynamic Force in the x direction due to nonhomogeneous distribution of the fluid property and Venturi's Effect(XY, Xz). Xu, Xv, Xw, Xp, Xq, Xr damping effect X, X-, X,, Xp, X4, X added mass 35 Similarly, Force Y and moment N can be calculated with Equations (2.8) and (2.9). Y = Yx + YY + Yzz + Yo + Yp +Y,6 + Yu + Yv + Yu +Y~p+Yqq + Yr + Ya + Yi) +Yob +YpP + Y44 + Y . (2.8) N = Nxx+Nyy+Nz z+NoO+N N+No+Nuu+Nv+Nw+Npp+Nqq+Nrr+Nit +Nbi+Nbs +NpP+N44+N4+... (2.9) Most of the hydrodynamic coefficients are dependent on the geometry of the robot. To define the proper robot geometry for the high maneuverability from those coefficients, one need to first simplify those equations. In the case in straight sections with steady flow, the fluid can be approximated as homogeneous so Xx, Xy, X0, Xp, XO become zero. In the first order approximation the higher order terms can be neglected as well. Similar assumptions apply to Y and N. In the 2D case studied in this thesis, the robot is assumed to move in the horizontal plane (xy plane) only, and all out of plane motion are assumed to be zero referring to Equation (2.1). Including input forces and moments, the hydrodynamic equations then become as follows. X = Xuu + Xev + Xrr + Xa6 + X,) + Xtt + Xzput (2.10) Y = Yy + Yu+ YV + Y,.r + Yj + yoh + Y + Yinput (2.11) N = Nuu + Nov + Nrr + Na6 + Nb+i) + N + Nin u (2.12) Where Xinpt Yinput and Ninpt represent the input forces and moment generated by the acutators. Notice that the Venturi's force Yy remains present under those conditions. 36 And the momentum equations become X = m[it - rv - TYG + rxG] (2.13) Y = m[i + ru + rxG - r2YG (2.14) N = Izzi + m[xG(Lb + ru) - YG(U - rv)] (2.15) By decoupling the motions in different axes it is possible to make the robot capable of turning at minimum radius. In this general form of hydrodynamic equations and momentum equations, the motions in different axes can be decoupled if a few of the coefficients are zero. By decoupling the motions in different axes, the robot will be able to perform maneuvers such as spinning. When the robot is spinning, its turning radius is zero. The robot should have multiple planes of symmetry in order to decouple its motion in different axes. If the robot has multiple planes of symmetry like a circular plate or a sphere, any motion in the x direction will not result in hydrodynamic forces in the y direction or torque in yaw direction. The same thing applies to motion in the y direction and rotating in the xy plane. Therefore Xv, Xr, Xe,, X,, Y, Y, Y&, Ye, Nu, No, N, Ni, are all zero when the robot have the same symmetric profiles in xy, yz and xz planes. Furthermore, the added mass in yaw direction N can be approximated zero if the robot has a circular profile in the horizontal plane. The coupling among different axes can be further reduced.These two centers should at least be the same in the XY plane, thus XG = 0, YG = 0. Then the hydrodynamic equations and momentum equations for a robot with the same symmetric profiles in xy, yz and xz planes are expressed as follows. X = m(ii - rv) = Xuu + Xuit + Xinput Y = m(b + ru) = Yy y + Yv + Y N = Izzi = Nrr + Nznput 37 + Ynput (2.16) (2.17) (2.18) 2.3.6 Conclusion of Hydrodynamic Design To summarize the above hydrodynamic analyses, the desired robot geometry must meet three criteria. The robot body should be streamlined, wide and symmetric. A streamlined body guarantees a low drag force on the robot. The robot then requires low thrust to overcome the fluid drag and perform maneuvers. The robot should be wide so the space between the robot and the pipe wall is small. When lateral motion occurs, the Venturi's force developed over this small space is small. It will take little effort for the robot to overcome the Venturi's force and maintain its position along the centerline of the pipe. A wide geometry also allows more space inside the robot and makes it easy to add electronic components. The robot should be symmetric. It decreases the coupling effect between the motion in different axes and allows the robot to turn at minimal turning radius. Figure 2-10: Isometric view of the robot body A design of the robot body as shown in Figure 2-10 and Figure 2-11 was selected. As shown in Figure 2-10, the robot is in an ellipsoid shape with two ducts through its body. It has a circular profile in the horizontal plane, and a streamlined oval shape in the vertical plane. As shown in Figure 2-11, the width of the robot W is the largest dimension of the robot. Therefore when the robot is deployed into a pipe, 38 d d dm H W Figure 2-11: Frontal view of the robot body there will be little space between the robot and the pipe wall in the horizontal plane for Venturi's force to develop. In order for the pipe fluid to pass the robot easily and create low drag force, more space between the robot and the pipe wall is needed. Thus the height H of the robot is made smaller than the width W, as indicated in Figure 2-11. When the robot is swimming in a pipe, the majority of the pipe fluid can pass the robot from top and bottom. The two ducts through the robot body is mirror image of each other. They reduce the frontal cross-section area of the robot and thus lower the drag force on the robot. The distance between the two ducts is 2d. Each duct is also symmetric about its centerline, and their walls had a parabolic profile. Parabolic ducts created a smooth transition for the flow to enter the ducts. The duct has the smallest cross sectional diameter in the middle section, and the diameter there is d,. Actuation systems such as propellers can be placed inside ducts. A robot of this design can turn at a very small turning radius. The robot has three planes of symmetry, namely xy, yz, and xz planes. It has a circular profile in the xy plane or the horizontal plane. This geometry decouples the robot's motions in 39 different axes. With proper actuation, it can turn in the horizontal plane at a very small turning radius. The dimensions in Table. 2.5 are chosen for the robot prototype. When choosing dimensions, internal space and clearance with the pipe are considered. With these dimensions, there is much space inside the robot for placing electronic components. The Width of the robot is 85 mm and slightly smaller than the target pipe diameter, 100 mm. When placed along the centerline of the pipe, the robot has 7.5 mm clearance from the pipe wall on the left and right sides. This clearance allows the robot to travel through the pipe without being affected by small obstacles. Table 2.5: Dimension of the robot Parameters Robot length Robot width Robot height Distance from the robot's center Minimal cross-section diameter Duct length 2.4 Values 85 mm 85 mm 60 mm 30 mm 19 mm 65mm Summary A swimming robot design is selected for this in-pipe robot. A swimming robot can operate reliably in pipes that have uneven surfaces and obstacles inside. This robot has an ellipsoid shape and two ducts. This design allows the robot to operate in the fluid flow while experiencing a low drag force. It also allows the robot to turn with a very small turning radius. 40 Chapter 3 Actuation System The actuation system in this robot is presented in this chapter. Micro RIM propellers are used as the actuation system because they are compact, powerful and safe. All aspects of the micro RIM propeller, including its design, sizing, fabrication, performance and characterization, are presented in this chapter. 3.1 Actuation System Alternatives The robot needs a set of compact, powerful and safe propulsion systems. The ideal propulsion systems must be compact and easy to integrate into this small robot shown in Figure 1-2. They must provide enough thrust for the vehicle to overcome the fluid forces and perform maneuvers. The propulsion systems should not fail when the robot collides with the pipe walls or obstacles. Otherwise the robot loses its mobility, and it may block and even contaminate the product in the pipe. Underwater propulsion consists of external and internal actuation systems. External actuation systems have moveable parts outside of a vehicle. An example of an external actuation system is the regular propeller. The propellers are usually attached to the sides or the back of a vehicle. Internal actuation systems are fully enclosed in the vehicle. Examples of the internal actuation systems are micro pumps and ducted propellers shown in Figure 1-2. When integrating a micro pump into the robot, it requires only two ports on the robot body, one being the inlet port and the other 41 the outlet port. Ducted propellers are propeller-based systems placed inside a duct through the vehicle. The propeller can be either a regular propeller driven from its hub, or a RIM propeller driven from the rim [12, 21]. External actuation systems are not safe to use in confined environments. In confined environments, the robot may collide with the boundaries of the environments such as walls in the pipes. When colliding with walls, external actuation systems are likely to get damaged. Rigid propeller blades can easily get damaged and flexible blades will deform and lose their thrust outputs. Compared to the external systems, an internal actuation system is a more reliable choice for in-pipe robots. The major advantage of the internal actuation system is safe operation. Internal propulsion systems are contained inside the robot and they are protected by the robot shell when collision happens. Ducted RIM propellers are chosen for the robot shown in Figure 1-2. As an internal actuation system, they are safe to use in confined environments. Similar to regular propellers, they can be sized to fit this robot while providing a relatively large thrust output. In comparison, the other kind of internal actuation system, micro pumps, are not powerful enough when they are small. For example, one of the most powerful pump that can fit into this robot is the TCS M400S from TCS Micropumps Ltd, and it can produce a thrust of up to 0.25N [16]. Considering the size and possible maximum thrust, ducted RIM propellers are the best internal actuation system for this robot. 3.2 Actuation System Design In the design, the robot integrates two ducted RIM propellers. As shown in Figure 3-1, two mirror image ducts are created throughout the robot body. Each duct is front-back symmetric so the robot can have equal performance in both directions. Each duct is also symmetric about its centerline, and their walls have a parabolic profile. Parabolic ducts created a smooth transition for the flow to enter the ducts. Two reversible, mirror image propellers are placed in the middle of the ducts. 42 This actuation system allows the robot to maneuver in the horizontal plane. Figure 3-2 shows a case when the robot is propelled downstream. Both propellers are intaking fluid from downstream, and duct openings B and D are the inlets. If the propellers are operating at the same speed, the robot will be propelled downstream. If they are operating at a different speed, they create a differential thrust that steers the robot in the horizontal plane. When the propellers reverse their rotation, duct openings A and C become the inlets and the robot can be propelled upstream. The two propellers can be rotating in different directions so duct openings A and D become inlets. The robot is then propelled to turn fast. Figure 3-1: Isometric view of the robot with two ducted RIM propellers 3.3 Propeller Sizing The thrust output requirement for this robot design is determined using Computational Fluid Dynamics (CFD) simulations. The simulated robot is that of an ellipsoid shape with two ducted RIM propellers inside, as shown in Figure 3-1. Several simulations were performed on robot designs with different duct profiles. A particular 43 upstream robot shell downstream B low flow out flow in C ' D Figure 3-2: Schematic of the horizontal cross section view of the robot with two ducted RIM propellers robot with parameters in Table 3.1 is presented. These parameters are the same as that in Table 2.5. It experiences the lowest fluid forces and thus the lowest thrust requirement. Two scenarios are considered for this design to determine the largest fluid force acting on this robot. Scenario 1 considers the robot moving in a straight pipe, and scenario 2 considers the robot maneuvering at a Tee junction. Table 3.1: Parameters of the simulated robot Parameters Robot length Robot width Robot height Distance from the robot's center Minimal cross-section diameter Duct length 3.3.1 Values 85 mm 85 mm 60 mm 30 mm 19 mm 65mm Scenario 1: Moving in A Straight Pipe The simulation is set up as shown in Figure 3-3. The robot is placed stationary at the center of a circular pipe of diameter D and length 2LP. The ducts of the robot are aligned with the direction of the flow. The fluid flows from the inlet to the outlet. At the inlet, the flow is assumed to have a uniform velocity U. Since the robot is stationary, the relative velocity between the robot and the fluid, U, = U.The relative motion, between the robot and the fluid flow, results in a fluid drag force FD on the 44 robot. The goal of this simulation is to find the maximum value of FD for all desired maneuvers. When the robot is moving in a straight pipe, it should float, brake or maintain a stationary position. All of the desired maneuvers are in the direction of the fluid, as indicated in Figure 3-3. The fluid drag force scales with the square of the relative velocity. The relative velocity and FD are the largest when the robot is stationary. inlet: flow speed U I LPV I WVW I V I robo FD L C D outlet: zero pressure drop Figure 3-3: Cross-section view of the pipe and the robot in the simulation. The robot is placed at the center of a circular pipe of diameter D and length 2LP. Three assumptions are made in this simulation. First the flow is assumed to be fully developed in order to find a single steady state value of FD. Fully developed flow can be guaranteed in the simulation by setting the distance LP from the pipe inlet to the robot multiple times larger than the diameter of the pipe. The second assumption is that the only significant fluid force in this scenario is FD along the pipe axial direction. The robot is symmetric and it is placed in the center of the pipe, the sum of fluid forces in the radial direction should be zero. The third assumption is that pressure drop along this pipe can be neglected. This section of the pipe is short when compared to the total pipe network, and the pressure drop is therefore negligible. Consequently, the average flow speed will be constant along the pipe. 45 Multiple simulations are conducted and their setup parameters are described. ANSYS Fluent R14.5 software is used to perform CFD simulations. The pipe parameters considered in this CFD simulation are summarized in Table 3.2. Table 3.2: Parameters considered in the CFD simulation Parameters Pipe Diameter D Flow speed U Distance L Reynold's number Re Values 100 mm 1 m/s 4m 100,000 The CFD simulation predicts FD in the axial direction of 0.722 N. This value is computed using the function calculator in the ANSYS Fluent software. This drag force attempts to push the robot toward the outlet. It is the only significant hydrodynamic force in this scenario, and it is more than 100 times bigger than the fluid force in the radial direction. The close-up horizontal cross section view of the simulation is shown in Figure 3-4. In this figure, the fluid flows into the pipe from the top. The flow in front of the robot has an average velocity of 1 m/s. It accelerates to a speed of 2.135 m/s when it is going through the duct. 3.3.2 Scenario 2: Turning at A Tee Junction A second CFD simulation is performed to find the fluid forces on the robot when it is turning at a Tee junction. The simulated scenario is shown in Figure 3-5. The Tee junction connects three straight pipe sections of diameter D and length Lp. The robot is located in the center of the Tee junction at the instant of performing a turn. It is assumed that a fluid flow of uniform speed U enters the inlet. The fluid then split into two streams, one flowing towards the outlet 1 and the other to outlet 2. The ducts of the robot are aligned with the direction of the flow at the inlet. The robot experiences an axial drag force FD and a side force Fs. The goal of this simulation is to determine the values of these two forces. For consistency with the straight pipe scenario, the same parameters in Tables 3.1 and 3.2 are used in this simulation. 46 Figure 3-4: Horizontal cross-section view of the simulated robot placed in the fluid Three assumptions are made in this simulation. The first two assumptions are the fully developed flow and zero pressure drop in this simulated pipe section. They are assumed for the same reason described in Section 3.3.1. The third assumption is that the two outlets have the same pressure. The fluid is driven by its momentum instead of pressure difference. It is expected that more flow is going straight to outlet 1 than turning into outlet 2. The CFD simulation predicts a reversed drag force. A close-up view of the flow field in terms of velocity vectors is shown in Figure 3-6. The drag force is -0.282 N, so it is pushing the robot upstreams toward the inlet. Drag force is in the reversed direction because of the static pressure increase at the Tee junction. As shown in Figure 3-7, the fluid flow expands and the flow speed decreases as the fluid enters the Tee junction. The flow speed U decreases due to the conservation of mass, and thus the static pressure increases. At location B in Figure 3-7, the flow speed is higher and the static pressure is lower than that at location C. This static pressure difference will push the robot to move toward location B or toward the inlet. This reverse drag force effect can help the robot slow down when it arrives at a Tee junction. At the 47 outlet 1: zero pressure T drop LP D > > LP FD A- outlet 2: D F_ b zero pressure I L drop A I CU A A A I I I LP inlet: flow speed U Figure 3-5: Cross-section view of the Tee junction and the robot in the simulation. The robot is placed at the center of the Tee junction. same time, a robot can specifically look for this reverse drag effect and use it as an indicator of the Tee junction. The CFD simulation also predicts a Venturi's force. The side force on the robot is predicted to be -0.337 N. This side force consists mainly of the Venturi's force which always pull the robot closer to pipe wall A and consequently prevents the robot from moving toward outlet 2. Since the reversed drag force helps the robot slow down, the robot can take advantage of it during maneuvers at the Tee junction. A robot needs to overcome the radial force of at least 0.337 N in order to make it to the side pipe. Furthermore, the fluid forces were evaluated for the ducted robot at different orientations. Since there were ducts in the robot, it was no longer symmetric about the vertical axis. The drag and side forces would change as the robot was turning inside the Tee junction. The same CFD simulation were performed for the robot at different angular position in order to find how the fluid forces changed. The results show that the drag force changes significantly during the turn. The 48 inlet 0.050 0 0.025 - 0.100 (M) 0.075 Figure 3-6: Flow visualization for the robot inside a Tee junction. FD and force Fs are measured. results are plotted in Figure 3-8. A positive angular position meaning the robot is turning left in Figure 3-6. The maximum drag force was predicted to be 0.287 N and pointing toward the inlet when the robot is at a 10 degree offset. The drag force on the robot flipped its direction when the robot turned more than 20 degrees to the left. At this angular offset, flow separation occurs at the ducts on the robot and it results to a net pressure pointing toward inlet 1. The side force changed as the robot was turning but it maintained its direction. The Venturi's effect kept attracting the robot to the wall and prevented it from entering the side pipe for all robot's possible angular positions. The robot must be able to overcome this Venturi's effect in order to move into the side pipe. The 49 inlet 002 0.02s 0.050 ~ 0100 (m) 0.07s Figure 3-7: Flow visualization for the robot inside a Tee junction. Location B has higher flow speed and lower static pressure than location C. maximum lateral force was predicted to be 0.502 N and pointing away from the side pipe when the robot is at a 30 degrees angular offset. These two hydrodynamic simulations predicts that the maximum fluid force on this robot is 0.722 N. This drag force is expected when the robot stops inside the 1 m/s flow in a straight section. RIM propellers need to be customized for this robot. After surveying the market, it is found that most of the past and current developments of RIM driven propellers are of large diameters. The smallest one is 70 mm in diameter 121]. A pair of RIM propellers need to be built to fit into this robot and generate a total thrust of more than 0.722 N. 50 0.4 0.3 0.2 0.1 Z 0 -20 to 40 60 80 100 -0.2 M -0.2 -Drag -0 -0.5 -Lift -0.6 Angular position(degrees) Figure 3-8: Simulated force on the improved robot at different angular positions 3.4 Design and Fabrication of the RIM Propeller The RIM propeller consists of two major components: the stator and the rotor. As shown in Figure 3-9, the stator is of a ring shape, and it consists of an array of coils. The rotor is placed in the center surrounded by the stator. It consists of the propeller blades and the permanent magnets. The center of the rotor is hollowed out and replaced with propeller blades. Permanent magnets in alternating sequence cover the circumference of the rotor. When alternating electrical current is input to the coils in the stator, it generates a alternating magnetic field that forces the rotor to rotate. When designing the RIM propeller, size, power consumption and thrust output were considered. The desired parameters of the RIM propeller is summarized in Table 3.3. The size of the stator is determined as it must fit into the ellipsoid shaped robot shell of dimensions listed in Table 2.5. The rotor must align with the duct described in Table 3.1. Since the robot will be powered by batteries, the RIM propeller must be efficient. It should meet the thrust requirement while consuming a reasonable amount of electric power. 51 STEEL RING ROTOR MAGNET DC Di STEEL CORE CO -1L WINDING Figure 3-9: Stator and rotor assembly of the RIM propeller Table 3.3: Desired parameters of the RIM propeller Parameters Do Description Max allowable stator outer diameter Values 36 mm HRIM Max allowable thickness 15 mm Di PRIM SF Rotor inner diameter Max allowable power consumption Output safety factor Target thrust 19 mm 10 W 1.1 0.4 N FT 3.4.1 Stator The first component of the stator is the stator core. The stator is very similar to that of a conventional motor. It is a ring with multiple "T" shaped extrusions that hold the coils, as shown in Figure 3-9. The stator core should be made out of material of a high permeability. Thus the magnetic field from the coils can be concentrated to achieve higher motor efficiency. Each "T" shaped extrusion becomes a pole once coils are wound on it. The stator core connects all poles together. It acts as a channel to guide the magnetic field and preserve the magnetic field energy. It increases the overall efficiency of the motor. It is desired to have more poles for smooth torque output. 52 The stator core is manufactured in layers. It is made out of 6 layers of 24 gauge non-oriented laminated steel. This construction reduces the formation of eddy currents. Each layer of the laminated steel is cut to the shape using a waterjet. The outer diameter of the stator is 36 mm. The outer ring is 2 mm thick. The number of poles is selected to be 12 due to size constraints. Each pole is 2 mm in width. The inner diameter of the stator is 25.5 mm. Coil windings are added to each pole. On each pole, it is also desired to have as many turns of coil as possible for the best magnetic field generation. With the size constraint considered, 30 gauge magnetic copper wires are wrapped around each pole and the maximum number of turns is 40. The actual thickness of the stator with all coil windings is approximately 8mm. 3.4.2 Rotor The construction of the rotor is shown in Figure 3-10. It is a ring with magnets attached outside and propeller blades inside. Each two adjacent magnets have different polarizations. It is desired to have as many magnets as possible on the rotor, so it will provide evenly distributed magnetic field strength along the circumference of the rotor. As a common practice of motor design, the number of the magnets must be an even number and must not be equal the number of poles (12) of the stator. Slots are designed to hold the magnets. A set of small, flat and powerful magnets are selected for the rotor. Flat rectangular magnets, NdFeB Grade N42 block magnets from K&J Magnetics, Inc, are selected for its size and magnetic strength. Each of the magnet is measured 6.350 x 3.175 x 0.794 mm (1/4 x 1/8 -x 1/32 in). Given that the inner diameter of the rotor is fixed at 19mm, a maximum of 14 magnets can fit onto the outer circumference of the rotor. 53 Figure 3-10: Design of the rotor 3.4.3 Propeller Blade The propeller blades are designed with the software OpenProp v3.3.4[101. The software could generate propeller blade profiles based on multiple theories including Blade Element Theory. Once operational condition and desired output is specified, the software generates the optimal propeller blade that can be output into CAD. The specifications for the RIM propeller design are summarized in Figure 3-11. Two parameters, the rotor diameter and required thrust, are set to be the same as they are in the design specifications in Table 3.3. The rotor speed is chosen to be similar to that of conventional motors. The ship speed should be the fluid flow speed at the propeller. This speed is always higher than the normal flow speed in this pipe because flow accelerates when it enters the ducts. In a pipe with 1 m/s flow, the flow speed at the propeller is 2.1 m/s as shown in Figure 3-4. Multiple designs using different values for other parameters including number of blades, hub diameter and r/R are tried. The parameters of the final design are shown in Figure 3-11. The hub diameter is made small since there is no hub in the RIM propeller. The lowest r/R value corresponds to the relative size of the opening in the center of the RIM propeller. Default values are used for XLma, Cd and tW/D, skew and Xs/D. 54 mas uuewgn vm uu Nun6er at blades: - rR XCLmaI Cd 4 00D Skew 05 .011154 0.01276 0 0.4625 j011154 0.02048 0 X*M 0,0191 0.2 03 Rwpbrdhrust (N): 0.4 0-4 0.425 .011154 0-0282 0 0 SW peed 21 0.5 0.3875 0.01115 0.03592 0 0 0.006 06 0.01115 0.04364 0 0 1023 07 03125 0.01115 0.05136 0 0 S radlpeneb: 20 0.8 0.275 0.01115 0.05908 0 0 8 drdwM panels: 20 09 02375 0.01115 0.0668 0 0 0-95 0.21875 10011151 0.07066 I 0,2 01115107452 0 0 Raion speed 4500 odlmi"a r (m): (nae): Hub dMa r (m): Fhaldsnsay sp. ThrustRatio: r 0008 J V/nD. L - onejgaRV u4 0 75 CT. 18879 KT WVs - uUou@ propaae EHub ~Vlacaus forces ~ ~ JOpmuawaP'. IPsrormancec. ANrfoilltyp.n M"7 M P J7I II typo RACA6SAOI Tools D4) Flsnae 2904 0 140625 Load ductD/propD: vuuus- 0 Turbie 0,63662 a Tl(rho-n2e VaNs 0 0 ENon-dwhnnsional Paramemtrs 1 Dud section drag 0.35 nsnow rues SaM Run OpenPr.. Figure 3-11: Specifications input to the OpenProp software An optimized four-blade propeller was generated by the OpenProp software. The blade profile was then output into Solidworks to complete the rotor model as shown in Figure 3-12. Several different versions of the blades were manufactured, and they have different center opening sizes. All of them were experimented and their thrusts at different speeds were measured. The details of the experiment are described in the Section 3.5. The results are summarized in Figure 3-13. While all rotors can produce 0.4N at around 4500 rpm, their maximum thrusts are different. The rotor with smallest center opening diameter, DC in Figure 3-12, can obtain the highest thrust. In the final design, a rotor with DC = 3.8mm is used. It generates a high maximum thrust, and its big opening allows debris to get through without damaging the propeller. The rotor including the four blades and the exterior ring are 3D printed as one piece. The 3D printer used here is the Stratasys Fortus 250mc FDM printer. It is configured to print ABS thermoplastic at a slice height of 0.178mm. The ring of the rotor is designed to be 1.5mm thick so the 3D printed part can be rigid. The inner diameter of the rotor is 19 mm and the outer diameter is 22.5 mm after the magnets 55 Figure 3-12: CAD model of the rotor with optimal blades 0.6 0.5 0.4 Z4- E 0.3 E 0.2 0.1 0 0 1 2 3 4 5 6 7 8 9 Center Openning Diameter (mm) Figure 3-13: Plot of maximum thrust measured on rotors with different center opening size are tightly fit into the slots. Since the inner diameter of the stator is 25.5 mm, there is a 1.5 mm clearance between the rotor and the stator. The contact between the stator and rotor is treated with special care. After the magnets are placed, the rotor is wrapped with a thin Permacel® tape to prevent the magnets from falling out of rotor assembly. The Permacel® tape also makes the outer surface of the rotor smooth. On the inner surface of the stator, the same tape was applied to create a smooth contact with the rotor. The manufactured RIM propeller meets the size requirements. parameters of the manufactured RIM propeller are listed in Table 3.4 56 The measured Table 3.4: Measured parameters of the RIM propeller Parameters Stator outer diameter Stator inner diameter Stator thickness Rotor outer diameter Rotor inner diameter Rotor depth Stator weight Rotor weight Total weight 3.4.4 Values 36 mm 25.5 mm 8 mm 22.5 mm 19 mm 12 mm 14.3 grams 1.7 grams 16 grams Bearing A bearing is designed to properly support the RIM propeller to function consistently. The bearing should suspend the rotor and maintain the uniform air gap between the stator poles and rotor poles. It should provide stability to the rotor in both radial and axial directions. The bearing should also minimize the friction on the rotor during the operation. (A) (B) (C) Figure 3-14: Three different kinds of bearings for the RIM propeller The three different kinds of bearings considered are shown in Figure 3-14. The design A uses a "C"-shape clamp to hold onto the exterior of the stator and have two rings in the front and back to support the rotor. Once the stator is put in, the "C"-shape clamp acts like a reference for the rotor. The clamp also follows the 57 curvature of the robot so it provide seamless integration of the RIM propeller into the robot. The rotor is placed in between the two rings. On each of the ring, there are two perpendicular surfaces that will be in sliding contact with the rotor. The vertical surface of the ring is in contact with the front or the back of the rotor, maintaining the rotor in its axial position. The circular surface of the ring will hold the rotor inside, maintaining the rotor in its radial position. This design theoretically can provide perfect radial and axial bearings to the rotor. However, there are always defects in the manufactured rotor and stator. The stator is not perfectly circular, and thus it is not a great reference for the "C"-shape clamp or the rotor. This design is not flexible enough to accommodate for manufacturing errors. During operation, the propeller assembly along with the bearing vibrates. Vibrations can damage the sensors on the robot and the robot itself. The design B has an improved bearing with some flexibility for adjustment. Instead of using a "C"-shape clamp and holding the stator with its spring force, the bearing is divided into front and back pieces. The stator and rotor can be placed inside more easily. Each circular ring in design A is split into two pieces. The vertical surface of the ring still maintains the axial position of the rotor. Behind the vertical surface, a hole of a hybrid shape between triangle and circle will support the outer circumference of the rotor at three locations. These three locations are on the straight part of the hole, and they can be filed to loosen the constraint on the rotor. With this design, the bearing can adapt to the manufacturing errors in the stator after some careful adjustment. However, the adjustment is irreversible and the accuracy is hard to control. Multiple copies of this bearing were made before one of them was found that worked well for the propeller. The design C improves upon the previous two designs and adds more control to the adjustment. Three holes are drilled in the radial direction on the front of the bearing at location 1, 2 and 3 shown in Figure 3-14. They are 120 degrees apart from each other. The same three holes are made on the back of the bearing. Six set screws, each one of which has a tiny Teflon ball on top, are inserted into those holes. When the rotor is placed inside the bearing, the Teflon balls will contact the circumference 58 of the rotor. By adjusting the six setscrews, one can move the rotor around until it has uniform gap on all sides with the stator. This process is repeatable and the constraints can be adjusted for the best performance of the RIM propeller. The final assembly is shown in Figure 3-15. In addition to adding setscrews, the two vertical supports are removed too because they are structurally weak. Instead, The front and back potions of the rotor are replaced with 2mm thick Teflon rings of the same diameter. These two Teflon rings provide low friction contact between the rotor and the robot wall. The Teflon rings are also in contact with the six Teflon balls. During operation, the RIM propeller with this support experienced little vibration. Figure 3-15: The RIM propeller placed inside the bearing of design C. Three set screws are placed inside 3 holes. The back side of the bearing has the same configuration 3.5 Performance The performance of the RIM propeller were evaluated experimentally. The RIM propeller was commanded to run at all possible speeds. The thrust and power consumption at each speed were recorded. The performance of the RIM propeller was 59 then compared with the desired performance in Table 3.3 to check if it met the requirement. 3.5.1 Experiment Setup The experiment was setup to measure the thrust and rotational speed of the RIM propeller. The setup is shown in Figure 3-16. A dynamometer was used to monitor the thrust generated by the propeller, an encoder to measure the propeller's rotational speed, and a weight to stabilize the setup underwater. The RIM propeller was placed inside a holder and hanged down from the dynamometer. A Vernier dynamometer was used. In the holder, there was an optical encoder monitoring the revolutions of the propeller. It was made out of an infrared LED and an infrared phototransistor. The infrared emitted diode was placed on top of the RIM -propeller and pointing down, while the phototransistor was placed in the bottom of the RIM propeller and pointing up. Every time a blade moved between these two components, a drop in voltage reading across the phototransistor would be observed and used to record the revolutions of the RIM propeller. 10 cm below the RIM propeller was a heavy weight. This weight helped stabilize the test setup in water. Very thin cables were used for all connection and they induced minimal disturbance to the fluid. A power and control system for the RIM propeller was also created. The RIM propeller is powered by a 7.4V power supply. A Turnigy Plush 6A electronic speed controller was used to control the RIM propeller. This speed controller was connected to an Arduino mini Pro 328 5V micro controller. The Arduino sent commands to the speed controller using its servo library. The exact input-output mapping for this Arduino, speed controller and RIM propeller was unknown before the experiment, but it was identified based on the results from this experiment. The experiment setup was placed inside a water loop during the test as shown in Figure. 3-17. The pipes used in this experiment setup was 10 cm in diameter, the same as the pipe network the robot was designed for. Water fills the pipes up to the dynamometer. The loop structure allowed water to circulate and form a steady flow. Without a loop, the water stream coming out of the RIM propeller would confront 60 Figure 3-16: The experiment setup for testing RIM propellers the flow coming back from the bottom and form unstable vortices. The measured thrust would oscillate and be inconsistent. A loop acts like a long channel, and it facilitates the development of the flow and results in more accurate thrust readings. 3.5.2 Experiment Results The performance of the propeller in terms of rotational speed, thrust and power consumption were evaluated in the experiment. The results are shown in Figure 3-18, Figure 3-19 and Figure 3-20. Thrust increases quadratically with rotational speed as in most propellers. The power consumption scales approximately linearly with the thrust. The maximum rotational speed is about 5550 rpm. The maximum thrust is about 0.43 N. The maximum power consumption is about 7.4W. The RIM 61 Figure 3-17: Picture of the experiment for testing RIM propellers propeller reaches 0.4 N of thrust between 5350rpm and 5550 rpm. At this speed and thrust output, it consumed about 7.1W. The RIM propeller met the performance requirements listed in Table 3.3. 3.6 Propeller Characterization The RIM propeller can be fully characterized from the experimental results. There are two important characteristics of the RIM propeller. The first one is its inputoutput mapping. It is important to know how to control the speed and thrust of the RIM propeller. The second characteristic is the dynamicd of the propeller. The dynamics of the RIM propeller is an important part of the dynamics of the robot. The former must be studied before one can design a control system for the robot. 62 0.5 0.45 0.4 S 0.35 2 0.3 - 0.25 0 0 0 .00 .0 0.2 0 0.15 0 0 0.1 0.05 0 1000 2000 3000 4000 5000 6000 Rotation Speed (RPM) Figure 3-18: Plot of rotational speed and thrust 6000 5000 4000 0. 3000 0 1000 0 0 1 2 3 4 5 6 7 8 Power Consumption(W) Figure 3-19: Plot of rotational speed and power consumption 3.6.1 input-output mapping The input-output mapping of the RIM propeller can be identified from the experimental results. It is the mapping between Arduino input and the RIM propeller output. The Arduino send out servo commands to the speed controller. A servo command is a numerical value usually linked to angular position or angular speed of the servo device. In the experiment, servo commands from 0 to 180 was tested and it was found that values from 68 to 120 activated the speed controller. Command values between 75 and 120 would make the RIM propeller turn, and it turned faster as the command value increased. The propeller speed and thrust saturated when the command value surpassed 98. The mapping between input command and steady state rotational speed, input command and steady state thrust are shown in Figure 3-21 and Figure 3-22. In between input command of 78 to 98, the thrust increased almost 63 0.5 0.45 0.4 2.0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 0 1 2 3 4 5 6 7 8 Power Consumption(W) Figure 3-20: Plot of thrust and power consumption 6000 5000 S4000 0C 3000 C 0 *9g. m 2000 0 1000 0 70 75 80 85 90 95 100 105 1110 Input Command Figure 3-21: Plot of input command vs measured steady state rotational speed linearly with the input command, and their approximate mapping can be expressed as follows: Thrust = 0.0185 * (Command - 76) 3.6.2 (3.1) Dynamics of the RIM propeller The dynamics of the RIM propeller can be identified from the experimental results. In the experiment, the time series of thrust data were recorded. The RIM propeller's responses to different step inputs from the Arduino were analyzed and a second order linear approximation of the system model was developed. in each experiment, the RIM propeller started from idle and received one of the following step inputs, 80, 85, 90, 95, 100 and 105 from the Arduino. A second order transfer function was fit 64 0.5 0.45 0.4 2 V$ 0.35 0.3 0.25 0.2 0.15 0.1 0.05 n 70 75 80 85 90 95 100 105 110 Input Command Figure 3-22: Plot of input command vs measured steady state thrust to each of the step response using the Matlab system identification tool box. The individual data sets and their fits are shown in Figure 3-23. The red curves in the figure represent the measured data and the blue curves are the fit system response. An average transfer function is derived. First the static gain is linearized using the relation between steady state thrust and input command in Equation (3.1). The input can be substituted with (Command-76) so the approximated static gain for all substituted commands becomes 0.0185 N. Then the percentage overshoots and settling times in all cases are averaged to find the average transfer function. The approximated transfer function for the RIM propeller is as follows. Thrust(N) Command - 76 0.0185 0.0013s2 + 0.0294s + 1 This transfer function representation of the RIM propeller has a few limitations. From Figure 3-23 one can tell the system response to different input has slightly different settling time values and percentage overshoot values. This difference may be attributed to the interaction with the fluid. In addition, this transfer function did not reflect the delay in the system. A delay was also observed during the experiment as in all cases the RIM propeller did not start right after a command was sent. This time delay was difficult to characterize but it was within a fraction of a second. Although this transfer function missed those two characters of this RIM propeller system, it still captured the main effects of the transient response of the RIM propeller. 65 input 80 -0.06 0.1 15 0.04 S0.02 0 iu - 0 0.5 1 1.5 0.0 01 0 05 2 time (sec) input 90 0.4 0.3 0.6 A- 0.2 i~A 6 W Tvv\p Fy 2 % 2 . 0.8 1.5 1 time (sec) input 95 - z input 85 0. 2 U.LD 0.1 0.4 0.2 0.5 . n8 1 time (sec) input 100 1.5 2 ( .Lj..A. -,. 0.5 1 1.5 2 1.5 2 time (sec) input 105 1 . 0 U A 0.6 ' Pn 0.4 4 -Ty - V 2 0.5 0.2 0 a 0.5 1 1.5 U. 0 2 time (sec) 0.5 1 time (sec) Figure 3-23: Measured step responses of the RIM propeller 3.7 Summary In this chapter, the design, fabrication, performance and characterization of the micro RIM propellers are presented. The RIM propeller consists of a stator and a rotor with the propeller built into the rotor. The RIM propeller is 36mm in diameter and 12 mm in depth. It is able to produce 0.4N of thrust at around 5400rpm by consuming 7.1W of electric power. From the experiment, the input-output mapping of the RIM propeller was identified. A second order linear system model was created to represent the dynamics of the RIM propeller. 66 Chapter 4 Integration In this chapter, the integration of the robot is presented. A robot housing is designed to host all sensing, actuation, control, communication and power components inside. These components and their layout are engineered to minimize the space requirement. Several waterproofing techniques are described. 4.1 Robot Housing The robot housing consists of the main body, bearings for the RIM propellers and a removable cap. An exploded view of the housing components are shown in Figure 4-1. The main body is designed to contain all sensing, control, communication and power components. Its outer geometry is the same as that of the final robot design shown in Figure 2-10. The dimensions of this geometry are listed in Table 2.5. Inside the main body, it is completely empty. This space is left for sensors, controllers and batteries. Those components are inserted into the main body from its opening on the top. Once all components are placed inside, the top cap is closed with a tight seal. Part C and D as shown in Figure 2-10 are the bearings for the RIM propellers. They can be placed in the side chambers of the main body. All parts of the robot housing are 3D printed. The robot housing is printed in a Stratasys Fortus 2 50mc fused deposition modeling (FDM) printer. It is config- ured to print acrylonitrile butadiene styrene (ABS) thermoplastic at a slice height of 67 B A Figure 4-1: Exploded view of the robot housing. Part A is the main body, B is the cap, C and D are the RIM propeller bearings. 0.178mm. The main body is a shell and its thickness is 1.9 mm everywhere, making the robot sufficiently rigid. 4.2 Electronic Subsystems There are four electronic subsystems in the robot. They are the power, sensing, communication and control systems. 4.2.1 Power The power system consists of a number of batteries. The batteries should have enough capacity to supply the robot for the entire duration of a mission. If the robot consumes P Watts of power and a mission is expected to last T minutes, the robot needs at least Etotal = P * T * 60 Joules of battery capacity. At the same time, a number of small size batteries are preferred as they are more likely to fit in the robot than a single large battery do. If each battery has a capacity of E1 Joules, the minimum number of batteries is n = Et otal 68 In this robot, the following parameters are used to determine the necessary battery capacity and quantity. P is chosen to be 15 W since there are two RIM propellers each of which consumes around 7W. For this prototype, the operation period T is assumed to be 15 minutes. Thus Etotal = 13500 Joules. A small single cell Lipo battery of 3.7V and 300mAh was selected for its small size. It corresponds to a E, = 3.7 * 300 * 3.6 = 3996 Joules. This robot needs 4 of them. 4.2.2 Sensing This in-pipe robot needs a subsystem to perform localization and sense the environment. Ideally the robot should be able to sense its position, detect Tee junctions, measure the fluid flow conditions and inspect the pipes. Sensors such as cameras, proximity sensors, IMU can be used on the robot to provide the location information. The robot can be equipped with pitot sensor and pressure transducers to measure the flow velocity and pressure. It can integrate cameras, acoustic sensors and a leak detection systems such as the MIT leak detector [5, 4, 6, 7, 8] to inspect the pipes. The sensing system in this implementation of the robot provides the basic localization function. The robot can sense its angular position and nearby Tee junctions. Angular position is sensed using an IMU. With angular position, the robot can perform closed loop feedback control on its heading direction. This allows the robot to perform basic maneuvers such as following straight lines and turning. On the other hand, Tee junctions are detected using a customized light sensor. It is a binary sensor that tells the robot if it is at a Tee junction. There are two light sensors on both sides of the robot. Each of them emits a beam of light and monitors the reflection from the pipe walls. If the robot arrives at a Tee junction, the pipe wall on one side will be open and thus no reflection will be detected by the light sensor on that side. This drop in signal indicates the arrival at a Tee junction. In this implementation, a strong LED is used to emit the light, and a photocell is used to sense the reflection. This customized light sensor provides a range of 3 cm which is much larger than the 1.5 cm detection range of conventional optical detectors. 69 4.2.3 Communication This in-pipe robot should be equipped with a wireless communication system. The robot should be able to receive command as control inputs from a remote operator. At the same time, it should report its status, the pipe inspection result to an operator or a control center. In order to perform this two-way communication, the robot is preferred to have a wireless transceiver. This wireless transceiver should have a high signal strength and a long range. It will enable the robot to maintain the wireless connection while traveling in underground pipes and traveling a long distance. In this robot implementation, wireless transceiver Xbee Pro 900 was selected. It has a maximum range of 10 km in air. Its transmission power is 50 mW or 17 dB referenced to one milliwatt. 4.2.4 Control The robot needs a computational platform to control the other subsystems. The computational platform should be able to read data from the sensors, interpret and compile communication signals and control the speed of the RIM propellers. The capability of the computational platform is dependent on the computational power requirement. The platform can be a micro controller, multiple controllers, field- programmable gate arrays (FPGA) or a combination of them. The robot also needs motor controllers to interact with the RIM propellers. Motor controllers regulate the speed and power of the propellers upon receiving commands from the computational platform. Motor controllers can handle the large amount of current needed by the propellers. In this robot implementation, two micro controllers and two motor controllers are used. One micro controller performs speed control and communication, while the other is dedicated to sensing. The latter is only used for position sensing during the experimentation. Its remaining computational power is reserved for future sensing capabilities such as leak detection and cameras. Two motor controllers are used to control two RIM propellers individually to allow them to act independently at the 70 same time. 4.2.5 Integration of Electronic Subsystems Wireless Transceiver . Batteres Arduino micro controller - 5V Motor speed controller 2 Motor speed controller I RIM propeller 2 RIM propeller 1 Arduino micro controller 3.3 V IMU Light sensor Figure 4-2: Simplified electronics diagram Figure 4-2 shows the schematic diagram of the robot electronics. In this diagram, all solid arrows indicate the power transfer, while all dashed arrows indicate the information transfer. Starting from the top left, the batteries are connected directly to the two motor speed controllers. Each of them have the capability to regulate the voltage input and provide a 5 V voltage supply to the Arduino micro controllers. The first micro controller operates on a 5 V logic level. It commands the wireless transceiver via serial communication and the two motor speed controllers via its digital output ports. The second Arduino micro controller runs on a 3.3 V logic level which is 71 required by the IMU. This Arduino collects and compiles information from the IMU and the light sensors before it sends simplified information to the 5 V Arduino via Inter-Integrated Circuit (I2C) communication. The 5 V Arduino then acts upon the information, creates new speed commands for the motor controllers and commands the wireless transceiver to report the robots status. The motor controllers, upon receiving the new commands, modify their alternating current outputs to the RIM propellers. It results in the RIM propellers changing their rotation speed and thrust output. A complete list of all electronic components and their suppliers are shown in Table 4.1. Table 4.1: List of electronic components Catagory Micro controller Micro controller Sensor Sensor Sensor Communication Speed controller power supply 4.3 Components Arduino Mini Pro 328 5V 16MHz x1 Arduino Mini Pro 328 3.3V 8MHz x1 9 DOF IMU sensor stick x1 Mini Photocell x2 Super Bright White LED x2 XBee Pro 900 Wire Antenna wireless transceiver x1 Turnigy Plush 6A x2 Turnigy nano-tech 300mAh 3.7 V Lipo Battery x4 Supplier Sparkfun.com Sparkfun.com Sparkfun.com Sparkfun.com Sparkfun.com Sparkfun.com Hobbyking.com Hobbyking.com Packaging The electronic components and their layout were designed to use the space inside the robot efficiently. Their layout is shown in Figure 4-3. In the same figure the horizontal cross-section view of the robot is shown. The semitransparent white boxes represent the physical boundaries of the components listed in Table 4.1. All electronic components, except the two motor speed controllers and the wireless transceiver, are placed in this plane. The two motor speed controllers are placed in the bottom of the robot and underneath the RIM propellers. The major axes of all the batteries, micro controllers and the IMU are perpendicular to this view plane. Wireless transceiver is 72 placed on top of the IMU and is not shown in this figure. Figure 4-3: Layout of electronics inside the robot Additional weight is added into the robot to make the robot neutrally buoyant. The robot, with all electronics, sensing and actuation systems, weighs 149 grams. The volume of the robot measured in Solidworks is 175 cm 3 . For the robot to be neutrally buoyant, the total weight of the robot should be 175 grams. Another 26 grams of weight must be added. Liquid Mold Star 16 Silicone from Smooth-on.com was poured into the robot to make up the weight. The robot was placed in an upright orientation so all the silicone would flow to the bottom of the robot before it solidifies. This additional weight in the bottom of the robot also improved its stability. 73 4.4 Waterproofing A waterproof coating is applied to the surface of all housing parts to prevent water permeation. The American Synthetics Stone Weld Penetrating Epoxy is used as it bonds well with the ABS plastic. After the epoxy was cured, the robot housing was placed underwater for one day and no water was found inside the housing. A typical operation performed by the robot lasts 15 minutes due to the limited capacity of the onboard battery. This waterproof coating can ensure the safety of all components inside the robot during the operation. The interfaces between assembled components are also treated with special care to prevent water from penetrating. There are two types of interfaces, one between the RIM propeller and the main body, and the other one between the cap and the robot main body. Different waterproof techniques are applied to these two types interfaces. The interface between the RIM propeller and the main body is permanently sealed to prevent water penetrating. The interface is a hole, where cables from the RIM propeller enter the main body. There are two holes on the main body for the RIM propellers. They are permanently sealed by epoxy after installation of the cables. The interface between the cap and the main body uses multiple sealing techniques. First, the cap is partially threaded as to provide a perfect seal. As shown in side view (A) and bottom view (B) of the cap in Figure 4-4, there are two legs that could grab the interior of the main body once the cap is closed. The legs are tapered. As the cap is being screwed into the robot, the normal pressure increases on the legs and it eventually becomes a tight fit. Second, an o-ring is placed between the cap and the main body. When the cap is closed, the flat surface along the circumference of of the cap presses against the o-ring. The o-ring deforms and fills up the gaps between the cap and the main body. A small amount of gaps remain because of the textured surfaces of the 3D printed parts. To complete the seal, a layer of blue silicone buffer is deposited onto the flat surface of the cap as shown in part (C) of Figure 4-4. The silicone is Mold Star 16 from Smooth-on.com. 74 Figure 4-4: Three views of the cap. (A) side view, (B) bottom view and (C) bottom view of the the cap with a silicone ring 4.5 Summary A robot prototype as shown in Figure 4-5 is developed. It is an integrated robot contains all its power, control, communication, sensing and actuation inside. It is waterproof and safe to operate in water pipes. Figure 4-5: Picture of the fully assembled robot 75 76 Chapter 5 Control The control of this robot is performed at both the micro and macro levels. On the micro level, an onboard PID controller controls the robot's speed and heading. On the macro level, a remote control center plans the path for the robot and communicates with the robot. 5.1 Onboard Controller In this section, the robot modeling and its heading control are presented. 5.1.1 Robot Modeling An approximated plant model is developed for robot with a focus on the heading control. This plant model should describe how the robot yaw angle changes with the thrust inputs from the RIM propellers. The hydrodynamic equations of the robot from Section 2.3 are used to derive this plant model. The yaw position is governed by the following equations. r = (5.1) N = Izzr = Nrr + Ntnpt (5.2) Nznt = d * (F1 - F2) = d * A F (5.3) 77 4'd (5.4) I,,q = Nq+ d *AF The new coefficient, d, is the distance from the center of the RIM propeller to the center of the robot. The new variables, F and F2 are the thrust forces from right and left RIM propellers, respectively. The difference between F and F2 can treated as one variable AF. Two assumptions are made to develop the approximated robot model. The first assumption is that the effect of the ducts in the robot on the robot's yaw motion is negligible. The robot geometry with the ducts is no longer axisymmetric about the vertical axis so it will experience a Munk moment during the turn. However, the robot geometry is approximately an axisymmetric ellipsoid, and the Munk moment should be small. The second assumption is that the coupling between yaw motion and motions in the other direction is neglected at this stage. The current modeling and control study is focused on the yaw motion, while the control on the coupled motions will be investigated later. The approximated robot model is derived by substituting numerical values into Equation (5.4). This robot model describes how the robot steers its heading given the difference in the thrust from left and right propeller. The numerical values of the coefficients in Equation (5.4) can be estimated from the physical properties of the robot. The parameters, Iz, d can be found from Table 5.1. N, represents the damping coefficient during the rotational motion about z axis. Slender Body Theorem [17] was used to provide a rough estimation of this coefficient with an approximation that the robot was a perfect ellipsoid. An estimate of N, = -5 * 10-4Nm/s was obtained. The plant model of the robot with the yaw position as the output can be approximated as follows. 223.9 robot() < AF - -IzzS2 78 Nrs s2 + 3.731s Table 5.1: List of physical properties of the robot parameters L H W d Ld Ad V m Ixx Physical Meaning Length of the robot (along x) Height of the robot (along z) Width of robot (along y) Distance between the center of the duct and the center of the robot Duct length (along x) Duct average cross-sectional area Value 0.085m 0.06m 0.085m 0.03m 0.065 m 7r * (0.02/2)2 1.750 -4m 3.14 * 10- 4m 2 3 Volume of the robot Iyy 0.175 kg 1/5 * m * (1/4 * W 2 + 1/4 * H2 ) 10- 4 kg -m2 1/5 * m * (1/4 * L2 + 1/4 * H2 ) Izz 10-4kg -- 2 1/5 * m * (1/4 * L2 + 1/4 * W 2 ) Mass of the robot Moment of inertia about x Moment of inertia about y Moment of inertia about z 10- 4 kg -M2 Onboard Controller Design 5.1.2 A PID controller is deployed on the robot to ensure the robot can correct its heading errors fast and perform fast maneuvers. This controller is imbedded onto the robot. It makes the robot swim in the desired direction and corrects heading errors on the fly. These errors may be caused by the difference in the propellers. The two RIM propellers are not exactly the same and therefore differences may exist in their output. The disturbance from the fluid environment also results in errors in the robot heading. Controller GGobts Oref |+ 1 ... AW Robot RIM Propeller: G2 Fnom F (S) Gaobot(s) GRIM(s) Figure 5-1: Block diagram of the closed loop robot system 79 The block diagram of this closed loop system is illustrated in Figure 5-1. The inputs to the closed loop system are a reference yaw angle, nominal propeller speed, Wnom. the yaw angle of the robot, #. #,ef, in radians and a This IMU signal is integrated to obtain an estimate of In two steps the controller calculates speed commands, namely w, and W 2 , as shown in Figure 5-1. Step 1: Aw = Gc(s) * (0,ef (5.6) - Step 2: ] nom [ (5.7) = G2(s) nom 2 W Where the necessary speed difference Aw is the necessary speed difference between the two RIM propellers that can make the robot turn to follow the reference signal #,e. Gc(s) is a controller that calculates the necessary Aw. G2(s) is a matrix that calculates the speed commands w, and w 2 for the RIM propellers. Both Gc(s) and G2(s) are coded into the Arduino micro controller. The speed commands, w, and W2 , are generated by the micro controllers in the format as described in Section 3.6.1. The two signals wi and w 2 are sent to the motor controllers of the RIM propellers. The RIM propellers and the robot act accordingly to the speed commands. The thrust output of the two RIM propellers, F and F2 can be predicted by the transfer functions GRIM1(s) and GRIM2(s) respectively. The robot is then propelled to maneuver, and its new angular position, 0, can be predicted by Grobot(S). The expressions of GRIM1(s) and GRIM2(s) are given in Equation (3.2) and Grobot in Equation (5.5). These are repeated below: F1 CRImi(s) = CRIM2(8) = wi, Grobot (S) - ____ 0 - F 1 - F2 0.0185 0.0013s 2 + 0.0294s + 1(5.8) 223.9 239(5.9) S2 +3.731s The controller, Gc(s), can be tuned to allow the robot to achieve a desired tran80 sient response. The desired performance includes a short settling time, a small overshoot, a good disturbance rejection and a non-saturated controller output. The first two criteria are necessary for robot turning. A good disturbance rejection helps the robot correct small errors in its heading direction. The controller output is the difference command and it should be within the range of the feasible motor command. The range for the motor command is 78 to 98, making the range of Aw being -20 to 20. A PID controller was designed in Matlab controller design toolbox, pidtool. After a few iterations, a functional PID controller that met the criteria was identified. The controller is shown in Equation (5.10). Gc(s) = 7.344 + 0.726 S + 0.984s (5.10) The predicted closed loop system response to a step input had a settling time of 0.993 second and an overshoot of 11.3 percent. The integral gain is in place to reject noise and reduce errors. The maximum output from the controller for a 90-degreeturn input is slightly smaller than 12 and well below the saturation level. The step response of the closed loop robot system with this controller for a 90 degree turn is plotted in Figure 5-2. This controller serves the purpose of testing the maneuverability of the robot. It would allow the robot to maintain straight motion and turn a certain degree upon command. When used in experiments, it would provide preliminary results of the performance of the robot, and these results can be used to design the more comprehensive controller for the robot. 5.2 Remote Control System The robot is wirelessly controlled from a remote computer. The robot makes changes to its path upon receiving wireless commands. The commands include forward speed command, turn left command, turn right command, stop command and manual override command. Those commands are generated by a LabVIEW interface shown in 81 time (s) Figure 5-2: Response of the closed loop robot system to a 90 degree step (1.57 rad) input Figure 5-3. The LabVIEW interface sends out the command signal through another wireless transceiver connected to the USB port of the same computer. The wireless serial communication follows the Zigflee protocol. The baud rate of the commutation is 115,200 Hz. A mapping between the commands on the LabVIEW interface, the wireless command signal and the robot controller input is created. The mapping is summarized in Table 5.2 and described below. Turn left 90 degree When a "Turn left 90 degree" is selected, a wireless signal, "CL" will be sent out. "C" is the header that is used in all communication from the LabVIEW interface to the robot. It stands for control. "L" means left. When the robot receives this message, the Arduino onboard will enable the PID controller, read the current yaw angle q5 from the gyroscope, and create a step input of current # + i to the PID controller code. The speed command to each RIM propeller, cmd, will first be set to be the 82 COffffVzk*W OW-W F --- ,i Figure 5-3: Image of the LabVIEW interface for robot control same as the previous value. The PID controller will increase or decrease the cmd value before the speed commands are output from the Arduino to the motor speed controllers. The response of the RIM propellers to a speed command can be predicted by its transfer function in Equation (3.2). The PID controller will do the rest and the robot will turn 90 degrees to the left. Turn right 90 degree When a "Turn right 90 degree" is selected, the wireless signal is "CR" . "R" means right. When the robot receives this message, the Arduino onboard will enable the PID controller, read the current yaw angle input of current # # from the gyroscope, and create a step - !2 to the PID controller code. The speed command to each RIM propeller, cmd, will first be set to be the same as the previous value. The PID controller will increase or decrease the cmd value before the speed commands are output from the Arduino to the motor speed controllers. The PID controller will do the rest and the robot will turn 90 degrees to the right. Propeller speed command A new propeller speed command will make the two propellers turning at the same commanded speed. For example, a speed command 90 means that both RIM pro83 Table 5.2: Mapping between commands, wireless signals and controller input Command Turn Left 90 deg Signal CL controller input enable PID controller #ref= #current + W Turn Right 90 deg CR cmd-previous cmd enable PID controller 'tref Propeller speed(e.g 90) CS090 #ref Stop the robot CO O[current - 2 = cmd=previous cmd enable PID controller = #current, cmd=90 disable PID controller cmd left=68, cmd right=68 Manual average speed(e.g 90) and manual differential speed(e.g 20) CM100080 disable PID controller cmd left=100, cmd right=80 pellers are desired to run at 4200 rpm and each generates 0.23 N of thrust according to the input-output mappings as shown in Figure 3-21 and Figure 3-22. The mappings are also displayed here in Figure 5-4 and Figure 5-5. When a new propeller speed 90 is selected, a signal "CSO90" will be sent out. "S" means speed. The 3-digit number, "090" is for 90, and it will change for different selected speed. When the robot receives "CSO90", the Arduino onboard will enable the PID controller, read the current yaw angle #, and create a step input of current # to the PID controller code. This step input means the robot is desired to go straight. The speed command to each RIM propeller, cmd, will first be set to 90. The PID controller will adjust the cmd value before the speed commands are output from the Arduino to the motor speed controllers. Robot stop command If the "Stop the robot" button on the LabVIEW interface is pressed, a signal of "CO" will be sent out. When the robot receives this signal, the Arduino onboard will disable the PID controller and set the speed command, cmd, to both left and right propellers to 68. Upon receiving speed command 68, the speed controller will shut down the power to the RIM propellers. The robot then comes to a stop. 84 6000 5000 1Wee~ S4000 3000 C i2000 1000 0 70 75 80 85 90 95 100 105 110 Input Command Figure 5-4: Plot of speed command vs measured steady state rotational speed 0.5 0.45 0.4 2 0.35 1W$ 0.3 0.25 M 0.2 0.15 0.1 0.05 0 70 75 80 85 90 95 100 105 110 Input Command Figure 5-5: Plot of speed command vs measured steady state thrust Manual mode command If manual mode is activated and Manual average speed (e.g. 90) and manual differential speed(e.g 20) are chosen, a signal of "CM100080" will be sent out. "M" stands for manual. The first 3 digits are the speed command for the left propeller, and in this case it is 90 + 20/2 = 100. The next 3 digits are the speed command for the right propeller, and in the case it is 90 - 20/2 = 80. An extra 0 is added in front of "80" to keep the length of the signal constant for all manual speed selections. Once the robot received this signal, the Arduino onboard will disable the PID control and send out the two speed commands directly to the motor speed controller. In this case, speed command value 100 is sent to the left propeller. It will turn at 5500 rpm and generate 0.42N of thrust at steady state according to Figure 5-4 and Figure 5-5. Speed command 80 is sent to the right propeller. It will turn at 1900 rpm and 85 generate 0.06N of thrust at steady state according to Figure 5-4 and Figure 5-5. The robot will then turn to the right and go in circles when it reaches steady state. In order to prevent saturation, the speed command is filtered on the Arduino before being sent to the motor speed controller. Referring to Section 3.5, the range of speed command accepted by the motor speed controller was between 68 and 120. Speed command values outside this range will not activate the motor speed controller. The thrust and rotation speed of the RIM propeller saturates when the speed command is above 98. Therefore, the Arduino should send speed commands between 68 and 98 for effective speed control. After the speed command is adjusted by the PID controller, it is compared with the lower bound 68 and upper bound 98. If it is below 68, speed command will be changed to 68. If it is above 98, speed command 98 will be output. 5.3 Summary The control system of the robot consists of both controllers at both micro and macro levels. On the micro level, an onboard PID controller controls the robot's speed and heading. On the macro level, a LabVIEW interface runs on a remote control center and sends commands to the robot wirelessly. The robot then performs the commanded maneuvers. 86 Chapter 6 Experimental Results 6.1 Overview A set of experiments were conducted in open water to test the robot's ability in performing motions including straight lines and sharp turns. In real pipe scenarios, the robot would have to move in straight lines and also conduct turns at Tee junctions. The experiments were conducted in open water instead of in pipes in order to reduce the robot's in-pipe sensing and control requirements. This part of the project focused on maneuverability. The results of these experiments would serve as the foundation for in-pipe robot maneuvering. 6.2 Experiment Setup A rectangular water tank was prepared for the experiment. As shown in Figure 6-1, the water tank is 2.5 meters long and 0.6 meters wide providing enough room for the robot to move in the horizontal plane. It contained about 20 cm deep of static water during the experiment providing enough room in the vertical plane for the robot. During all experiments, the robot was fully submerged in the water. The dimensions of the water tank are much bigger than that of the robot, and it can be considered an open environment. The robot was remotely controlled in all experiments. The author used the Lab87 Figure 6-1: Picture of the water tank used in the experiment VIEW interface and wireless communication system described in Section 5.2 to remotely control the robot. The interface was run on a Lenovo IdeaPad U400 laptop. The commands used in the experiment include to follow straight lines at various propeller speeds, turn left 90 degrees, turn right 90 degrees and manual speed for finding out minimal turning radius. The laptop sent out commands wirelessly using the XBee Pro 900 Wire Antenna wireless transmitter that was connected to the laptop's USB port. The wireless communication follows the ZigBee protocol, and it is serial. The baud rate of the communication is 115,200 Hz. The experimental results were video taped and analyzed manually. A regular IPhone 5 camera was used to capture the 1080HD video at 30 frames per second. The resolution of this IPhone camera is 8 megapixels. A dot tracing technique was 88 used to find the path of the robot. A dot was drawn on the screen for the center of the robot as the experiment video was played on the screen. All the dots were connected to form the measured path of the robot. The body length of the robot was known to be 8.5 cm, and it was used as a reference scale. The actual distance the robot travelled was calculated by comparing the traced path in each experiment with the body length of the robot in the image. 6.3 Results and Discussion 6.3.1 Following Straight Lines In this experiment, the robot's ability to follow straight lines was tested. The robot was commanded to go forward by running both propellers at the same speed. The speed was set by selecting command "propeller speed 90" on the LabVIEW interface. Wireless command signal "CS090" was sent to the robot. According to the speed, thrust and command mapping in Figure 3-21 and Figure 3-22, each RIM propeller would turn at 4200 rpm and generate 0.23 N thrust in response to the speed command 90. The robot travelled 1.25 meters, or half of the length of the water tank, in about 4 seconds. The steady state speed of the robot was about 0.3 m/s. Figure 6-2 shows the captured picture of the robot at the starting point and its path. The blue line represents desired path, and the black dots represents measured path of the robot. The measured path shows that the robot was able to correct its initial heading error and return to its desired heading direction, but it was still slightly offset from the desired path. The experimental results showed that the robot was able to follow the straight line with some errors. Overall the robot was moving in the desired direction. However, the robot was oscillating about its desired path, and a small offset was observed at the end. This error can be attributed to the inconsistent manufacturing quality of the propeller and the limited onboard sensing capability. Manufacturing errors in the RIM propeller is the first reason for the difference 89 Desired path . e eMeasured path Figure 6-2: Picture of the robot following a straight line between the measured path and the desired path. When the robot started moving, it was moving toward the left of the desired path. This was because the right RIM propeller was producing slightly more thrust than the left RIM propeller at the same speed command. This output noise was due to the small difference in the manu- facturing quality of the left and right RIM propeller. The left RIM propeller might experience more friction than the right one. Thus the robot was moving to the right of the desired path. The onboard micro controller is able to compensate for RIM propeller output noise. The Arduino micro controller reads the output of the gyroscope in the IMU and calculate the heading error. It adjusted the heading direction of the robot by increasing the speed command for the left RIM propeller and decreasing that for the right one. The robot stopped moving to the left but it had an overshoot to the right before it converged to the desired heading direction. The same overshoot was observed in the simulated step response of the closed loop system as shown in Figure 5-2. The controller could be fine tuned to minimize overshoot. Then the robot will be able to correct its heading direction within a reasonable amount of time. The second reason for the difference between the measured path and the desired 90 path is the limited onboard sensing capability. After the robot converged to the desired heading direction, it was moving in parallel to the desired path instead of on the desired path. At the end of the path, the robot was about 2 cm away from its reference path. The robot was not able to eliminate this lateral offset because no onboard sensors were set up to monitor the robot's lateral position. The accelerometer signal inside the IMU could be used for this purpose. One has to realize that errors can be accumulated when integrating the linear acceleration reading. To increase the precision of the path following function, the robot will require additional position sensors such as ranger finders and cameras. 6.3.2 Follow Straight Lines and Overcoming disturbances In the second experiment, the robot's ability to reject disturbance was explored. The robot was first placed next to an obstacle that in this experiment was a pipe section. The robot was commanded to go straight and hit the obstacle on the side. A constant command of "propeller speed 90", was used, and the robot was commanded to move in a straight line with both RIM propellers turning at around 4200 rpm. It reached a steady state speed of 0.3 m/s. As shown in Figure 6-3, the robot bumped with its right side the top of a Tee section. The robot momentarily turned to the right. It corrects its heading and come back to a path parallel to the original one. An explanation of how the robot overcome disturbance is as follows. When coming into contact with the top of the obstacle, the robot turned to the right about the contact point. The onboard micro controller read the output from the gyroscope in the IMU unit and calculated the angular offset from the desire heading direction. The PID controller algorithm corrected the heading within one second and the robot was able to return to the original heading as indicated by the measured path in Figure 6-3. However, since the robot had no lateral position sensing capability yet, it was not able to return to its original path. The robot is capable of basic heading control, and it needs the capability to sense its lateral motion to make more precise maneuvers. 91 - Desired path se * * Measured path Figure 6-3: Picture of the robot following an straight path and overcoming an obstacle 6.3.3 90-degree Turns In the third experiment, the robot's ability to conduct turns was evaluated. The robot was commanded to move forward and then make a 90-degree turn. At first, the same command in the first experiment, "propeller speed 90", was used, and the robot was commanded to move forward with both RIM propellers turning at around 4200 rpm. It reached a steady state speed of 0.3 m/s. After 2 seconds, the "turn left 90 deg" command was selected on the LabVIEW interface, and command signal "CL" was sent to the robot. The robot responded by setting 90 degrees to the left of its current heading direction as a new input to its PID controller. Figure 6-4 shows the captured picture of the robot at the moment of turning. The blue line represents the desired path and the black dots represents the measured path of the robot. During the turn, the left RIM propeller was not rotating because the speed command calculated by the Arduino was lower than 78. 78 was the minimum value for the RIM propeller to turn. The right RIM propeller increased its rotational speed and thrust at the 92 beginning of the turn, and it decreased its thrust at the end of the turn. Figure 6-4: Picture of the robot going straight and then making a 90 degree turn The robot was observed to turn at a radius of curvature of about 4 cm but the minimal turning radius could be much smaller. A 4 cm turning radius was achieved at 0.3 m/s approaching speed without reversing the direction of the propeller thrust. This turning radius was already smaller than half of the robot's body length. If the left propeller thrust is reversed, the turning radius could be even smaller at this speed. The propeller thrust was not reversed mainly because the motor controller was configured to run propellers in only one direction. The motor controller used in this robot, Turnigy Push 6A ESC, is a common motor controller used in RC airplanes that does not need to reverse direction. In future work, a customized motor controller will be built to turn the RIM propeller in both directions. The robot was able to make a sharp turn, but its performance to maintain its 93 heading after turning 90 degrees needed to be improved. As indicated in Figure 6-4, the robot had an overshoot in its angular position during the turn. At this moment, the right RIM propeller was reducing its rotational speed and the left RIM propeller was supposed to start instantaneously. However, the RIM propeller did not turn on when needed due to a lag. The large angular momentum kept the robot rotating and this lag in the left RIM propeller made it difficult for the robot to correct its heading fast enough. A simple PID controller had limited capability to compensate for the lag in the actuator, and thus it was not good enough for turning control. Lead-lag compensators and other strategies will be investigated in the future to improve the robot's turning stability. 6.3.4 Minimum Turning Radius In the last experiment, the smallest turning radius of the robot was explored. The robot was stationary before it was commanded to turn to the right continuously. On the user interface, manual mode was selected, and the manual average speed was 85, and the manual differential speed was set to be 30. Command signal "CM100070" was sent to the robot. The robot responded by setting the left RIM propeller to maximum rotational speed and the right RIM propeller to zero rotational speed. The speed command to the left RIM propeller was 100, which corresponds to 5500 rpm and 0.42 N of thrust at steady state. The speed command to the right RIM propeller was 70 at which the propeller was not turning. Each propeller was placed 3 cm away from the center of gravity of the robot in the horizontal plane, the resulted torque on the robot body due to 0.42N of thrust from the left propeller is Np = 0.42N * (-3 * 10- 2 m) = -1.2 * 10- 2 Nm. Based on Equation (5.5) in Section 5.1.1, the robot was predicted to spin at 24 rad/s or 3.8 revolutions per second at steady state. However, a rotational speed of 2 revolutions per second was measured in the experiment. The robot was almost spinning during the experiment and the minimal turning radius of the robot was observed. The turning radius was about 1.5 cm, as indicated by the measured path in Figure 6-5. This turning radius was already smaller than 94 J Figure 6-5: Picture of the robot during the spinning motion 20 percent of the robot's body length which is 8.5 cm. Since this turning radius was achieved with the maximum thrust differential, it is equivalent to the minimal turning radius. In the current implementation of the robot, the propellers could not turn in the reverse direction yet due to the limitation of the motor controller. The minimum turning radius can be even smaller or zero once the robot can have two RIM propellers producing thrusts in opposite directions. The maximum turning speed of the robot was also observed. The robot turned 10 revolutions in about 5 seconds so the rotational rate was about 2 revolutions per second. At this rate, the robot could turn 90 degrees in 1/8 of a second. This rotational speed was lower than the predicted value, 3.8 rev/s. This means that the estimated damping coefficient, Nr, used in Equation (5.5), was lower than the real value. The measured rotational speed can be used to update the damping coefficient, N, = 9.5 * 10-4Nm/s in Equation (5.5). The robot would have similar turning performance in pipes with proper sensing capabilities. In open water, the robot was able to turn at various radius of curvature. It could turn at a turning radius of 4 cm at 0.3 m/s. It could turn at a radius of curvature of 1.5 cm if starting from stationary. When turning at a Tee junction, the 95 robot has to turn with a radius smaller than half of the pipe diameter in order to avoid bumping into the pipe walls. A smaller turning radius will provide the robot with more freedom in choosing the path of turning. It can then follow the path of the smallest fluid disturbance, minimal energy consumption or the highest success rate. The minimal turning radius of this robot is much smaller than 5 cm and thus the robot meets the turning radius criteria. However, the robot also needs proper sensors in order to perform a successful turn at the Tee junctions. Sensors like cameras or range finders are necessary to locate the Tee junction in advance, so the robot can prepare for the turn and turn at the exact location. Pressure sensors and accelerometers can help the robot to estimate the disturbance due to fluid forces during the turn. 6.4 Summary of Results The current robot was capable of both following straight lines and conduct sharp turns. A simple PID controller implemented on the robot was able to correct errors in the robot's heading due to RIM propeller output noise and disturbance from the environment. The robot could turn at a radius of curvature that was a fraction of its body length. When starting from a stationary condition, the robot could turn with a radius of 1.5 cm or 18 percent of its body length. When moving at 0.3 m/s, the robot could turn with a radius of 4 cm or 47 percent of its body length. This small turning radius is sufficient for a successful turning at a Tee junction, while it can be improved even further when the reverse thrust function of the robot is enabled. The current turning radius was achieved without reverse thrust. The experimental results have two significant implications on the future work on this in-pipe maneuverable robot. First,. the robot has sufficient actuation performance for in pipe maneuvers. It can go straight and turn with a very small radius of curvature. Different control strategies can be evaluated on this robot for the best in pipe maneuver performance. Second, this robot needs more sensing capability for successful in-pipe maneuvers. so far, the robot was tested only in open and static water. 96 Chapter 7 Conclusion and Recommandations In this project, a maneuverable robot for in-pipe leak detection is designed, fabricated and tested experimentally. The robot is of an ellipsoidal shape with a smooth exterior. This shape minimizes the possibility of damage in the case of collision. This robot uses two customized micro RIM propellers as actuators. These RIM propellers are safe and powerful, providing up to 0.8N of total thrust for the robot to maneuver in a fluid environment. This robot is also equipped with an embedded micro controller for feedback control. The robot was tested in open water. It exhibited abilities to follow straight lines and correct for heading errors. The robot shape allows it to turn in the fluid easily with very small radius, a fraction of its body length. Following straight lines and making sharp turns are necessary for the robot to perform missions in confined environments such as pipes. Advanced sensing and control are recommended for the future work. The robot was tested only in open water so far. To successfully operate in pipes, the robot must have appropriate sensing and control capabilities. It needs sensors and controllers to monitor and maintain its position in the radial direction. This is important for the robot to operate in straight pipes. The robot also needs to locate a Tee junction ahead of time in order to plan for the turn at this location. This is important for a robot that is going to maneuver in complex pipe networks. 97 98 Appendix A Robot CAD Model In this appendix, the technical drawings of the prototyped robot are presented. 99 D C1 85 54.12 20 1310.7&0- 52.00' -- -R20. 65 R25.27 5 R21.88 --------------- DC) TOP VIEW --------------- 82 .6 1--- ----------- As per CAD file All exterior surfaces --------------------- (0- FRONT VIEW3 6 - -INIERPRt NEXT ASSE 4 APPUCATN 2 ON 24 USED COMMENTS: G.A. MFG APPR. ENG-APPR. CHECKED DRAWN NAME 2 DATE FRIGHT VIEW SECTION F-F 2. --- 22.50 -- 12.79 F F INMILLMETERS UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE ABS PLASTIC GEOM ETRIC TrAEANCNG ER: 3 SCALEDRAWING AS PER 3D PRINT DO NOT 0 19.10 SR18.15 R12 - R22.1 6 -- R19.71 TITLE: Main1 Body 1 WEIGHT: SHEET Main] Body 1 SIZE DWG. NO. B SCALE: 1:1 REV 1 OF 1 C) CI Cd 0 0 0 -o C:) ho C A L 0.8 ces odel ----- -- -- As per CAD for all duct su - ---------- SECTION A-A SCALE 1: 1 7 -- Y FRONT VIEW SCALE 1:1 19.0 0 0- 23.55- 41.62- ON -- - M)~ c~~r-oC' AS 3D PRINTED 3 %CALE DRAWING 3J COMMENTS: MFG APPR. ENG APPR. CHECKED --- OTHERWISE SPECIFIED: DO N MATERIALASPAic ABS PLASTIC DIMENSION5 AREIN MILLIMETERS UNLESS ~co ------ -- TED 42.50t---------- A ----- --- ----- ---------- -I NEX7 AS5Y 4 APP4CATION NAME 0' DATE 2 TITLE: SIZE B rETAIl B SCALE 2 : 1 SHEET 1OF REV Horizontal cross section DWG. NO. Main body 2 SCALE: 1:1 WEIGHT: I C B A Cl 0 0 0 -o t4-4 ; i 'I D R18.75 49.02 - R21.58 r R20.27- C FRONT VIEW I" BOTTOM VIEW 50.00 C 5 9.35 367 1.50 NEXT ASSY 4 APPICA KiN USEE ON . .18 2.98 21.58 NLES 3 COMMENTS: QA MFG APPR. ENG APPR. CHECKED DRAWN4 SECTION C-C INMILLIMETERS OTHERWISE SPECIFIED: DIMENSICN ARE PER:. ABS PLASTIC INTERPRF GEOMETRIC TOL.ERANCING, NAME 2 DATE TITLE: Cap SIZE DWG. NO B Cap SCALE: 2:1 WEIGHT: 2 AS PER 3D PRINT 3 DONOTSCALEDRAWING REV SHEET I OF 1 D C) Q H- Q0 w D R20 C'T R 17.20 ------- (A) T ---------- ------ - 10 09 0 9.65 120.000 5.10 4.15 0 1.80 -----~ ~ ~- --------- TOP VIEW C4C' --R19.51 120.000 FRONT VIEW NEXT ASSY 4 APP4CATON USED ON ARE IN MILMETERS UNLESS OTHERWISE SPECIIED DIMENSIONS INTERPRE7 GEOMETRIC ABS PL ASTIC tOLER ANUNC3 PER:. AS PER 3DPRINT DO NOT SCALE DRAWING DRAWN I MFG APPR. E14G A PPR. . COMMENTS: G c NAME DATE RIGHT VIEW 2 BEARINGS FOR 1 PROPELLER TITLE: RIM propeller Bearing NO. REV SHEET 1 OF 1 bearing SIZE DWG. SCE SCALE: 2:1 WEIGHT: D B -D 0 CC- b --N C. bj( 104 Appendix B RIM Propeller CAD Model In this appendix, the technical drawing of the prototyped RIM propeller is presented. 105 0 5.17 /- 0 z 36 X IN -- 4 P X z m 0 0 -U -j -I 0 z 0 ;v 0 0 m m 0 Figure B-1: Technical drawing of the stator in the RIM propeller. 106 Appendix C CFD Simulation Setup In this appendix, the CFD simulation setup is presented. The simulation software is ANSYS Fluent 14.5. After the robot model is imported to ANSYS Fluent, the following settings are used for the simulation. Physics Preference Solver Preference Relevance CFD Fluent 0 H Use Advanced Size Function Relevance Center Initial Size Seed Smoothing Transition Span Angle Center Curvature Normal Angle Min Size Max Face Size Max Size Growth Rate Minimum Edge Length On: Curvature Use Automatic Inflation Inflation Option Transition Ratio Maximum Layers Growth Rate Inflation Algorithm View Advanced Options None Smooth Transition 0.272 5 1.2 Pre No Coarse Active Assembly Medium Slow Fine Default (18.0 *) Default (4.0493e-002 cm) Default (.04930 cm) Default B.09670 cm) Default (1.20) 0.174230 cm Figure C-1: CFD mesh settings. 107 A General * Vscous Bme-- Mode rn Mesh_ t. - [.. ;a k Report~uby 0.09 spawt-AIuaras (Iewn) (,-Dm .- -- + k-pgon (2eqn) L kiomega (2eqn) Tranuitonk-omega (3eqn) Type # PRw,.ea.eed o Denrity-ased Vdodty Frnulation o Relatlve Tbe water-Iqii Sohd akm "n e &Sktma (7emn) Sc ale.p4AesiaSion s Detadied Eddy Sknio~n M25 Eddy smuabn IES) oLage RNG Redzdie -C- NeM-Wd C2Epdion 1.92 M Prandd Number 1 Turbulent Treablent Prandd + Standard WVM Fncanr ScalW WdA Func" NonT*,Arkum W FuncUons C E)wtcd Wi Treatment 7) pdion Useriened i Standard Transiedt M-ea Materials Transiton SST (4 eqn) Cl L-efined Wai Fwicto Funcbons iscot Numbers PMPrandd ume In-" -1 MRRd umbe Ecuvature Corection LIW-I1 LFiiJ Figure C-2: CFD setups. (A) General solver settings, (B)Viscous model settings and (C) material settings. 108 A M Velocity Inlet B -,r Zme Nome - Zone NOW 1,iilet -t- . I IRadatinI Sed.I Zoe sM I UDS DPM VdoeySpedfln MeihW " aW&,* .. a MmNam Rerece Rmne [Ab Vex mwte 0 suparoncfn" - 1 C&W gPremmure bpascm0o aionspedeaI rDPM nIh nastrt [stmnntrwew] Relalve to Adjacent h eI lDs l Wd~b CelI Zone [. Spe~mg MehmT[brt iden Twbws Inaty vnt t (%& W Spenianty Coeffilent Marangoi Stress Fli RoughsumHelght (m) 1 0 aunD OCutl Ge et Mom LaIn hala n eUeM Zoe I sj 0Im I pha.eI Ums G&W Premearets.. Zo.. IRa Eq*jrtm Prem" Dimerbuon MAveragePrfu.emSpedkaion ] TargetMae How Rate Turtbunce Wd WallFb MM ftfthmI UM Nlatin * b5onwwy Wi Relative to Adjacent Ce Zone Mbinn Shear Caonn * No mi nmMfha Bn Ierui Radiatn Sedea tamum W1 Spdf Noe N TUWioi* tdo kMr Badaw~bie-tuc--- SpeAanty Coeffioent s mPranoro Stress ai R-0-hn0 Height 00) 10[oib WdRomnm - - co n - --- nm . ... -- ------. 0. . 5 .. - -- Figure C-3: CFD boundary conditions at four boundaries: (A) inlet, (B) robot surface (C) outlet, and (D) pipe wall. 109 -- - ------ -- - - --- Reference Values c52pTR!! i- Solution Methods oom -hm -1 SolutionIn~talizati cou Prew-acdty _C Itabation Meftods Hvbrid Maniation SStandard Mtialaon Reerene V~aues -frM ce=e Spatil Dbpaetzatin tShear D Qgw)998.2 EnW** v o Leng&OQ1) I Prsr as@ Tererature (k) 0 2816 Velodityn/) Giradent Reference Frame - Relative to Cd Zone Absolute Pressure [Standard M4mentum Turbulent [F'st Vaiu Pes inetic Enoergy LO(MW pation Rate Trwient Di x Velodt 0 VciyGow)0.001003 Ratio of Spedfi Heats14 Non-Iterative Tae Advancement Frozen Fiux Formulation Pseudo Transent [IH 0 ZVelodty -/s) Order Tern Relaxation "0'.00375 Tubulent risaation Rate( 0. 5S968 IrtP Rese urce pMSues e IPatch... et Statst-s Figure C-4: CFD calculation settings. (A) reference values, (B) solution methods and (C) solution initialization. 110 Appendix D LabVIEW Block Diagram In this appendix, the block diagram of the LabVIEW interface for the robot's remote control is presented. -dr'.-*If---d? _______ II Area A Figure D-1: Main block diagram of the remote control interface in LabVIEW. Area A surrounded by the red dash lines is a stack of 9 frames of codes. The first frame is shown in this Figure. The other 8 frames are shown in Figure D-2. 111 .......... 0 [0..1) a Stthe robot HDT3n 0 -0000c N ruLe I-S 0 1*wrte . 0[0.1.-w uffer T rh Tum left Truefl um C RCRCRCC I I tC 13 1 .....o.l '1U -A-a~ Contr0... rvebfr FR ber 0 13131313 M Q Q Q I'~'~~fl~ 11 TMrue Manual -vr 0 sed 1000 Anual 0~ Last Message Sent Cm ftwritebuffrs 100 O~ft uffe ------- In Read ninonnnuooouun ri i -nooooooouonf E 071 Re'ad lou no g o 0 0.a L1 0 000000 0 mode - pop cmd True messae read reference fr-n and read Controller otu Actual number read arefnu oLem 112 Figure D-2: 8 subsequent frames of codes for area A in Figure D-1. mode message read Decod e V2 2 -j po 1 cmd pro 2 cmd 1 4reference 1 4 value current value conoler output PID CONY Knumber Strng 100 Figure D-3: Block diagrams of two subVIs. The first subVI "Decode V2" is used in Figure D-2. The second subVI, "PID conv string" is used in Figure D-1. 113 114 Bibliography [1] About saudi arabia: Water resources. [2] Quraishi A. A. Al-Dhowalia K. HI., Shammas N. Kh. and Al-Muttair F. F. Assessment of leakage in the riyadh water distribution network. Technical report, King Abdulaziz City for Science and Technology, 1989. [3] Shanna Cleveland. Into thin air: How leaking natural gas infrastructure is harming our environment and wasting a valuable resource. Technical report, Conservation Law Foundation, 2013. [41 A. Khalifa D. Chatzigeorgiou, K. Youcef-Toumi and R. Ben-Mansour. Analysis and design of an in-pipe system for water leak detection. In ASME International Design Engineering Technical Conferences and Design Automation Conference, 2011. [5] A. Khalifa D. Chatzigeorgiou, R. Ben-Mansour and K. Youcef-Toumi. Design and evaluation of an in-pipe leak detection sensing technique based on force transduction. In ASME InternationalMechanical Engineering Congress and Exposition, 2012. [6] K. Youcef-Toumi D. Chatzigeorgiou and R. Ben-Mansour. Design of a novel inpipe reliable leak detector. IEEE/ASME Transactions on Mechatronics, 2014. [7] K. Youcef-Toumi D. Chatzigeorgiou and R. Ben-Mansour. Modeling and analysis of an in-pipe robotic leak detector. In IEEE InternationalConference on Robotics and Automation, 2014. [81 K. Youcef-Toumi D. Chatzigeorgiou, You Wu and R. Ben-Mansour. Reliable sensing of leaks in pipelines. In ASME Dynamic Systems and Control Conference, 2013. [9] E. Dertien and S. Stramigioli. Basic maneuvers for an inspection robot for small diameter gas distribution mains. In Robotics and Automation (ICRA), 2011 IEEE InternationalConference on, pages 3447-3448, May 2011. [10] Brenden Epps, Julie Chalfant, Richard Kimball, Alexandra Techet, Kevin Flood, and Chrysssostomos Chryssostomidis. Openprop: An open-source parametric design and analysis tool for propellers. In Proceedings of the 2009 Grand Challenges 115 & in Modeling & Simulation Conference, number 104-111. Society for Modeling Simulation International, 2009. [11] E. Mutschler H, Schempf and etc. Explorer: Untethered real-time gas main assessment robot system. In International Workshop on Advances in Service Robotics, 2003. [12] J.K. Holt and G.C Kennedy. Propulsion system for submarine vessels. US Patent 5306183, 1994. [13] Adzly Anuar Iszmir Nazmi Ismail and etc. Development of in-pipe inspection robot: a review. In IEEE Conference on Sustainable Utilization and Development in Engineering and Technology (STUDENT), 2012. [14] Vickers A. L. The future of water conservation: Challenges ahead. Technical report, Water Resources Update, Universities Council on Water Resources, 1999. [15] Dongwoo Lee, Jungwan Park, Dongjun Hyun, GyungHwan Yook, and Hyun seok Yang. Novel mechanisms and simple locomotion strategies for an in-pipe robot that can inspect various pipe types. Mechanism and Machine Theory, 56(0):52 - 68, 2012. [16] Anirban Mazumdar. Control Configured Design for Smooth, High-Maneuverable, Underwater Vehicles. PhD thesis, Massachusetts Institute of Technology, 2013. [17] Franz S. Hover Michael S. Triantafyllou. Maneuvering and Control of Marine Vehicles. 2002. [18] T. Nishimura, A. Kakogawa, and Shugen Ma. Pathway selection mechanism of a screw drive in-pipe robot in t-branches. In Automation Science and Engineering (CASE), 2012 IEEE InternationalConference on, pages 612-617, Aug 2012. [19] National Water Research Institute Meteorological Service of Canada. Threats to water availability in canada. Environment Canada. [20] Pipeline and US Department of Transportation Hazardous Materials Safety Administration. Significant pipeline incidents, 2013. [21] S.H. Lai S.M. Abu Sharkh and S.R. Turnock. Structurally integrated brushless pm motor for miniature propeller thrusters. In IEEE Proc. Electr. Power Appl., volume 151, September 2004. [22] You Wu. Internal report mrl yw 002a: Design of omnidirectional in-pipe maneuverable vehicle. Technical report, Mechatronics Research laboratory, Massachusetts Institute of Technology, October 2013. 116