Thanks Fergs and Steve (two guys with real robot jobs!)
I took these replies to mean that there was no built in ROS way to gracefully shutdown so did the typical old-skewl trap of SIGINT which I found my nodes will get likely because I am doing Ctrl-C on roslaunch and it sends SIGiNT to the nodes it has started as perhaps child processes I should think.
Also I don't have some separate controller that could stop by itself when the stream of cmd_vel commands stop so that is not an option here. maybe roboclaw can do that so I will have to check on that.
In my case a ROS node called base_control does the motor control and is commanded to do stuff by my main node often in high level ways like 'drive 0.2 meters or rotate 1.2 radians and so on.
cmd_vel is also supported by this node. base_control publishes back status on it's current operational goal and does other stuff like odom. The issue was the base_control node (or somebody) needs to stop roboclaw on a ctrl-c in the roslaunch window and that was my question if ROS had some other way except the hard SIGINT way.
Anyway, base_control talks to roboclaw using a modified serial packet driver of mine and so I now just have base_control have a sig handler that if i get SIGINT I tell roboclaw to stop. (thus: OldSkewl)
It's easy enough but non-elegant. problem solved, just not with some ROS specific mechanism which I was curious may exist.
I could envision something like that but we have to step outside of ros to the 'real OS' to deal with this issue. No problemo, Done.
Thanks,
Mark