Project developed for the high school graduation final exam. It's a robotic arm capable to draw simple images or move objects with a claw.
The robotic arm has been build with ordinary servo-motors and joints designed by myself using SolidWorks and created via 3D-printing (files here).
It has two different working configurations:
- Drawing: the arm is equipped with a slot for a pancil. An image is processed using a python script, controlled commands are sent via serial communication and executed.
- Claw: the arm is controlled via radiocontroller (Turnigy TGY-i6 AFHDS) to move in the 3D space and open/close a claw.
- braccio: generates a txt file containing the coordinates of the points the arm must follow to draw the image.
- classes: contains basic classes to manage points an lines. It's used in braccio to create the drawing steps.
- comunicazioneArduino_1_0: manages the communications with the Arduino controlling the servomotors. It reads the file generated by braccio and sends the correct commands to the robotic arm.
- disegna: simulates the drawing process of the robotic arm using the
turtle
library. - dfs: generates a txt file like braccio, but implementing a DPS graph visit to compute the drawing steps (previous version).
- Code testing: proveCV_test, testComunicazioneArduino, testBraccio.
- Test files:
1.jpg
,lines.txt
,prova.jpg
,prova.txt
.
Containing different scripts, e.g. reading the receiver linked to the radiocontroller (e.g. RX_PCI_MUX
), controlling the robotic arm via python script (braccio_automatico
), using the calw config. (braccio_pinza
, braccio_radiocomandato
), testing scripts used in the development (e.g. test_pwm_2
, controllo_vel_motori
, test_comunicazione_python
).
Contains the working scripts for each application:
- arduino, claw: arduino script to control the robotic arm in claw configuration.
- arduino, drawing: arduino script that reads and executes commands received on serial port.
- python, drawing: it's devided in two main scripts:
- image_analysis: generates a txt file containing the coordinates of the points the arm must follow to draw the image. Images examples are saved in the folder images and the image to be analysed is specified in the config file. The generated file is saved as
path.txt
. - Arduino_communication: generates and sends the commands to the robotic arm via serial port based on the text file
path.txt
.
- image_analysis: generates a txt file containing the coordinates of the points the arm must follow to draw the image. Images examples are saved in the folder images and the image to be analysed is specified in the config file. The generated file is saved as