parent
51b405fe74
commit
d7b5fc9f6c
|
@ -6,6 +6,7 @@ import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from robowaiter.proto import camera
|
from robowaiter.proto import camera
|
||||||
from robowaiter.proto import semantic_map
|
from robowaiter.proto import semantic_map
|
||||||
|
from robowaiter.algos.navigator.navigate import Navigator
|
||||||
import math
|
import math
|
||||||
from robowaiter.proto import GrabSim_pb2
|
from robowaiter.proto import GrabSim_pb2
|
||||||
from robowaiter.proto import GrabSim_pb2_grpc
|
from robowaiter.proto import GrabSim_pb2_grpc
|
||||||
|
@ -668,20 +669,35 @@ class Scene:
|
||||||
def navigation_move(self, cur_objs, objs_name_set, v_list, scene_id=0, map_id=11):
|
def navigation_move(self, cur_objs, objs_name_set, v_list, scene_id=0, map_id=11):
|
||||||
print('------------------navigation_move----------------------')
|
print('------------------navigation_move----------------------')
|
||||||
scene = stub.Observe(GrabSim_pb2.SceneID(value=scene_id))
|
scene = stub.Observe(GrabSim_pb2.SceneID(value=scene_id))
|
||||||
walk_value = [scene.location.X, scene.location.Y, scene.rotation.Yaw]
|
walk_value = [scene.location.X, scene.location.Y]
|
||||||
print("position:", walk_value)
|
print("position:", walk_value)
|
||||||
|
|
||||||
|
if not cur_objs:
|
||||||
|
walk_v = [scene.location.X, scene.location.Y + 1]
|
||||||
|
yaw = Navigator.get_yaw(walk_value, walk_v)
|
||||||
|
walk_v = walk_value + [yaw, 250, 10]
|
||||||
|
print("walk_v", walk_v)
|
||||||
|
action = GrabSim_pb2.Action(scene=scene_id, action=GrabSim_pb2.Action.ActionType.WalkTo, values=walk_v)
|
||||||
|
scene = stub.Do(action)
|
||||||
|
cur_objs, objs_name_set = camera.get_semantic_map(GrabSim_pb2.CameraName.Head_Segment, cur_objs,
|
||||||
|
objs_name_set)
|
||||||
|
# if scene.info == "Unreachable":
|
||||||
|
print(scene.info)
|
||||||
|
|
||||||
# if map_id == 11: # coffee
|
# if map_id == 11: # coffee
|
||||||
# v_list = [[0, 880], [250, 1200], [-55, 750], [70, -200]]
|
# v_list = [[0, 880], [250, 1200], [-55, 750], [70, -200]]
|
||||||
# else:
|
# else:
|
||||||
# v_list = [[0.0, 0.0]]
|
# v_list = [[0.0, 0.0]]
|
||||||
|
|
||||||
|
else:
|
||||||
for walk_v in v_list:
|
for walk_v in v_list:
|
||||||
walk_v = walk_v + [scene.rotation.Yaw - 90, 250, 10]
|
yaw = Navigator.get_yaw(walk_value, walk_v)
|
||||||
|
walk_v = walk_v + [yaw, 250, 10]
|
||||||
print("walk_v", walk_v)
|
print("walk_v", walk_v)
|
||||||
action = GrabSim_pb2.Action(scene=scene_id, action=GrabSim_pb2.Action.ActionType.WalkTo, values=walk_v)
|
action = GrabSim_pb2.Action(scene=scene_id, action=GrabSim_pb2.Action.ActionType.WalkTo, values=walk_v)
|
||||||
scene = stub.Do(action)
|
scene = stub.Do(action)
|
||||||
cur_objs, objs_name_set = camera.get_semantic_map(GrabSim_pb2.CameraName.Head_Segment, cur_objs, objs_name_set)
|
cur_objs, objs_name_set = camera.get_semantic_map(GrabSim_pb2.CameraName.Head_Segment, cur_objs,
|
||||||
|
objs_name_set)
|
||||||
# if scene.info == "Unreachable":
|
# if scene.info == "Unreachable":
|
||||||
print(scene.info)
|
print(scene.info)
|
||||||
return cur_objs, objs_name_set
|
return cur_objs, objs_name_set
|
||||||
|
|
Loading…
Reference in New Issue