How to solve cannot import name GazeboModel? [closed]
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~