h2r/ein

tableLock3dGrasp fails

rojas70 opened this issue · 5 comments

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.

Hi Juan,

I tried the following sequence of commands to verify that adding a grasp
worked in the current code:

tableUpdateBg
tableQuickScan
tableLock3dGrasp
clearClass3dGrasps
zDown
xUp
yUp
zDown
add3dGrasp
writeFocusedClass
tableReset
endArgs
"catScan5_011509P0027right2016-07-02_13:03:38/autoClass_011509P0027_right_2016-07-02_13:19:18"
setClassLabels
tableInfiniteDribbleBest

And it worked.

Hard to know why it failed for you. Is your background map valid? Did the
output in the ein stdout window (0 or 8) indicate a crash in GDB or other
information?

The capitalization is a red herring. The convention is that symbols In the
C code start uppercase but in the "back" environment they are lowercase, to
avoid confusion.

On Fri, Jul 1, 2016 at 5:39 AM, Dr. Juan Rojas notifications@github.com
wrote:

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.

  1. 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.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#14, or mute the thread
https://github.com/notifications/unsubscribe/AH22kQqqM1PUdJ3X5pjyDv0oL0I0S_34ks5qROBigaJpZM4JC-3w
.

We have a new idea. If it still doesn't work, try running

initializeAndFocusOnNewClass 
tempReset

and then everything from the beginning. In particular, if your background map is never valid, this may fix it.

I'm doing a couple of things to try for a repro, I'll let you know.

The culprit seems to have been using a table with a too shiny surface. This was affecting some of the calculations. Upon covering the table with non-reflecting material, the error did not show up any more and we were able to complete the picks. It would be nice to have a link to the paper that defines the algorithm for the calibration. The insight would be useful and appreciated.

I added some documentation about using a non-shiny surface. I will send a link to the paper on calibration shortly, we are posting it today.