Skip to content
Snippets Groups Projects
Select Git revision
  • 7ceecb5f77fc80d197ef0b437f372fd61ddae383
  • main default protected
  • rosification
  • refactoring
  • pp
  • mpc
  • realtimelogplotter
  • alv
  • gitlab_ci_podman
  • restructuring
  • viz_fix
11 results

ur_simple_control

user avatar
m-guberina authored
7ceecb5f
History

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