6DOF arm pick up software with inverse kinematics
- Clone the repository
- Run
mvn install
(given Maven is installed). - Install
librxtx-java
(on Ubuntu) orjava-rxtx
(on Arch). - Run
ln -s /dev/ttyACM0 /dev/ttyS80
. Double-check if no other resource was previously using/dev/ttyACM0
. - Run
ls -al /dev | grep ttyACM
, check the owning group (dialout or uucp). - Run
sudo usermod -aG <owning_group> <your_username>
. - Relog.
- Run the application from your IDE.
-
public Map<Integer, Double> calculateResults(double x, double z, double angle)
calculates angles for servos
takes distance to the target(x), given height(z) and an angle to pick the item up at(angle)
returns Map with servo number and calculated angle -
public void setPosition(double x, double y, double height, double angle, short speed, boolean clench)
sets up arm to given position
takes x and y coordinates of the target, given height, angle to pick the item up at, servo speed and boolean flag which is responsible for clenching