This video chronicles a two-year endeavor to restore and upgrade an abandoned industrial robot (a Yasawa Motoman UP6) by developing a comprehensive, open-source control system. The core of the new controller utilizes a Zynq 7020 (combining CPU and FPGA) to manage motors, process encoder data, and execute kinematic calculations, entirely replacing proprietary hardware and software. Key challenges included reverse-engineering unknown encoder communication protocols, designing and assembling custom servo drives with careful thermal management, and implementing a multi-layered safety system incorporating a two-channel E-stop board and certified laser scanners. Despite encountering and mitigating significant electrical and mechanical issues (e.g., thermal paste failure, inductor arcing), the project successfully culminated in the robot's intuitive demonstration at the Open Sauce event, controlled by a modified 3D mouse. The creator emphasizes the open-source nature of the entire system and discusses future plans for broader utility and accessibility.
Summarizing "Reviving an Abandoned Industrial Robot"
0:00:01 The Appeal of Old Industrial Robots: Inexpensive industrial robots can be acquired from surplus stores, but often come with reliability issues or missing components due to their age and previous heavy usage.
0:00:46 Challenges of Legacy Electronics: Old industrial machines frequently suffer from obsolete electronics, software incompatibility, or memory loss (due to dead batteries), with manufacturers typically offering little to no support.
0:01:51 Incompatible Controller Dilemma: The project began with a robot having a functional but incompatible controller, leading to incorrect movements due to differing joint settings and gear ratios.
0:02:39 Two-Year Open-Source Controller Project: A dedicated two-year effort was undertaken to build a versatile, open-source controller capable of running various industrial robots, featuring open-source hardware and software.
0:03:23 Zynq 7020 as the Brain: The controller's intelligence is a Zynq 7020 chip (CPU and FPGA), which provides real-time Linux processing and customizable logic gates for versatile device interfacing and processing.
0:04:52 Modular Backplane and Serial Communication: A custom backplane with four slots allows for various interface cards, including those supporting up to 10 RS485/RS422 serial connections for industrial protocols.
0:05:59 PCBWay Partnership: PCBs for the servo drives, E-stop board, and serial interface cards were manufactured and assembled by PCBWay, which also provided laser-cut metal enclosures.
0:06:32 Custom Servo Drive Assembly: The creator fabricated and assembled custom heat sinks for the servo drives, ensuring flat mounting and secure threading for proper thermal management.
0:07:14 OpenSauce Event Deadline: The project was accelerated by a 3-month deadline to prepare the robot for exhibition at OpenSauce, requiring continuous operation for public interaction.
0:08:41 Downsizing for Transport: The original plan to use a 3,000lb Fanuc R2000 was scrapped in favor of a smaller, 300lb Yasawa Motoman UP6 for easier shipping to the event.
0:09:03 Reverse-Engineering Encoders: A major hurdle involved decoding the proprietary communication protocol for the Yasawa robot's encoders, achieved through analyzing signals from a working controller provided by a contact.
0:11:06 Encoder Module and Fit: A new FPGA module was developed to support the newly decoded encoder protocol, and 3D modeling confirmed all components would fit tightly within the enclosure.
0:11:34 Electrical Assembly and Protection: High-voltage areas were protected with conformal coating. The controller was assembled with breakers, contactors, a line reactor, and brake resistors, with a total of nine servo drives.
0:12:52 Custom Brake Power Supply: Two 48V power supplies were used in series to provide the non-standard 90V DC required to release the robot's spring-loaded motor brakes.
0:13:14 Extensive Wiring and Lighting: The wiring process was complex due to numerous connections, including two wires per motor phase. An LED strip was installed for improved visibility inside the enclosure.
0:14:16 System Testing and Mobility: After resolving communication issues, the drives functioned properly. A welded steel frame with wheels was built for mobility, with plans for motorized wheels.
0:15:04 Intuitive 3D Mouse Control: A salvaged and modified 3D mouse (with an STM32 replacing its original FPGA) was integrated to provide intuitive XYZ position control for the robot.
0:16:40 Continuous Rotation Upgrade: Joint 4 (J4) of the robot was modified with a slip ring to allow continuous 360-degree rotation, preventing internal wiring damage.
0:17:26 Custom Robot Cabling: Custom connectors and 3D-printed housings were fabricated to connect the robot to the controller, as original cables were prohibitively expensive.
0:18:04 Steam Deck as Teach Pendant: A Steam Deck was configured to act as a teach pendant, incorporating safety switches and plans for a user interface.
0:18:21 Node-Based Software Architecture: The controller's software, comprising 30,000 lines of code, uses a custom node programming interface (combining node and ladder logic) for defining robot behavior and logic.
0:20:46 Inverse Kinematics Implementation: An iterative C++ solver was developed for inverse kinematics (calculating joint angles from a desired end position), with compiler optimizations significantly improving performance.
0:22:47 XYZ Jogging and 3D Mouse Integration: The robot can be jogged in XYZ space, and the 3D mouse's position is mapped to the robot's end effector, enabling intuitive "click and drag" control.
0:23:36 Practical Application: While precise tasks like writing are challenging without force feedback, the robot excels at intuitive tasks like picking up and moving objects (e.g., foam blocks for the event).
0:24:20 PFC Drive and Voltage Issues: Issues with the PFC (Power Factor Correction) drive's algorithm and output filter inductors (rated for too low voltage) led to operation at a lower voltage (60V) as a temporary compromise.
0:26:56 Electrical Short Circuit: A MOSFET in one drive exploded due to an arc to the grounded heat sink, caused by inadequate dielectric properties of the thermal paste. The drives were re-insulated, and surprisingly, the MOSFET remained functional.
0:30:17 Gear Reducer Noise: A crunching noise in Joint 2 at higher voltages (above 100V) was attributed to internal arcing within the output filter inductors, leading to a decision to operate at lower voltages.
0:31:54 Robust Safety System: A two-channel E-stop board handles critical safety functions (power, brakes, drive enables), independent of the microcontroller. Software checks provide additional redundancy.
0:33:04 Laser Scanners for Perimeter Safety: Certified laser scanners were used to create vertical safety walls around the robot, detecting intrusions and triggering stops, with a bypass function for recovery.
0:35:09 OpenSauce Event Logistics and Success: The 1200lb robot setup was efficiently shipped terminal-to-terminal, set up at OpenSauce, and operated constantly without controller issues, despite frequent safety trips.
0:36:40 Notable Interactions: The robot was used by various individuals, including Vsauce's Michael and a surgeon experienced with Da Vinci robots, highlighting its intuitive control for object manipulation.
0:37:47 Future Outlook and Open-Source Commitment: The system is progressing towards potential productization, with a survey for interested buyers. All project files and software are fully open-source on GitHub.