Is there documented best practice for design of the interface to a robot?

asked 2017-06-27 07:13:21 -0600

benjmitch gravatar image


Apologies if this is covered somewhere, but I can't find it on ROS Answers nor under, and I lack the exposure to other ROS stacks to be confident of figuring it out for myself.

If I am aiming to provide a ROS interface to my robot, for others in the community to use, how should I be guided to meet best practice for the design of that interface?

Specific questions that have come up include:

  • If I am controlling a common degree-of-freedom (e.g. body movement) which control signal should I use? (such as the use of Twist() for body velocity)
  • ...and how should I name the topic? (such as "cmd_vel", I think, for body movement)
  • If I have to expose a degree-of-freedom that is bespoke to my robot, is there anything I can do other than use my common sense in designing the interface?
  • If I have many DOFs to expose, and many sensors, where should the granularity be set? Should each individual DOF be represented by a topic? Or each actuator? Or each facet of the robot (such as kinematic actuators, high-frequency sensors, etc.)?

Obviously, it's straightforward to design "an interface" to my robot, but I want it to be the interface that the community would have designed, had they been involved.

I would welcome input on any of those specific questions (particularly the last), though I have seen hints at answers to some of them already scattered around, but my main question is where do I find guidance on best practice for interface design, in general?


edit retag flag offensive close merge delete


The answers will probably depend a bit on what type of robot you are targeting. Can you clarify whether you're looking for advice for humanoids, mobile bases, drones, agv, auv, etc?

gvdhoorn gravatar image gvdhoorn  ( 2017-06-27 08:31:58 -0600 )edit

I can, yes (I can add this to the question if necessary, the robot in question is a differential drive mobile base with internal multi-DOF mobile neck and various cosmetic DOFs, plus multiple sensor types) but I'm really interested in whether there is a general, community-agreed, answer/resource.

benjmitch gravatar image benjmitch  ( 2017-06-27 08:42:27 -0600 )edit