Industrial robot client : Are start and end sequence numbers not genenrated by default ?
I'm currently working on implementing an custom Industrial Robot Server that talks with the default industrial robot client using the trajectory streamer interface. I got the communication between the robot and the robot client working but I'm now stuck on the detection of the start and end of an trajectory. This page http://wiki.ros.org/Industrial/Tutori... states the following:
SEQ_NUMBER – The sequence number is the number assigned by ROS to each of the points (i.e. this is always 0 or positive). A value of -1 indicates the end of a trajectory, a value of -2 indicates a stop (in both cases the controller stops, joint data is not valid for these special types)
And from: https://github.com/ros-industrial/ind...
I get that there are a few more "special" sequence numbers:
START_TRAJECTORY_DOWNLOAD = -1, ///< Downloading drivers only: signal start of trajectory
START_TRAJECOTRY_STREAMING = -2, ///< deprecated, please use START_TRAJECTORY_STREAMING instead
START_TRAJECTORY_STREAMING = -2, ///< Streaming drivers only: signal start of trajectory
END_TRAJECTORY = -3, ///< Downloading drivers only: signal end of trajectory
STOP_TRAJECTORY = -4 ///< Server should stop the current motion (if any) as soon as possible
However if I use Wireshark to look at the messages that are send to the robot I can see 18 messages been send but don't see the special sequence numbers -2 (START_TRAJECOTRY_STREAMING )or -3 (END_TRAJECTORY). However if I manually stop the trajectory the -4 (STOP_TRAJECTORY) is generated.
Could someone give me a few pointer as to where the special sequence numbers are generated, and why the are not generated in my case?
I'm using ros Jade on Ubuntu 14.04 LTS with kernel 4.2.0.42 with all the latest packages installed from: http://packages.ros.org/ros/ubuntu repository.
Not an answer, but you might be interested in Message Structures of the ROS-Industrial Simple Message Protocol (unfinished), which attempts to document the SM protocol in greater detail.
Thanks, didn't know that document, could have saved me some time if I had know about it before :-). Was actually thinking about writing a similar document myself. Is there by any change more documentation about adding non standard messages? I'm now looking at the motoman rep to see how they did it.
No documentation yet, but we're working on a code generator similar to
gencpp
to generate Simple Message structs and msgs from ROS msg idls. That would make it a lot easier.For now, just copying and adapting one of the existing msgs is probably easiest.
See motoman#93 for an example PR that shows how to add new msgs.
And:
probably. That is one of the reasons we always ask / recommend ppl to talk to us first, as we can save you a lot of time and effort (and frustration).
Yes would have been better, but I started out 3 weeks ago with ROS and did really know where to start asking :-). What would have been the right place to ask for a few pointers on implementing a "industrial robot server" it seems to me that it is a too general question for answers.ros.org .
In this particular case a msg to the ROS-Industrial mailing list would have been a good start. We should probably make that more explicit.