Introduction: Robotic Arm Drawings From Digital Images

This project is created as a course assignment at the California State University, Long Beach; taught by Behnaz Farahi: DESN 551: Materials, Tools, and Techniques of Prototype. This project was made in collaboration with Anabel Cardenas and Jinny Choe

In this project, we created physical artwork through AI images using a Universal Robots UR10e robotic arm. The results were made in collaboration with Rhino 7 and Grasshopper.

Supplies

Mid Journey, Photoshop, and Illustrator were used in the development stage. Furthermore, Grasshopper and Rhino7 played key roles in controlling the UR10E robotic arm. The user must download the Robots extension for their Grasshopper as well as use appropriate files that link usable tools to the robotic arm's software.

Step 1: Creating Interesting Graphic Material

To start things off, our group created a series of images through text prompts using Mid Journey. This system uses text-to-image AI to create really advanced aesthetically pleasing outcomes. Bound to the creativity of one's words, users can visualize their ideas with quick-to-develop results.

Step 2: Refining the Outcomes

To develop them further, the images were upscaled in Mid Journey as well as altered in Photoshop and Illustrator.

Step 3: Making the Images Readable for the Robot

The robot does its best to understand the images imported into Grasshopper, however, the robotic arm's tool path height correlates directly with an image's color values. Due to this, multi-colored images received various levels of depth which made it nearly impossible to draw a flat picture. To circumvent this, images were inverted and set to only black-and-white values.

Step 4: Understanding the Files in Grasshopper

This grasshopper file has various functions that allow users to alter their image's outcome in multiple ways. You can set the direction of tool paths, depth, lift height, and reactiveness in a picture. In addition, you can alter the number of lines of code sent to the robot. This function was crucial for the success of this project as our images would overload the system if all were sent directly to the arm.

Step 5: Running Tests

At first, we ran into various problems when attempting to operate the robotic arm. There are a lot of moving parts when working with the robot and certain systems in place disrupted our progress. The following list is the issues we ran into as well as the solutions discovered.

  • The robotic arm talks directly to the computer using an IP address. If firewall protection is set up, the computer's IP is most likely masked and the robot will have trouble connecting.
  • If the resolution in the Grasshopper file is set too high, the program will have trouble running a large number of tool paths.
  • If an image has multiple color values, the deepest Z value will be the darkest color. The only way to run image of this sort would be by having a very low Z lift distance to keep the drawing tool connected to the paper.

Step 6: Revision

When working on our first set of images, we felt the distance between tool paths was too far apart which caused the image to be less readable. Additionally, to make our artwork more detailed, we decided a variety of tool path directions and colors could add more dimension.

Step 7: Finalizing the Product

Step 8: What's Next?

To push this project further, a more complex usage of colors could bring our results to another level. While the perfect lines drawn from the robot were nice, the depth, speed, and angle of the writing tool have the potential to create more organic styles of work that could leave some really impressive outcomes.