final_report_.pdf |
Welcome to my DREU Experience!
Week 1
Upon arrival, we met with our Research mentor Dr. Chris Crawford. It was a great conversation. We discussed the opportunities that can be opened when attending graduate school and the potential benefits. After our conversation regarding graduate school, he put us right to work. But instead of jumping straight to coding we had to watch extensive videos on coding in javascript and how to use electron. As a computer science student, I knew the challenges that will come with learning a new language. So for my first week, my time was spent going through coding camp videos on electron and javascript.
Upon arrival, we met with our Research mentor Dr. Chris Crawford. It was a great conversation. We discussed the opportunities that can be opened when attending graduate school and the potential benefits. After our conversation regarding graduate school, he put us right to work. But instead of jumping straight to coding we had to watch extensive videos on coding in javascript and how to use electron. As a computer science student, I knew the challenges that will come with learning a new language. So for my first week, my time was spent going through coding camp videos on electron and javascript.
Week 2
As time progressed with watching tutorial videos on electron and javascript, we began to build cool apps/projects. Throughout the week we presented our cool inventions to Dr. Crawford. Towards the end of the week he provided us with more instructions regarding the videos and useful tips on noticing important syntax in the videos when moving forward. Not too many issues this week, since we are still learning coding techniques and following the information that the instructor in the video is presenting to us.
As time progressed with watching tutorial videos on electron and javascript, we began to build cool apps/projects. Throughout the week we presented our cool inventions to Dr. Crawford. Towards the end of the week he provided us with more instructions regarding the videos and useful tips on noticing important syntax in the videos when moving forward. Not too many issues this week, since we are still learning coding techniques and following the information that the instructor in the video is presenting to us.
Week 3
During our third week, the progression through the javascript and electron videos have concluded. We have developed a firm concept and understanding of the ins and outs of this new topic. After a mid-week meeting with Dr. Crawford, he provided a new section of videos which regarded UI (user interfaces) to make our programming look more useful to others viewing our work, called React. So with our learning of javascript and electron, I also gained experience in coding with React. I gravitated towards downloading and using a coding framework called "Visual Studios." The javascript and electron videos were a total of 12.5 hours worth of information, while the react has 48.5 hours dealing with just react! So, this week is now focused on incorporating react into our electron projects. We haven't yet dove into the project regarding Dr. Crawford's research, but we are getting closer.
During our third week, the progression through the javascript and electron videos have concluded. We have developed a firm concept and understanding of the ins and outs of this new topic. After a mid-week meeting with Dr. Crawford, he provided a new section of videos which regarded UI (user interfaces) to make our programming look more useful to others viewing our work, called React. So with our learning of javascript and electron, I also gained experience in coding with React. I gravitated towards downloading and using a coding framework called "Visual Studios." The javascript and electron videos were a total of 12.5 hours worth of information, while the react has 48.5 hours dealing with just react! So, this week is now focused on incorporating react into our electron projects. We haven't yet dove into the project regarding Dr. Crawford's research, but we are getting closer.
Week 4
We are finally starting our programming project! This week, we are developing a controller for the drones. It's surprisingly fun and entertaining. We must learn how to create a server, that incorporates a User Interface that sends commands from the front end, that relay messages to the backend which is then processed to the drone. Also, we hosted a couple summer camps where we presented our project this week. The camp not only was to display our current work, but potential bugs we will need to fix to work towards a more finished product.
We are finally starting our programming project! This week, we are developing a controller for the drones. It's surprisingly fun and entertaining. We must learn how to create a server, that incorporates a User Interface that sends commands from the front end, that relay messages to the backend which is then processed to the drone. Also, we hosted a couple summer camps where we presented our project this week. The camp not only was to display our current work, but potential bugs we will need to fix to work towards a more finished product.
Week 5 - 6
We have continued to progress in creating our own drone controller. By setting manual buttons that communicates actions to the drone to be followed, we gained a better understanding on how to send commands to the drone. By the end of the week we tried to incorporate EEG (brain analyzer) that reads in brain activity to gauge the interaction between the user. We discovered problems when trying to understand how to use the EEG library that was provided to us. Especially, to find the important data needed to be analyzed to determine which commands will be sent to the drone. In other words, we need to find what sensors on the EEG, that correlates to the engagement of the individual wearing the headset
We have continued to progress in creating our own drone controller. By setting manual buttons that communicates actions to the drone to be followed, we gained a better understanding on how to send commands to the drone. By the end of the week we tried to incorporate EEG (brain analyzer) that reads in brain activity to gauge the interaction between the user. We discovered problems when trying to understand how to use the EEG library that was provided to us. Especially, to find the important data needed to be analyzed to determine which commands will be sent to the drone. In other words, we need to find what sensors on the EEG, that correlates to the engagement of the individual wearing the headset
Week 7
We continued to work on EEG. We now understand how to send engagement to the drone properly. As we learned how to send information from the EEG to the drone, we now have to develop a process for which the drone can interpret the information. Challenges regarding the communication to the drone has become difficult to solve. Some difficulties involve: the speed in which the drone can receive and interpret data due to command delay time, interpreting error messages coming from the drone and how to improve functionality, and how readable our code is for others to work alongside us. As we discussed with our mentor, Dr. Crawford, most of our questions can not be answered online, due to the fact we are doing research on things that have not be done before, so essentially we are treading on new waters. He has begun emphasizing the importance documentation, by giving us a platform called "Macdown," which is a markdown application that allows for documentation.
We continued to work on EEG. We now understand how to send engagement to the drone properly. As we learned how to send information from the EEG to the drone, we now have to develop a process for which the drone can interpret the information. Challenges regarding the communication to the drone has become difficult to solve. Some difficulties involve: the speed in which the drone can receive and interpret data due to command delay time, interpreting error messages coming from the drone and how to improve functionality, and how readable our code is for others to work alongside us. As we discussed with our mentor, Dr. Crawford, most of our questions can not be answered online, due to the fact we are doing research on things that have not be done before, so essentially we are treading on new waters. He has begun emphasizing the importance documentation, by giving us a platform called "Macdown," which is a markdown application that allows for documentation.
Week 8 - 9
We created a presentable application of our "Drone Controller." As we presented our work to Dr. Crawford, he wanted us to upload our progress to github. Not really having a lot of knowledge on github, it was more of a struggle than imagined. This week we spent time on the many uses and steps for uploading our work to github. We found a pretty great book on discussing the ins and outs of github, by googling "git book." By Friday, we uploaded all of our current programming to git and learned how to add commits, branching, and the importance of having our projects on git for future reference. Side note, I feel the understanding of git is very important in the computer science field, as programmers come together to make code more efficient for the people that will use it.
We created a presentable application of our "Drone Controller." As we presented our work to Dr. Crawford, he wanted us to upload our progress to github. Not really having a lot of knowledge on github, it was more of a struggle than imagined. This week we spent time on the many uses and steps for uploading our work to github. We found a pretty great book on discussing the ins and outs of github, by googling "git book." By Friday, we uploaded all of our current programming to git and learned how to add commits, branching, and the importance of having our projects on git for future reference. Side note, I feel the understanding of git is very important in the computer science field, as programmers come together to make code more efficient for the people that will use it.
Week 10
By the end of this week, we will present our work at a Neurocamp, hosted by our mentor (Dr. Chris Crawford). Also, at the camp, we will be monitoring and assisting kids as they work on Neuroblock, which is a block-based coding system, that implements neuro-technologies, such as EEG. Also, the presentation will prep us for future presentations at conferences, or approaching businesses. As the week progresses we will add more polish to our application, that includes basic functionality that most apps should have in place already, like command keys that will close the app, functioning viewing window for the user, and compatibility for windows computers.
By the end of this week, we will present our work at a Neurocamp, hosted by our mentor (Dr. Chris Crawford). Also, at the camp, we will be monitoring and assisting kids as they work on Neuroblock, which is a block-based coding system, that implements neuro-technologies, such as EEG. Also, the presentation will prep us for future presentations at conferences, or approaching businesses. As the week progresses we will add more polish to our application, that includes basic functionality that most apps should have in place already, like command keys that will close the app, functioning viewing window for the user, and compatibility for windows computers.
Research Description
For the research project, my partner and I were presented with a proposition for an application that is able to read in EEG data from a BCI device and relay that information to a drone. From the data received from the EEG, the application utilizes this information to control the actions of the drone. Depending on the EEG data that is received, the data could potentially relay a different command to the drone. For example, for the drone to be able to move, the engagement must be above the threshold of (.2). Once the engagement is above the threshold, the drone is able to take off. Next, whenever the engagement passes the threshold, it will be compared to the last engagement that had passed the threshold. This will determine the direction of flight for the drone. An example of this is if the engagement was greater than the engagement before then you can pass a move forward command, and if the engagement was less than the previous engagement then you can pass a move backward command. What makes this application an advancement from previous DREU programs, is the implementation of React, an interactive User-Interface, and Electron, a desktop application. While using React components, the project becomes more intriguing to use. From this implementation, we have made it easy to access this application and use it without having to have any background knowledge in Brain Computer Interfaces.
My Mentor - Dr. Chris Crawford
Dr. Crawford is a professor and a Researcher at the University of Alabama. His focus is towards the advancement of technologies that involve BCI, or Brain Computer Interfaces. In other words, how can we get efficient applications between the brain and computers. He has a lot of influential and major contributions in the computer science, despite walking across the stage recently. His work ethic and ideals have caused his mind to be a hot commodity in the field of Computer Science, as he is practically leading a new wave of technologies that seemed to be out of reach.
About Me
My name is Myles Lewis and I am an undergraduate student (class of 2021) at Morgan State University in Baltimore, Maryland.
Contact Me:
email: mylew3@morgan.edu
github: github.com/Myleslew
Contact Me:
email: mylew3@morgan.edu
github: github.com/Myleslew