Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
If you use grl in research please consider providing a citation.
If you use grl in research please consider providing a citation:
Special thanks to: Ashkan Khakzar @ashkaan372 for the UDP based JAVA driver implementation
grl was under the hood for the winnning entry to the KUKA Innovation Award 2016!
This release includes performance and stability improvements made during the course of preparing for the kuka innovation award. Workarounds include a brief hold position when switching between smart servo and cartesian impedance mode, and a separate thread for HandGuidingMotion objects which prevents the application from exiting due to exceptions thrown with an unknown source.
This release represents the largest set of new features ever released for grl, and it incorporates extensive testing of the APIs.
The driver is called grl_kuka_ros_driver
and supports ROS indigo with two unique1 features:
grl can utilize the following iiwa_stack packages (quoted from their overview):
grl 3.0 particularly integrates with iiwa_stack commit b3ac4c3. Future versions may work too but haven't been tested.
Do not follow the iiwa_stack setup with iiwa_stack + grl in particular do not change the configuration of the KONI port on the robot, because this disables the low latency FRI features of grl. It is ok to follow the general C++ ROS setup and compilation steps. You can even add their java code to your Sunrise Project (it won't run because iiwa_stack currently requires the use of ports reserved by KUKA, this is why they disable FRI and reconfigure KONI).
New KUKA Sunrise OS + Connectivity Suite driver application to control the KUKA iiwa that installs onto the arm controller box. A C++ application on your computer interfaces with this driver.
The C++ driver classes KukaDriver, KukaFRI, and KukaJAVA provide an easy to use interface you can port to your own system and middleware. In essence, these are the C++ driver classes other library authors should use. Typical users would most likely be better served by the V-REP drivers or the ROS drivers.
Here is a partial list of completed tasks incorporated into this release:
Sprint 4 - Cut file Integration, Project Checkpoint, Seminar Presentations Sprint 5 - Optical Tracker Integration the atracsys fusiontrack optical tracker API is not yet released publicly. Post an issue on github if you are interested.
Sprint 7 - Final system testing and Poster Session
Due to https://github.com/zeromq/azmq/issues/99 the java driver may prevent applications from exiting. I will consider switching to directly using libzmq in the future if it is necessary.
1 Driver features are unique as far as the authors are aware at the time of release
Some outdated files had been merged and fixed a few bugs in the scripting and applications.