This repository is consists of most of the motion primitives needed for motion generation in real-time. Main components are:
- Robot Models - Models of different robots expressed with orocos-kdl
- Robot Interface - Robot interface for gazebo and real. Abstract class and it's derivatives
- Robot Control - P2P motion generation, Spline generation
- Modern Robotics - ROS wrapper for ModernRoboticsCpp
- IK solvers - Differential Kinematic Solvers for generation of inverse kinematic solutions using Exponential Product formulation.
-
Robot interface is defined in
robot_interface/include/robot_interface.hppwith following attributes.robot_interface/src/robot_class.cppandrobot_interface/src/robot_interface_sim.cppare the implementations of the interface for real and simulation. Currently, kuka_msgs are used specific to serial robots. -
For motion generation,
robot_control/scripts/KUKA_TESTS.cppis an example for the sequential implementation and is commented. The motion sequence is as follows:- Given the current position of the current configuration, move the robot to the desired starting configuration.
- Given the desired way-points, spline to generate continuous motion and command around ~200Hz.
-
Force control with admittance control -
robot_interface/include/robot_interface_force_control.hppis the interface for force control equipped with a ATI F/T sensor. The netft_utils is used to read force/torque data. TODO: An example implementation