integration:ros
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
integration:ros [2020/02/05 08:26] – oliver | integration:ros [2022/07/25 09:54] (aktuell) – [Mediapipe specific topics and types] oliver | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
< | < | ||
< | < | ||
+ | < | ||
< | < | ||
... | ... | ||
Zeile 17: | Zeile 18: | ||
</ | </ | ||
- | + | This configuration is read, if in the conext menu of " | |
+ | |||
+ | **The XML-Element < | ||
^ Property name ^ Description ^ Optional | | ^ Property name ^ Description ^ Optional | | ||
- | ^ masteruri| The ip of the ROS master | No | | + | ^ masteruri| The ip adress |
- | ^ localhost| The ip of the networkinterface used to connecto | + | ^ localhost| The ip adress |
+ | |||
+ | If the environment variable ROS_IP on the (remote) PC running ROS is not set it sends the name of this PC instead the IP and it can happen, that the PC running JDAQ can not resolve this name into the IP adress back again. As a workaround you can assign the IP adress to this host name in the / | ||
+ | |||
+ | **The < | ||
+ | |||
+ | ^ Property name ^ Default value ^ values | | ||
+ | ^ sampleRate | 500 [Hz] | positive float value | | ||
+ | |||
+ | **The < | ||
+ | |||
+ | ^ Property name ^ Values ^ Optional | | ||
+ | ^ timestampsMethod | rosheader, autoarrive, autofix | No | | ||
+ | |||
+ | ** Methods to get timestamps: | ||
+ | |||
+ | Normally the ROS-messages have timestamps in it header. If this is not possible timestamps can be estimated by different methods. The default timestamp estimation method is called " | ||
+ | |||
+ | ^ Method ^ Description ^ | ||
+ | ^ rosheader | The timestamp from the ROS-header is used.| | ||
+ | ^ autoarrive | As an estimation the time at which a frame arrives JDAQ is used. | | ||
+ | ^ autofix | From the configured sample rate delata_T is determined as 1/(sample rate) and this is added to the previous time(stamp) to determine the current one. This procedure assumes that no frame is lost in the pipleline. This method is used as default.| | ||
+ | ====UR specific topics==== | ||
+ | |||
+ | Based on the FZI UR-robot-driver branch. | ||
+ | |||
+ | ^ Topic type ^ Description ^ Channel name ^ Unit ^ Type ^ | ||
+ | ^ ur_rtde_msgs.JointTemperature| Temperatures in 6 segments of an UR-robot. | " | ||
+ | ^ ur_rtde_msgs.JointPosition| Joint angles for 6 segments of an UR-robot. | " | ||
+ | |||
+ | **Example configuration fragment: | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | </ | ||
+ | < | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ====Vicon specific topics==== | ||
+ | A Vicon markerbased motion analysis system can be integrated via ROS by usage of a " | ||
+ | |||
+ | ^ Topic type ^ Description ^ Channel name ^ Unit ^ Type ^ | ||
+ | ^ geometry_msgs.TransformStamped | Orientation defined by an quaternion to describe the pose of a segment | " | ||
+ | ^ geometry_msgs.TransformStamped | origin defined as a vector-3d | ||
+ | |||
+ | |||
+ | **Example configuration fragment: | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | </ | ||
+ | </ | ||
+ | ... | ||
+ | < | ||
+ | |||
+ | < | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | </ | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ====Mediapipe ==== | ||
+ | |||
+ | The BLAZE model of media type includes 33 positions. The coordinates of these positions are defined relativ to the pelvis center of the BLAZE model but given in a coordinate system of the camera with x,y-axes in the picture plane of the camera and z upright to this plane. All coordinates are given in the unit [m]. | ||
+ | |||
+ | A second set of positions called global positions are determined from the mediapipe raw data as follows: The left corner of the camera defines the origin of a coordinate system. x, | ||
+ | |||
+ | ===Mediapipe specific topics and types === | ||
+ | ^ Topic Type ^ Topic ^ Description ^ Unit ^ | ||
+ | ^ geometry_msgs.PoseArray | / | ||
+ | ** | ||
+ | Example configuration fragment: | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | |||
+ | <!-- Proprietaere Properties muessen als Property-Element eingefuegt werden --> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | <Channel name=" | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | ... | ||
+ | </ | ||
+ | <code xml> | ||
+ | </ | ||
+ | ====How to add unknown topics? | ||
+ | If the message type of the topic is known, integration works with the following steps: | ||
integration/ros.txt · Zuletzt geändert: 2022/07/25 09:54 von oliver