Git Product home page Git Product logo

spartan's Introduction

Spartan

Build status on master branch:

http://spartan-jenkins.csail.mit.edu:8080/buildStatus/icon?job=spartan-master

Build status on master branch, using Drake and Director master branches:

http://spartan-jenkins.csail.mit.edu:8080/buildStatus/icon?job=spartan-master-on-drake-and-director-master

Documentation on how to operate the Kuka robot hardware can be found here.

Disclaimer (not supported for public use)

This is a project repository for robotics research and applications using Drake and Director. This repository is meant as an internal tool for the Robot Locomotion Group. It contains private submodules and is not supported for external use.

Docker Build instructions

The only supported way to build Spartan is with Docker. See build with Docker instructions here.

LCM Multicast Setup

Director relies on LCM for message passing. Since LCM uses UDP multicast a valid multicast route must always be defined. Follow the instructions here under the section "Using LCM on a Single Host." Basically you just need to run:

sudo ifconfig lo multicast
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo

After restarting your computer these settings can be lost depending on your network configuration.

Drake and Director submodules

This project intends to track the master branches of these submodules, but the submodules are updated manually and only on demand, so they may not be completely up to date all the time.

It is ok to set the submodule reference to a personal branch hosted on a personal fork, as long as the changes in the branch are on track to be merged upstream in the near term, and as long as you are willing to rebase your branch onto upstream master on a frequent basis.

Scripts

You can add executable scripts to the scripts/bin folder. These scripts will appear in your PATH via the sourced environment file.

FAQ

  • If you get an error related to an LCM Self Test (e.g. in a director test), then it is likely your network is not allowing LCM packets to return via loopback. See https://lcm-proj.github.io/multicast_setup.html.
  • If you get an error related to being unable to find a shared library liblcm.so after calling make, you may not have called . build/setup_environment.sh (or, equivalently, use_spartan). These commands work only after calling cmake, so run the CMake configuration -- then source the environment setup file -- then run make.

Code Style

Other useful documentation

spartan's People

Contributors

cdarpino avatar christophersweeney avatar ericcousineau-tri avatar gizatt avatar kmuhlrad avatar manuelli avatar pangtao22 avatar patmarion avatar peteflorence avatar rlg-jenkins avatar sammy-tri avatar weigao95 avatar yunzhuli 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

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  avatar  avatar  avatar  avatar  avatar

spartan's Issues

undefined symbol error with openni2_launch

Occasionally I see the following error when launching rosrun openni2_launch openni2.launch after source use_ros and use_spartan.

If you only call use_ros then it works fine. My guess is that this is due to spartan building it's own libopenni2.

ROS_MASTER_URI=http://localhost:11311
�]2;/home/manuelli/spartan/build/install/share/camera_config/launch/openni2.launch http://localhost:11311�
core service [/rosout] found
process[camera_1112170110/camera_1112170110_nodelet_manager-1]: started with pid [31178]
[ INFO] [1509732042.987475247]: Initializing nodelet with 4 worker threads.
process[camera_1112170110/driver-2]: started with pid [31179]
/opt/ros/kinetic/lib/nodelet/nodelet: symbol lookup error: /opt/ros/kinetic/lib//libopenni2_camera_nodelet.so: undefined symbol: _ZN15openni2_wrapper13OpenNI2DriverC1ERN3ros10NodeHandleES3_
[FATAL] [1509732043.057331057]: Failed to load nodelet '/camera_1112170110/driver` of type `openni2_camera/OpenNI2DriverNodelet` to manager `camera_1112170110_nodelet_manager'
process[camera_1112170110/rgb_rectify_color-3]: started with pid [31200]
[camera_1112170110/camera_1112170110_nodelet_manager-1] process has died [pid 31178, exit code 127, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager __name:=camera_1112170110_nodelet_manager __log:=/home/manuelli/.ros/log/88e220a2-c0be-11e7-83f3-0242ac110002/camera_1112170110-camera_1112170110_nodelet_manager-1.log].
log file: /home/manuelli/.ros/log/88e220a2-c0be-11e7-83f3-0242ac110002/camera_1112170110-camera_1112170110_nodelet_manager-1*.log
process[camera_1112170110/depth_rectify_depth-4]: started with pid [31216]
process[camera_1112170110/depth_metric_rect-5]: started with pid [31233]
process[camera_1112170110/depth_metric-6]: started with pid [31252]
[camera_1112170110/driver-2] process has died [pid 31179, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load openni2_camera/OpenNI2DriverNodelet camera_1112170110_nodelet_manager ir:=ir rgb:=rgb depth:=depth depth_registered:=depth_registered rgb/image:=rgb/image_raw depth/image:=depth_registered/image_raw __name:=driver __log:=/home/manuelli/.ros/log/88e220a2-c0be-11e7-83f3-0242ac110002/camera_1112170110-driver-2.log].
log file: /home/manuelli/.ros/log/88e220a2-c0be-11e7-83f3-0242ac110002/camera_1112170110-driver-2*.log
process[camera_1112170110/depth_points-7]: started with pid [31276]

