Skip to content

Conversation

@130s
Copy link
Contributor

@130s 130s commented Oct 29, 2016

下流のテストで,ref frame を取る幾つかのメソッドがエラーが起きるようになったので上流へパッチします.

補足

@k-okada
Copy link
Contributor

k-okada commented Oct 29, 2016

Refer to this link for build results (access rights to CI server needed):
http://jenkins.jsk.imi.i.u-tokyo.ac.jp:8080/job/hrpsys-qnx/2728/
Test PASSed.

@130s
Copy link
Contributor Author

130s commented Oct 30, 2016

失敗している Travis の2つの job はどちらとも下流の rtmros_hironx のテストで,これらは前述の通りこの PR がマージされない限り失敗するはずです.
それ以外の job は成功しているのでマージ可能なのかと思います.

  • https://s3.amazonaws.com/archive.travis-ci.org/jobs/171686973/log.txt

    [hironx_ros_bridge.rosunit-test_hironx_target/testGetterByFrame][ERROR]---------
    'HIRONX' object has no attribute 'default_frame_name'
    File "/usr/lib/python2.7/unittest/case.py", line 327, in run
      testMethod()
    File "/opt/ros/hydro/share/hironx_ros_bridge/test/test_hironx_target.py", line 166, in testGetterByFrame
      posel1 = self.robot.getCurrentPose('LARM_JOINT5')
    File "/opt/ros/hydro/lib/python2.7/dist-packages/hironx_ros_bridge/hironx_client.py", line 842, in getCurrentPose
      return HrpsysConfigurator.getCurrentPose(self, lname)
    File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hrpsys/hrpsys_config.py", line 1239, in getCurrentPose
      if self.default_frame_name and frame_name is None:
    
  • https://s3.amazonaws.com/archive.travis-ci.org/jobs/171686982/log.txt

    [hironx_ros_bridge.rosunit-test_hironx_target/testGetterByFrame][ERROR]---------
    'HIRONX' object has no attribute 'default_frame_name'
    File "/usr/lib/python2.7/unittest/case.py", line 327, in run
      testMethod()
    File "/opt/ros/hydro/share/hironx_ros_bridge/test/test_hironx_target.py", line 166, in testGetterByFrame
      posel1 = self.robot.getCurrentPose('LARM_JOINT5')
    File "/opt/ros/hydro/lib/python2.7/dist-packages/hironx_ros_bridge/hironx_client.py", line 842, in getCurrentPose
      return HrpsysConfigurator.getCurrentPose(self, lname)
    File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hrpsys/hrpsys_config.py", line 1239, in getCurrentPose
      if self.default_frame_name and frame_name is None:
    

@k-okada
Copy link
Contributor

k-okada commented Oct 30, 2016

. 失敗している Travis の2つの job はどちらとも下流の rtmros_hironx のテストで,これらは前述の通りこの PR がマージされない限り失敗するはず

rtmros_hironxでマージすべきでないものがマージされているということはないですか?

@k-okada
Copy link
Contributor

k-okada commented Oct 30, 2016

いずれにせよテストが通らないものはまずいかと

#### frame_name is given, call with lname with warning / oerror
#### frame_name is none, call with lname
if StrictVersion(self.fk_version) >= StrictVersion('315.2.5'): ### CHANGED
if self.default_frame_name and frame_name is None:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#1063 (comment) でマージ可能と書いたのは確かに間違っています;default_frame_name が存在しないのでエラーになります.

@130s
Copy link
Contributor Author

130s commented Nov 1, 2016

Inline コメントしましたが set/get*pose 系メソッドでデフォルトの ref frame を渡したい,だがどうやって渡すのが良いか,というところで止まっています.次のように考えましたがうまい解決法を思いついていません.

  • HrpsysConfigurator クラス init 時に渡す --> could break API なのでよく無さそう.

    • 利用者が HiroNXO ユーザだけなのであればまだ下流を変更・ユーザに徹底することで回避を試みるのは可能ですが,いづれにせよあまりよくなさそう.
  • 下流の小クラスで set/get*pose 系の各メソッドを override. --> 下記のように最小限の定義にすることはできるが,メンテ上嬉しくない.

      class HIRONX(HrpsysConfigurator):
          _DEFAULT_REF_FRAME = 'WAIST'
          def getCurrentPose(self, lname=None, frame_name=self._DEFAULT_REF_FRAME):
              return HrpsysConfigurator.getCurrentPose(self, lname, frame_name)
    

130s added a commit to 130s/rtmros_hironx that referenced this pull request Mar 11, 2017
…passed.

**Background**
(Same commit message as fkanehiro/hrpsys-base#1113)
`setTargetPose` takes a kinematic group as its 1st arg. When invalid value passed, it still tries to solve IK and always fails with an IK solution failure message, which is ambiguous because it failed not because
the computation but because the target group name is simply invalid.

**Approach to fix**
With this change it first checks if the passed value is a registered kinematic group name and if not it fails with the reason accordingly.

**Additional note at rtmros_hironx**
Same change as fkanehiro/hrpsys-base#1113. This method should be removed as part of start-jsk#470, once fkanehiro/hrpsys-base#1063 resolves.
130s added a commit to 130s/rtmros_hironx that referenced this pull request Mar 11, 2017
…passed.

**Background**
(Same commit message as fkanehiro/hrpsys-base#1113)
`setTargetPose` takes a kinematic group as its 1st arg. When invalid value passed, it still tries to solve IK and always fails with an IK solution failure message, which is ambiguous because it failed not because
the computation but because the target group name is simply invalid.

**Approach to fix**
With this change it first checks if the passed value is a registered kinematic group name and if not it fails with the reason accordingly.

**Additional note at rtmros_hironx**
Same change as fkanehiro/hrpsys-base#1113. This method should be removed as part of start-jsk#470, once fkanehiro/hrpsys-base#1063 resolves.
130s added a commit to 130s/rtmros_hironx that referenced this pull request Mar 11, 2017
…passed.

**Background**
(Same commit message as fkanehiro/hrpsys-base#1113)
`setTargetPose` takes a kinematic group as its 1st arg. When invalid value passed, it still tries to solve IK and always fails with an IK solution failure message, which is ambiguous because it failed not because
the computation but because the target group name is simply invalid.

**Approach to fix**
With this change it first checks if the passed value is a registered kinematic group name and if not it fails with the reason accordingly.

**Additional note at rtmros_hironx**
Same change as fkanehiro/hrpsys-base#1113. This method should be removed as part of start-jsk#470, once fkanehiro/hrpsys-base#1063 resolves.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants