Android Robotic Manipulator - ECE1778 Graduate Course Project
This project was done as per the requirements for the course ECE1778 – Creative Applications for Mobile Devices. To give some background, this is an interdisciplinary course taught by Professor Johnathan Rose in which students from various fields are grouped with two programmers from the ECE or CS department to develop a mobile application. The students from various fields are called “Appers” and the application must belong directly to their field and apply to their research or thesis. This intersection between students resulted in many interesting and creative applications developed for the health, psychology, sociology, music, and other fields.
I enrolled in ECE1778 initially because I believed it would be a good idea to go through a project for mobile application development and learn how to develop an Android or iOS application. However I also saw the opportunity to possibly develop an application in my own field where I would act as the Apper. Ideas of using the mobile phone’s inertial sensors for robotic applications filled my head and these are what I pitched to the class to find programmers. Two programmers were interested in joining me to develop and application that would enable intuitive wireless control of a robotic manipulator simply by moving the phone around in free space. This project required two basic subsystems: the server side, a computer that communicates with the mobile phone and sends signals to the robotic manipulator, and the host side, the mobile phone and the application running on it, which reads data and sends it to the host computer. The two programmers, Paul Grouchy and Hao Yan, were responsible for developing the Android application while I was responsible for the server side application. I had some experience being and undergraduate student and Teaching Assistant for ECE470 (Robot Modeling and Control) working with the AX-12A CrustCrawler Robotic Arm, so we decided to use it as our robotic manipulator platform.
There were a series of short pitch-like presentations, called Spiral presentations, in which we were required to present our progress to date. These presentations ensured that we were on track and that we made progress throughout the semester. Finally, the course required a 10-minute final presentation and demonstration of the application's capabilities. Please click on the links below to view the slides for these presentations.
I enrolled in ECE1778 initially because I believed it would be a good idea to go through a project for mobile application development and learn how to develop an Android or iOS application. However I also saw the opportunity to possibly develop an application in my own field where I would act as the Apper. Ideas of using the mobile phone’s inertial sensors for robotic applications filled my head and these are what I pitched to the class to find programmers. Two programmers were interested in joining me to develop and application that would enable intuitive wireless control of a robotic manipulator simply by moving the phone around in free space. This project required two basic subsystems: the server side, a computer that communicates with the mobile phone and sends signals to the robotic manipulator, and the host side, the mobile phone and the application running on it, which reads data and sends it to the host computer. The two programmers, Paul Grouchy and Hao Yan, were responsible for developing the Android application while I was responsible for the server side application. I had some experience being and undergraduate student and Teaching Assistant for ECE470 (Robot Modeling and Control) working with the AX-12A CrustCrawler Robotic Arm, so we decided to use it as our robotic manipulator platform.
There were a series of short pitch-like presentations, called Spiral presentations, in which we were required to present our progress to date. These presentations ensured that we were on track and that we made progress throughout the semester. Finally, the course required a 10-minute final presentation and demonstration of the application's capabilities. Please click on the links below to view the slides for these presentations.
The final report submitted for the course details the functionality and intended use of the smart phone application, details of the overall design, screenshots from the application, the key learnings, and the ideas for future work.
Finally, below are two videos our design team produced. The first is a more functional and professional demonstration of the applications capabilities, while the second is a more comedic video that can give some insight into possible real-world use of the Android Robotic Manipulator.
Our design team decided that we would keep all of the code open-source so that it may be used for other projects. There Android application code and the server-side Matlab code can be found on the Github repository here.
Finally, below are two videos our design team produced. The first is a more functional and professional demonstration of the applications capabilities, while the second is a more comedic video that can give some insight into possible real-world use of the Android Robotic Manipulator.
Our design team decided that we would keep all of the code open-source so that it may be used for other projects. There Android application code and the server-side Matlab code can be found on the Github repository here.