Home care robots enable users to do more by automating basic home care tasks, such as
vacuuming and mopping. I've been working at iRobot as a software engineer since February
2017. I develop code for path planning, state machines, robot user interfaces, sensor
calibration, test automation, and production line verification. I am responsible for
developing new features, debugging robot behaviors, and testing the firmware on all of our
home care robots that are currently under development.
I work closely with the UI/UX team to implement new motions, behaviors, and interfaces on
the robots that make sense to our users. While it is critical that our robots clean
effectively, it is also important for the robot's movements to make sense to a user. If a
user understands the robots actions, the user will trust the robot to operate without
interfering or without even being present. For example, the path of our vacuum cleaning
robots can be seen in the carpet due to the way the carpet has been brushed. My team and I
have implemented code so that the robots follow organized, parallel ranks, so it is obvious
to a homeowner that the robot has cleaned the entire room.
I also work with electrical, mechanical, and systems engineers to make sure our robots are
able to navigate any household without becoming stuck on various obstacles. This requires
close inter-team collaboration to determine the root cause of issues and determine fixes in
both hardware and software. This also requires extensive regression testing, which I help
automate, to make sure updates to the robot don't negatively affect performance in other
scenarios.
My work has also brought me to our production facilities in China to support software
versioning, sensor calibration, and production line testing. This gave me insight into
manufacturing at our company and was a very interesting cross-cultural experience.