Can an Action Client also act as a Server?

asked 2018-11-28 09:13:30 -0600

BacoN8ter gravatar image

So right now I am working on simulating a hexapod robot in ROS. I have a basic understanding of how I want the robot to perform but need some help with the implementation. Namely, whether I could use an Action Client also as a Server for a higher order action. For Example:

Move Body Client ---Body Trajectory for robot to follow--> Robot Client/Server ----- Leg Trajectory for the robot legs to follow based on the information coming from the Move Body Client -------> Leg Server

Basically I want to be able to plan a trajectory for the centroid of the robot to follow, this then waterfalls down to some leg movement actions. In this way there would be two actions, one for moving the robot centroid (top level) and one for moving the legs based on the planned motion of the robot centroid. I know there is probably a proper way to handle this kind of process, but I'm not sure if it would be done with layered actions or if the "Move Body Client" aspect should not be an action, but rather a background library that the robot client would listen to. Has anyone else done this before? Would this work, and if not what would be the right way to handle the issue? Any help is appreciated :)

edit retag flag offensive close merge delete