Code Monkey home page Code Monkey logo

director's People

Contributors

amcastro-tri avatar avalenzu avatar cdarpino avatar david-german-tri avatar drcbot avatar edbot avatar edowson avatar ericcousineau-tri avatar gizatt avatar iamwolf avatar kuindersma avatar manuelli avatar marcocar avatar mattantone avatar mauricefallon avatar mdicicco avatar mwoehlke-kitware avatar patmarion avatar peterkty avatar psiorx avatar raluca-scona avatar rdeits avatar russtedrake avatar sammy-tri avatar sankhesh avatar simalpha avatar steinachim avatar tkoolen avatar wxmerkt avatar yimingyanged avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

director's Issues

Getting head context for valkyrie

In segmentationroutines.py there are methods for getting an abstract context meaning "the direction the robot is looking".

https://github.com/RobotLocomotion/director/blob/master/src/python/director/segmentationroutines.py#L109

Unfortunately the "head" frame of Valkyrie is inverted relative to Atlas (z-axis is down in the default posture). The minimal solution is add a frame to the URDF that is the same as head - but rotated by 180.
And then having this function self.model.getHeadLink() return "head_rotated (for example).

What do you think @patmarion ?

Required lcmtypes for visualisation of robot, sensors and plans

To allow the director to minimally operate without the full OH stack, what are the lcmtypes needed to:

  • draw the live robot state
  • render data - without libbot or maps by publishing a pointcloud_t type in world frame
  • make and execute plans

This is with a view towards making an lcmtype repo independent of Drake, pronto, director and OH and, for example, only requiring a minimal ROS-LCM bridge to operate.

Differences between camera and lighting parameters in libbot drake_viewer

This issue documents differences in camera and lighting parameters from the libbot drake_viewer.

The libbot viewer defaults to a wide view angle. The code says 60 degrees. The view angle in Director is adjustable from the GUI. It defaults to 35. In the following screenshot I have applied a wide angle to match the libbot viewer:

screenshot from 2015-07-15 10 19 37

In my opinion the wide angle is distorted, but perhaps I'm just used to the 35 degree view angle.

Lighting: the director uses VTK's lighting kit composed of key, head, and back lights. The director also uses VTK's default material properties for all objects in the scene. The light kit follows the camera. The libbot viewer has a single fixed position light, with parameters that make it relatively bright compared to the director. I think the object colors in Drake have been selected for viewing in the libbot viewer, so they look darker in the director. I think the VTK lighting kit does a fairly good job preserving colors, and the colors in libbot viewer are distored in comparison. However, many Drake scenes are composed of boxes, and the large flat faces of the boxes do look a little strange, in terms of shading, with a moving light kit. This is especially apparent on the large ground plane. The light kit is definitely designed to perform best for mesh models with more curvature. For more information about VTK's lighting kit, see the paper:

http://www.spl.harvard.edu/archive/spl-pre2007/pages/ppl/halazar/pubs/lightkit_vis03_preprint.pdf

The director GUI provides a single intensity parameter that can be used to brighten the scene, but many more lighting and materials are adjustable from the Python console.

The libbot viewer uses a fixed position light. The lighting kit in the director follows the camera.
To change the behavior whether lights follow the camera in the Drake Visualizer (director) open the Python consle (F8) and enter:

view.renderer().SetLightFollowCamera(False) # defaults True

The default light position and direction in Drake Visualizer do not match the libbot drake_viewer. We should probably set the default camera to match drake_viewer so that scenes default views match a little better.

The GL clipping range behavior is different in drake visualizer. Because the world model is a giant flat box, it interferes with the clipping resolution and causes objects to clip close up. Hiding the ground object (right click --> hide) will improve the situation, but currently this behavior is not so great.

Screen Grabber returns unexpected error message

When I click the "Save Screenshot" button on the Screen Grabber Panel generated by director.screengrabberpanel.ScreenGrabberPanel(view), the following error message appears.

Traceback (most recent call last):
  File "/home/vtjeng/director/build/install/lib/python2.7/dist-packages/director/screengrabberpanel.py", line 124, in onSaveScreenshot
    app.getMainWindow().statusBar().showMessage('Saved: ' + filename, 2000)
AttributeError: 'NoneType' object has no attribute 'statusBar'

This seems to be a reproducible error.

mesh scaling

I have a urdf with mesh files in mm. The 0.001 scale factor in the following tag isn't respected in the director (which uses the drake parser):

<visual>
  <origin rpy="0 0 0" xyz="0 0 0"/>
  <geometry name="Waist_visual">
    <mesh filename="package://bot_model/meshes/Waist.obj" scale="0.001 0.001 0.001"/>
  </geometry>
  <material name="grey"/>
</visual>

Any idea where should I add this scaling? Happy to dig around for it myself

FWIW, I noticed that the scale tag is sometimes present in the Atlas model but presumably ignored as its just unity:

<link name="right_convex_palm">
<collision group="right_convex_hand_robotiq">
  <origin rpy="-1.57079 -1.57079 0" xyz="0 0.1725 0"/>
  <geometry>
    <mesh filename="package://robotiq_/meshes/GRIPPER_OPEN_chull.obj" scale="1 1 1"/>
  </geometry>
</collision>
</link>

Building drake-visualizer without Drake

I've been using the drake-visualizer app a lot over the past few weeks from outside the Drake ecosystem (specifically, from https://github.com/rdeits/DrakeVisualizer.jl ), and I think other people might find that to be very useful as well. I think it would be nice to be able to build drake-visualizer without installing Drake itself. As far as I can tell, the only thing stopping us from doing that is the fact that the LCM type definitions for lcmt_viewer_load_robot and friends live in Drake. Is that correct?

If so, I think it would be reasonable to duplicate the message types here so we can build the whole app without Drake.

I'm happy to do the implementation myself. What do y'all think?

compiling on ubuntu 12.04

still have this issue (perhaps due to an older version of numpy?)

