How to solve cannot import name GazeboModel?
When I run this script:
#!/usr/bin/env python
#
# testing, do not use
#
#
# spawning things "in sequence"
#
# This quick hack waits for a topic to be published (presumably by the model we are waiting for)
# then it accesses the factory service exposed by gazebo_ros_factory plugin for spawning models
#
# a better way to do this is by specifying
# a list of model spawning dependencies, i.e. don't spawn cup unless table is present
# to do this, we must make gazeob expose
# * service call to access all models
# * service call to access info about each model
# * service call to ping, create, kill, modify (pose) models
# I guess one can construct this similar to rostopic or rosnode
import roslib, time
roslib.load_manifest('gazebo_plugins')
import rospy, sys
import string
import math
from gazebo_plugins import gazebo_plugins_interface
from gazebo_plugins.msg import GazeboModel
from geometry_msgs.msg import Pose, Point, Quaternion
import tf.transformations as tft
wait_topic_initialized = False
def usage():
print '''Commands:
wait_spawn.py <param name> <model name> <namespace> <topic name> <initial pose: x y z R P Y>
'''
sys.exit(1)
def waitForTopic(any):
global wait_topic_initialized
wait_topic_initialized = True
if __name__ == "__main__":
global wait_topic_initialized
print len(sys.argv)
if len(sys.argv) < 11:
print usage()
rospy.init_node("spawn_wait", anonymous=True)
It shows:
sam@sam:~/code/ros/plug/pr2_plugs_gazebo_demo$ /home/sam/code/ros/plug/pr2_plugs_gazebo_demo/scripts/wait_spawn.py plug_description plug plug base_pose_ground_truth 0.09 0.0 0.31 0.0 1.57 0.0 __name:=spawn_plug __log:=/home/sam/.ros/log/93369d2e-440b-11e2-98a0-e0b9a5f829db/spawn_plug-4.log
/home/sam/code/ros/plug/pr2_plugs_gazebo_demo/scripts/wait_spawn.py:43: SyntaxWarning: name 'wait_topic_initialized' is assigned to before global declaration
global wait_topic_initialized
Traceback (most recent call last):
File "/home/sam/code/ros/plug/pr2_plugs_gazebo_demo/scripts/wait_spawn.py", line 26, in <module>
from gazebo_plugins import gazebo_plugins_interface
File "/opt/ros/fuerte/stacks/simulator_gazebo/gazebo_plugins/src/gazebo_plugins/gazebo_plugins_interface.py", line 9, in <module>
from gazebo_plugins.msg import GazeboModel
ImportError: cannot import name GazeboModel
sam@sam:~/code/ros/plug/pr2_plugs_gazebo_demo$
I found that it seems a line failed:
from gazebo_plugins.msg import GazeboModel
I also find the script has the same problem:
/opt/ros/fuerte/stacks/simulator_gazebo/gazebo_plugins/scripts/gazebo_model
How to solve it?
Thank you~
Asked by sam on 2012-12-11 16:41:46 UTC
Answers
As announced by the developers in Sep 2012, all gazebo
related questions should be asked on new gazebo
specific QA community. Thank you for your cooperation!
See also this thread.
Apologies that I close as "off-topic" although it's actually very related - there isn't more suitable label.
Asked by 130s on 2013-01-15 12:37:22 UTC
Comments