Robotics StackExchange | Archived questions

Are services working on rosserial_windows for anybody?

I had no issue with topics. Well, except the following warnings by rosserialserver socketnode:

[ 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 rospytutorials) that were available, I ended up with a md5sum mismatch error from addtwo_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

Asked by boone on 2017-02-13 22:19:54 UTC

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.

Asked by gvdhoorn on 2017-02-14 06:34:09 UTC

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.

Asked by gvdhoorn on 2017-02-14 06:35:06 UTC

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

Asked by Weidong on 2017-11-12 23:06:19 UTC

Answers

did anyone succeed in using services through rosserial-windows client?

Asked by sualeh on 2020-09-29 22:53:16 UTC

Comments