Closed rgleichman closed 10 years ago
This is an outstanding bug report. I can't run ROS at the moment, but I'm guessing the problem is with Ros.SlaveAPI.requestTopic
(line 133). It should be returning a list of triples rather than just the one.
(As an aside, it's curious that this hasn't caused a problem before, it would be good to know what made a difference. I don't have any guesses at the moment.)
It seems that rospy works with the roshask program, so as a workaround I made a Python node that just forwards the message.
I guess that explains it! So it's a roscpp compatibility bug in roshask. Hopefully the fix is as simple as it seems.
Progress! Maybe! I'm not sure if this is the same issue you encountered, but I've been able to reproduce one major issue with roscpp vs. haxr (the Haskell XML-RPC library used by roshask): roscpp will emit XML-RPC fragments like <value>TCPROS</value>
when haxr expects <value><string>TCPROC</string></value>
. This is okay according to the spec, so haxr needs to be patched.
Stay tuned.
I submitted a PR to haxr. You can try installing my fork until the new version makes its way to hackage. https://github.com/acowley/haxr
Simple tests of roshask <-> roscpp are working for me now.
I knew I liked rospy for a reason!
The latest haxr is now on hackage.
This should be fixed, but I didn't reproduce the exact error message you did so confirmation would be good.
It works now. Thank you.
I am publishing to the
/r_gripper_controller/gripper_action/goal
from roshask. The/r_gripper_controller/gripper_action_node
subscribes to that topic. The roshask node seems to be publishing the topic correctly (rostopic info /r_gripper_controller/gripper_action/goal
prints out the correct messages), but the gripper_action_node does not produce the correct output (/r_gripper_controller/command
messages). Using rxconsole I found that when the roshask node starts, the gripper_action_node emits the debug messageXML-RPC call [requestTopic] didn't return an array
after what I think is a normal message
Began asynchronous xmlrpc connection to [rll3:47128]
(rll3 is the machine name). The gripper_action_node is started withroslaunch pr2_gazebo pr2_empty_world.launch
. I am running ROS Fuerte on Ubuntu 12.04. Here the source that logs the debug message (line 202). The equivalent Python program actuates the simulated gripper and does not produce theXML-RPC call ...
debug message.Full rxconsole paste, and roshask program below: rxconsole paste:
My roshask program