iiwa_stack icon indicating copy to clipboard operation
iiwa_stack copied to clipboard

using TCP_NODELAY transport hint

Open jacknlliu opened this issue 5 years ago • 2 comments

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?

jacknlliu avatar Aug 24 '19 09:08 jacknlliu

~~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?~~

jacknlliu avatar Aug 24 '19 09:08 jacknlliu

@SalvoVirga which commit is the last using the KONI interface? I hope to test the HW in this case.

jacknlliu avatar Aug 29 '19 14:08 jacknlliu