Are services working on rosserial_windows for anybody?

asked 2017-02-13 21:19:54 -0500

boone gravatar image

updated 2017-02-13 21:33:42 -0500

I had no issue with topics. Well, except the following warnings by rosserial_server socket_node:

[ WARN] [1487041524.344921905]: Failed to call message_info service. Proceeding without full message definition.
[ WARN] [1487041524.345067742]: Advertising on topic [/turtle1/cmd_vel] with an empty message definition.  Some tools (e.g. rosbag) may not work correctly.

However, the generated rosservice API...

template<typename MReq, typename MRes>
bool serviceClient(ServiceClient<MReq, MRes>& srv)

... disagreed with the Jade API:

template<class MReq , class MRes >
ServiceClient serviceClient (const std::string &service_name, bool persistent=false, const M_string &header_values=M_string())

// Matches tutorials
template<class Service >
ServiceClient serviceClient (const std::string &service_name, bool persistent=false, const M_string &header_values=M_string())

Also, ros::ServiceClient.call() returns a void in generated code, but a bool according to the Jade API.

When I used the functions and messages (those in rospy_tutorials) that were available, I ended up with a md5sum mismatch error from add_two_ints:

[WARN] [WallTime: 1487041770.026137] Could not process inbound connection: request from [/rosserial_server_socket_node]: md5sums do not match: [] vs. [6a2e34150c00229791cc89ff309fff21]{'service': '/add_two_ints', 'md5sum': '', 'persistent': '0', 'callerid': '/rosserial_server_socket_node'}

and the following errors from rosserial_server socket node:

[ INFO] [1487041524.348951852]: waitForService: Service [/service_info] has not been advertised, waiting...
[ WARN] [1487041529.352305456]: Timed out waiting for service_info service to become available.
[ WARN] [1487041529.352869481]: Failed to call service_info service. The service client will be created with blank md5sum.
[ WARN] [1487041529.352917157]: Service client setup: Request message MD5 mismatch between rosserial client and ROS
[ WARN] [1487041529.353489848]: Service client setup: Response message MD5 mismatch between rosserial client and ROS

ROS parameters don't work either.

Is something wrong with what I am doing or is the roslib code generated by rosserial_windows using a 3-year-old API (Hydro?) that no longer exists? Did it ever work in the first place? (There's no tutorial for services or ROS params.)

My setup (both computers): ROS Indigo, Ubuntu 14.04, Windows 7 SP1, Visual Studio 2015

edit retag flag offensive close merge delete

Comments

I'm not sure, but I'd first fix the "Failed to call message_info service." error. Are you using any of the provided launch files? Because launch/socket.launch starts message_info fi.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-14 05:34:09 -0500 )edit

Also: can you please clarify what you mean when you mention Hydro? In general mixing and matching versions of ROS is discouraged, but for rosserial it typically really does not work.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-14 05:35:06 -0500 )edit

I have a similar problem -- service client not working. My environment: Windows 10 / Visual Studio 2015 Ubuntu 16.04 ROS-Kinetic

and when I install rosserial-windows, I installed the kinetic version i.e. sudo apt-get install ros-kinetic-rosserial-windows and ros-kinetic-rosserial-server

Weidong gravatar image Weidong  ( 2017-11-12 22:06:19 -0500 )edit