Loading ...
Sorry, an error occurred while loading the content.

Re: Posture Editor

Expand Messages
  • jtennys
    My project built successfully after modifying the RobotInfo files. However, when I go to run the executable, this is what happens:
    Message 1 of 7 , Jul 1, 2009
    • 0 Attachment
      My project built successfully after modifying the RobotInfo files. However, when I go to run the executable, this is what happens:

      jason@jason-desktop:~/project$ ./tekkotsu-SZ_KHR2
      terminate called after throwing an instance of 'std::logic_error'
      what(): basic_string::_S_construct NULL not valid
      Aborted

      I wasn't sure where to go with this one.

      Jason
    • Ethan Tira-Thompson
      The most common cause is that one of the Num* values doesn t match the values in *Names (e.g. NumOutputs vs. outputNames). Unfortunately, C/C ++ is kind of
      Message 2 of 7 , Jul 1, 2009
      • 0 Attachment
        The most common cause is that one of the Num* values doesn't match the values in *Names (e.g. NumOutputs vs. outputNames).  Unfortunately, C/C++ is kind of dumb in that it lets you get away with char* names[10] = { "a", "b" }, just supplying NULL for the missing elements.

        Also, the name arrays *are* supposed to end with a single NULL entry (and thus have size NumXXX+1 to match)... this is used for some generic functions which run through the array and rely on a NULL-termination entry to detect the end of the array values...

        So, if nothing jumps out at you in the info file, run tekkotsu in gdb and it will catch the crash, then just look at the variable that's being used, hopefully it will make sense.

        -Ethan

        On Jul 1, 2009, at 11:48 AM, jtennys wrote:



        My project built successfully after modifying the RobotInfo files. However, when I go to run the executable, this is what happens:

        jason@jason- desktop:~ /project$ ./tekkotsu-SZ_ KHR2 
        terminate called after throwing an instance of 'std::logic_ error'
        what(): basic_string: :_S_construct NULL not valid
        Aborted

        I wasn't sure where to go with this one.

        Jason


      • jtennys
        Thanks, I got to looking at that today and found the mismatched values. The ControllerGUI now runs fine and with my joint names.
        Message 3 of 7 , Jul 7, 2009
        • 0 Attachment
          Thanks, I got to looking at that today and found the mismatched values. The ControllerGUI now runs fine and with my joint names.

          --- In tekkotsu_dev@yahoogroups.com, Ethan Tira-Thompson <ejt@...> wrote:
          >
          > The most common cause is that one of the Num* values doesn't match the
          > values in *Names (e.g. NumOutputs vs. outputNames). Unfortunately, C/C
          > ++ is kind of dumb in that it lets you get away with char* names[10] =
          > { "a", "b" }, just supplying NULL for the missing elements.
          >
          > Also, the name arrays *are* supposed to end with a single NULL entry
          > (and thus have size NumXXX+1 to match)... this is used for some
          > generic functions which run through the array and rely on a NULL-
          > termination entry to detect the end of the array values...
          >
          > So, if nothing jumps out at you in the info file, run tekkotsu in gdb
          > and it will catch the crash, then just look at the variable that's
          > being used, hopefully it will make sense.
          >
          > -Ethan
          >
          > On Jul 1, 2009, at 11:48 AM, jtennys wrote:
          >
          > >
          > >
          > > My project built successfully after modifying the RobotInfo files.
          > > However, when I go to run the executable, this is what happens:
          > >
          > > jason@jason-desktop:~/project$ ./tekkotsu-SZ_KHR2
          > > terminate called after throwing an instance of 'std::logic_error'
          > > what(): basic_string::_S_construct NULL not valid
          > > Aborted
          > >
          > > I wasn't sure where to go with this one.
          > >
          > > Jason
          > >
          > >
          > >
          >
        • jtennys
          Although my project builds, I notice that it gives me a warning that WalkMC is a noop because my target does not have legs. However, I define that the target
          Message 4 of 7 , Jul 7, 2009
          • 0 Attachment
            Although my project builds, I notice that it gives me a warning that WalkMC is a noop because my target does not have legs. However, I define that the target has legs in my KHR2Info.h file, which is included in the RobotInfo files, which is included in Config.h, which is included in WalkMC. WalkMC seems to be the only walk command that has a problem with this.

            Jason

            --- In tekkotsu_dev@yahoogroups.com, "jtennys" <jtennys@...> wrote:
            >
            > Thanks, I got to looking at that today and found the mismatched values. The ControllerGUI now runs fine and with my joint names.
            >
            > --- In tekkotsu_dev@yahoogroups.com, Ethan Tira-Thompson <ejt@> wrote:
            > >
            > > The most common cause is that one of the Num* values doesn't match the
            > > values in *Names (e.g. NumOutputs vs. outputNames). Unfortunately, C/C
            > > ++ is kind of dumb in that it lets you get away with char* names[10] =
            > > { "a", "b" }, just supplying NULL for the missing elements.
            > >
            > > Also, the name arrays *are* supposed to end with a single NULL entry
            > > (and thus have size NumXXX+1 to match)... this is used for some
            > > generic functions which run through the array and rely on a NULL-
            > > termination entry to detect the end of the array values...
            > >
            > > So, if nothing jumps out at you in the info file, run tekkotsu in gdb
            > > and it will catch the crash, then just look at the variable that's
            > > being used, hopefully it will make sense.
            > >
            > > -Ethan
            > >
            > > On Jul 1, 2009, at 11:48 AM, jtennys wrote:
            > >
            > > >
            > > >
            > > > My project built successfully after modifying the RobotInfo files.
            > > > However, when I go to run the executable, this is what happens:
            > > >
            > > > jason@jason-desktop:~/project$ ./tekkotsu-SZ_KHR2
            > > > terminate called after throwing an instance of 'std::logic_error'
            > > > what(): basic_string::_S_construct NULL not valid
            > > > Aborted
            > > >
            > > > I wasn't sure where to go with this one.
            > > >
            > > > Jason
            > > >
            > > >
            > > >
            > >
            >
          • Ethan Tira-Thompson
            ... There are some #define flags which declare basic capabilities, for instance TGT_HAS_LEGS. So if that is not defined by your Info.h file, then things like
            Message 5 of 7 , Jul 7, 2009
            • 0 Attachment
              > Although my project builds, I notice that it gives me a warning that
              > WalkMC is a noop because my target does not have legs. However, I
              > define that the target has legs in my KHR2Info.h file, which is
              > included in the RobotInfo files, which is included in Config.h,
              > which is included in WalkMC. WalkMC seems to be the only walk
              > command that has a problem with this.
              >

              There are some #define flags which declare basic capabilities, for
              instance TGT_HAS_LEGS. So if that is not defined by your Info.h file,
              then things like WalkMC will be #ifdef'd out.

              See Shared/CommonERSInfo.h for an extended example. Note the #define
              TGT_HAS_* list is itself wrapped by a #ifdef TGT_XXX to make sure the
              flags are only set if the corresponding robot model is targeted. (see
              also http://tekkotsu.org/porting.html )

              BTW, I'd encourage you to upgrade in CVS, there's a new walk engine
              XWalkMC which may be a little more flexible, or at least is getting
              active development. This will probably replace the old WalkMC someday
              (should already do so except haven't created walk parameter files for
              the Aibos which use WalkMC...)

              -Ethan
            Your message has been successfully submitted and would be delivered to recipients shortly.