general info
- all of the code has been used and tested on Ubuntu 22 LTS
- both Python and C++ implementations are available, there's examples of both (both for the libraries used and for their combination)
- all of the code is initially written in C++ - ur_rtde uses pybind to generate Python bindings, and so does pinocchio for the most part. thus almost all the functions used are identical across languages, and so c++ implementations can be looked at to analyse python functionality as well
- matrix operations are done with Eigen in C++, and NumPy in Python
libraries used and their purpose
- ur_rtde for the client-side real-time interface for ur robots (we have a UR5e)
- pinocchio for dynamics intergration, and other robotics-related math on the client side
- gepetto for visualization (has nice integration with pinocchio)
- Dockerized ur simulator as a simulator (it's a bad simulator, but it uses the same robot-communication API as the real robot, making coding and testing easier)
contents of this repository
- basic documentation can be found in the docs directory: official UR documentation on the robot's capabilities and its interface, short instructions on installing Ubuntu, ur_rtde, pinocchio, gepetto and the simulator
- basic closed-loop inverse kinematics control is implemented in both C++ and python. the C++ version uses exponential coordinates and the Lie group formalism, while the Python version uses homogenious transformations and basic matrix operations
- robot description files: urdf containing both the arm and the gripper, and other urdf-related files
- more algorithms will be added over time
- documentation will be expanded according to demand
- some basic tests will be here as well, while full projects built on this repo will be in separate repos