TechmanRobotInc / tmr_ros1

TM Robots supporting ROS1 drivers and some extended external applications. (experimental) (not support the new TM S-Series)
Other
49 stars 21 forks source link

Question about compatibility #11

Closed karl-exwzd closed 3 years ago

karl-exwzd commented 3 years ago

I've been using this deprecated repository in the past to control a TM5-900, it worked well. I wanted to get the latest developments from the current repo, however it seems it is not quite as compatible... could anybody confirm if I need anything special to get it working?

My command is the following: roslaunch tm_driver tm5_900_bringup.launch robot_ip:=192.168.29.130

This is the response I get when trying to connect to the robot with the package:

[ INFO] [1608510596.564114104]: TM_ROS: robot_ip:=192.168.29.130
[ INFO] [1608510596.564138041]: TmCommunication::TmCommunication
[ INFO] [1608510596.564147077]: TmCommunication::TmCommunication
[ INFO] [1608510596.566706255]: TM_ROS: set base_frame to base
[ INFO] [1608510596.567343849]: TM_ROS: set tool_frame to tool0
[ INFO] [1608510596.567356071]: TM_DRV: halt
[ INFO] [1608510596.567360810]: TM_DRV: start
[ INFO] [1608510596.567364390]: TM_SVR: start
[ INFO] [1608510596.567372362]: TM_COM: ip:=192.168.29.130
[ INFO] [1608510596.567695305]: TM_COM: rv:=-1
[ INFO] [1608510596.567705264]: TM_COM: O_NONBLOCK connection is fail
[ INFO] [1608510596.569312660]: TM_ROS: publisher thread begin
[ INFO] [1608510596.569364821]: TM_ROS: (TM_SVR): is not connected
[ INFO] [1608510596.569372284]: TM_ROS: (TM_SVR): reconnect in 
[ INFO] [1608510596.569381287]: 3.0 sec...
[ INFO] [1608510596.619428697]: TM_ROS: sct_response thread begin
[ INFO] [1608510596.619453304]: TM_ROS: (TM_SCT): is not connected
[ INFO] [1608510596.619460260]: TM_ROS: (TM_SCT) reconnect in 
[ INFO] [1608510596.619467062]: 3.0 sec...
[ INFO] [1608510597.122629467]: 2.5 sec...
[ INFO] [1608510597.676502149]: 2.0 sec...
[ INFO] [1608510597.726761399]: 2.0 sec...
[ INFO] [1608510598.230302886]: 1.5 sec...
[ INFO] [1608510598.787011536]: 1.0 sec...
[ INFO] [1608510598.836567544]: 1.0 sec...
[ INFO] [1608510599.340367464]: 0.5 sec...
[ INFO] [1608510599.895135950]: 0 sec
TM_ROS: (TM_SVR): connect(1000)...
[ INFO] [1608510599.895258054]: TM_COM: ip:=192.168.29.130
[ INFO] [1608510599.895645066]: TM_COM: rv:=-1
[ INFO] [1608510599.895724682]: TM_COM: O_NONBLOCK connection is fail
[ INFO] [1608510599.895772205]: TM_ROS: (TM_SVR): is not connected
[ INFO] [1608510599.895802391]: TM_ROS: (TM_SVR): reconnect in 
[ INFO] [1608510599.895873842]: 3.0 sec...
[ INFO] [1608510599.944422885]: 0 sec
TM_ROS: (TM_SCT) connect(1000)...

I can ping the robot PC, nothing has changed besides the ROS driver.

I noticed that perhaps the ports were different: in the deprecated repo it was 6188 and in the current one it is 5890 and 5891. This is all very confusing and I hope i don't need to revert to the deprecated driver.

Yuki-cpp commented 3 years ago

Disclaimer : I have been using a tm5-700 so what I'm going to say might be irrelevant to your issue

Hello, Your command seems correct. And the latest version of the driver work for me on the ports 5890 and 5891.

Since it was working for you with the previous driver you can maybe try checking the latest updates on the robot side since it might have changed the ports used for communication.

I haven't found any robot side version requirement but since the driver is still experimental I wouldn't be surprised if that was the culprit.

jvdtoorn commented 3 years ago

Did you make sure that your TMFlow version is 1.80? That version is required in order to use this driver.

karl-exwzd commented 3 years ago

@julespalles I updated TMFlow to 1.80.5300 as otherwise I couldn't see the Project page.

However, as you mentioned in #5, everything started working once I changed the Etherent port (and restarted).

So to properly give an answer to this issue: no, this driver is not compatible with the deprecated one, as it uses a different port(s) to communicate with the robot. Follow the instructions in the README.md and remember to connect the Ethernet cable to the right port.