flexivrobotics / flexiv_rdk

RDK (robotic development kit) for Flexiv robots. Supports C++ and Python. Compatible with Linux, macOS, and Windows.
Apache License 2.0
58 stars 18 forks source link

[INFO] isConnected() does not appear to reflect the current connection state #71

Closed skyrimax closed 1 month ago

skyrimax commented 1 month ago

We have an introspection loop that sends an heartbeat if the robot is connected. We used the isConnected method to determine wether or not the connection was alive, but, in one of our tests, we shut down the Flexiv controller and our program continued to send the heartbeat. (isConnected() still returned true) Is that intended behavior? If yes, how do I check if the RDK is actually connected to the robot.

Edit: We also tried reconnecting using the connect() method then priniting robot state. Usually, the states would vary slightly, especially joint position and forces, but after we turn the controller off and on as a reconnection test, the state stayperfectly identical. This leads us to believe that calling connect() to reconnect to the controller once it is back online does not actually re-establishes the connection.

We are using the python RDK.

pzhu-flexiv commented 1 month ago

@skyrimax This issue no longer exists in the just-released v1.4, please give it a try.