The communication is done 125[Hz]. The repo is based of the RopeRobotics code: (https://github.com/martinbjerge/ur-interface)
- Defines minimum jerk planner and designs minimum-jerk trajectory
- Implements PD and Impedance Controller for Peg-In-Hole tasks
- Includes 3 different modes of operation:
run_robot.py
: allows for usage of impedance or PD control for insertion taskrun_robot_with_spiral.py
: allows for usage of spiral search or circular motion of the peg while in contact.run_robot_spiral_ml.py
: integrates trained model in Tensrflow for overlap detection -> incomplete
main.py
: main run file allowing for control of the robot. It defines 3 modes, described earlier as well as determined what type of controller will be used and what type of position error will be used.controller.py
: included impedance controller implementation and parametershelper_functions.py
: include files for data labeling, spiral search and circular motion variables.angle_transformation.py
: included various transformations used in robotic tasks.
URBasic/urScript.py
: included various functions for robot communication. The functions need to follow UR format that can be found here: https://www.universal-robots.com/download/manuals-e-series/script/script-manual-e-series-sw-511/URBasic/urScriptExt.py
: included functions similarly to urScript.py however they are more advanced. This includedforce_mode
andservoj
which are non-blocking functions allowing for real-time communication with the robot.Onrobot/Exconnector.py
: file used for utilizing OnRobot F/T sensor and reading the measurements.