Project
| # | Title | Team Members | TA | Documents | Sponsor |
|---|---|---|---|---|---|
| 8 | Accurate Pick and Place Arm |
Ian Chan Michael Talapin Nithin Durgam |
|||
| # Accurate Pick And Place Robotic Arm Team Members: - ndurgam2 (Nithin Durgam) - ianchan2 (Ian Chan) - talapin2 (Michael Talapin) # Problem With the rapid growth of automation, robotic arms are becoming increasingly common in manufacturing facilities, research laboratories, and other environments that require precise and repeatable manipulation. Our goal is to design and build an accurate pick-and-place robotic arm and demonstrate its capabilities using a chessboard. A chessboard provides a challenging and intuitive test of the system’s precision. To reliably pick up and place individual chess pieces without disturbing the surrounding pieces, the arm’s end-effector must achieve approximately 1 mm of positional accuracy. Reaching this level of precision requires every part of the system (mechanical design, electrical components, computer vision pipeline, kinematics, and control algorithms) to work together accurately and consistently. Our primary demonstration will allow a user to select any chess piece or position on the board and specify a destination. The robotic arm will then identify the requested location, pick up the piece, and place it at the desired position while avoiding interference with nearby pieces. If time permits, we would like to extend the project by allowing the robotic arm to autonomously play a complete game of chess against a human opponent. This would add another layer of complexity by combining the arm’s existing perception and manipulation capabilities with board-state recognition, move planning, and a chess engine. Since accuracy is the goal and not speed, we will follow a 5+10 and 10 + 10 format. # Solution At a high level, our goal is to avoid the complexity and cost associated with traditional multi-joint robotic arms, where every additional degree of freedom requires another motor, sensor, and control system. Instead, we plan to use a simpler and more elegant mechanical architecture designed specifically around the requirements of the task. The arm will consist of two links that provide planar motion across the x-y plane, while the end-effector moves vertically along the z-axis to pick up and place chess pieces. On the electrical side, custom PCBs will integrate sensors such as magnetic encoders and Hall-effect sensors to accurately determine joint position and provide reliable feedback for the control system. The software stack will tie the entire system together. Closed-loop PID controllers will provide precise joint positioning, while a computer vision pipeline will identify chess pieces and determine their locations on the board. These positions will then be converted into robot coordinates and passed through the inverse kinematics system to determine the joint commands required to move the end-effector to the desired location. # Solution Components ## Mechanical Design The mechanical architecture of the robotic arm consists of three actuated joints: Joint 0, Joint 1, and the Z-axis joint. Joint 0 will use a NEMA 34 motor, Joint 1 will use a NEMA 23 motor, and the Z-axis joint will use a NEMA 14 motor. The overall goal of the mechanical subsystem is to provide a rigid, accurate, serviceable, and easily accessible structure while creating enough space for the electrical hardware, sensors, PCBs, and wiring required by the rest of the system. Because the electrical and software subsystems depend heavily on the physical geometry of the robot, mechanical accuracy and repeatability are critical. Joint 0 is located at the base of the arm and provides the first rotational axis. Because this joint must move the combined mass of the remaining arm, end-effector, motors, and payload, it will experience the largest torque requirements and will therefore use a NEMA 34 motor. The base will also contain the primary power distribution hardware for the system. Adequate space should be provided for power distribution, the PCBs, terminal blocks, protection circuitry, connectors, and cable routing. Communication and programming interfaces should also be externally accessible so that a computer can connect to the robot without requiring the enclosure to be opened. An overhead camera mount will extend from the rear of the base and position the camera above the chessboard. This structure must be rigid and accurately positioned because the computer vision system depends on a known transformation between the camera and robot coordinate frames. Movement or misalignment of the camera could introduce errors that propagate through the vision, inverse kinematics, and motion-control systems. The mount should therefore provide a repeatable camera position and allow for calibration when necessary. Joint 1 provides the second rotational axis required for planar x-y motion. This joint will use a NEMA 23 motor and must maintain high structural stiffness while minimizing backlash and mechanical play. The surrounding arm structure must provide enough internal space for encoders, Hall-effect sensors, and wiring. Cable routing should prevent wires from being pinched, excessively bent, or interfering with joint movement. Serviceability is also an important design requirement. Components located around Joint 0 and Joint 1 should be accessible through removable covers or panels so that faulty electronics or sensors can be replaced without significantly disassembling the arm or disturbing its alignment. Bearings should support the primary mechanical loads rather than relying entirely on the motor shafts. The Z-axis joint provides vertical motion for the end-effector and will use a NEMA 14 motor. A lead screw, linear rail, or similar mechanism can be used to provide controlled vertical movement while minimizing lateral play. The required travel distance should allow the end-effector to clear the tallest chess piece and safely move across the populated board. The end-effector should also provide some mechanical tolerance for small positioning errors produced elsewhere in the system. A wider capture range, tapered gripping surfaces, or compliant features could help guide slightly misaligned pieces into the gripper. Additional mechanical requirements that should be defined include joint ranges of motion, link lengths, payload capacity, allowable backlash, z-axis travel, mechanical end stops, cable strain relief, motor cooling, bearing selection, and clearly defined mechanical reference points. These specifications will directly affect motor sizing, forward and inverse kinematics, computer vision calibration, and the overall positioning accuracy of the robot. ## Electrical/PCB Design The electrical and PCB subsystem acts as the bridge between the robot’s mechanical hardware and software. Its two primary responsibilities are motor/joint control and power distribution. The overall goal is to provide the software with reliable sensing and communication interfaces while safely distributing power throughout the arm. For motor and joint control the current design will use NEMA 23 stepper motors paired with MKServo57D CAN motor drivers. CAN will serve as the primary communication bus across the robot, allowing the Jetson, custom PCBs, and motor drivers to communicate over a shared network. This reduces wiring complexity and provides a robust communication architecture that can be expanded as additional sensors or joints are added. Each joint will also require accurate position feedback. Magnetic encoders will be incorporated to measure joint position with sufficient resolution for precise end-effector positioning. Hall-effect sensors or limit switches will also provide known mechanical reference positions during startup and calibration. These reference sensors remain useful even when absolute encoders are used because certain encoders, such as the AS5047P, may require a known physical position when establishing or verifying their zero offset. The custom PCB in the arm will interface with these sensors, handle signal conditioning where necessary, and communicate sensor information to the Jetson over CAN. The electrical architecture should also include accessible debugging and programming interfaces to simplify testing and component replacement. The second major responsibility is power distribution. A central power-distribution system located within the base will take power from a single external source, a laboratory power supply, and distribute it to the different voltage domains required throughout the robot. The primary rails are expected to include 24 V for the stepper motors, **5 V for servos (if used) or sensors that require 5v, and 3.3 V for low-voltage sensors and PCB logic. The Jetson will utilize its own wall plug, since it will not be directly located in the arm and will just plug into the CAN interface. A small OLED status display may also be incorporated into the base to display information such as joint states, CAN connectivity, faults, and power status. Alternatively, these diagnostics may be presented through a locally hosted software dashboard. ## Software Subsystem The software subsystem is critical to the overall accuracy, reliability, and robustness of the robotic arm. It can be divided into three primary components: the state machine, the computer vision pipeline, and the joint control system. The goal of this subsystem is to coordinate the complete pick-and-place operation while minimizing positioning error and ensuring that the robot behaves predictably under different operating conditions. The state machine manages the sequence of actions required to move a chess piece. A typical operation begins by identifying the requested piece, either from a user command or, as a stretch goal, from a chess engine. The vision system determines the piece's position, after which inverse kinematics calculates the required Joint 0 and Joint 1 positions. The arm then moves above the piece, lowers the Z-axis end-effector, secures the piece, raises it to a safe clearance height, moves to the destination, lowers and releases the piece, and finally returns to a home position where the camera has an unobstructed view of the board. Each state will contain specific completion conditions and fault checks before transitioning to the next state. This structure keeps the software organized while making debugging and error recovery significantly easier. The computer vision pipeline is responsible for detecting and classifying chess pieces and determining their positions relative to the robot. An overhead camera will capture the chessboard, and a custom vision model will identify each piece and determine its location. Camera calibration and coordinate transformations will then convert image-space measurements into the robot's coordinate frame. If a stereo camera is used, depth information can provide additional distance measurements, although the known geometry of the chessboard may also be used to determine positions. These coordinates will then be passed through the inverse kinematics system to generate target joint positions. If the chess-playing stretch goal is implemented, the detected board state will also be provided to a chess engine, which will determine the desired move and detect game-ending conditions such as checkmate. Finally, the joint control system ensures that each commanded joint reaches and maintains its desired position within an acceptable error tolerance. Closed-loop PID controllers will use encoder feedback to continuously compare commanded and measured joint positions and correct deviations. A startup homing and zeroing procedure using Hall-effect sensors, limit switches, or encoder reference positions will establish a consistent robot coordinate frame each time the system powers on. Together, these components provide the perception, decision-making, and low-level control required for accurate and repeatable pick-and-place operation. # Criterion For Success * Achieve end-effector positioning accuracy within 1 millimeter. * Successfully pick and place chess pieces without collisions. * Correctly identify and localize all chessboard pieces. * Repeat commanded motions consistently across extended operations. * Establish accurate joint zero positions after every startup. * Complete pick-and-place sequences without manual intervention. |
|||||