Robotics StackExchange | Archived questions

Determining ActionServer Status

Hi,

I'm currently decoupling the Kobuki AutoDocking s/w from the nodelette setup.

I've boken it out to just be a standard node - problem I'm having is that the client can't/won't connect - just getting the error:

process[dock_drive_client_py-1]: started with pid [8404] 
Action server is not connected yet. still waiting...
Action server is not connected yet. still waiting...
Action server is not connected yet. still waiting...

etc..

The server appears to be up and is at least running it's spin loop.

How can I check what name it's actually running as?

The Constructor loks like:

AutoDockingROS::AutoDockingROS(ros::NodeHandle& nh, std::string name)
 : name_(name), nh_(nh)
 , shutdown_requested_(false)
 ,as_(nh_, name, false)
{
   self = this;

  as_.registerGoalCallback(boost::bind(&AutoDockingROS::goalCb, this));
  as_.registerPreemptCallback(boost::bind(&AutoDockingROS::preemptCb, this));
  as_.start();

Where name is passed in as:

int main(int argc, char** argv){
ros::init(argc, argv, "auto_docking_ros");

std::string nodelet_name("AutoDockingAction");
ros::NodeHandle nh;

AutoDockingROS*  lAutoDockingROS = new AutoDockingROS(nh, nodelet_name);
if (lAutoDockingROS->init(nh) == true)
{
  ROS_INFO_STREAM("Initialisaion Completed Successfully...");
}
 ROS_INFO_STREAM( "Action Server Name: "+ name);
}

EDIT 1:

The graph appears to show nodes are connected as expected:

image description

I made a change to the python script to read:

client = actionlib.SimpleActionClient('dock_drive_action', AutoDockingAction)

client = actionlib.SimpleActionClient('Auto_Docking_Action_Server', AutoDockingAction)

Thanks

Mark

Asked by MarkyMark2012 on 2017-05-28 16:34:11 UTC

Comments

Action servers use regular topics. What does rostopic list tell you? Or alternatively, use rqt_graph.

Asked by gvdhoorn on 2017-05-29 03:33:31 UTC

@gvdhoorn - I've updated the question with some more info. At the moment the Client reports the "Goal Sent" but the server isn't picking it up

BTW - my reasoning for doing this is because the Ri Pi built version crashes when running as a nodelet

Thanks Mark

Asked by MarkyMark2012 on 2017-06-03 06:53:56 UTC

Answers