rosbridge_server kinetic error
rosbridgeserver rosbridgewebsocket launch works fine in Melodic. but I am getting this in kinetic:
SUMMARY
========
PARAMETERS
* /rosapi/params_glob: [*]
* /rosapi/services_glob: [*]
* /rosapi/topics_glob: [*]
* /rosbridge_websocket/address: 0.0.0.0
* /rosbridge_websocket/authenticate: False
* /rosbridge_websocket/certfile: /etc/ssl/certs/ss...
* /rosbridge_websocket/delay_between_messages: 0
* /rosbridge_websocket/fragment_timeout: 600
* /rosbridge_websocket/keyfile: /etc/ssl/certs/ss...
* /rosbridge_websocket/max_message_size: None
* /rosbridge_websocket/params_glob: [*]
* /rosbridge_websocket/port: 9090
* /rosbridge_websocket/retry_startup_delay: 5
* /rosbridge_websocket/services_glob: [*]
* /rosbridge_websocket/topics_glob: [*]
* /rosbridge_websocket/unregister_timeout: 10
* /rosbridge_websocket/use_compression: False
* /rosdistro: kinetic
* /rosversion: 1.12.14
NODES
/
rosapi (rosapi/rosapi_node)
rosbridge_websocket (rosbridge_server/rosbridge_websocket)
auto-starting new master
process[master]: started with pid [3829]
ROS_MASTER_URI=http://10.0.0.130:11311
setting /run_id to d46e0e06-6fa2-11ea-ab30-cc2f71a7717d
process[rosout-1]: started with pid [3853]
started core service [/rosout]
process[rosbridge_websocket-2]: started with pid [3870]
process[rosapi-3]: started with pid [3871]
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/rosapi/rosapi_node", line 201, in <module>
register_services()
File "/opt/ros/kinetic/lib/rosapi/rosapi_node", line 68, in register_services
rospy.Service('/rosapi/topics_and_raw_types', TopicsAndRawTypes, get_topics_and_raw_types)
NameError: global name 'TopicsAndRawTypes' is not defined
2020-03-26 13:46:14-0700 [-] Log opened.
2020-03-26 13:46:14-0700 [-] Traceback (most recent call last):
2020-03-26 13:46:14-0700 [-] File "/opt/ros/kinetic/lib/rosbridge_server/rosbridge_websocket", line 46, in <module>
2020-03-26 13:46:14-0700 [-] from rosbridge_server import ClientManager
2020-03-26 13:46:14-0700 [-] ImportError: cannot import name ClientManager
[rosapi-3] process has died [pid 3871, exit code 1, cmd /opt/ros/kinetic/lib/rosapi/rosapi_node __name:=rosapi __log:=/home/jackrabbot/.ros/log/d46e0e06-6fa2-11ea-ab30-cc2f71a7717d/rosapi-3.log].
log file: /home/jackrabbot/.ros/log/d46e0e06-6fa2-11ea-ab30-cc2f71a7717d/rosapi-3*.log
[rosbridge_websocket-2] process has died [pid 3870, exit code 1, cmd /opt/ros/kinetic/lib/rosbridge_server/rosbridge_websocket __name:=rosbridge_websocket __log:=/home/jackrabbot/.ros/log/d46e0e06-6fa2-11ea-ab30-cc2f71a7717d/rosbridge_websocket-2.log].
log file: /home/jackrabbot/.ros/log/d46e0e06-6fa2-11ea-ab30-cc2f71a7717d/rosbridge_websocket-2*.log
I did a rosdep update and reinstall of the rosserver_suite.
Is this a python version issue?
Asked by DrBot on 2020-03-27 09:37:01 UTC
Answers
It is working OK on most of my machines in both melodic or kinetic. On one machine it continues to fail. I built in a catkin workspace to inspect all files. In the rosbridge_websocket.py file this line below generates a python error. It says there isn't any to convert int() I tried changing to float. forcing it by the comment eliminates the python error, but the roslaunch still generates errors, and the ports do not allow connections. At this point I am wondering if it is some kind off ssl blocking on this machine.
address = rospy.get_param('~address', "0.0.0.0")
---> external_port = int(rospy.get_param('~websocket_external_port', port)) <--------- external_port = int(9090) RosbridgeWebSocket.client_manager = ClientManager()
This isn't a major problem for me, just an interesting exercise in trying to figure out why some things fail;-)
Asked by DrBot on 2020-04-03 13:21:05 UTC
Comments
Also, the versions of the rosapi_node are different in the working kinetic version rosapi_node is 198 lines and does not have a topics and raw type. in the busted version the rospi node is the same as in melodic, it is 204 lines.
Asked by DrBot on 2020-04-03 13:25:52 UTC
Comments