Git Product home page Git Product logo

ein's Introduction

Ein

Ein is pick-and-place software for Baxter. See the installation instructions on our web site: http://h2r.github.io/ein/.

Ein can be used to control Baxter, make models of objects, detect, localize, and pick objects using these models. We can localize objects with Baxter to within 2mm, and pick objects hundreds of times in a row without a failure. The robot can also be used to create a "for" loop over objects, picking from an input pile, playing with an object (doing an arbitrary learning behavior that you choose), and then moving to the output pile. We have automatically processed hundreds of objects in this way as part of the Million Object Challenge.

We follow this branching model for Ein releases: http://nvie.com/posts/a-successful-git-branching-model/ so the development branch is develop, and master always contains the latest release.

ein's People

Contributors

brawner avatar dwhit avatar ericrosenbrown avatar exwu avatar goldenchest avatar grantmyers162 avatar joberlin avatar joshnroy avatar mariaka avatar mattcorsaro1 avatar mcorsaro avatar mileseldon avatar nishanthjkumar avatar stefie10 avatar

Stargazers

 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

ein's Issues

Wrong gripper id

The openGripper and closeGripper command do not work in my environment. I've check rostopic echo /robot/end_effector/right_gripper/command and find that the id it sends is wrong. How can I fix that?

Crashing ein

I rebooted the robot and still got this error:

Loaded classHeightMemoryPicks from /home/dwhitney/ros_ws/src/ein/default/objects/kr_dash2/ein/pickMemories/graspMemories.yml[1 x 4]
Loaded aerial height 0 gradient from /home/dwhitney/ros_ws/src/ein/default/objects/kr_dash2/ein/servoCrops/aerialHeight0Gradients.yml[100 x 100]
Loaded aerial height 1 gradient from /home/dwhitney/ros_ws/src/ein/default/objects/kr_dash2/ein/servoCrops/aerialHeight1Gradients.yml[100 x 100]
Loaded aerial height 2 gradient from /home/dwhitney/ros_ws/src/ein/default/objects/kr_dash2/ein/servoCrops/aerialHeight2Gradients.yml[100 x 100]
Loaded aerial height 3 gradient from /home/dwhitney/ros_ws/src/ein/default/objects/kr_dash2/ein/servoCrops/aerialHeight3Gradients.yml[100 x 100]
Initializing classAerialGradients with classAerialHeight0Gradients.
Reading grasp information from /home/dwhitney/ros_ws/src/ein/default/objects/kr_dash2/ein/3dGrasps/3dGrasps.yml ...Expected to load 0 3d poses, loaded 0 ...
Expected to load 0 pup poses, loaded 0 ...
Expected to load 0 pop poses, loaded 0 ...
done.vocabularyPath: /home/dwhitney/ros_ws/src/ein/default/objects/vocab.yml
featuresPath: /home/dwhitney/ros_ws/src/ein/default/objects/knn.yml
labelsPath: /home/dwhitney/ros_ws/src/ein/default/objects/labels.yml
Writing labels and pose models... /home/dwhitney/ros_ws/src/ein/default/objects/labels.yml ...done.
Writing features and labels... /home/dwhitney/ros_ws/src/ein/default/objects/knn.yml ...
setMapAutoPick: was 0 will be 1
setMapServoMode was: 0 setting 2
setSnapToFlushGrasp: was 1 will be 1
setRandomPositionAfterPick: got value 1
currentBoundingBoxMode = mapping
Clearing blue box memory: 0
Clearing the map for a new patrol.
mappingPatrol
This pose was accepted by ikClient:
Next EE Position (x,y,z): -0.4375 -0.5 -0.0766479
Next EE Orientation (x,y,z,w): 0.00441297 0.993767 0.109517 0.02032
moveToNextMapPosition tries foundGoodPosition oldestI oldestJ oldestX oldestY: 0 1 50 100 -0.4375 -0.5
SampleHeight going to mappingHeightIdx: 1
mappingPatrolA
currentBoundingBoxMode = mapping
SampleHeight going to mappingHeightIdx: 1
[New Thread 0x7fffc8d37700 (LWP 22704)]
synchronicTakeClosest = 1
synchronicTakeClosest = 1
Waiting to come to a stop...
Came to a stop, moving on.
[ERROR] [1448153282.790744057]: Not receiving camera data, clearing call stack.
OpenCV error: cvtColor with message scn == 3 || scn == 4
File: /build/buildd/opencv-2.4.8+dfsg1/modules/imgproc/src/color.cpp line: 3737
ein: /home/dwhitney/ros_ws/src/ein/src/ein.cpp:14582: int opencvError(int, const char_, const char_, const char_, int, void_): Assertion `0' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff188fcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb)

tableLock3dGrasp fails

In documentation for PickingObjects:
http://h2r.github.io/ein/pickingobjects/

When the tableLock3dGrasp command is issued, the "ein main window" froze and window 3 "console" showed an error indicating:

Exception in word: scenePredictFocusedObject

We tried a couple of things without success:

  1. In gaussian_map.cpp::L2995 we tried changing the term ScenePredictFocusedObject from uppercase S to lower case s: scenePredictFocusedObject.

    That did not fix anything: frozen window and the same exception error.

  2. In scene.back::L224

  /* takes a string */
  tableLoadAndPrepareFocusedModel tableShortTakeScene scenePredictFocusedObject tableUpdateMaps
) "tablePredictAndRenderFile" store

We changed the s from lower case to upper case. This solved the frozen window, but we got a console error stating: `No value for symbol word: ScenePredictFocusedObject'

