This video details significant progress in the design and planning phases for the "Ball Butler" robot, covering CAD updates, communication protocols, and power management. Initial CAD work involved redesigning the hand motor's encoder from a noise-susceptible SPI to a robust RS485 type, necessitating a structural rearrangement that, serendipitously, improved several design aspects.
The speaker outlines the robot's programming logic using Keycad diagrams, demonstrating how CAN bus arbitration bits are strategically leveraged to embed "throw numbers" for robust communication and how Cyclic Redundancy Checks (CRC) ensure data integrity for pose and feedback information. A major electrical challenge—voltage drops during high-acceleration ball throws—is addressed by upgrading Ball Butler to a 24V power system with substantial capacitance and a brake resistor to maintain power stability. The video concludes with an update on a practical thermal camera mounting project and a revised project timeline, highlighting that personal commitments will limit future streams to only four more this year, impacting the goal of completing Ball Butler's ball-throwing functionality.
Progress on Ball Butler: Design, Electronics, and Software Planning
0:16 Encoder Redesign for Noise Immunity: The hand motor's SPI encoder (AS5047P) proved unreliable due to electromagnetic noise from nearby brushless motors, leading to frequent signal dropouts. The new plan involves using a more robust RS485 encoder (AM212/213).
0:38 Strategic CAD Redesign for Encoder Integration: Instead of a complex differential driver solution, the RS485 encoder will be placed at the end of the spool. This required raising the robot's main ring and pitch axis, a change that unexpectedly optimized motor clearance, string routing, and allowed for a sealed, dust-free lid.
0:17:47 ODrive S1 for Ball Throwing: The smaller ODrive S1, which includes native support for a brake resistor, is chosen to replace the ODrive Pro for the hand motor. This will efficiently dissipate energy during the motor's deceleration phase.
0:25:29 CAN Frame Optimization with Embedded Throw ID: The speaker creatively uses "sneaky extra bits" within the CAN bus arbitration ID (the lower 5 bits of the 11-bit ID) to embed a "throw number" (up to 32 unique throws), allowing for more detailed communication within a single 8-byte CAN frame.
0:29:01 Keycad for Robust Software Planning: Extensive use of Keycad for diagramming the robot's programming logic has proven invaluable, enabling early visualization of data flow, inputs/outputs, and identification of potential design and electrical errors before physical implementation.
0:37:30 Enhanced Feedback with CRC and Throw ID: Ball Butler will provide feedback on the ball's landing velocity (Vx, Vy, Vz) to Jugglebot. This feedback includes both the "throw number" and a CRC16 checksum to ensure data integrity and accurate pairing of commands and responses, especially for future scheduled throws.
0:43:11 Ball Butler Pose Tracking via CAN: Ball Butler's position and orientation (XYZ coordinates and quaternion) will be sent from Jugglebot's motion capture system via two CAN frames. A CRC check is employed to ensure that these split frames are correctly reassembled.
0:51:59 Detailed Control System Architecture: The robot's control pipeline involves solving inverse kinematics to determine optimal yaw and pitch angles, throw velocity, and release time. A P-loop (proportional control) is planned for the yaw motor's brushed motor.
1:06:50 Automated Error Handling for ODrives: The Teensy microcontroller (TNC) is slated to manage ODrive errors, aiming to autonomously reset or resolve common issues without requiring manual USB intervention.
1:09:51 Addressing System Ground Loop Concerns: A comprehensive system-level wiring schematic highlighted a potential ground loop affecting the Jetson. The speaker plans to investigate if the 45V power supply has isolated outputs, which would resolve this concern.
1:24:59 Capacitor-Based Power Stability for Throwing: To prevent voltage drops during high-current ball throws, Ball Butler will operate on a 24V power system (derived from a 45V-to-24V converter) and incorporate three 4,700 uF electrolytic capacitors, providing a large energy buffer to stabilize the bus voltage.
1:37:10 Value of Comprehensive Planning: The speaker strongly emphasizes that the time invested in detailed planning, particularly using Keycad, has been highly beneficial for identifying and preemptively addressing numerous potential problems across mechanical, electrical, and software domains.
1:50:13 Practical Thermal Camera Mount Solution: A previous side project, a positional thermal camera mount, was successfully completed using coolant tubes wrapped in heat shrink, proving useful for diagnosing electronic components.
1:55:01 Revised Project Timeline and Goals: Due to upcoming personal events (wedding, honeymoon, travel), only four more streams are anticipated this year, making it uncertain if Ball Butler's core ball-throwing functionality will be fully operational by the end of the year.