apriltags_driver build fails looking for eigen3

During the director build, while running cmake for apriltags_driver, it fails to find eigen3 (specifically eigen3.pc since it's using pods afaict). This seems to be because eigen3.pc is in build/install/share/pkgconfig instead of build/install/lib/pkgconfig (where all of the other .pc files are). Copying eigen3.pc into build/install/lib/pkgconfig seems to fix matters for that build, but I'm not sure how it's landing out of place to begin with.

Add sensors to iiwa sim

Add the ability to simulate depth/color sensors in the iiwa drake sim. It should publish out messages via ROS, presumably on the PointCloud2 channel.

@stonier is this already supported in drake? If so could you point us to an example. It would be nice to be able to dynamically specify the camera location at runtime since it is usually read from a calibration config file.

Can't run procman within docker container

gizatt@efa32492caee:~/spartan/build$ kuka_iiwa_procman 
Gtk-Message: Failed to load module "canberra-gtk-module"
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/gizatt/spartan/build/install/lib/python2.7/site-packages/bot_procman/sheriff_gtk/sheriff_gtk.py", line 821, in <module>
    main()
  File "/home/gizatt/spartan/build/install/lib/python2.7/site-packages/bot_procman/sheriff_gtk/sheriff_gtk.py", line 783, in main
    gui = SheriffGtk(lc)
  File "/home/gizatt/spartan/build/install/lib/python2.7/site-packages/bot_procman/sheriff_gtk/sheriff_gtk.py", line 201, in __init__
    os.makedirs(config_dir)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/gizatt/.config/procman-sheriff'

Just running bot-procman-sheriff encounters the same error. Looks like .config is owned by root -- it's created during the docker build process. I think I can fix

CI should build private repos

But this requires getting ssh keys, without password prompt, working inside of Docker, on Jenkins.

(╯°□°)╯︵ ┻━┻

Improve support for private drivers

If you build spartan source code and set WITH_DRIVERS=1 then the superbuild attempts to checkout and build proprietary driver source code which is hosted in private git repositories.

Normally I only build WITH_DRIVERS=1 on maches in the robot lab. Those machines have the necessary ssh keys setup to access the private drivers.

When external collaborators attempt to use spartan with their robot hardware there is no simple way for them to build the drivers using alternate repositories, they need to have access to the repos that are listed in the spartan superbuild.

Track down lipopenni-dev dependency

As patched in #160, we have a libopenni-dev depedency, whereas we expect libopenni2-dev to suffice. Would be better to understand where this comes from, and remove if possible.

setting WITH_SNOPT ON breaks build inside docker container

This results in the error

ERROR: /root/spartan/drake/drake/solvers/BUILD:477:1: no such package '@snopt//': Traceback (most recent call last):
    File "/root/.cache/bazel/_bazel_root/2561d68fd8fc2694a44484d8a10a4070/external/bazel_tools/tools/build_defs/repo/git.bzl", line 67
        _clone_or_update(ctx)
    File "/root/.cache/bazel/_bazel_root/2561d68fd8fc2694a44484d8a10a4070/external/bazel_tools/tools/build_defs/repo/git.bzl", line 42, in _clone_or_update
        fail("error cloning %s:\n%s" % (ctx.n...))
error cloning snopt:
+ cd /root/.cache/bazel/_bazel_root/2561d68fd8fc2694a44484d8a10a4070/external
+ rm -rf /root/.cache/bazel/_bazel_root/2561d68fd8fc2694a44484d8a10a4070/external/snopt
+ git clone [email protected]:RobotLocomotion/snopt.git /root/.cache/bazel/_bazel_root/2561d68fd8fc2694a44484d8a10a4070/external/snopt
Cloning into '/root/.cache/bazel/_bazel_root/2561d68fd8fc2694a44484d8a10a4070/external/snopt'...
error: cannot run ssh: No such file or directory
fatal: unable to fork
 and referenced by '//drake/solvers:snopt_solver'.
ERROR: Analysis of target '//:install' failed; build aborted.
INFO: Elapsed time: 0.459s

Looks like the ssh file doesn't exist. Also git is not installed. Probably we need to copy ~/.ssh from outside the container to inside.

Need to figure out how to docker start with graphics

the docker_run.py script works with the flags -e DISPLAY -e QT_X11_NO_MITSHM=1 to nvidia-docker

but we do yet not know the analogue of how to do this for docker start

for example, -e is not an accepted flag for docker start

Can't start director with spartan master.

I also run into this problem when starting director.
my director sha 02c2ef65f8d1d9f3de1d56d129351cd43846d70b
drake sha 2d606c778396ddd22d61e08516e7bc2b98ad8b56
Any ideas???

[2017-10-19 15:58:00.907] [console] [warning] Couldn't find package 'iiwa_description' in the supplied packagepath.
[2017-10-19 15:58:00.907] [console] [warning] Mesh 'package://iiwa_description/meshes/visual/link_0.obj' could not be resolved and will be ignored by Drake. If you don't want it to be ignored, please include it in the package map.
Traceback (most recent call last):
File "/home/user/code/spartan/build/install/lib/python2.7/site-packages/director/consoleapp.py", line 51, in onStartup
func()
File "/home/user/code/spartan/build/install/lib/python2.7/site-packages/director/mainwindowapp.py", line 326, in loadScripts
execfile(filename, fields.globalsDict)
File "iiwaManipApp.py", line 254, in
robotSystem = makeRobotSystem(view)
File "iiwaManipApp.py", line 106, in makeRobotSystem
robotSystem = factory.construct(view=view, options=options)
File "/home/user/code/spartan/build/install/lib/python2.7/site-packages/director/componentgraph.py", line 148, in construct
self.initComponent(name, defaultFields)
File "/home/user/code/spartan/build/install/lib/python2.7/site-packages/director/componentgraph.py", line 164, in initComponent
newFields = initFunction(inputFields)
File "/home/user/code/spartan/build/install/lib/python2.7/site-packages/director/robotsystem.py", line 62, in initRobotState
visible=True)
File "/home/user/code/spartan/build/install/lib/python2.7/site-packages/director/roboturdf.py", line 205, in loadRobotModel
model = loadRobotModelFromFile(urdfFile)
File "/home/user/code/spartan/build/install/lib/python2.7/site-packages/director/roboturdf.py", line 246, in loadRobotModelFromFile
if not model.loadFromFile(filename, floatingJointType):
RuntimeError: std::runtime_error: drake/multibody/parsers/urdf_parser.cc: ParseGeometry: ERROR: Mesh file name could not be resolved from the provided uri "package://iiwa_description/meshes/visual/link_0.obj".