We tried to ignore this error and continue. But when we run tableInfiniteDribbleBest the robot spiraled above the object but never reached.

Segfault when running mappingPatrol

Program received signal SIGSEGV, Segmentation fault.
0x0000000000e4a03d in goClassifyBlueBoxes (ms=...) at /home/emily/catkin_ws/src/ein/src/ein.cpp:11506
11506 label = ms->config.kNN->find_nearest(descriptors2, param_numNeighbors);

remove old rosparams

Ein creates a bunch of unused ros params:
/ein_ardrone/all_range_mode
/ein_ardrone/arm_box_bot
/ein_ardrone/arm_box_left
/ein_ardrone/arm_box_right
/ein_ardrone/arm_box_top
/ein_ardrone/canny_hi_thresh
/ein_ardrone/canny_lo_thresh
/ein_ardrone/data_directory
/ein_ardrone/density_decay
/ein_ardrone/gray_box_bot
/ein_ardrone/gray_box_left
/ein_ardrone/gray_box_right
/ein_ardrone/gray_box_top
/ein_ardrone/image_topic
/ein_ardrone/mask_gripper
/ein_ardrone/reextract_knn
/ein_ardrone/reject_area_scale
/ein_ardrone/reject_scale
/ein_ardrone/retrain_vocab
/ein_ardrone/rewrite_labels
/ein_ardrone/run_prefix
/ein_ardrone/sobel_scale_factor
/ein_ardrone/sobel_sigma
/ein_ardrone/threshold_fraction

These should no longer be rosparams, and perhaps should be removed from ein entirely.

version in ein's title

Now that Ein has a release, make sure we print the version in the gui and on the console when starting Ein.

Cannot type in Screen

As part of the Get Started instructions I am not sure which exactly is the "screen" session mentioned below"

Start the screen session using the commands given in Install. Choose an arm (left or right) to use. Type `8 to tell screen to go to the left arm’s main Ein window, or `0 to go to the right arm.

In the "Ein Main Window (phycial right)" under the "Wrist View" there is a "Commands:" label on the left and the right side of this screen but no text can be input here by me....

Could you clarify in the documentation

Picking in a different workspace doesn't work

When using the back workspace, the observed map is centered correctly, but not the predicted map, so it does not find any objects. It should rebase or something so that picking works in the whole workspace.

Missing .yml's

I get the following two errors/warnings about missing files:

