Technologies: IoT, C, Java, Swing, UI design, Linux (Gentoo), TCP/IP, sockets, full stack development
My senior team project at University of Evansville, the scope for this robot was actually quite grand. A team of electrical and computer engineering, and possibly even computer science majors, would work together on a single project. The concept was an educational robotics platform for classrooms and such. The idea was the robot could be controlled remotely, over the internet or a LAN, and also programmed using a new graphical programming language. Originally, a robot platform was to be designed from scratch, however, this required significant time and skills outside of our disciplines (we considered having a mechanical engineer student join us, but even designing motor controls and such is a challenge, not to mention sensor integration).
Instead, we used an existing platform, and built a Linux-based networked server system onto it. Additionally, the graphical programming language was removed as the scope was further narrowed. We then designed the server and client software to create a teleoperable mobile robot. The client would have a UI with at least one live-streaming camera, and a control to guide the robot. We actually implemented both forward and backward cams, complete with servo controls for remote adjustment. Despite a few initial (semi-expected) network issues, our presentation was a success and the robot was able to freely move around the room, and down the hallways of the engineering building.
I worked on the overall software and system architecture, documentation, the C back-end, and the Java/Swing front-end.