{"action":"created","issue":{"url":"https://api.github.com/repos/RobotLocomotion/spartan/issues/158","repository_url":"https://api.github.com/repos/RobotLocomotion/spartan","labels_url":"https://api.github.com/repos/RobotLocomotion/spartan/issues/158/labels{/name}","comments_url":"https://api.github.com/repos/RobotLocomotion/spartan/issues/158/comments","events_url":"https://api.github.com/repos/RobotLocomotion/spartan/issues/158/events","html_url":"https://github.com/RobotLocomotion/spartan/pull/158","id":264771059,"number":158,"title":"Add ROS support","user":{"login":"gizatt","id":3066703,"avatar_url":"https://avatars1.githubusercontent.com/u/3066703?v=4","gravatar_id":"","url":"https://api.github.com/users/gizatt","html_url":"https://github.com/gizatt","followers_url":"https://api.github.com/users/gizatt/followers","following_url":"https://api.github.com/users/gizatt/following{/other_user}","gists_url":"https://api.github.com/users/gizatt/gists{/gist_id}","starred_url":"https://api.github.com/users/gizatt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gizatt/subscriptions","organizations_url":"https://api.github.com/users/gizatt/orgs","repos_url":"https://api.github.com/users/gizatt/repos","events_url":"https://api.github.com/users/gizatt/events{/privacy}","received_events_url":"https://api.github.com/users/gizatt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2017-10-11T23:49:28Z","updated_at":"2017-10-16T19:06:38Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/spartan/pulls/158","html_url":"https://github.com/RobotLocomotion/spartan/pull/158","diff_url":"https://github.com/RobotLocomotion/spartan/pull/158.diff","patch_url":"https://github.com/RobotLocomotion/spartan/pull/158.patch"},"body":"At last, here's a draft for how I propose we incorporate a catkin workspace into the build.\r\n\r\nThe main thing I want make sure we agree on first is just where the catkin workspace lives -- it works nicely as a subdirectory of `src`, where everything inside is a Catkin package, and everything above can just be whatever it wants. We could probably shift that up a directory (and have `src` just be a catkin directory), and ensure that everything already-existing doesn't break Catkin (i.e. either is a real catkin package, or doesn't have a `package.xml` at all). It'll be dirtier, in that the `CMakeLists.txt` file will have to dispatch Catkin for the compatible subdirectories, and ExternalProject for the rest. Not too awful, but it'd be a kinda clunky `CMakeLists.txt` that is half-automated and half-hand-curated.\r\n\r\nThe way that ROS actually gets used in the Docker image is still pretty clunky -- I haven't focused on cleaning that up yet. Making the ROS installation optional is a possibility, though it'll require piping more options through Docker. Not too bad to do. Also, I haven't tried basing the docker image on the ros-kinetic-xenial-~~~ image that I know is out there -- I can experiment with that before this is merged if y'all think it's a high priority.\r\n\r\nI included a really simple perception demo to show that the Catkin build works, but it probably won't work on other machines yet (largely because it only works for Realsense R200's, and udev rules for cameras are still clunky).\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/robotlocomotion/spartan/158)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/RobotLocomotion/spartan/issues/comments/336999362","html_url":"https://github.com/RobotLocomotion/spartan/pull/158#issuecomment-336999362","issue_url":"https://api.github.com/repos/RobotLocomotion/spartan/issues/158","id":336999362,"user":{"login":"manuelli","id":5898488,"avatar_url":"https://avatars0.githubusercontent.com/u/5898488?v=4","gravatar_id":"","url":"https://api.github.com/users/manuelli","html_url":"https://github.com/manuelli","followers_url":"https://api.github.com/users/manuelli/followers","following_url":"https://api.github.com/users/manuelli/following{/other_user}","gists_url":"https://api.github.com/users/manuelli/gists{/gist_id}","starred_url":"https://api.github.com/users/manuelli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manuelli/subscriptions","organizations_url":"https://api.github.com/users/manuelli/orgs","repos_url":"https://api.github.com/users/manuelli/repos","events_url":"https://api.github.com/users/manuelli/events{/privacy}","received_events_url":"https://api.github.com/users/manuelli/received_events","type":"User","site_admin":false},"created_at":"2017-10-16T19:06:38Z","updated_at":"2017-10-16T19:06:38Z","author_association":"COLLABORATOR","body":"\n\n\n\nReview status: 0 of 44 files reviewed at latest revision, 1 unresolved discussion.\n\n---\n\n*[config/setup_environment.sh.in, line 26 at r6](https://reviewable.io:443/reviews/robotlocomotion/spartan/158#-KwM3kure_fgfIrBdWAZ-r6-26:-Kwa_5rN1A5XT3QQ1nsQ:bongoz2) ([raw file](https://github.com/robotlocomotion/spartan/blob/4888af87056b0a8fd3c4a483dd162801a3965e14/config/setup_environment.sh.in#L26)):*\n<details><summary><i>Previously, gizatt (Gregory Izatt) wrote…</i></summary><blockquote>\n\nThe copy of the catkin package install files (including `setup.sh` into the root of the install folder at CMAKE_INSTALL_PREFIX) is an automatic thing that Catkin does given that we're using `$CMAKE_INSTALL_PREFIX` as the install path (so that the packages can install regular executables, libraries, etc if they want to and  have them be visible to the rest of the project). Catkin just wants to put `setup.sh` at the root of that install directory.\n\nI think our choice is between having `setup.sh` installed somewhere more precisely named (or I guess I could write a special install rule to rename or move it...), or having all catkin packages installed to a special catkin install directory (which other projects would not be able to link against by default).\n</blockquote></details>\n\nOk thanks for the explanation. I think it's fine for now, we can revisit it later as needed.\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/robotlocomotion/spartan/158)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"manuelli"}}