Omega Tip: Thesis Edition(!)
This week’s tip is all about using the Omega2 to control a robotic arm! The tip is brought to you by Daniel Vázquez Navarro and is actually his Bachelor’s Thesis for the Barcelona School of Industrial Engineering! Daniel used an Omega2, Expansion Dock and a third-party PWM Signal generator board to control a robotic arm that was developed by his classmates. To demonstrate the final functionality of the robot arm, Daniel has it configured to pick up and place dominos!
On the software side, Python was Daniel’s language of choice: a Python program controls the servos and creates a Websocket server that exposes an API for external resources to use the robot arm. To demonstrate this, Daniel used HTML, CSS, JavaScript, and jQuery to make a user-friendly web interface to control the robot arm from a browser:
This is a full university thesis, so it’s very detailed and full of useful illustrations and photos. It features great descriptions of:
- How to setup an Omega2 and start developing programs
- Learn how a Robot Arm works, including:
- How PWM signals drive servos
- How I2C on the Omega works & how to use I2C in Python
- Details on the mechanism of the robotic arm
- A description of the overall software architecture
- How to use the programs
- And all of the source code is included
If we had a suggestion to make to Daniel, it would be to use our Servo Expansion and save himself the trouble of porting software libraries for the external PWM board that he ended up going with.
This is an amazing resource for anybody looking to make their own Omega2-controlled robot arm. It’s very thorough, lays out all of the steps required, and gives great background info on all of the topics.