Interrupt

clean up UR10

remove everything related to pybind11, no longer used

LcmLogPlayer may not process all logged LCM events

I am not sure if I kludged my setup, but sim_playback.py, using LcmLogPlayer, does not seem to be finding the last DRAKE_VIEWER_DRAW timestamp with a Drake simulation using drake::systems::DrakeVisualizer.

If I record my simulation from the beginning (~10.5s of simulation time), then play it back, LcmLogPlayer will stop precessing timestamps[-1] = 36600 (.366s) due to getting None as an event.
If I play the log back in lcm-logplayer, I can see the drawn simulation time go up to ~10.5s, and so if I change director.lcmlogplayer from:

    while True:
        # ...
        event = log.read_next_event()
        if not event:
            break

to:

    while lastEventTimestamp < 10.5e6:
        # ...
        event = log.read_next_event()
        # if not event:
        #    break

then it will get up to 10.5s in the recorded simulation.

The only slightly relevant change is that I briefly modified drake::systems::DrakeVisualizer on my dev branch to add a prefix to LCM channels, and made an extension of director's DrakeVisualizer that will inject prefixes to the LCM channels (as a quick way to visualize both the simulated and estimated plant from drake).

I will see if I can trim the existing log and post that.

Build fails if eigen not system installed

If you don't have eigen system installed then the spartan build fails in the ApriTags part of the director superbuild. This is because it fails to find the eigen supplied by the drake build.

