Ask Your Question
0

Call service without internet [closed]

asked 2014-11-04 00:18:32 -0500

agelies gravatar image

Hi guys, I'm a newbie so I guess this question is probably stupid. But I can't find an answer anywhere. When I run my program on Baxter without internet, it always gets stuck at wait_for_service(). Does that mean I can't call any service without internet connection? Our lab computer can either be connected to internet or to baxter through a router, so there is no way for me to use the internet when interacting with Baxter. Is there a way to solve this problem? Thank you!!!

edit retag flag offensive reopen merge delete

Closed for the following reason duplicate question by agelies
close date 2014-12-28 20:44:22.127023

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-11-04 01:29:24 -0500

ahendrix gravatar image

ROS services shouldn't require an internet connection. If you're trying to call a service on a remote machine, there should be a network connection between those machines.

Which service are you trying to call? Is the node hosting that service on the same machine or another machine?

edit flag offensive delete link more

Comments

Hi thank you so much for your response! I'm trying to call solveinverseposition in Baxter_core_msg.srv, and I used wait_for_response, that's where it gets stuck.

Im not sure about the node hosting. My TA did all the set up for me. We are using a computer that's connected to Baxter through a route

agelies gravatar image agelies  ( 2014-11-04 02:05:27 -0500 )edit

wait... are you using wait_for_service or wait_for_response? Those are two different things, and they imply very different failure modes. Is it possible that the service you're trying to call simply doesn't exist? (try rossservice list)

ahendrix gravatar image ahendrix  ( 2014-11-04 04:00:16 -0500 )edit

This is part of my code: def inverseKinematics(self,limb, point, orientation): rospy.init_node("rsdk_ik_service_client") ns = "ExternalTools/" + limb + "/PositionKinematicsNode/IKService" rospy.wait_for_service(ns) iksvc = rospy.ServiceProxy(ns, SolvePositionIK)

agelies gravatar image agelies  ( 2014-11-04 09:10:38 -0500 )edit

Thank you again. Sorry I was mistaken. I was trying to call SolvePositionIK and SolvePositionIKRequest from baxter_core_msgs.srv. Are you saying that if the lab computer doesn't have those packages, then I need to download them put them in my project folder? I'm not sure if the lab computer has it.

agelies gravatar image agelies  ( 2014-11-04 09:12:43 -0500 )edit
1

Try rosservice list to verify that there is or isn't a node providing the service you're trying to call.

ahendrix gravatar image ahendrix  ( 2014-11-04 12:24:15 -0500 )edit

Yes there is, and this time it worked! Looks like it was some old version syntax problem. Thank you so much for answering my questions! Hope you have a great day!

agelies gravatar image agelies  ( 2014-11-04 13:30:57 -0500 )edit

Question Tools

Stats

Asked: 2014-11-04 00:18:32 -0500

Seen: 66 times

Last updated: Nov 04 '14