HuaYuXiao / Fast-Planner

[RA-L 2019] A Robust and Efficient Trajectory Planner for Quadrotors
GNU General Public License v3.0
3 stars 0 forks source link

ConnectionRefusedError: [Errno 111] Connection refused #38

Open HuaYuXiao opened 6 months ago

HuaYuXiao commented 6 months ago
[rosmaster.threadpool][ERROR] 2024-04-23 10:51:06,212: Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/rosmaster/threadpool.py", line 218, in run
    result = cmd(*args)
  File "/opt/ros/noetic/lib/python3/dist-packages/rosmaster/master_api.py", line 210, in publisher_update_task
    ret = xmlrpcapi(api).publisherUpdate('/master', topic, pub_uris)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1109, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1450, in __request
    response = self.__transport.request(
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1153, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1165, in single_request
    http_conn = self.send_request(host, handler, request_body, verbose)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1278, in send_request
    self.send_content(connection, request_body)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1308, in send_content
    connection.endheaders(request_body)
  File "/usr/lib/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/usr/lib/python3.8/http/client.py", line 922, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
HuaYuXiao commented 6 months ago

这个错误信息来自于ROS(Robot Operating System)的rosmaster节点,它表明在尝试通过XML-RPC连接到一个服务时连接被拒绝。ConnectionRefusedError: [Errno 111] Connection refused错误通常意味着没有进程在指定的端口上监听,或者防火墙/网络配置阻止了连接。

以下是一些可能的原因和解决步骤:

  1. 确保ROS Master正在运行rosmaster进程必须运行,并且监听XML-RPC请求。如果没有运行,请启动它。

  2. 检查端口监听:确认rosmaster是否在默认端口(通常是11311)上监听。可以使用netstat -tuln | grep 11311来检查。

  3. 防火墙设置:检查系统防火墙设置,确保没有阻止到rosmaster端口的连接。

  4. 网络问题:确认网络连接没有问题,并且所有相关的机器都能相互通信。

  5. XML-RPC URI:检查XML-RPC请求的URI是否正确,没有拼写错误或不匹配的地址。

  6. 重启ROS Master:如果rosmaster进程已经启动,但似乎没有响应,尝试重启它。

  7. 检查日志文件:查看rosmaster的日志文件,可能会有更多关于为什么连接被拒绝的信息。

  8. 环境变量:确认ROS_MASTER_URI环境变量设置正确,指向了正确的rosmaster地址。

  9. 代码问题:如果错误是从自定义的Python代码中产生的,检查代码中是否有任何可能导致连接问题的部分。

  10. 重新启动相关节点:有时候,重启产生错误的节点或整个ROS系统可以解决问题。

  11. 咨询社区:如果问题依旧存在,考虑在ROS社区论坛或相关的技术社区中寻求帮助。

  12. 调试:如果熟悉Python和网络调试工具,可以尝试使用它们来进一步调查连接问题。

请根据这些步骤进行故障排除。如果问题仍然无法解决,可能需要更深入地调查或寻求专业帮助。