Potential solutions.

  • add libeigen3-dev to the list of required dependencies.
  • fix the apriltags build to find the drake supplied eigen.

Thoughts @patmarion @peteflorence

kuka driver seg faulting

What we have so far:

peteflo@e8230ed132e3:~/spartan/build$ gdb --args kuka_driver
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from kuka_driver...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/peteflo/spartan/build/install/bin/kuka_driver 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff69cd700 (LWP 8427)]
Listening for robot 0 port 30200
LBRiiwaClient state changed from 0 to 1
onStateChange ( 1507817757199000): old 0 new 1
onStateChange ( 1507817757199000): quality 0 safety 0 oper 2 drive 0 control 0 command 0 overlay 0

Thread 1 "kuka_driver" received signal SIGSEGV, Segmentation fault.
0x000000000040a3c8 in kuka_driver::do_main() ()
(gdb) bt
#0  0x000000000040a3c8 in kuka_driver::do_main() ()
#1  0x0000000000406043 in main ()
(gdb) 

"GMock" Error when building Spartan

Hi all, I am attempting to build Spartan on Ubuntu 14.04, and I am unable to fix the following error when running make:

CMake Error at /usr/local/share/cmake-3.5/Modules/CMakeFindDependencyMacro.cmake:65 (find_package):
  By not providing "FindGMock.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "GMock", but
  CMake did not find one.

  Could not find a package configuration file provided by "GMock" with any of
  the following names:
    GMockConfig.cmake
    gmock-config.cmake

  Add the installation prefix of "GMock" to CMAKE_PREFIX_PATH or set
  "GMock_DIR" to a directory containing one of the above files.  If "GMock"
  provides a separate development package or SDK, be sure it has been
  installed.
Call Stack (most recent call first):
  /home/spohorec/spartan/build/install/lib/drake/cmake/drake-config.cmake:40 (find_dependency)
  CMakeLists.txt:5 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/spohorec/spartan/build/RemoteTreeViewer/CMakeFiles/CMakeOutput.log".
See also "/home/spohorec/spartan/build/RemoteTreeViewer/CMakeFiles/CMakeError.log".
make[2]: *** [src/RemoteTreeViewer-stamp/RemoteTreeViewer-configure] Error 1
make[1]: *** [CMakeFiles/RemoteTreeViewer.dir/all] Error 2
make: *** [all] Error 2

I have already installed all dependencies as instructed in the Spartan README, including google-mock. Any idea where this problem is coming from?

Dev Workflow Plan (w/ Drake)

Goals

  1. a working sample of how to work with drake from a cmake project
  2. allow users to work with binaries of drake
  3. allow power users to work with a source built version of drake

Short Term

  • Replace the ExternalProject_Add for the bazel built version of drake. This enables us to test the bazel installed implementation without having to additionally deal with changing people's workflows (PR #116)

Mid Term

Adjust the humans' workflow:

  • users: find_package with versioned, bundled drake binaries (debs) (i.e. incl eigen and the rest) on xenial
  • power users: find_package with parallel drake source workspace and drake_DIR or CMAKE_PREFIX_PATH mechanisms

Long Term

  • users: find_package with versioned, system compatible drake binaries (debs) on xenial

Issues with build process for `RemoteTreeViewer` on Ubuntu 16.04 machine

Presently, building RemoteTreeViewer builds fail on my developer machine:

$ cd build
$ cmake .. -DWITH_PERCEPTION=ON
$ make -j
...
[ 56%] Performing configure step for 'RemoteTreeViewer'
loading initial cache file /tmp/spartan/build/tmp/RemoteTreeViewer-cache-Release.cmake
-- Configuring done
CMake Error at CMakeLists.txt:7 (add_library):
  Target "RemoteTreeViewerWrapper" links to target "Eigen3::Eigen" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
