In this course, I learned how to coordinate the motion of multiple actuators to execute complex manipulation tasks in the physical space. Using position and velocity kinematics, trajectory planning, robot forces and dynamics, computer vision, and control, my team and I developed a pick-and-place system for manipulating and sorting colored balls with an OpenManipulator-X 4-degree-of-freedom robot arm and camera in MATLAB.
In this course, I learned how to integrate information from multiple sensors to help a robot understand more about its environment. My team and I programmed four Romis to navigate using data from each other via a lightweight messaging protocol called MQTT, a reflectance sensor, a rangefinder, and a camera with April tags. We mapped and visualized the robot’s environment using maze traversal and SLAM. Our robots communicated with field elements via IR emissions using a version of the NEC Infrared Transmission Protocol. We detected pitch angle using a complementary filter of the accelerometer and gyroscope.
In this course, I expanded my mechanical design skills through designing a four-bar linkage lifting mechanism for a Romi using the Solidworks CAD software. The purpose of the robot was to remove and place panels on a 45° roof, a 25° roof, and a platform using the four-bar linkage and a gripper, as well as to transport the panels. I programmed the four-bar, the gripper, and the mobile robot base using state machines in C++.
In this course, I learned the basics to robotics engineering through designing and programming a VEX robot with my team to climb up a ramp and score game pieces when teleoperated and autonomously. I learned how to design and analyze electric circuits, use static analysis to determine torque and power requirements, and write programs for performing tasks that involve sensors and actuators.