Brief

Intending to improve productivity, our focus fell upon the constraints of robot arms. The bounding area of limitation is a reoccurring issue when working with machines, as the area of reach is defined by the physical limitations of the physical components. In this blog, we investigate a solution to increase the range reach for a robotic arm and thus simultaneously increase productivity within a given system, allowing a more progressive and efficient solution.

Inspiration

1 – Pick and Place Parts using While Loops by Visual Components; 2,3 – Typical Small scale ABB robots Reach specifications; 4 – UR Robotic arm Reach Specification

Concept and Design

Solution

The reoccurring issue of the bounding area can be seen across all industries and future industries looking to implement robotic arms into a work environment. The idea of a robot cargo car that could collect and dispatch cargo from point A to point B was created to create a solution that could be easily adapted to different environments. From the pick and place inspiration, the robot arm would pick up the item and reposition it to a new position. A simple task in principle, however, to align positioning with no sensors upon a system created a large amount of error to occur. So, calculating the projected error and adjusting the code as such to compensate for the misalignment created a successful system.

The Network

To create a controlled and efficient system, the idea is to use a network between the robot arm, robot cargo car, and computer.

Network

The robot car cargo would host a server on its WIFI (Barduino) to receive, execute and send back commands across the server. When receiving an applicable command on the server, the robot car cargo could perform the following commands: forward, backward, left, right, stop and toggle the robot arm. This could successfully be achieved with the correct data given across the server.

ESP32

The computer is the master of the system despite not hosting the server. However, it is the server’s primary sender of data and commands. With a graphical user interface, we can efficiently input prompts with the given distance or angle to be pushed onto the server for the robot cargo car to receive. All inputs from the graphical user interface are logged and saved in a file, which can be read by the computer once again. These logged commands could be executed in the same order to receive the same results. This makes the robot car cargo, which has minimal memory, more efficient as the system stores all the data within the computer.

Barduino-B is the receiver for the robotic arm. It connects to the server and reads the outgoing commands until it receives the prompt to toggle the movement of the robot arm, at which point the Barduino-B executes the grasshopper code in the robotic arm to move to the pick-up location in which the robot arm picks up the given object. This direct line of communication between the robot car cargo and the robot arm is very fast and efficient, almost instantaneous.

ESP32

Issues

As mentioned in the solution, the lack of sensors meant we had to adjust the build. Due to other factors such as payload weight, friction, wheel size and servo issues, we had to compensate mathematically in our calculations for pathfinding.

As seen in the performance log, there is a misalignment from the projected angles and distances, which we had to adjust. When moving forward and backwards, there was a multiplication of 1.6 to the projected distance when these movements were executed, so we adjusted to account for this. Regarding turning, we found specific integers that worked with specific angles with slight errors.

Final Design of CODE CARGO

Future Development

Going forth with this project there are a few directions to go towards. With the current model, adding some physical sensors, such as a camera or other distance-detecting sensors, would allow more real-time adaptation for errors that can be fixed quickly. Machine learning methods, such as object detection and pathfinding, can be simply implemented. The potential of adding a robot arm to the system would allow for more adaptive pick and place. Revamping the current model, we can move towards more progressive models using animal structures. Learning the networking and system communication methods will allow us to move towards a more unique, efficient and progressive system.