...
CMakeFiles/RemoteTreeViewer.dir/build.make:107: recipe for target 'src/RemoteTreeViewer-stamp/RemoteTreeViewer-configure' failed

It is not clear why this is happening.

Consider replacing usage of `GetDrakePath()` with environment variable

Once the bazel-build of drake is used within spartan, any usages of drake::GetDrakePath() and pydrake.getDrakePath() will break, since it is stripped out via bazel (transitively, package_drake.sh) via this rule (source):

name = "drake_path_genrule", ...
cmd = "sed 's#@PROJECT_SOURCE_DIR@#drake#g' $< > $@",

I only see a few usages of getDrakePath() within Python code:

$ grep -rnI --include={'*.py','*.cc','*.cpp','*.h'} --exclude-dir={build,drake} -i GetDrakePath
apps/pr2/bhpnTranslator.py:103:    filename = os.path.join(pydrake.getDrakePath(), 'examples/PR2/pr2.urdf')
director/src/python/director/drakevisualizer.py:192:            m.populateFromSearchPaths([pydrake.getDrakePath()])
director/src/python/director/drcargs.py:92:        drakePath = pydrake.getDrakePath()
director/src/python/director/treeviewer.py:303:            m.populateFromSearchPaths([pydrake.getDrakePath()])

These could be replaced by something such as director.getDrakePath(), which could leverage environment variables if need be.

\cc @manuelli @sammy-tri

Build fails on Ubuntu 16.04 with VTK 5.10

I installed VTK 5.10 from source (using this tarball) and tried building, and got the following error:

