示例#1
0
import rospy
from gazebo_msgs.srv import SpawnModel
from geometry_msgs.msg import Pose
from gazebo_utils import deleteModel
import time

rospy.init_node('insert_actor')

initial_pose = Pose()
initial_pose.position.x = 1
initial_pose.position.y = 1
initial_pose.position.z = 0

# loc='/home/qinjielin/RL_Ws/turtleBot3_ws/src/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_square/model.sdf'
loc = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/actor/actor.sdf'

f = open(loc, 'r')

sdff = f.read()

rospy.wait_for_service('gazebo/spawn_sdf_model')
spawn_model_prox = rospy.ServiceProxy('gazebo/spawn_sdf_model', SpawnModel)
spawn_model_prox("actor0", sdff, " ", initial_pose, "world")

# MB_sdf = open('/home/qinjielin/RL_Ws/turtleBot3_ws/src/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_burger/model-1_4.sdf','r')
# sdff_MB = MB_sdf.read()
# spawn_model_prox("my_MB", sdff_MB, " ", initial_pose, "world")
time.sleep(10)
deleteModel("actor0")
print("spawn successfully")
示例#2
0
        spawn_model_prox(self.name, sdf, " ", initial_pose, "world")

        # f.close()
        return


if __name__ == '__main__':
    rospy.init_node('insert_furniture')

    trashLoc = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/trash.sdf'
    bookshelfLoc = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/house_element/bookshelf/model.sdf'
    cafeTableLoc = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/house_element/cafe_table/model.sdf'
    cudeLoc = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/house_element/cube_20k/model.sdf'
    tableLoc = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/house_element/table/model.sdf'
    tableMarbleLoc = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/house_element/table_marble/model.sdf'
    tableMarbleLoc2 = '/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/house_element/table_marble/model-1_4.sdf'

    nameBefore = "my_fur"
    pos = Point()
    pos.x = 0
    pos.y = 0
    pos.z = 0.5
    angle = 0

    fm = FurnitureModel(tableLoc)
    fm.spawnModel(pos, angle, nameBefore)

    time.sleep(5)

    deleteModel(nameBefore)
示例#3
0
    return lines


rospy.init_node('insert_object')

initial_pose = Pose()
initial_pose.position.x = 0
initial_pose.position.y = 0
initial_pose.position.z = 0
# initial_pose.orientation.w = 0 #cos(theta/2)
# initial_pose.orientation.z = 1 #sin(theta/2)

f = open('/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/trash.sdf',
         'rw+')
sdff = f.read()

# lines = customizeWall()

rospy.wait_for_service('gazebo/spawn_sdf_model')
spawn_model_prox = rospy.ServiceProxy('gazebo/spawn_sdf_model', SpawnModel)
# spawn_model_prox("my_wall", StringIO(''.join(lines)).read(), " ", initial_pose, "world")
spawn_model_prox("my_trash", sdff, " ", initial_pose, "world")

f.close()
print("spawn successfully")

time.sleep(5)

deleteModel("my_trash")
示例#4
0
import rospy
from gazebo_msgs.srv import SpawnModel
from geometry_msgs.msg import Pose
from gazebo_utils import  deleteModel
import  time

rospy.init_node('insert_object')

initial_pose = Pose()
initial_pose.position.x = 0
initial_pose.position.y = 0
initial_pose.position.z = 0

loc='/home/qinjielin/RL_Ws/turtleBot3_ws/src/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_square/model.sdf'
loc='/home/qinjielin/RL_Ws/turtleBot3_ws/src/basics/models/house_element/cylinder/model.sdf'

f = open(loc,'r')

sdff = f.read()

rospy.wait_for_service('gazebo/spawn_sdf_model')
spawn_model_prox = rospy.ServiceProxy('gazebo/spawn_sdf_model', SpawnModel)
spawn_model_prox("some_robo_name", sdff, " ", initial_pose, "world")

# MB_sdf = open('/home/qinjielin/RL_Ws/turtleBot3_ws/src/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_burger/model-1_4.sdf','r')
# sdff_MB = MB_sdf.read()
# spawn_model_prox("my_MB", sdff_MB, " ", initial_pose, "world")
time.sleep(10)
deleteModel("some_robo_name")
print("spawn successfully")
示例#5
0
    name = nameBefore + '4'
    pos.x = 5
    pos.y = 2
    angle = 0
    fm4 = FurnitureModel(tableMarbleLoc)
    fm4.spawnModel(pos, angle, name)

    name = nameBefore + '5'
    pos.x = 5
    pos.y = 6
    angle = 0
    fm5 = FurnitureModel(trashLoc)
    fm5.spawnModel(pos, angle, name)

    name = nameBefore + '6'
    pos.x = 5
    pos.y = 8
    angle = 0
    fm6 = FurnitureModel(bookshelfLoc)
    fm6.spawnModel(pos, angle, name)

    time.sleep(1000)

    deleteModel(wall_model1.name)
    deleteModel(wall_model2.name)
    deleteModel(wall_model3.name)
    deleteModel(fm4.name)
    deleteModel(fm5.name)
    deleteModel(fm6.name)
示例#6
0
    # wall_model.spawnXML(pos,angle,size,name)
    name = nameBefore + '1'
    pos.x = 0
    pos.y = 5
    angle = 1.57
    wall_model1 = WallModel(wallLoc)
    wall_model1.spawnModel(pos, angle, size, name)

    name = nameBefore + '2'
    pos.x = 5
    pos.y = 10
    angle = 0
    wall_model2 = WallModel(wallLoc)
    wall_model2.spawnModel(pos, angle, size, name)

    name = nameBefore + '3'
    pos.x = 10
    pos.y = 5
    angle = 1.57
    wall_model3 = WallModel(wallLoc)
    wall_model3.spawnModel(pos, angle, size, name)

    time.sleep(10)

    deleteModel(wall_model1.name)
    deleteModel(wall_model2.name)
    deleteModel(wall_model3.name)



示例#7
0
 def deleteModel(self):
     numModels = len(self.models)
     for i in range(0,numModels):
         deleteModel(self.models[i].name)
     return