To quickly introduce myself, I am a senior at Plano Senior High School, and I plan to major in Computer Science at the University of Texas at Austin this fall. I wish to enter this project into the Hackaday 2018 Hardware Design and Robotics Module challenges.  

While driving down a busy road, I saw construction workers building concrete pillars just a few feet away from dangerous, high-speed traffic. Here, one single mistake could trigger a massive catastrophe. When I arrived home, I pondered about the dangers associated with construction in general. From a quick google search, I learned how the construction industry has one of the highest rates of workplace injuries and fatalities. I wondered what could be done to reduce these numbers, and over a course of a few days, I realized that robots could substitute humans in these risky working environments.

While I was not familiar with conventional robotics at the time, I had prior experience with flying and building quadcopters. I decided that I could develop an autonomous quadcopter/drone by integrating some sort of computer to give flight instructions to it’s flight controller, which would control the movements of the quadcopter.  To enable the craft to construct objects, I envisioned some sort of additive manufacturing device on the drone. Essentially, this combination of technologies would mimic a 3D printer in a theoretically unbounded space. I planned that the drone would follow some programmed path (like a 3D print head), while additive manufacturing component would extrude building materials like liquid cement or concrete. I named my proof-of-concept the Novel Integration of Additive Craft and Additive Manufacturing (NIACAM) and

I set out to actualize my idea; however, I was faced with a strict budget restraint. I had access to three-hundred dollars, and thankfully, free access to a 3D printer at school. To make a quadcopter on a budget, I CAD modelled and 3D printed my own frame, which I assembled by hand. I purchased inexpensive brushless DC motors and electronic speed controllers and screwed them onto the plastic frame. I then connected a Raspberry Pi to my drone and enabled  it to send data to the Naze32 flight controller with a USB cable. I was able to control the motors through the Pi (via serial commands) using a library called pyMultiWii (created by GitHub user Alduxvm)

For the additive manufacturing aspect of my project, I realized that could not attach an actual 3D printer on my small quadcopter, so I created my own external material extruder using a high-torque hand drill, PVC piping, and syringes. My setup could not extrude liquid cement, so I substituted it with liquid silicone. I called my first prototype NIACAM I

Tuning my contraption took the majority of my time. I did not have the mathematical knowledge to solve the necessary equations to perfectly control the path of my drone or the flow rate of my extruder, so I simplified the scenario by programming my quadcopter to fly a simple zig-zag pattern and setting a constant flow rate for my extruder.

To assess the performance of my device, I created a computer-vision program to track and analyze the performance of my drone. My background research showed me that using the accelerometer and gyrometer on the quadcopters would not be suitable to track position as this method is susceptible to exponentially growing errors over time.

My initial tests indicated that my quadcopter was not accurate at all (on average 45% error). My hand assembly caused the drone motor arms to be slightly misaligned, which most likely caused the quadcopter to not follow the desired zig-zagged path. I had some money left over so I CAD modelled a new frame and purchased new motors. This updated proof-of-concept (NIACAM II) demonstrated a much higher adherence to the programmed flight path with an average of around 20% error.

After a year since I started this project, I have learned learned many new concepts in the fields of mathematics, programming, and of mobile robotics. While developing an industrial scale of my prototype is not physically feasible, I am currently working on several programs to simulate larger renditions of the NIACAM system to expand the scope of my project.

     I will attach a pdf document explaining my project in greater detail along with relevant CAD and python files (for the Raspberry Pi) very soon.