Contents
API review
Proposer: John Hsu
Present at review:
- List reviewers
Proposal
We need to resolve a few issues on how to update meshes and urdf in pr2_description in the future, keeping /etc/ros/urdf forward/backward compatible with new releases of pr2_common.
Please feel free to edit the list below with your concerns and suggestion. Thank you.
Question / concerns / comments
break backward compatibility in latest/c-turtle, i.e. /etc/ros/urdf/robot.xml constructed from a new release will not work if the local pr2_common tree has older revision.
keep multiple copies of /etc/ros/urdf/robot_*.xml corresponding to the trees.
forward compatibility maintained by keeping mesh names the same, i.e. old /etc/ros/urdf/robot.xml works with new pr2_common releases. As long as mesh coordinates do not change, upgrades should not break things on the robot.
what to do with sudo robot start?
multiple pr2.launch files.
Vijay
Storing the meshes at /etc/ros/urdf/meshes
- This makes it tricky for remote nodes (rviz, robot_self_filter, etc) to access the meshes. We could potentially write some type of "resource server" that makes these available
- Get the names to match
- Now that we have the "correct" meshes, do we expect the mesh files to change very much? If not, then getting the filenames to match up might be a clean, one-time hack for getting this working.
- Note that both of these approaches fail when things other than meshes are changed, such as link and joint names.
Meeting agenda
- namespace /etc/ros/boxturtle/* /etc/ros/latest/*. sudo robot start requires a new argument, e.g. sudo robot start boxturtle.
- python select - provide a symlink switcher tool. /etc/ros-boxturtle, /etc/ros-latest. point /etc/ros at either.
- some default environment variable ROS_CONFIG? points to /etc/ros. User can set it to /etc/ros-latest to use alternate releases of ros.
- /etc/ros/sensor could have sym-links across multiple /etc/ros-* trees.
- Conclusion: paralle /etc/ros/* needed. /etc/ros/sensors, /etc/ros/boxturtle, /etc/ros/latest, etc. Things that are release dependent will go into release-versioned sub directory.
- For now, add a subdirectory /etc/ros/latest containing files that are release version dependent. Keep boxturtle files in /etc/ros.
- Feature inquiry for environment variable that replaces /etc/ros with appropriate release.
Conclusion
Stack status change mark change manifest)
Action items that need to be taken.
Major issues that need to be resolved
Additional Notes (John)
see here for differences between boxturtle and c-turtle meshes.