[100%] Building C object src/python/extensions/transformations/CMakeFiles/_transformations.dir/transformations.c.o
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleArray':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:780:16: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:780:16: note: each undeclared identifier is reported only once for each function it appears in
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_AnyDoubleArray':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:796:20: error: 'NPY_ARRAY_ALIGNED' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleArrayOrNone':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:813:20: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleMatrix44':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:828:16: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleMatrix44Copy':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:850:16: error: 'NPY_ARRAY_ENSURECOPY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:850:16: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleVector3':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:873:16: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleVector4':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:895:16: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleVector4Copy':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:917:16: error: 'NPY_ARRAY_ENSURECOPY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:917:16: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'PyConverter_DoubleVector3OrNone':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:943:20: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c: In function 'py_inverse_matrix':
/tmp/drake-master/director/src/python/extensions/transformations/transformations.c:3154:31: error: 'NPY_ARRAY_IN_ARRAY' undeclared (first use in this function)
make[6]: *** [src/python/extensions/transformations/CMakeFiles/_transformations.dir/transformations.c.o] Error 1
make[5]: *** [src/python/extensions/transformations/CMakeFiles/_transformations.dir/all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [src/ddapp-stamp/ddapp-build] Error 2

RobotPoseUtility broken

I can't capture configurations anymore - they dont get saved at all. Happens for both newly named configurations as well as existing configurations (for the latter the warning that we are about to overwrite them comes up but acknowledging it doesnt lead to saving it).

collectionsmanager fails on startup

@mauricefallon Currently launching director fails on startup with

File "<string>", line 7, in <module> File "/home/manuelli/drc/software/build/lib/python2.7/dist-packages/director/startup.py", line 305, in <module> app.MenuActionToggleHelper('Tools', 'Renderer - Collections', collectionsManager.isEnabled, collectionsManager.setEnabled) AttributeError: 'NoneType' object has no attribute 'isEnabled'

I think this stems from #281 . On my system I don't have vtkCollections apparently and so lcmcollections.init(view) returns a None object. In any case director shouldn't fail on startup like this. It's as easy as adding a check on whether collectionsManager is None.

Is vtkCollections something that should be part of the vtkAll package in director? Did I mess something up in the build to cause this? If you can submit a PR with a fix that would be appreciated. Thanks

Fix failing test

The testPlanConstraints.py test has been failing for a while. I looked and it has started failing due to
commit 9cf03ac which was part of the motion planning panel pull request. That commit made a change to ikplanner.py and the commit message says that it was intended to fix a bug.

@yimingyanged can you explain what the bug was? I think I'd like to revert that commit, but I don't know how it will affect the bug you were concerned with.

drake python include fails on drakevisualizer.py

I don't think the fix in this commit works:
ce35723

the problem is that drake python bindings are now installed to:
dist-packages/lcmtypes/drake
Previously it was to:
dist-packages/drake

It finds the package but cannot import drake types included within the first imported file.

File "/home/mfallon/ipab-distro/drc/software/build/lib/python2.7/dist-packages/lcmtypes/drake/init.py", line 12, in
from .lcmt_qp_controller_input import lcmt_qp_controller_input
File "/home/mfallon/ipab-distro/drc/software/build/lib/python2.7/dist-packages/lcmtypes/drake/lcmt_qp_controller_input.py", line 12, in
import drake.lcmt_joint_pd_override
ImportError: No module named drake.lcmt_joint_pd_override

This is because drake doesn't install its python lcmtypes in a conventional location

Render maps octrees as cubes

the octree code I integrated creates a separate folder ('Octomap) in the model browser:
screenshot from 2016-02-10 17 23 55

While the Maps Server folder converts incoming octrees to a point clouds and draws them:
screenshot-2016-02-10_17 23 31

@patmarion How would you suggest having the Map Server octree data drawn as cubes?

We could either:

  • have the Octomap folder subscribe to MAP_OCTREE and render as both points (Maps Server folder) and octree (Octomap folder). This is easy.
  • call octovis from the maps server c++ code and render it there

Also need to add a method to convert from an octree to a point cloud.

Log task panel status

Task execution, failures, and status messages should be logged in LCM so that we can later extract statistics about task execution performance. We could log the start/stop times of each task, the task name and parameters, and any status messages printed by the task.

Fix infeasible plan detection

A common problem is that planning code calls single shot IK to plan an end pose, then plans a posture goal to the end pose. The end pose may be infeasible (info 13) because it violates constraints, but the posture plan is info 1, because it successfully plans to the end pose.

We have some custom code in the valve task which copies the info 13 value from the single shot ik into the info field of the posture plan, but we don't have general support for this.

We could extend the computePostureGoal function so that it can be given an info error code to insert into the plan message is publishes.

Build error on Mac 10.10 using vtk5 from macports

User posts build errors after installing vtk5 from macports. Install command was:

port install vtk5 +qt4_mac qt4-mac python27 py-pip py-numpy

Build error is at link time:

[ 53%] Performing update step for 'ctkPythonConsole'
[ 56%] Performing configure step for 'ctkPythonConsole'
loading initial cache file /project/robotics/library/drake-distro/externals/director/distro/pods/drake-distro/pod-build/tmp/ctkPythonConsole-cache-Release.cmake
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

MACOSX_RPATH is not specified for the following targets:

ctkPythonConsole

This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /project/robotics/library/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/ctkPythonConsole-build
[ 59%] Performing build step for 'ctkPythonConsole'
[ 7%] Linking CXX shared library ../lib/libctkPythonConsole.dylib
[ 85%] Built target ctkPythonConsole
[ 92%] Linking CXX executable ../bin/console
[100%] Built target console
[ 62%] Performing install step for 'ctkPythonConsole'
[ 85%] Built target ctkPythonConsole
[100%] Built target console
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /project/robotics/library/drake-distro/install/include/ctkPythonConsole/ctkAbstractPythonManager.h
-- Up-to-date: /project/robotics/library/drake-distro/install/include/ctkPythonConsole/ctkConsole.h
-- Up-to-date: /project/robotics/library/drake-distro/install/include/ctkPythonConsole/ctkPythonConsole.h
-- Up-to-date: /project/robotics/library/drake-distro/install/include/ctkPythonConsole/ctkPythonConsoleExport.h
-- Installing: /project/robotics/library/drake-distro/install/lib/libctkPythonConsole.1.0.dylib
-- Up-to-date: /project/robotics/library/drake-distro/install/lib/libctkPythonConsole.dylib
[ 65%] Completed 'ctkPythonConsole'
[ 75%] Built target ctkPythonConsole
[ 78%] Performing configure step for 'ddapp'
loading initial cache file /project/robotics/library/drake-distro/externals/director/distro/pods/drake-distro/pod-build/tmp/ddapp-cache-Release.cmake
-- sphinx-build not found - python API documentation will not be built.
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

MACOSX_RPATH is not specified for the following targets:

_transformations
ddApp
vtkDRCFilters

This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /project/robotics/library/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/ddapp-build
[ 81%] Performing build step for 'ddapp'
[ 1%] Linking CXX shared library ../../../lib/libvtkDRCFilters.dylib
Undefined symbols for architecture x86_64:
"vtkObjectBase::PrintHeader(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtable for vtkGridSource in vtkGridSource.cxx.o
vtable for vtkFrameWidget in vtkFrameWidget.cxx.o
vtable for vtkFrameWidgetRepresentation in vtkFrameWidgetRepresentation.cxx.o
vtable for vtkInteractorStyleTerrain2 in vtkInteractorStyleTerrain2.cxx.o
vtable for vtkDepthImageProcessingPass in vtkDepthImageProcessingPass.cxx.o
vtable for vtkEDLShading in vtkEDLShading.cxx.o
vtable for vtkLCMGLProp in vtkLCMGLProp.cxx.o
...
"vtkObjectBase::PrintTrailer(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtable for vtkGridSource in vtkGridSource.cxx.o
vtable for vtkFrameWidget in vtkFrameWidget.cxx.o
vtable for vtkFrameWidgetRepresentation in vtkFrameWidgetRepresentation.cxx.o
vtable for vtkInteractorStyleTerrain2 in vtkInteractorStyleTerrain2.cxx.o
vtable for vtkDepthImageProcessingPass in vtkDepthImageProcessingPass.cxx.o
vtable for vtkEDLShading in vtkEDLShading.cxx.o
vtable for vtkLCMGLProp in vtkLCMGLProp.cxx.o
...
"vtkObjectBase::CollectRevisions(std::basic_ostream<char, std::char_traits >&)", referenced from:
vtable for vtkGridSource in vtkGridSource.cxx.o
vtable for vtkFrameWidget in vtkFrameWidget.cxx.o
vtable for vtkFrameWidgetRepresentation in vtkFrameWidgetRepresentation.cxx.o
vtable for vtkInteractorStyleTerrain2 in vtkInteractorStyleTerrain2.cxx.o
vtkDepthImageProcessingPass::CollectRevisions(std::basic_ostream<char, std::char_traits >&) in vtkDepthImageProcessingPass.cxx.o
vtable for vtkLCMGLProp in vtkLCMGLProp.cxx.o
"vtkRenderPass::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtkDepthImageProcessingPass::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkDepthImageProcessingPass.cxx.o
"vtkAbstractWidget::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtkFrameWidget::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkFrameWidget.cxx.o
"vtkOStreamWrapper::vtkOStreamWrapper(std::basic_ostream<char, std::char_traits >&)", referenced from:
vtkDepthImageProcessingPass::CollectRevisions(std::basic_ostream<char, std::char_traits >&) in vtkDepthImageProcessingPass.cxx.o
vtkEDLShading::CollectRevisions(std::basic_ostream<char, std::char_traits >&) in vtkEDLShading.cxx.o
"vtkOStreamWrapper::operator std::basic_ostream<char, std::char_traits >&()", referenced from:
vtkDepthImageProcessingPass::CollectRevisions(std::basic_ostream<char, std::char_traits >&) in vtkDepthImageProcessingPass.cxx.o
vtkEDLShading::CollectRevisions(std::basic_ostream<char, std::char_traits >&) in vtkEDLShading.cxx.o
"vtkInteractorStyle::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtkInteractorStyleTerrain2::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkInteractorStyleTerrain2.cxx.o
"vtkPolyDataAlgorithm::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtkGridSource::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkGridSource.cxx.o
"vtkWidgetRepresentation::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtkFrameWidgetRepresentation::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkFrameWidgetRepresentation.cxx.o
"vtkProp::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent)", referenced from:
vtkLCMGLProp::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkLCMGLProp.cxx.o
"operator<<(std::basic_ostream<char, std::char_traits >&, vtkSmartPointerBase const&)", referenced from:
vtkFrameWidgetRepresentation::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkFrameWidgetRepresentation.cxx.o
"operator<<(std::basic_ostream<char, std::char_traits >&, vtkIndent const&)", referenced from:
vtkGridSource::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkGridSource.cxx.o
vtkFrameWidgetRepresentation::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkFrameWidgetRepresentation.cxx.o
vtkInteractorStyleTerrain2::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkInteractorStyleTerrain2.cxx.o
vtkDepthImageProcessingPass::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkDepthImageProcessingPass.cxx.o
vtkEDLShading::PrintSelf(std::basic_ostream<char, std::char_traits >&, vtkIndent) in vtkEDLShading.cxx.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/build.make:383: recipe for target 'lib/libvtkDRCFilters.dylib' failed
gmake[10]: *** [lib/libvtkDRCFilters.dylib] Error 1
CMakeFiles/Makefile2:1044: recipe for target 'src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/all' failed
gmake[9]: *** [src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
gmake[8]: *** [all] Error 2
CMakeFiles/ddapp.dir/build.make:114: recipe for target 'src/ddapp-stamp/ddapp-build' failed
gmake[7]: *** [src/ddapp-stamp/ddapp-build] Error 2
CMakeFiles/Makefile2:180: recipe for target 'CMakeFiles/ddapp.dir/all' failed
gmake[6]: *** [CMakeFiles/ddapp.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
gmake[5]: *** [all] Error 2
Makefile:26: recipe for target 'all' failed
gmake[4]: *** [all] Error 2
CMakeFiles/director.dir/build.make:115: recipe for target 'director-prefix/src/director-stamp/director-build' failed
gmake[3]: *** [director-prefix/src/director-stamp/director-build] Error 2
CMakeFiles/Makefile2:739: recipe for ta

Support config files from LCM

I thought that Director had a mode to listen for PARAM_UPDATE channel, but I'm not sure how to make that work. I only know how to pass -c <file.cfg> on the command line.

Director should be able to:

  • receive urdf model from ROBOT_MODEL channel
  • receive bot config from PARAM_UPDATE
  • receive director_config.json from lcm channel to be determined

Other questions:

Should director_config.json specify the .cfg file, or do we keep those separate command line options? Since director_config.json specifies the fp.mat and .urdf files. Is there a use case for loading different .cfg files?

What about hand urdf files? Those are still read from disk. The main use case here is the ability to playback old logs, we don't necessarily need to support new plan queries while playing old logs.

Should we support reloading bot config and director_config.json at any point in time, or just have the application block on startup until the LCM message is received (which is how PARAM_UPDATE usually behaves, whereas ROBOT_MODEL supports reloading)

can't find Python.h on mac (possibly since upgrading xcode?)

Did a bit of searching because it feels like we’ve seen this one before, but I couldn’t see it. (sorry if it’s a repeat). also tried to verify that my homebrew python install seems happy enough.

drake008% rm -rf pod-build
drake008% make

BUILD_PREFIX: /Users/russt/drake-distro/build


-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found suitable version "4.8.7", minimum required is "4.8")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build
Scanning dependencies of target PythonQt
[  3%] Creating directories for 'PythonQt'
[  6%] Performing download step (git clone) for 'PythonQt'
Cloning into 'PythonQt'...
Note: checking out '00e6c6b2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 00e6c6b... Fix windows build issue when PythonQt Debug build against python Release
[  9%] No patch step for 'PythonQt'
[ 12%] Performing update step for 'PythonQt'
[ 15%] Performing configure step for 'PythonQt'
loading initial cache file /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/tmp/PythonQt-cache-Release.cmake
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonLibs: /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib (found version "2.7.10")
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.7")
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   PythonQt

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt-build
[ 18%] Performing build step for 'PythonQt'
[  1%] Generating generated_cpp/com_trolltech_qt_uitools/moc_com_trolltech_qt_uitools0.cxx
[  2%] Generating src/moc_PythonQt.cxx
[  3%] Generating src/moc_PythonQtSignalReceiver.cxx
[  4%] Generating src/moc_PythonQtStdDecorators.cxx
[  5%] Generating src/gui/moc_PythonQtScriptingConsole.cxx
[  6%] Generating generated_cpp/com_trolltech_qt_core_builtin/moc_com_trolltech_qt_core_builtin0.cxx
[  8%] Generating generated_cpp/com_trolltech_qt_gui_builtin/moc_com_trolltech_qt_gui_builtin0.cxx
[  9%] Generating generated_cpp/com_trolltech_qt_core/moc_com_trolltech_qt_core0.cxx
[ 10%] Generating generated_cpp/com_trolltech_qt_core/moc_com_trolltech_qt_core1.cxx
[ 11%] Generating generated_cpp/com_trolltech_qt_core/moc_com_trolltech_qt_core2.cxx
[ 12%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui0.cxx
[ 13%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui1.cxx
[ 15%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui2.cxx
[ 16%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui3.cxx
[ 17%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui4.cxx
[ 18%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui5.cxx
[ 19%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui6.cxx
[ 20%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui7.cxx
[ 22%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui8.cxx
[ 23%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui9.cxx
[ 24%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui10.cxx
[ 25%] Generating generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui11.cxx
Scanning dependencies of target PythonQt
[ 26%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtClassInfo.cpp.o
[ 27%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtClassWrapper.cpp.o
[ 29%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtConversion.cpp.o
/Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt/src/PythonQtConversion.cpp:402:14: warning:
      implicit conversion of NULL constant to 'bool' [-Wnull-conversion]
  ...PythonQtValueStorage_ADD_VALUE_IF_NEEDED(NULL,global_variantStorage, QVariant, QVariant(bytes), ptr2);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt/src/PythonQtMisc.h:56:24: note:
      expanded from macro 'PythonQtValueStorage_ADD_VALUE_IF_NEEDED'
  type* item = (type*)(alreadyAllocatedPtr?alreadyAllocatedPtr:store.nex...
                       ^                  ~
/Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt/src/PythonQtConversion.cpp:414:10: warning:
      implicit conversion of NULL constant to 'bool' [-Wnull-conversion]
  ...PythonQtValueStorage_ADD_VALUE_IF_NEEDED(NULL,global_variantStorage, QVariant, QVariant(str), ptr2);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt/src/PythonQtMisc.h:56:24: note:
      expanded from macro 'PythonQtValueStorage_ADD_VALUE_IF_NEEDED'
  type* item = (type*)(alreadyAllocatedPtr?alreadyAllocatedPtr:store.nex...
                       ^                  ~
/Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt/src/PythonQtConversion.cpp:1038:27: warning:
      conversion from string literal to 'char *' is deprecated
      [-Wc++11-compat-deprecated-writable-strings]
        PyObject* items = PyMapping_Items(val);
                          ^
/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7/abstract.h:1354:50: note:
      expanded from macro 'PyMapping_Items'
#define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL)
                                                 ^
3 warnings generated.
[ 30%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQt.cpp.o
[ 31%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtImporter.cpp.o
[ 32%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtInstanceWrapper.cpp.o
[ 33%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtMethodInfo.cpp.o
[ 34%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtMisc.cpp.o
[ 36%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtObjectPtr.cpp.o
[ 37%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtQFileImporter.cpp.o
[ 38%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtSignalReceiver.cpp.o
/Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt/src/PythonQtSignalReceiver.cpp:230:22: warning:
      '&&' within '||' [-Wlogical-op-parentheses]
  if ((foundCount>0) && (sigId == _destroyedSignal1Id) || (sigId == _des...
      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
/Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/PythonQt/src/PythonQtSignalReceiver.cpp:230:22: note:
      place parentheses around the '&&' expression to silence this warning
  if ((foundCount>0) && (sigId == _destroyedSignal1Id) || (sigId == _des...
                     ^
      (                                               )
1 warning generated.
[ 39%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtSlot.cpp.o
[ 40%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtSignal.cpp.o
[ 41%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtStdDecorators.cpp.o
[ 43%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtStdIn.cpp.o
[ 44%] Building CXX object CMakeFiles/PythonQt.dir/src/PythonQtStdOut.cpp.o
[ 45%] Building CXX object CMakeFiles/PythonQt.dir/src/gui/PythonQtScriptingConsole.cpp.o
[ 46%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/PythonQt_QtBindings.cpp.o
[ 47%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core_builtin/com_trolltech_qt_core_builtin0.cpp.o
[ 48%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core_builtin/com_trolltech_qt_core_builtin_init.cpp.o
[ 50%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui_builtin/com_trolltech_qt_gui_builtin0.cpp.o
[ 51%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui_builtin/com_trolltech_qt_gui_builtin_init.cpp.o
[ 52%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core/com_trolltech_qt_core0.cpp.o
[ 53%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core/com_trolltech_qt_core1.cpp.o
[ 54%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core/com_trolltech_qt_core2.cpp.o
[ 55%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core/com_trolltech_qt_core_init.cpp.o
[ 56%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui0.cpp.o
[ 58%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui1.cpp.o
[ 59%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui2.cpp.o
[ 60%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui3.cpp.o
[ 61%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui4.cpp.o
[ 62%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui5.cpp.o
[ 63%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui6.cpp.o
[ 65%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui7.cpp.o
[ 66%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui8.cpp.o
[ 67%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui9.cpp.o
[ 68%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui10.cpp.o
[ 69%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui11.cpp.o
[ 70%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/com_trolltech_qt_gui_init.cpp.o
[ 72%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_uitools/com_trolltech_qt_uitools0.cpp.o
[ 73%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_uitools/com_trolltech_qt_uitools_init.cpp.o
[ 74%] Building CXX object CMakeFiles/PythonQt.dir/src/moc_PythonQt.cxx.o
[ 75%] Building CXX object CMakeFiles/PythonQt.dir/src/moc_PythonQtSignalReceiver.cxx.o
[ 76%] Building CXX object CMakeFiles/PythonQt.dir/src/moc_PythonQtStdDecorators.cxx.o
[ 77%] Building CXX object CMakeFiles/PythonQt.dir/src/gui/moc_PythonQtScriptingConsole.cxx.o
[ 79%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core_builtin/moc_com_trolltech_qt_core_builtin0.cxx.o
[ 80%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui_builtin/moc_com_trolltech_qt_gui_builtin0.cxx.o
[ 81%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core/moc_com_trolltech_qt_core0.cxx.o
[ 82%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core/moc_com_trolltech_qt_core1.cxx.o
[ 83%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_core/moc_com_trolltech_qt_core2.cxx.o
[ 84%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui0.cxx.o
[ 86%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui1.cxx.o
[ 87%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui2.cxx.o
[ 88%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui3.cxx.o
[ 89%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui4.cxx.o
[ 90%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui5.cxx.o
[ 91%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui6.cxx.o
[ 93%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui7.cxx.o
[ 94%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui8.cxx.o
[ 95%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui9.cxx.o
[ 96%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui10.cxx.o
[ 97%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_gui/moc_com_trolltech_qt_gui11.cxx.o
[ 98%] Building CXX object CMakeFiles/PythonQt.dir/generated_cpp/com_trolltech_qt_uitools/moc_com_trolltech_qt_uitools0.cxx.o
[100%] Linking CXX shared library libPythonQt.dylib
[100%] Built target PythonQt
[ 21%] Performing install step for 'PythonQt'
[100%] Built target PythonQt
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/russt/drake-distro/build/lib/libPythonQt.dylib
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtClassInfo.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtClassWrapper.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtConversion.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtCppWrapperFactory.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtDoc.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQt.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtImporter.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtImportFileInterface.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtInstanceWrapper.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtMethodInfo.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtMisc.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtObjectPtr.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtQFileImporter.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtSignalReceiver.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtSlot.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtSignal.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtStdDecorators.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtStdIn.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtStdOut.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtSystem.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtVariants.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQtPythonInclude.h
-- Installing: /Users/russt/drake-distro/build/include/PythonQt/PythonQt_QtBindings.h
[ 25%] Completed 'PythonQt'
[ 25%] Built target PythonQt
Scanning dependencies of target QtPropertyBrowser
[ 28%] Creating directories for 'QtPropertyBrowser'
[ 31%] Performing download step (git clone) for 'QtPropertyBrowser'
Cloning into 'QtPropertyBrowser'...
Note: checking out 'baf10af'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at baf10af... fix dll export header definitions for cmake build on windows
[ 34%] No patch step for 'QtPropertyBrowser'
[ 37%] Performing update step for 'QtPropertyBrowser'
[ 40%] Performing configure step for 'QtPropertyBrowser'
loading initial cache file /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/tmp/QtPropertyBrowser-cache-Release.cmake
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found suitable version "4.8.7", minimum required is "4.7")
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   QtPropertyBrowser

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/QtPropertyBrowser-build
[ 43%] Performing build step for 'QtPropertyBrowser'
Scanning dependencies of target QtPropertyBrowserGenerateMoc
[  4%] Generating moc_qtbuttonpropertybrowser.cpp
[  8%] Generating moc_qteditorfactory.cpp
[ 12%] Generating moc_qtgroupboxpropertybrowser.cpp
[ 16%] Generating moc_qtpropertybrowser.cpp
[ 20%] Generating moc_qtpropertybrowserutils_p.cpp
[ 25%] Generating moc_qtpropertymanager.cpp
[ 29%] Generating moc_qttreepropertybrowser.cpp
[ 33%] Generating moc_qtvariantproperty.cpp
[ 37%] Generating qteditorfactory.moc
[ 41%] Generating qtpropertymanager.moc
[ 45%] Generating qttreepropertybrowser.moc
[ 45%] Built target QtPropertyBrowserGenerateMoc
[ 50%] Generating qrc_qtpropertybrowser.cxx
[ 54%] Generating moc_qtpropertybrowserutils_p.cxx
Scanning dependencies of target QtPropertyBrowser
[ 58%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qtbuttonpropertybrowser.cpp.o
[ 62%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qteditorfactory.cpp.o
[ 66%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qtgroupboxpropertybrowser.cpp.o
[ 70%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qtpropertybrowser.cpp.o
[ 75%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qtpropertybrowserutils.cpp.o
[ 79%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qtpropertymanager.cpp.o
[ 83%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qttreepropertybrowser.cpp.o
[ 87%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qtvariantproperty.cpp.o
[ 91%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/moc_qtpropertybrowserutils_p.cxx.o
[ 95%] Building CXX object src/CMakeFiles/QtPropertyBrowser.dir/qrc_qtpropertybrowser.cxx.o
[100%] Linking CXX shared library ../bin/libQtPropertyBrowser.dylib
[100%] Built target QtPropertyBrowser
[ 46%] Performing install step for 'QtPropertyBrowser'
[ 45%] Built target QtPropertyBrowserGenerateMoc
[100%] Built target QtPropertyBrowser
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qtbuttonpropertybrowser.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qteditorfactory.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qtgroupboxpropertybrowser.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qtpropertybrowser.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qtpropertybrowserutils_p.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qtpropertymanager.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qttreepropertybrowser.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/qtvariantproperty.h
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtAbstractEditorFactoryBase
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtAbstractPropertyBrowser
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtAbstractPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtBoolPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtBrowserItem
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtButtonPropertyBrowser
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtCharEditorFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtCharPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtCheckBoxFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtColorEditorFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtColorPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtCursorEditorFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtCursorPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtDateEditFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtDatePropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtDateTimeEditFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtDateTimePropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtDoublePropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtDoubleSpinBoxFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtEnumEditorFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtEnumPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtFlagPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtFontEditorFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtFontPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtGroupBoxPropertyBrowser
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtGroupPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtIntPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtKeySequenceEditorFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtKeySequencePropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtLineEditFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtLocalePropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtPointFPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtPointPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtProperty
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtRectFPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtRectPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtScrollBarFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtSizeFPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtSizePolicyPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtSizePropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtSliderFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtSpinBoxFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtStringPropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtTimeEditFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtTimePropertyManager
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtTreePropertyBrowser
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtVariantEditorFactory
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtVariantProperty
-- Installing: /Users/russt/drake-distro/build/include/QtPropertyBrowser/QtVariantPropertyManager
-- Installing: /Users/russt/drake-distro/build/lib/libQtPropertyBrowser.dylib
[ 50%] Completed 'QtPropertyBrowser'
[ 50%] Built target QtPropertyBrowser
Scanning dependencies of target ctkPythonConsole
[ 53%] Creating directories for 'ctkPythonConsole'
[ 56%] Performing download step (git clone) for 'ctkPythonConsole'
Cloning into 'ctkPythonConsole'...
Note: checking out '15988c5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 15988c5... fix library install rule to support dll runtime location on windows
[ 59%] No patch step for 'ctkPythonConsole'
[ 62%] Performing update step for 'ctkPythonConsole'
[ 65%] Performing configure step for 'ctkPythonConsole'
loading initial cache file /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/tmp/ctkPythonConsole-cache-Release.cmake
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.7")
-- Found PythonLibs: /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib (found version "2.7.10")
-- Found PythonQt: /Users/russt/drake-distro/build/include/PythonQt
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   ctkPythonConsole

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/ctkPythonConsole-build
[ 68%] Performing build step for 'ctkPythonConsole'
[  7%] Generating moc_ctkAbstractPythonManager.cxx
[ 14%] Generating moc_ctkConsole.cxx
[ 21%] Generating moc_ctkConsole_p.cxx
[ 28%] Generating moc_ctkPythonConsole.cxx
Scanning dependencies of target ctkPythonConsole
[ 35%] Building CXX object src/CMakeFiles/ctkPythonConsole.dir/ctkConsole.cpp.o
[ 42%] Building CXX object src/CMakeFiles/ctkPythonConsole.dir/ctkPythonConsole.cpp.o
[ 50%] Building CXX object src/CMakeFiles/ctkPythonConsole.dir/ctkAbstractPythonManager.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ctkPythonConsole.dir/moc_ctkConsole.cxx.o
[ 64%] Building CXX object src/CMakeFiles/ctkPythonConsole.dir/moc_ctkConsole_p.cxx.o
[ 71%] Building CXX object src/CMakeFiles/ctkPythonConsole.dir/moc_ctkPythonConsole.cxx.o
[ 78%] Building CXX object src/CMakeFiles/ctkPythonConsole.dir/moc_ctkAbstractPythonManager.cxx.o
[ 85%] Linking CXX shared library ../lib/libctkPythonConsole.dylib
[ 85%] Built target ctkPythonConsole
Scanning dependencies of target console
[ 92%] Building CXX object src/CMakeFiles/console.dir/main.cpp.o
[100%] Linking CXX executable ../bin/console
[100%] Built target console
[ 71%] Performing install step for 'ctkPythonConsole'
[ 85%] Built target ctkPythonConsole
[100%] Built target console
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/russt/drake-distro/build/include/ctkPythonConsole/ctkAbstractPythonManager.h
-- Installing: /Users/russt/drake-distro/build/include/ctkPythonConsole/ctkConsole.h
-- Installing: /Users/russt/drake-distro/build/include/ctkPythonConsole/ctkPythonConsole.h
-- Installing: /Users/russt/drake-distro/build/include/ctkPythonConsole/ctkPythonConsoleExport.h
-- Installing: /Users/russt/drake-distro/build/lib/libctkPythonConsole.1.0.dylib
-- Up-to-date: /Users/russt/drake-distro/build/lib/libctkPythonConsole.dylib
[ 75%] Completed 'ctkPythonConsole'
[ 75%] Built target ctkPythonConsole
Scanning dependencies of target director
[ 78%] Creating directories for 'director'
[ 81%] No download step for 'director'
[ 84%] No patch step for 'director'
[ 87%] No update step for 'director'
[ 90%] Performing configure step for 'director'
loading initial cache file /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/tmp/director-cache-Release.cmake
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29")
-- Checking for module 'bot2-lcmgl-client'
--   Found bot2-lcmgl-client, version 0.0.1
-- Checking for module 'bot2-lcmgl-renderer'
--   Found bot2-lcmgl-renderer, version 0.0.1
CMake Warning (dev) at /usr/local/opt/vtk5/lib/vtk-5.10/CMake/vtkWrapPython.cmake:147 (CONFIGURE_FILE):
  configure_file called with unknown argument(s):

   COPY_ONLY

Call Stack (most recent call first):
  cmake/wrap-python.cmake:12 (vtk_wrap_python3)
  src/vtk/DRCFilters/CMakeLists.txt:170 (wrap_python)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.7")
-- Found PythonLibs: /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib (found version "2.7.10")
-- Found PythonInterp: /usr/local/bin/python2.7 (found version "2.7.10")
-- Found PythonQt: /Users/russt/drake-distro/build/include/PythonQt
-- Found CTKPythonConsole: /Users/russt/drake-distro/build/include/ctkPythonConsole
-- Found QtPropertyBrowser: /Users/russt/drake-distro/build/include/QtPropertyBrowser
-- Checking for module 'lcm'
--   Found lcm, version 1.0.0
-- Found LCM: /Users/russt/drake-distro/build/include
-- Found NumPy: version "1.10.1" /usr/local/lib/python2.7/site-packages/numpy/core/include
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.10")
-- sphinx-build not found - python API documentation will not be built.
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   _transformations
   ddApp
   vtkDRCFilters
   vtkDRCFiltersPythonD

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/director-build
[ 93%] Performing build step for 'director'
[  0%] Generating depth_compose.cxx
[  0%] Generating edl_compose.cxx
[  1%] Generating edl_shade.cxx
[  1%] Generating bilateral_filter.cxx
Scanning dependencies of target vtkDRCFilters
[  2%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkGridSource.cxx.o
[  2%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkFrameWidget.cxx.o
[  3%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkFrameWidgetRepresentation.cxx.o
[  3%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkInteractorStyleTerrain2.cxx.o
[  3%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkDepthImageProcessingPass.cxx.o
[  4%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkEDLShading.cxx.o
[  4%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkLCMGLProp.cxx.o
[  4%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/edl_compose.cxx.o
[  5%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/edl_shade.cxx.o
[  5%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/bilateral_filter.cxx.o
[  6%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/depth_compose.cxx.o
[  6%] Linking CXX shared library ../../../lib/libvtkDRCFilters.dylib
[  6%] Built target vtkDRCFilters
[  6%] Python Wrapping - generating vtkDRCFiltersPythonInit.cxx
[  6%] Python Wrapping - generating vtkGridSourcePython.cxx
[  7%] Python Wrapping - generating vtkFrameWidgetPython.cxx
[  7%] Python Wrapping - generating vtkFrameWidgetRepresentationPython.cxx
[  8%] Python Wrapping - generating vtkInteractorStyleTerrain2Python.cxx
[  8%] Python Wrapping - generating vtkDepthImageProcessingPassPython.cxx
[  8%] Python Wrapping - generating vtkEDLShadingPython.cxx
[  9%] Python Wrapping - generating vtkLCMGLPropPython.cxx
Scanning dependencies of target vtkDRCFiltersPythonD
[  9%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFiltersPythonD.dir/vtkGridSourcePython.cxx.o
In file included from /Users/russt/drake-distro/externals/director/distro/pods/drake-distro/pod-build/src/director-build/src/vtk/DRCFilters/vtkGridSourcePython.cxx:10:
In file included from /usr/local/opt/vtk5/include/vtk-5.10/vtkPythonArgs.h:29:
In file included from /usr/local/opt/vtk5/include/vtk-5.10/vtkPythonUtil.h:21:
/usr/local/opt/vtk5/include/vtk-5.10/vtkPython.h:85:10: fatal error: 'Python.h'
      file not found
#include <Python.h>
         ^
1 error generated.
make[6]: *** [src/vtk/DRCFilters/CMakeFiles/vtkDRCFiltersPythonD.dir/vtkGridSourcePython.cxx.o] Error 1
make[5]: *** [src/vtk/DRCFilters/CMakeFiles/vtkDRCFiltersPythonD.dir/all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [src/director-stamp/director-build] Error 2
make[2]: *** [CMakeFiles/director.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2

lcmgl.text causes director to exit

lcmgl.text(zeros(3,1),'test',0,0)
lcmgl.switchBuffers

causes director to close instantaneously with:

freeglut  ERROR:  Function <glutBitmapHeight> called without first calling 'glutInit'.

Support URDF colors

This has been a long standing issue. By default, textures are enabled and URDF colors are disabled. Things to do:

  • add new color ivar for each link in ddDrakeModel.cpp to store URDF color specified in XML
  • on python RobotModelItem remove "Textures" boolean property, instead we should have a "Color Mode" with three enum options: Solid Color, URDF Colors, Texture
  • add config parameter to director_config.json so that a robot model can specify its preferred default

@iamwolf you can enable URDF colors by modifying roboturdf.py:

set this to True on this line:

    self.useUrdfColors = False

set this to False on this line:

self.addProperty('Textures', True)

The problem is, if Textures are enabled then all the link colors get set to white. Since ddDrakeModel.cpp doesn't store URDF colors, once you set the link colors to white there is no way to set them back to urdf colors. So URDF colors only work if you set the Textures property to default to False.

compile error on mac

this is my standard working mac. which certainly has GL for libbot, etc.

[ 90%] Performing configure step for 'ddapp'
loading initial cache file /Users/russt/drake-distro/director/pod-build/tmp/ddapp-cache.cmake
-- The C compiler identification is Clang 6.0.0
-- The CXX compiler identification is Clang 6.0.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Could NOT find Freetype (missing:  FREETYPE_INCLUDE_DIRS)
-- Found GTK2_GTK: /usr/local/lib/libgtk-x11-2.0.dylib
-- Found LibBot: /Users/russt/drake-distro/build/include
-- Found OpenGL: /System/Library/Frameworks/OpenGL.framework
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.6")
-- Found PythonLibs: /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib (found version "2.7.8")
-- Found PythonInterp: /usr/local/bin/python (found version "2.7.8")
-- Found PythonQt: /Users/russt/drake-distro/build/include/PythonQt
-- Found CTKPythonConsole: /Users/russt/drake-distro/build/include/ctkPythonConsole
-- Found QtPropertyBrowser: /Users/russt/drake-distro/build/include/QtPropertyBrowser
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.28")
-- checking for module 'lcm'
--   package 'lcm' not found
-- Found LCM: /Users/russt/drake-distro/build/include
-- Could NOT find Freetype (missing:  FREETYPE_INCLUDE_DIRS)
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.6")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/russt/drake-distro/director/pod-build/src/ddapp-build
[ 93%] Performing build step for 'ddapp'
Scanning dependencies of target vtkDRCFilters
[  1%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkGridSource.cxx.o
[  1%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkFrameWidget.cxx.o
[  2%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkFrameWidgetRepresentation.cxx.o
[  3%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkLCMGLProp.cxx.o
In file included from /Users/russt/drake-distro/director/src/vtk/DRCFilters/vtkLCMGLProp.cxx:20:
/usr/local/opt/vtk5/include/vtk-5.10/vtkOpenGL.h:26:11: fatal error: 'GL/gl.h' file not found
# include <GL/gl.h> // Include OpenGL API.
          ^
1 error generated.
make[6]: *** [src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/vtkLCMGLProp.cxx.o] Error 1
make[5]: *** [src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/all] Error 2
make[4]: *** [all] Error 2

Citation information/guidance

@patmarion Do you have a pre-prepared bibtex snippet on how to best cite the director? And would you like to add this citation information to the readme?

Thanks,
Wolf

'Segment Table' not working

I think the 'segment table' functionality is currently broken. I get the error below. Any thoughts?

[pcl::VoxelGrid::applyFilter] Leaf size is too small for the input dataset. Integer indices would overflow.Generic Warning: In /build/buildd/vtk-5.8.0/Common/vtkMath.cxx, line 553
Unable to factor linear system

Generic Warning: In /build/buildd/vtk-5.8.0/Common/vtkMath.cxx, line 553
Unable to factor linear system

Generic Warning: In /build/buildd/vtk-5.8.0/Common/vtkMath.cxx, line 553
Unable to factor linear system

Generic Warning: In /build/buildd/vtk-5.8.0/Common/vtkMath.cxx, line 553
Unable to factor linear system

...

Relative to Director ui updates

I refer to the Footstep Panel in Director. I would like to re-organize the group of buttons contained in the QGroupBox named "Advanced Options". In particular:

  1. add the two properties "IHMC Transfer Time" and "IHMC Swing Time" to the list
  2. split the list in 2 groups: "Planning Options" and "Control Options"
  3. split the "Control Options" group in subgroups: "Drake" and "IHMC"

Now, I can create many QGroupBox in the file ddFootsteps.ui, but then I have to populate them from footstepdriverpanel.py. Currently, the constructor of the FootstepsPanel class populates the "Advanced Options" box with the whole list of properties from the footstepDriver params (self.panelConnector = propertyset.PropertyPanelConnector(self.driver.params.properties, self.propertiesPanel)), without any distinction. I am not sure about how to add planning and control options separately in footstepdriver.py, in order to be able to refer to different lists from the footstepPanel.

@patmarion Any suggestion? What would you do?

Thanks!

compile error on parallel build

[ 85%] Building CXX object src/app/CMakeFiles/ddApp.dir/ddViewMenu.cpp.o
[ 85%] Building CXX object src/app/CMakeFiles/ddApp.dir/vtkSimpleActorInteractor.cxx.o
[ 86%] Building CXX object src/app/CMakeFiles/ddApp.dir/vtkTDxInteractorStyleCallback.cxx.o
[ 86%] Building CXX object src/app/CMakeFiles/ddApp.dir/moc_ddLCMSubscriber.cxx.o
[ 87%] Building CXX object src/app/CMakeFiles/ddApp.dir/moc_ddLCMThread.cxx.o
[ 87%] Building CXX object src/app/CMakeFiles/ddApp.dir/ddLCMThread.cpp.o
Linking CXX shared library ../../lib/libddApp.dylib
ld: library not found for -lQVTK
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[10]: *** [lib/libddApp.dylib] Error 1
make[9]: *** [src/app/CMakeFiles/ddApp.dir/all] Error 2
make[8]: *** [all] Error 2
make[7]: *** [src/ddapp-stamp/ddapp-build] Error 2
make[6]: *** [CMakeFiles/ddapp.dir/all] Error 2
make[5]: *** [all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [director-prefix/src/director-stamp/director-build] Error 2
make[2]: *** [CMakeFiles/director.dir/all] Error 2

this is on the drake005 running with -j 12. is it possible that there is a dependency missing? the error seems random and the serial build (has) worked fine on the same machine.

Reduce width of the plan playback panel

There's a bug that causes the panel to resize itself to an unnecessarily large width for an instant, this breaks the main window sizing which is very annoying if you don't have a high resolution display.

After fixing that bug, if the min width of the panel is still too large, there are some options:

Director really really really wants to use Qt version 4.8.6 (but I have 4.8.7)

As of today, the director build is failing with the following error:

[  6%] Building CXX object src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/depth_compose.cxx.o
gnumake[10]: *** No rule to make target `/usr/local/Cellar/qt/4.8.6/lib/QtGui.framework', needed by `lib/libvtkDRCFilters.dylib'.  Stop.
gnumake[9]: *** [src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/all] Error 2
gnumake[8]: *** [all] Error 2
gnumake[7]: *** [src/ddapp-stamp/ddapp-build] Error 2
gnumake[6]: *** [CMakeFiles/ddapp.dir/all] Error 2
gnumake[5]: *** [all] Error 2
gnumake[4]: *** [all] Error 2
gnumake[3]: *** [director-prefix/src/director-stamp/director-build] Error 2
gnumake[2]: *** [CMakeFiles/director.dir/all] Error 2
gnumake[1]: *** [all] Error 2
make: *** [all] Error 2

which makes sense, because I don't have Qt 4.8.6; I have 4.8.7. The configuration process seems to know that:

-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.7")

but no matter what I do, the vtk filters still try to link against a non-existent version 4.8.6. My qmake --version returns:

± qmake --version
QMake version 2.01a
Using Qt version 4.8.7 in /usr/local/Cellar/qt/4.8.7/lib

which is correct.

I've done a clean build in director, manually removed director/distro/pods/drake-distro/pod-build, and even nuked the entire drake/pod-build folder, to no avail.

Any ideas?

qt4 installation on mac 10.11

moving this over from piazza....

michael from edx wrote:

OSX 10.11 does not support qt4 and hence I installed qt5.0.4 (though qt5.5 is the latest).

I had an older version of OSX (10.6) but MATLAB 2015b will not run on it!

and @patmarion replied:

Report didn't say whether they are using home brew to install qt4? As far as I can tell based on GitHub discussions by homebrew devs, they are supporting qt4 on osx 10.11 via a patch and it should install correctly. Perhaps requires a brew update to get the fix if they have old formulae.

Actually just saw this mentioned in another issue, might require from source install as in:

Confirmed: brew install --build-from-source qt now works on my OS X 10.11 GM seed / Xcode 7 GM seed test box.

Documentation feedback

[ this comment is copy & pasted from here https://github.com//pull/120#issuecomment-157953280 ]

I added a new layout for sphinx documentation. Sphinx is a tool that generates static html files from restructured text files (.rst file extension). Most of the rst files I added are stubs, but please have a look and let me know what you think. Everything is in docs/sphinx. Here is what the output looks like:

http://openhumanoids.github.io/director/

Please let me know whether or not you think it's a good idea to use the github.io url. I put it there for now since it was easy.

If you want to generate the html documentation yourself, it's quite easy once you have sphinx installed. On ubuntu I installed sphinx with:

sudo pip install sphinx sphinx-rtd-theme

You can generate sphinx documentation with:

cd director/docs/sphinx
make html

# view the result
firefox _build/html/index.html

To make sphinx documentation that includes the python module auto documentation, you need to run these two commands:

cd director/distro/pods/drc/pod-build

make docs-sphinx-generate
make docs-sphinx-build

The docs-sphinx-generate target will generate module rst files in docs/sphinx/generated. If you run make html then you will get a bunch of import errors because sphinx doesn't know how to import the director modules to generate documentation, that's why you need to run the docs-sphinx-build command as written above.

odd logic in teleoppannel.py

When debugging #90 I noticed that this doesn't do anything:

      if self.panel.ikPlanner.defaultIkParameters.useCollision:
        self.setLHandConstraint('ee fixed')
      else:
        self.setLHandConstraint('ee fixed')
    elif side == 'right':
      if self.panel.ikPlanner.defaultIkParameters.useCollision:
        self.setRHandConstraint('ee fixed')
      else:
        self.setRHandConstraint('ee fixed')

...In teleoppanel.py

Any idea what the intention was? Andres added is some time ago

Add remote rendering types to director?

Pre-DRC I heavily used a libbot renderer called "LCM collections". It allows a process to send basic drawing primitives over LCM to be rendered. We used it a lot for SLAM and algorithm visualisation.

It was quite similar to the concept in ROS of Markers - see this video:
http://wiki.ros.org/rviz/DisplayTypes/Marker
http://docs.ros.org/api/visualization_msgs/html/msg/Marker.html

Implementing this would seem to be easy in VTK. I think that Drake could really do with this as LCM GL is hard to use.

@patmarion @RussTedrake : what do you think?

yet another compile error

on drake005

-- Build files have been written to: /tmp/drake-1191-8727/externals/director/distro/pods/drake-distro/pod-build/src/ddapp-build
[ 93%] Performing build step for 'ddapp'
[  1%] Generating depth_compose.cxx
/bin/sh: ./depth_compose.cxx: No such file or directory
make[6]: *** [src/vtk/DRCFilters/depth_compose.cxx] Error 127
make[5]: *** [src/vtk/DRCFilters/CMakeFiles/vtkDRCFilters.dir/all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [src/ddapp-stamp/ddapp-build] Error 2
make[2]: *** [CMakeFiles/ddapp.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2

Segfault upon loading ply file

Backtrace:

ERROR: In /build/buildd/vtk-5.8.0/IO/vtkPLYReader.cxx, line 131
vtkPLYReader (0x64b2320): Cannot read geometry


Program received signal SIGSEGV, Segmentation fault.
0x00007fffef68459b in vtkPLY::equal_strings(char const*, char const*) () from /usr/lib/libvtkIO.so.5.8
(gdb) backtrace
#0  0x00007fffef68459b in vtkPLY::equal_strings(char const*, char const*) () from /usr/lib/libvtkIO.so.5.8
#1  0x00007fffef684607 in vtkPLY::find_element(PlyFile*, char const*) () from /usr/lib/libvtkIO.so.5.8
#2  0x00007fffef687cd7 in vtkPLYReader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) () from /usr/lib/libvtkIO.so.5.8
#3  0x00007fffeef056e0 in vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) () from /usr/lib/libvtkFiltering.so.5.8
#4  0x00007fffeeef75a7 in vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) () from /usr/lib/libvtkFiltering.so.5.8
#5  0x00007fffeeefa461 in vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) () from /usr/lib/libvtkFiltering.so.5.8
#6  0x00007fffef04c921 in vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) () from /usr/lib/libvtkFiltering.so.5.8
#7  0x00007fffeeef8e4d in vtkDemandDrivenPipeline::UpdateData(int) () from /usr/lib/libvtkFiltering.so.5.8
#8  0x00007fffef04931e in vtkStreamingDemandDrivenPipeline::Update(int) () from /usr/lib/libvtkFiltering.so.5.8
#9  0x00007fffb358410d in ?? () from /usr/lib/libvtkFilteringPythonD.so.5.8
#10 0x00007fffec6ce0d4 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#11 0x00007fffec6cf54d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#12 0x00007fffec6cddd8 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#13 0x00007fffec6ce059 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#14 0x00007fffec6cf54d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#15 0x00007fffec7046d0 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#16 0x00007fffec670d43 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#17 0x00007fffec6e9577 in PyEval_CallObjectWithKeywords () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#18 0x00007ffff50240bb in PythonQtSignalTarget::call(_object*, PythonQtMethodInfo const*, void**, bool) () from /home/wxm/MSc_Project/drc/software/build/lib/libPythonQt.so
#19 0x00007ffff5024156 in PythonQtSignalTarget::call(void**) const () from /home/wxm/MSc_Project/drc/software/build/lib/libPythonQt.so
#20 0x00007ffff5024b9b in PythonQtSignalReceiver::qt_metacall(QMetaObject::Call, int, void**) () from /home/wxm/MSc_Project/drc/software/build/lib/libPythonQt.so
#21 0x00007ffff5c9fa78 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#22 0x00007ffff5c9f87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007ffff6d93a62 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007ffff6d95433 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007ffff6d9558c in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#26 0x00007ffff6d99e2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007ffff6da04a0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007ffff5c8b4dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#29 0x00007ffff6dcb2a6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007ffff6dcb3dc in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007ffff6da1773 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007ffff5c8b4dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#33 0x00007ffff6e39027 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007ffff6e393c9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007ffff6e13417 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#36 0x00007ffff6e3bb32 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#37 0x00007fffee398e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007fffee399048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007fffee3990ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007ffff5cb87a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#41 0x00007ffff6e3bbe6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#42 0x00007ffff5c8a0af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#43 0x00007ffff5c8a3a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#44 0x00007ffff5c8fb79 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#45 0x0000000000400be8 in main ()

The ply in question was written by PCL and can be opened without problems in MeshLab. I've uploaded it here. The problem seems to come from vtk directly, but perhaps we can handle this more gracefully. Should I perhaps use a different/newer vtk version?

Bug in ddDrakeModel::findLinkID

I think ddDrakeModel::findLinkID (or further down) has a bug.

The foot frames on Val are 'RightFoot' and 'LeftFoot'. Recently NASA changed the F/T sensors to be:

<link name="RightFootSixAxis_Frame">
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333e-22" ixy="0.0" ixz="0.0" iyy="3.33333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<joint name="RightFootSixAxis_Offset" type="fixed">
<origin rpy="3.14 0.0 -1.047" xyz="0.0215594 0.0 -0.0585488"/>
<axis xyz="0 0 1"/>
<parent link="RightFoot"/>
<child link="RightFootSixAxis_Frame"/>
</joint>
<gazebo reference="RightFootSixAxis_Offset">
<sensor name="RightFootSixAxis" type="force_torque">
<frame>child</frame>
</sensor>
</gazebo>

This now causes ddDrakeModel::findLinkID('LeftFoot') to fail where before it was fine.
I think the start of the F/T frames are clashing. Perhaps a string comparison issue?

Moving Motion Planning from Matlab to Python

  • Most of that code lives in ik.py, could be renamed to ikMatlab.py and another ik.py put in place with some interface
  • Key to separate process/thread, e.g. through threaded C++ layer or through Python process/thread that runs the SWIG-exposed drake
  • Cf. ikserver.m / ikserver.py
  • It'd be desirably to have a template that can be inherited and overwritten/implemented for different motion planning libraries, e.g. pydrake, pyexotica, dedicated motion planners

_Action Points_

  1. write a test program that loads v5 and runs a IK and trajectory query using our most commonly used constraints, then publishes the results
  2. perhaps rename ConstraintSet to MotionPlanningProblem, use as basis of generalisation
  3. Compile list of what required capability is not yet exposed through SWIG, push upstream to drake
  4. Someone with experience with ik.py (tbd) writes a replacement ik.py
  5. Rename .runIkTraj to .plan()

(From our meeting on March 11, 2016)

cairo lib issue suddenly appeared on mac

Traceback (most recent call last):
  File "/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/Users/russt/drake-distro/build/lib/python2.7/dist-packages/ddapp/drakevisualizer.py", line 5, in <module>
    import ddapp.applogic as app
  File "/Users/russt/drake-distro/build/lib/python2.7/dist-packages/ddapp/applogic.py", line 5, in <module>
    import ddapp.vtkAll as vtk
  File "/Users/russt/drake-distro/build/lib/python2.7/dist-packages/ddapp/vtkAll.py", line 2, in <module>
    from vtkDRCFiltersPython import *
ImportError: dlopen(/Users/russt/drake-distro/build/lib/python2.7/dist-packages/ddapp/vtkDRCFiltersPython.so, 2): Symbol not found: _cairo_xlib_surface_create
  Referenced from: /usr/local/lib/libgdk-x11-2.0.0.dylib
  Expected in: /usr/local/lib/libcairo.2.dylib
 in /usr/local/lib/libgdk-x11-2.0.0.dylib

missing FindVTK.cmake on drake001 (mac)

[ 78%] Performing configure step for 'ddapp'
loading initial cache file /tmp/drake-distro/director/distro/pods/drake-distro/pod-build/tmp/ddapp-cache.cmake
CMake Error at src/vtk/CMakeLists.txt:1 (find_package):
  By not providing "FindVTK.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "VTK", but
  CMake did not find one.

  Could not find a package configuration file provided by "VTK" with any of
  the following names:

    VTKConfig.cmake
    vtk-config.cmake

  Add the installation prefix of "VTK" to CMAKE_PREFIX_PATH or set "VTK_DIR"
  to a directory containing one of the above files.  If "VTK" provides a
  separate development package or SDK, be sure it has been installed.


-- Configuring incomplete, errors occurred!
drake001% cmake --version
cmake version 3.2.3

Add better version checking for dependencies

Some mac osx users have been having trouble with their build because they have conflicting versions of dependencies installed in their PATH (qt, vtk, or python). We could help them avoid confusing build errors by doing an inspection of which versions are found by cmake and directing them to an online guide to help troubleshoot.

Implement DRAKE_VIEWER_COMMAND: starting/stopping recording etc.

  • drake-visualizer currently does not subscribe to DRAKE_VIEWER_COMMAND
  • as such, commands for recording movies e.g. triggered via visualizer.playbackMovie() (cf. here) are not being acted upon

I'd like to:

  1. In drake-visualizer, subscribe to DRAKE_VIEWER_COMMAND to start and stop recording of movies programmatically
  2. Extend the bot_core_viewer_command_t (here) enum for SAVE_SCREENSHOT- to my understanding this won't affect the message hash, so is backwards-compatible
  3. Extend the command also for setting the view (camera position), with the serialised data being sent in the command_data field
  4. Similarly, lock the view size/set the view size

The idea here is to be able to always set the visualizer to the same view, and remotely trigger screenshots and movie frame recordings. Alongside these changes will be changes to Drake's BotVisualizer to allow for these commands to be sent.

Very happy to hear input, comments, and feedback before I get to work -
Thanks :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.