tork-a / rtmros_nextage

ROS-OpenRTM-based opensource robot controller software for dual-armed robot Nextage from Kawada Industries
http://wiki.ros.org/rtmros_nextage
27 stars 39 forks source link

ModelLoaderException: OpenHRP.ModelLoader.ModelLoaderException(description='/opt/jsk/etc/NEXTAGE/model/main.wrl cannot be found.') #269

Open 130s opened 7 years ago

130s commented 7 years ago
$ ipython -i `rospack find nextage_ros_bridge`/script/nextage.py -- --host nextage
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
Type "copyright", "credits" or "license" for more information.

IPython 1.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
ROS Master not found running. If you intended to use it (either for rosbridge or for Gazebo purposes, make sure you run necessary nodes.
configuration ORB with nextage:15005
[hrpsys.py] waiting ModelLoader
[hrpsys.py] start hrpsys
[hrpsys.py] finding RTCManager and RobotHardware
[hrpsys.py]  waitForRTCManagerAndRoboHardware has renamed to waitForRTCManagerAndRoboHardware: Please update your code
[hrpsys.py] wait for RTCmanager : None
[hrpsys.py] wait for RobotHardware0 : <hrpsys.rtm.RTcomponent instance at 0x7fe853d0e488> ( timeout 0 < 10)
[hrpsys.py] findComps -> RobotHardware : <hrpsys.rtm.RTcomponent instance at 0x7fe853d0e488> isActive? = True
[hrpsys.py] simulation_mode : False
[hrpsys.py]  Hrpsys controller version info:
[hrpsys.py]    ms =  <hrpsys.rtm.RTCmanager instance at 0x7fe853d0e3b0>
[hrpsys.py]    ref =  <RTM._objref_Manager instance at 0x7fe853d0e3f8>
[hrpsys.py]    version  =  315.1.8
;;
;; Loading ImpedanceController < 315.1.9
;;
[hrpsys.py]   bodyinfo URL = file:///opt/jsk/etc/NEXTAGE/model/main.wrl
---------------------------------------------------------------------------
ModelLoaderException                      Traceback (most recent call last)
/usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
    202             else:
    203                 filename = fname
--> 204             __builtin__.execfile(filename, *where)

/home/rosnoodle/link/cws_hironxo/src/tork-a/rtmros_nextage/nextage_ros_bridge/script/nextage.py in <module>()
     72     # This is backward compatible so that users can still keep using `nxc`.
     73     # See http://code.google.com/p/rtm-ros-robotics/source/detail?r=6926
---> 74     robot.init(robotname=args.robot, url=args.modelfile)
     75
     76     # ROS Client.

/home/rosnoodle/link/cws_hironxo/src/tork-a/rtmros_nextage/nextage_ros_bridge/src/nextage_ros_bridge/nextage_client.pyc in init(self, robotname, url)
    107         '''
    108         if not self.use_gazebo:
--> 109             HIRONX.init(self, robotname=robotname, url=url)
    110
    111     def get_hand_version(self):

/home/rosnoodle/link/cws_hironxo/src/start-jsk/rtmros_hironx/hironx_ros_bridge/src/hironx_ros_bridge/hironx_client.pyc in init(self, robotname, url)
    311
    312         # HrpsysConfigurator.init(self, robotname=robotname, url=url)
--> 313         self.sensors = self.getSensors(url)
    314
    315         # all([rtm.findRTC(rn[0], rtm.rootnc) for rn in self.getRTCList()]) # not working somehow...

/opt/ros/indigo/lib/python2.7/dist-packages/hrpsys/hrpsys_config.py in getSensors(self, url)
    781             return sum(map(lambda x: x.sensors,
    782                            filter(lambda x: len(x.sensors) > 0,
--> 783                                   self.getBodyInfo(url)._get_links())), [])  # sum is for list flatten
    784
    785     # public method to get sensors list

/opt/ros/indigo/lib/python2.7/dist-packages/hrpsys/hrpsys_config.py in getBodyInfo(self, url)
    767         url = self.parseUrl(url)
    768         print(self.configurator_name + "  bodyinfo URL = file://" + url)
--> 769         return mdlldr.getBodyInfo("file://" + url)
    770
    771     # public method to get sensors list

/opt/ros/indigo/lib/python2.7/dist-packages/OpenHRP/ModelLoader_idl.py in getBodyInfo(self, *args)
    698
    699     def getBodyInfo(self, *args):
--> 700         return _omnipy.invoke(self, "getBodyInfo", _0_OpenHRP.ModelLoader._d_getBodyInfo, args)
    701
    702     def getBodyInfoEx(self, *args):

ModelLoaderException: OpenHRP.ModelLoader.ModelLoaderException(description='/opt/jsk/etc/NEXTAGE/model/main.wrl cannot be found.')

$ rospack find hironx_ros_bridge
/home/rosnoodle/link/cws_hironxo/src/start-jsk/rtmros_hironx/hironx_ros_bridge
rosnoodle@tork-kudu1:~/link/cws_hironxo$ rosversion hironx_ros_bridge
1.1.18
rosnoodle@tork-kudu1:~/link/cws_hironxo$ roscd hironx_ros_bridge && git log
commit a2481c31c92fb716448ded584a888eccf4b6a0aa
Author: Isaac I.Y. Saito <130s@2000.jukuin.keio.ac.jp>
Date:   Fri Oct 28 10:43:54 2016 +0900

    1.1.18

commit c7750a1dc17216eef21697994a03ef5430bc7a82
Author: Isaac I.Y. Saito <130s@2000.jukuin.keio.ac.jp>
Date:   Fri Oct 28 10:43:33 2016 +0900

    changelog 1.1.18

commit 70816613d81dc3c98d0e2bbb0520d130ccd3000e
Merge: b56ea89 cac0904
Author: Isaac I.Y. Saito <130s@users.noreply.github.com>
Date:   Fri Oct 28 09:40:46 2016 +0900

    Merge pull request #476 from 130s/fix/imarker_size

    [moveit config] Fix Interactive Marker size.

hrpsys inside of the robot is 315.1.8.

130s commented 7 years ago

I confirmed that this is a bug that happens with nextage_ros_bridge https://github.com/tork-a/rtmros_nextage/commit/f6e0dbcc1c2c8f8f26447025ff41c1598b8f4a42 (which is after https://github.com/tork-a/rtmros_nextage/pull/241 was merged).

130s commented 7 years ago

Also confirmed is that with modelfile option this issue doesn't happen.

ipython -i `rospack find nextage_ros_bridge`/script/nextage.py -- --host nextage --modelfile /opt/jsk/etc/HIRONX/model/main.wrl
130s commented 7 years ago

Once https://github.com/tork-a/rtmros_nextage/issues/269#issuecomment-257489677 gets documented, this issue can be closed.