In the video above, viewers witnessed an ambitious project: an industrial robot, originally valued at an estimated $40,000, was acquired for a mere $200. This stark contrast highlights a significant opportunity in the world of surplus industrial machinery. The journey to resurrect such a machine, culminating in a versatile open-source robot controller, involved intricate design and persistent troubleshooting. This article delves deeper into the engineering complexities and innovative solutions showcased.
The Quest for Affordable Industrial Robotics
Modern factories often replace equipment. They demand peak reliability. Machines with minor issues are discarded. This leads to a vibrant surplus market. Industrial robots and other machines can be found for a fraction of their original cost. Imagine if your production line needed an upgrade. Buying new equipment might be out of budget. The surplus market offers a compelling alternative. However, this path is not without its challenges.
Many machines are quite old. Their electronics can become obsolete. Compatibility with modern systems is a frequent issue. Sometimes, core memory is lost. This happens if internal batteries fail. Manufacturers often provide little support. Proprietary systems further complicate matters. Repairing these units becomes a reverse engineering task. This demands significant technical skill and dedication.
Architecting a Universal Open-Source Robot Controller
Developing a custom robot controller was essential. The goal was open-source versatility. A Zynq 7020 chip forms the core. It combines two CPU cores and an FPGA. This setup allows for real-time Linux operation. The FPGA provides immense flexibility. Custom interface modules are created within it. This enables support for diverse devices. Imagine connecting almost any industrial sensor. The FPGA makes this possible on the fly. Its logic gates are rewired as needed. This forms the sophisticated brain of the open-source industrial robot controller.
Data transfers happen at incredible speeds. The FPGA processes data at 100 million cycles per second. This is far faster than the CPU’s 1,000 updates per second. High-level software communicates with connected devices. Custom circuit boards were also designed. A backplane supports various interface cards. These include modules for RS485 and RS422 connections. Up to 10 such connections are supported. Many industrial protocols utilize these standards. This ensures broad device compatibility for this custom robot controller.
Custom Drive Systems and Mechanical Integration
Servo drives are crucial for motor control. Ten assembled servo drives were ordered. These manage power and torque output. Heat sinks were custom-machined for these drives. Blind holes were threaded with specialized taps. Loctite was applied for security. This ensures no parts loosen during operation. The entire system was carefully planned. 3D models helped optimize the layout. This allowed for the smallest possible enclosure. Precise screw holes and cutouts were CNC machined.
A smaller Yaskawa Motoman UP6 robot was chosen. Shipping a 3000-pound Fanuc R2000 was impractical. The 300-pound Yaskawa was more manageable. This robot required specific encoder decoding. Its unique protocol had to be reverse-engineered. This was achieved by analyzing signals from a working controller. An FPGA module was then written. This module sends requests and decodes responses. Thus, the open-source robot controller now supports this new encoder type.
Enhancing Robot Dexterity: Continuous Rotation
The Yaskawa robot’s J4 joint had a rotation limit. It could only turn plus or minus 180 degrees. This would hinder user interaction. A continuous rotation upgrade was implemented. Salvaged slip rings were utilized. These devices carry electrical signals across rotating joints. They prevent internal wiring from twisting. Custom mounts were fabricated. The slip rings provide infinite rotation. This greatly improves the robot’s functionality. Imagine the frustration of hitting a rotational limit. This upgrade eliminates that issue.
Connecting the robot to the new controller needed bespoke cables. Original cables were too expensive. Inserts and contacts were sourced from Digi-Key. 3D-printed housings secured these components. These connectors are robust enough for testing. They provide a clean, organized interface. This avoids a “bunch of flying wires everywhere.” The overall design prioritizes both functionality and clean integration for the custom robot controller.
Software Architecture and Advanced Motion Control
The open-source robot controller’s software stack is extensive. It contains over 30,000 lines of code. A unique node programming interface is used. This blends node-based programming with ladder logic. It aims for intuitive control of simple tasks. Complex functions, like kinematics, are also handled. Each node network updates at 1,000 times per second. The program optimizes node execution order. This prevents accidental feedback loops. Device descriptor files simplify firmware compilation. They define communication variables. This allows easy integration of new settings for the industrial robot controller.
Implementing Inverse Kinematics for Intuitive Control
Jogging the robot in joint space is basic. Real-world control often requires XYZ coordinates. This demands inverse kinematics. This calculation determines joint angles. It finds the angles needed to reach a target XYZ position. An iterative solver was employed. It repeatedly steps towards the goal. This continues until the target is reached. Compiler optimization was critical for performance. It provided a 10x speed boost. This ensured real-time kinematic calculations for the custom robot controller. The system runs at 1 kilohertz. Imagine moving the robot’s end effector directly. Inverse kinematics makes this possible.
A 3D mouse serves as the primary input device. It provides intuitive control. Its XYZ position is mapped to the robot’s end effector. This allows for direct manipulation. It feels like “clicking and dragging the robot around.” The mouse was also reverse-engineered. Its internal FPGA had failed. Quadrature encoders were used instead. An STM32 microcontroller reads these encoders. Data is sent over a serial port. This provides robust and responsive control.
Ensuring Robust Safety and Power Management
Safety is paramount for industrial robots. An E-stop board manages critical functions. It controls main power contactors. Motor brakes are also released by it. Servo drive activation is handled securely. All external safety inputs connect here. These include enable switches and E-stop buttons. A two-channel wiring ensures redundancy. No critical functions rely on software. This increases reliability significantly. Redundant relays are used for control. Imagine a single point of failure. The dual-channel design prevents this.
Additional safety measures were implemented. Lidar scanners define safety zones. These create virtual “vertical walls.” If an object enters a zone, the robot stops. These are safety-rated industrial devices. They perform constant self-checks. Errors are detected quickly. Bypassing these scanners is controlled. A specific sequence of button presses is needed. This bypass is also temporary. This prevents accidental prolonged deactivation. It ensures safety during necessary interventions for the industrial robot controller.
Advanced Power Systems with PFC Drive
The power system includes a PFC drive. This drive regulates input current. It filters power through a line reactor. Excess energy is sent to brake resistors. This prevents voltage spikes when the robot decelerates. Power factor correction optimizes efficiency. It aligns input current with AC voltage. This ensures best performance. The PFC drive can even boost voltage. A 120-volt input can be converted. This allows running motors at full speed. This drive also supports regenerative braking. Energy can be sent back to the grid. This reduces heat dissipation.
Precharging is managed upon startup. Isolation and precharge contactors close first. Resistors limit inrush current. The PFC drive then builds DC voltage. Once a safe level is reached, main contactors close. The precharge contactor then opens. Troubleshooting this system required effort. Initial errors related to phase current sensing appeared. This was found to be due to complex interactions. The drive’s internal checks were temporarily adjusted. This ensured timely completion for exhibition. The project highlights the complexities of developing a robust, open-source industrial robot controller, a testament to what is achievable with salvaged machinery.
Probing the $200 Robot and Its Random Overlords
What is the main idea behind this robot project?
The project focuses on acquiring expensive industrial robots cheaply and then building a new open-source controller to make them work again. This allows people to use powerful robots without the high cost of new equipment.
Why would someone buy an old, cheap industrial robot?
Old industrial robots can be bought for a tiny fraction of their original price, offering a significant opportunity for affordable automation. Factories often discard machines with minor issues, creating a surplus market.
What is the custom ‘open-source robot controller’ mentioned in the article?
It’s a newly designed electronic system that acts as the robot’s brain, built to be flexible and compatible with many different industrial robots. It uses a special chip called a Zynq 7020, which combines a CPU and an FPGA for powerful control.
How does the project ensure the robot is safe to use?
Safety is a top priority, with a dedicated E-stop board that manages critical functions like power and motor brakes. Lidar scanners also create virtual safety zones, stopping the robot if anything enters them.

