iiwa_stack
iiwa_stack copied to clipboard
using TCP_NODELAY transport hint
Hi, the current iiwa_ros
using the ros TCP transport hint, but the TCP is not suitable for real-time communication. So it's impossible that using the current hardware interface implement for ros control running with 1kHz. @SalvoVirga in my practice, the motion will always be discontinuous(actually related to the SmartServo interface not the transport), did you try the ros control interface?
I tried to change the java client to use the TCP_NODELAY
transport hint, but the java side occur some errors.
I changed the following code
https://github.com/IFL-CAMP/iiwa_stack/blob/d921597de8ead744f7f452a3a4c822e663334445/iiwa_ros_java/src/de/tum/in/camp/kuka/ros/iiwaSubscriber.java#L461 to
TransportHints hint = new TransportHints().tcpNoDelay(true);
Even though the received data seems right, but the errors occur when publishing joint command to java side.
Did this repo use the latest rosjava libraries including the https://github.com/rosjava/rosjava_core/pull/295?
~~I think the issue https://github.com/IFL-CAMP/iiwa_stack/issues/158 also related to the TCP transport. In my practice, the iiwa_stack
can't work in a non-realtime environment after Sunrise 1.7. Using Sunrise 1.7, we can use the iiwa_hw
and ros control to control the iiwa robot do the continuous motion. @SalvoVirga How about things at your side?~~
@SalvoVirga which commit is the last using the KONI interface? I hope to test the HW in this case.