Applied Invention
Robotics R&D internships · Summer 2024 & 2025
Overview
During my freshman and sophomore summers I interned at Applied Invention, a robotics research and development company. Although I cannot be too specific about my work, I can say I worked on a small team in automated greenhouse technologies. I was given open-ended projects and largely free reign to solve the problems I was interested in.
My first summer, I worked closely with the mechanical team packaging sensors and motors for a conveyor system. I assisted the software team in programming ROS 2 drivers for these sensors. I learned about DFM for injection molding, sheet metal bending, and various TCP/UDP protocols. Together, my projects ultimately delivered an iteration on a plant conveyor system.
My second summer, I was primarily a software intern. I was responsible for rewriting and simplifying the planning software for the facility's main gantry. I also got assigned many quick ROS 2 sensor wrappers from low-level serial communication to Minio database uploads. Finally, I got to stick my nose into dev-ops with some Kubernetes cluster management and data logging.
More Detailed Work
Here's a more specific list of the projects I worked on over both summers.
-
Rewrote and simplified a facility-wide robotics planner for a multi-room gantry in ROS 2. Specifically added the functionality for:
- Communication with the large high speed doors separating rooms of facility over OPC-UA.
- Inspecting arbitrary locations in the greenhouse. To this end, I programmed an interface for taking synced images (<50μs delay) on 6 networked cameras. The cameras communicated over GigEVision and photos were uploaded to MinIO with diagnostic information published over MQTT.
- Designed an IP65 rated water-tight PCB enclosure for an NFC scanner with Autodesk Inventor. Ensured DFM for inject molding.
- Created a low-level C++ serial communication driver for an absolute encoder using only Standard Libraries.
- Iterated on a conveyor system for more consistent package placement:
- Researched new sensor options. Created testing rig for various magnetic/metal detecting sensors to determine acceptance cone and sensitivity.
- Programmed a ROS 2 motor driver using the IP/Ethernet protocol over TCP/UDP with dynamic assembly objects for digital IO from sensors.
- Integrated new sensors with PCB breakout board and wrote ROS package for a final test allowing for consistent conveyor motion.
- Managed CI/CD and deployment of Kubernetes pods running all ROS 2 nodes for a large-scale greenhouse.
- Wrote a lightweight CDIST / Fluentbit config allowing journalctl ROS logs on embedded computers to be pushed to Opensearch.
- Programmed a Modbus wrapper for facility lights in ROS and desinged a modular event system for alerting facility-floor employees of different robotic activites.
- Generally used shop tools for manufactuing parts including a manaul mill/lathe, CNC bending break, water jet, SLA/FDM printers, and a ton of rivets.