Reading labels and pose models... /default/objects/labels.yml ...done. classLabels size: 0 classPoseModels size: 0
Reading vocab... /default/objects/vocab.yml ...done. vocabulary size: [0 x 0]
Reading features and labels... /default/objects/knn.yml ...
[ INFO] [1467235755.879372303]: Console: Could not find file /default/objects/knn.yml

And
...

[ INFO] [1467236000.182796406]: Console: Could not open file /home/vmrguser/ros/indigo/h2r_ws/src/ein/default/objects/catScan5_011310P0011right2016-02-08_15:39:06/autoClass_011310P0011_right_2016-02-08_15:40:23/ein/sceneModel/model.yml

Is this normal?

Missing Info in the Documentation

From the "Picking Objects" web page @ http://h2r.github.io/ein/pickingobjects/

There are blank boxes in the following block:

That’s great. But you probably want the capability to pause the arm when it holds the object and command its movement for your own purposes.
------------> missing
maps the area and adds a detection to the list of Blue Boxes.
------------> missing
changes the place mode to handing, which is the default, but some other Ein program may have changed it so make sure its value is set properly.

Now, when you issue
------------> missing
the arm will move to pick the object and stop with an empty call stack after the attempt. You are free to command the arm from this point.

It seems there should be commands there.

Pick and Place Installation

Hello,
I am attempting to install the ein pick and place program and have run into an error in the installation. Whenever I run catkin_make, as instructed, it reaches 70% when it runs into a few errors shown below:

[ 70%] Building CXX object ein/CMakeFiles/ein.dir/src/ein_scanning.cpp.o
/home/baxter/catkin_ws/src/ein/src/ein.cpp: In function ‘int getStreamPoseAtTime(MachineState_, double, eePose_, eePose_)’:
/home/baxter/catkin_ws/src/ein/src/ein.cpp:1478:126: error: a function-definition is not allowed here before ‘{’ token
void castRangeRay(MachineState * ms, double thisRange, eePose thisPose, Vector3d * castPointOut, Vector3d * rayDirectionOut) {
^
/home/baxter/catkin_ws/src/ein/src/ein.cpp:1507:63: error: a function-definition is not allowed here before ‘{’ token
void update2dRangeMaps(MachineState * ms, Vector3d castPoint) {
^
/home/baxter/catkin_ws/src/ein/src/ein.cpp:8425:29: error: expected ‘}’ before end of line
#pragma omp parallel for
^
/home/baxter/catkin_ws/src/ein/src/ein.cpp: At global scope:
/home/baxter/catkin_ws/src/ein/src/ein.cpp:8425:29: error: expected declaration before end of line
[ 70%] Building CXX object ein/CMakeFiles/ein.dir/src/ein_misc.cpp.o
cc1plus: warning: unrecognized command line option "-Wno-deprecated-register" [enabled by default]
make[2]: *_* [ein/CMakeFiles/ein.dir/src/ein.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [ein/CMakeFiles/ein.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

I'm fairly new to C++, but I am pretty sure that everything after "cc1plus: warning: unrecognized command line option..." is what invokes "make -j8 -l8" and then stops the installation.
Please help!
Thanks.

File missing "ein/EinState.h" <ein/EinConsole.h>

fatal error: ein/EinState.h: No such file or directory #include "ein/EinState.h"
fatal error: ein/EinConsole.h: No such file or directory #include <ein/EinConsole.h>

I can't find it with Google, please upload the files, or we can't continue the 'catkin_make'

Regards,
Zuyuan

Right camera does not open automaticaly

In the Calibration tutorial (http://h2r.github.io/ein/calibration/), in section "Set the camera parameters", we noticed that after selecting custom camera parameters, such as 80 25 1124 1024 2048 fixCameraLighting, the Wrist View did not update.

So we checked which cameras were open and we noticed the right camera was closed. We started the program with either of the following two commands: BAXTER=your_baxter screen -c src/ein/ein_baxter.screenrc and catkin_make && gdb --args ./devel/lib/ein/ein _data_directory:="$(rospack find ein)/default" physical right.

We currently open the right camera manually with baxter camera control: rosrun baxter_tools camera_control.py -o right_hand_camera -r 640x400

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.