My role was to develop low-level code for two controllers that we had. The controllers being an Artix-7 FPGA and a 32-bit ARM processor.
•
Developed was a reset protocol between the two controllers. If one of the controllers detected a heartbeat was no longer being sent, it would initiate a reset protocol to bring the device back online. I used C programming for the FPGA controller and C++ for the ARM processor.
•
Reworked a Windows MFC application that reads log messages send from different hardware. Some of the hardware had different communication protocols such as CAN, TCP/IP, and Serial. The application had to support communication between all the protocols and be able to decode the specific logs related to them.
•
Developed software that decodes data from GPIO ports in real time and updates IP assignment depending on the value recorded.
I led a team of undergraduate students to research mechanical, electrical, and software aspects of robotics development. The software research includes the development of artificial intelligence to perform full autonomous operations. Some of the research technologies includes object/facial detection, terrain mapping, object localization and the use of SLAM algorithms using LiDAR and cameras. The mechanical research includes the research of physical design of quadrupeds such as motor configurations for the most efficient walking gaits. The development of forward and inverse kinematics to determine the location of the end effector in a wide range of cases. The physical ability to be expandable in all major links.
I assisted students who have questions regarding electrical engineering courses. This includes courses such as digital logic design, DC circuit analysis, AC circuit analysis, and electronics. I helped the students with homework questions and assisted them with test/quiz studying.