[ 84%] Built target ipopt_solver_test
/usr/bin/ld: /usr/local/lib/vtk-5.10/libvtkIO.a(vtkOBJReader.cxx.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/vtk-5.10/libvtkIO.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
systems/sensors/CMakeFiles/drakeSensors.dir/build.make:453: recipe for target 'systems/sensors/libdrakeSensors.so' failed
make[8]: *** [systems/sensors/libdrakeSensors.so] Error 1
CMakeFiles/Makefile2:13714: recipe for target 'systems/sensors/CMakeFiles/drakeSensors.dir/all' failed
make[7]: *** [systems/sensors/CMakeFiles/drakeSensors.dir/all] Error 2
make[7]: *** Waiting for unfinished jobs....

I then did make clean in build directory and tried to use ccmake to turn USE_SYSTEM_VTK off and set VTK_DIR:
screenshot from 2017-06-12 13-45-03

That didn't seem to change anything, I got the exact same ld error as before, still in /usr/local/lib/vtk-5.10/. Please advise.

can't find GMock during find_package(drake)

When building the kuka driver on a clean 16.04 install I ran into the error

loading initial cache file /home/locomotion/spartan-2/build/tmp/drake-iiwa-driver-cache-Release.cmake
CMake Error at /usr/share/cmake-3.5/Modules/CMakeFindDependencyMacro.cmake:65 (find_package):
By not providing "FindGMock.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "GMock", but
CMake did not find one.

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

GMockConfig.cmake
gmock-config.cmake

Add the installation prefix of "GMock" to CMAKE_PREFIX_PATH or set
"GMock_DIR" to a directory containing one of the above files. If "GMock"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
/home/locomotion/spartan-2/build/install/lib/drake/cmake/drake-config.cmake:40 (find_dependency)
kuka-driver/CMakeLists.txt:2 (find_package)

It seems that this is erroring out on find_package(drake) here @sammy-tri have you encountered this issue before? By the way I am building the drake inside spartan using CMake, not Bazel so this could be related to all the find_package(drake) issues we have had in the past.

Faster setup for new Dockerized Spartan

This is not number 1 priority for now (all the base tools are now working in Docker), but if/when we have time later, it would be good to lower the amount of time needed to create a fresh Dockerized installation of Spartan.

I just timed how long this process currently takes and it roughly broke down to:

  • ~1 minute to git clone, submodule init, submodule update all modules
  • ~9 minutes to do docker_build (which is just apt-get installing)
  • ~6 minutes to build drake
  • ~10 minutes to build director and pcl

~26 minutes total

Also noting how long some recent options take:

  • 7 minutes for apt-getting everything for ElasticFusion
  • 2 minutes to build mini director and elasticfusion after apt-installs
  • 3 minutes to apt-get install ros-kinetic-desktop-full

jenkins errors out if another container with the same name on the machine

docker: Error response from daemon: Conflict. The container name "/spartan" is already in use by container "956d5e8d16f24525f78ac5d85f6142079a9ad7c72f475b73264f2a175bf1f771". You have to remove (or rename) that container to be able to reuse that name.

This error was caused because another container named spartan already exists. I think we should not pass the --name flag to docker run when doing Jenkins. This will always create a new name.

I think this can be fixed by not passing the --name flag to docker run by default.

cameraview.py looking for ddBotImageQueue

This is a tool I loved to use for LabelFusion.

directorPython -m director.imageviewapp --bot-config $SPARTAN_SOURCE_DIR/config/bot_frames.cfg --channel OPENNI_FRAME --rgbd --pointcloud

But cameraview.py is throwing an error (see below).

I think the fix here is to merge some LabelFusion edits (on pf/corl-master branch of Director) into Director master.

I'll look into fixing now.

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/root/spartan/build/install/lib/python2.7/site-packages/director/imageviewapp.py", line 124, in <module>
    main()
  File "/root/spartan/build/install/lib/python2.7/site-packages/director/imageviewapp.py", line 120, in main
    ImageViewApp().start()
  File "/root/spartan/build/install/lib/python2.7/site-packages/director/imageviewapp.py", line 18, in __init__
    self.setup()
  File "/root/spartan/build/install/lib/python2.7/site-packages/director/imageviewapp.py", line 41, in setup
    imageManager = cameraview.ImageManager()
  File "/root/spartan/build/install/lib/python2.7/site-packages/director/cameraview.py", line 116, in __init__
    self.queue = PythonQt.dd.ddBotImageQueue(lcmUtils.getGlobalLCMThread())
AttributeError: 'module' object has no attribute 'ddBotImageQueue'

Build error, missing "Gl/glut.h" header

On a fresh Ubuntu 16.04 installation I get the following build error related to not being able to find "GL/glut.h".

-- Build files have been written to: /home/locomotion/spartan-2/build/drake/externals/libbot/bot2-vis
[ 32%] Performing build step for 'bot2-vis'
[ 2%] Building C object src/bot_vis/CMakeFiles/bot2-vis.dir/scrollplot2d.c.o
In file included from /home/locomotion/spartan-2/drake/externals/libbot/bot2-vis/src/bot_vis/scrollplot2d.c:7:0:
/home/locomotion/spartan-2/drake/externals/libbot/bot2-vis/src/bot_vis/gl_util.h:12:21: fatal error: GL/glut.h: No such file or directory
compilation terminated.

Solution was to install freeglut3-dev by doing sudo apt-get install freeglut3-dev.

Cleaner installation for drake-schunk-driver

Low-priority, but would be nice to eventually graduate from installing the schunk driver manually (see CMakeLists.txt) to a more mature install target a la Drake.

@sammy-tri fyi since it looks like that repo is maybe under your management.

Merge ROS interop ability from Draper Momap Team

Their codebase has tons of modules, many of which we aren't going to use right away (e.g. segicp) -- the principle thing I'd like to take is their LCM <-> ROS translation layer, that lays all the groundwork to make the IIWA work cleanly in ROS, and their control utilities offering a gotoconf service.

But their solution is pretty specifically tailored to their setup, and ought to be generalized. I'm going to collect a list of the utilities that I'm bringing in, and the changes I think are necessary to generalize them, here.

director freezes when moving pointcloud

The symptom is that if you have a pointcloud visualized, add a child frame to it with vis.addChildFrame() and then try to move that child frame, director freezes, in fact the whole computer freezes. The keyboard stops working and I end up having to do a reboot.

I am guessing this is related to some API change in vtk8/Qt5. @gizatt @patmarion

director segfaults after a while when xtion connected

We get this error after kuka_iiwa_app is running for a while. I think this is an issue decoding the images coming from the xtion. This is happening consistently.

unsupported marker type 0x73
/home/manuelli/spartan/scripts/bin/kuka_iiwa_app: line 4: 20220 Segmentation fault      (core dumped) 

@patmarion thoughts?

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.