As an intern at Tormach, Sadiq Wanyaka found himself thrust into the world of robot arms, a terrain he initially knew little about. His primary role involved writing test programs for the Tormach ZA6 industrial robot, alongside crafting tutorial-style programs shared on GitHub. His journey from software development to the intricacies of robotics was unexpected but incredibly rewarding for the University of Wisconsin-Whitewater student, as you can see in the video below.
"I didn't know anything about robots," Sadiq admits. His background was rooted in software and app development rather than hardware or robotics. However, when presented the opportunity to operate the Tormach ZA6 robot, he delved into the unknown, diving headfirst into learning how to use it effectively.
Initially, Sadiq's approach was simple: instructing the robot arm by providing it with basic points to move to. Yet, the simplicity became monotonous, prompting him to explore more innovative methods. "I thought, why not give it an image and let it figure out by itself?" he reflects. This idea led to the development of software that could interpret images and autonomously draw paths accordingly.
Demo of the ZA6 robot interpreting an image and autonomously drawing
Tormach's ZA6 Robot: Challenges faced. Issues REsolved.
However, this wasn't without its challenges. The system would occasionally freeze when tasked with drawing complex paths. To overcome this, Sadiq adopted a method of breaking down paths into smaller segments, allowing the ZA6 robot arm to handle them without crashing. His process involved using openCV to extract lines or contours from images, converting them into black-and-white representations to guide the robot arm.
To assist with pen stability, Sadiq and a classmate created a new, more durable pen holder for the ZA6 robot. Visit the Tormach Forums to download the 3D files for the pen holder and view the additional parts needed for this application.
Experimenting with the za6 robot software
Beyond technical challenges, Sadiq also ventured into refining the software's functionalities. He experimented with 'smoothing' functions to enhance the drawing precision, acknowledging that this feature varied in its utility based on the complexity of the image. Additionally, he aspired to introduce editing tools within the software to refine the paths, allowing for greater precision and control in the drawing process.
While Sadiq's primary focus was on programming the robot arm, he also explored PathPilot® UI functionalities, experimenting with conversational waypoints to guide the ZA6 robot arm's movements. Visit our PathPilot product page to learn more about our easy-to-use conversational programming software.
Internship Reflections
Sadiq's internship allowed him to explore the depths of robotic programming, honing his skills in a field previously uncharted. "I was oblivious about robot arms and stuff like that," he confesses. But his love for software stems from its accessibility. The inclusive nature of software development, where even the simplest code can create something meaningful, deeply resonates with him.
"Anyone can get out there and like learn how to program and create a piece of software," Sadiq says enthusiastically. "It doesn't have to be the best piece of software. Even if it says ‘hello,’ that’s it; That’s the beauty of software development. It's accessible to anyone and it's up to you to decide whether you want to do it or not."
Ultimately, Sadiq's internship at Tormach serves as a transformative experience, transitioning him from a software-focused background to a realm where robotics and software intersect, paving the way for exciting future endeavors.