Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Continuous requests to parameter server for tf_prefix with every joint_state message #200

Open
nlamprian opened this issue Oct 8, 2022 · 0 comments

Comments

@nlamprian
Copy link
Contributor

The robot_state_publisher continuously hits the parameter server with 3 requests for every joint_state message and in each fixed joint timer interval.

$ sudo tcpflow -c port 11311 -i lo

127.000.000.001.49382-127.000.001.001.11311: POST / HTTP/1.1
User-Agent: XMLRPC++ 0.7
Host: simtoru-0003:11311
Content-Type: text/xml
Content-length: 236

<?xml version="1.0"?>
<methodCall><methodName>searchParam</methodName>
<params><param><value>/robot_state_publisher</value></param><param><value>tf_prefix</value></param></params></methodCall>

127.000.001.001.11311-127.000.000.001.49382: HTTP/1.1 200 OK
Server: BaseHTTP/0.6 Python/3.8.10
Date: Sat, 08 Oct 2022 22:43:39 GMT
Content-type: text/xml
Content-length: 384

<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
<value><int>1</int></value>
<value><string>Found [/robot_state_publisher/tf_prefix]</string></value>
<value><string>/robot_state_publisher/tf_prefix</string></value>
</data></array></value>
</param>
</params>
</methodResponse>

127.000.000.001.49382-127.000.001.001.11311: POST / HTTP/1.1
User-Agent: XMLRPC++ 0.7
Host: simtoru-0003:11311
Content-Type: text/xml
Content-length: 296

<?xml version="1.0"?>
<methodCall><methodName>hasParam</methodName>
<params><param><value>/robot_state_publisher</value></param><param><value>/robot_state_publisher/tf_prefix</value></param></params></methodCall>

127.000.001.001.11311-127.000.000.001.49382: HTTP/1.1 200 OK
Server: BaseHTTP/0.6 Python/3.8.10
Date: Sat, 08 Oct 2022 22:43:39 GMT
Content-type: text/xml
Content-length: 307

<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
<value><int>1</int></value>
<value><string>/robot_state_publisher/tf_prefix</string></value>
<value><boolean>1</boolean></value>
</data></array></value>
</param>
</params>
</methodResponse>

127.000.000.001.49382-127.000.001.001.11311: POST / HTTP/1.1
User-Agent: XMLRPC++ 0.7
Host: simtoru-0003:11311
Content-Type: text/xml
Content-length: 296

<?xml version="1.0"?>
<methodCall><methodName>getParam</methodName>
<params><param><value>/robot_state_publisher</value></param><param><value>/robot_state_publisher/tf_prefix</value></param></params></methodCall>

127.000.001.001.11311-127.000.000.001.49382: HTTP/1.1 200 OK
Server: BaseHTTP/0.6 Python/3.8.10
Date: Sat, 08 Oct 2022 22:43:39 GMT
Content-type: text/xml
Content-length: 317

<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
<value><int>1</int></value>
<value><string>Parameter [/robot_state_publisher/tf_prefix]</string></value>
<value><string>/</string></value>
</data></array></value>
</param>
</params>
</methodResponse>

This was introduced by #169. The tf_prefix is refreshly retrieved every time. I assume this was unintentional.

One potential solution that would maintain ABI is to move the getTFPrefix calls to static variables in the callbacks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant