Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

driver: illegal values for 'valid_fields' field in simple message binary stream #112

Open
gavanderhoorn opened this issue Jul 21, 2016 · 3 comments
Labels
Milestone

Comments

@gavanderhoorn
Copy link
Member

Just noticed this while analysing some Wireshark captures of simple message traffic between the currently released motion_streaming_interface and a controller (exact type of the controller has no impact on the occurrence of the problem).

From the capture:

ROS-Industrial SimpleMessage, Motoman Joint Trajectory Point Full Extended (0x7e0), 288 bytes, big-endian
    Prefix
        Packet Length: 284
    Header
        ...
        Communications Type: Service Request (2)
        ...
    Body
        ...
        Group 0
            ...
            Valid Fields: 0x159e10f (Position, Time, Acceleration, Velocity)
                .... ...1 = Time         : Valid (1)
                .... ..1. = Position     : Valid (1)
                .... .1.. = Velocity     : Valid (1)
                .... 1... = Acceleration : Valid (1)
            Time: 1.08976
            ...
        ...

Note the 0x159e10f value for Valid Fields.

Only the lower four bit positions in the valid_fields field of the JOINT_TRAJ_PT_FULL_EX message type are defined, with all of the others reserved for future use (see Message Structures of the ROS-Industrial Simple Message Protocol - Defined Constants - Valid Fields).

I'm not sure if this actually leads to any problems (that would depend on how the valid_fields field is actually assigned its value), but it violates the protocol specs in any case and should be fixed.

@gavanderhoorn gavanderhoorn added this to the indigo-next milestone Jul 21, 2016
@gavanderhoorn
Copy link
Member Author

To be clear: this is a message from ROS to the controller. Messages from MotoROS are ok.

@gavanderhoorn
Copy link
Member Author

Issue also does not seem to occur on single-group controllers (or at least: on ROS setups not configured to use the multi-group infrastructure in motoman_driver).

@gavanderhoorn gavanderhoorn changed the title driver: unexpected values for 'valid_fields' field in simple message binary stream driver: illegal values for 'valid_fields' field in simple message binary stream Jul 21, 2016
@gavanderhoorn
Copy link
Member Author

More testing seems to indicate that this never happens for "the first" trajectory point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant