[Documentation] [TitleIndex] [WordIndex

API review

Proposer: John Hsu

Present at review:

Proposal

An attempt at organizing high level symbolic description of the robot model, application oriented description and configuration of the robot model.

  1. Additional high level robot model descriptions are to be added as URDF extensions.
  2. Change <transmission> and <gazebo> tags to <extension type="gazebo"> and <extension type="transmission">

    • * NOTE: In COLLADA the extra type describes the semantics of the data, while the technique describes the format of the data. So instead of "gazebo", find a better type name for the physics data gazebo is specifically using.
  3. Is it necessary to move/reorganize any of the parameters in sbpl_arm_planner/config/*.cfg upstream into an urdf extension? Are there overlaps with <extra type="*"> as proposed on the OpenRave COLLADA page?

  4. Mapping <extra type="manipulator"> into an URDF extension?

    • <frame_origin>, <frame_tip> / <translate> <rotate>

    • <gripper_axis> / <closingdirection>

    • <iksolver> / <free_axis> / <axis>, <stepsize>

  5. How do we handle multiple collision meshes in ROS?
    • Mapping <extra type="collision"> into an URDF extension?

  6. Decide what additional sensor information is needed for calibration per tikcet #4611. Below are tags proposed on the OpenRave COLLADA page.

    • <extra type="base_pinhole_camera">

      • <image_width> <image_height> <intrinsic> <measurement_time> <distortion>

    • <extra type="base_stereo_camera">

      • <instance_sensor> <rectification>

    • <extra type="base_laser2d">

      • <angle_min> <angle_max> <range_min> <range_max> <angle_increment> <time_increment> <measurement_time>

    • <extra type="base_imu">

      • <measurement_time> <rotation_covariance> <angular_velocity_covariance> <linear_acceleration_covariance>

    • <extra type="base_odometry">

      • <measurement_time> <target>

  7. Proposal of a new dynamic_robot_description_manager

    • maintains XML string of robot urdf and extensions on the parameter server
    • provides services and latched topics to retrieve XML string of robot urdf and extensions
      • get_robot_description
    • provides interfaces for updating the robot description
      • update_robot_description

Question / concerns / comments

Enter your thoughts on the API and any questions / concerns you have here. Please sign your name. Anything you want to address in the API review should be marked down here before the start of the meeting.

Rosen

* Official support for putting COLLADA files on parameter server? pr2.dae is 5.7Mb, so would have to compress?

* Possible to export calibrated COLLADA dae file to /etc/ros along with URDF?

* Holding list of link pairs where self-collisions can be ignored (part of "collision" tag)

Here is an example of what the PR2 COLLADA file looks like with manipulator, sensor, and ignore_link_pair tags pr2-beta-static-collada.tgz

Ioan

Tim F.

COLLADA FBX

Josh F.

Collada comes up as a topic every couple years in a game-industry forum I frequent, and the trends over the last few years have been:

Also, Collada was never meant to be the thing you use directly in your engine, rather it was meant as an interchange format.

John

  1. Additional robot model descriptions other than <link> and <joint> are to be added as URDF extensions.

    • Not as extensions, but as completely separate XML blocks specific to individual applications.
  2. Change <transmission> and <gazebo> tags to <extension type="gazebo"> and <extension type="transmission">

    • Rather than making <transmission> and <gazebo> URDF extensions, move them outside of <robot>

      • Maintain separately in separate packages (outside of pr2_description.

      • Put <transmission> under <transmissions> or <actuators>

      • Put <gazebo> under a general tag such as <simulator_gazebo> or <simulation>

  3. Is it necessary...
  4. Mapping...
  5. How do we handle multiple collision meshes in ROS?
    • Define consistent XML tags for additioanl robot meshes, for example:
      <self_collision_mesh>
        <link name="l_forearm_roll_link"/>
        <origin xyz="0 0 0" rpy="0 0 0"/>
        <geometry>
          <mesh file="robot.mesh"/>
        </geometry>
      </self_collision_mesh>
  6. Decide what additional sensor information is needed for calibration per tikcet #4611. Below are tags proposed on the OpenRave COLLADA page.

    • For each sensor, specify a way to access them via ROS namespaces, for example:
      <sensor name="sensor_01">
        <link name="l_forearm_cam_optical_frame"/>
        <ros ns="l_forearm_cam"/>
      </sensor>
  7. Proposal of a new dynamic_robot_description_manager

    • maintains XML string of robot urdf and extensions on the parameter server
    • provides services and latched topics to retrieve/update XML string of robot urdf (with extensions)
      • get_robot_description
    • provides interfaces for updating the robot description
      • update_robot_description

Meeting Notes

Conclusion

Package status change mark change manifest)



2023-10-28 13:09