diff --git a/keyboard_controls/keyboard_controls.py b/keyboard_controls/keyboard_controls.py index 9fdabd2..2307e32 100644 --- a/keyboard_controls/keyboard_controls.py +++ b/keyboard_controls/keyboard_controls.py @@ -2,7 +2,6 @@ from rclpy.node import Node from tr_messages.msg import SimTeleopInput from pynput import keyboard -import numpy from sim_node import constants diff --git a/sim_node/comp_field.py b/sim_node/comp_field.py index 1e96b5c..ea748c0 100644 --- a/sim_node/comp_field.py +++ b/sim_node/comp_field.py @@ -7,13 +7,16 @@ import os from sim_node import infantry_robot import numpy as np -from sim_node import infantry_robot from mani_skill.agents.multi_agent import MultiAgent -from mani_skill.sensors.camera import * +from mani_skill.sensors.camera import ( + parse_camera_configs, + update_camera_configs_from_dict, + CameraConfig, +) from mani_skill.sensors.depth_camera import StereoDepthCameraConfig, StereoDepthCamera from mani_skill.sensors.camera import Camera from mani_skill.utils.structs.render_camera import RenderCamera -from mani_skill.utils.structs.pose import Pose +# from mani_skill.utils.structs.pose import Pose package_dir = get_package_share_directory("sim_node") base_field_path = "resource/models/field/" @@ -42,7 +45,6 @@ @register_env("comp_field") class CompFieldEnv(BaseEnv): - def __init__(self, *args, robot_uids=("infantry"), **kwargs): super().__init__(*args, robot_uids=robot_uids, **kwargs) @@ -80,7 +82,7 @@ def _load_agent(self, options: dict): def _step_action( self, action: None | np.ndarray | infantry_robot.Tensor | Dict ) -> None | infantry_robot.Tensor: - plate_poses = self.agent.agents[0].get_armor_panel_poses() + # plate_poses = self.agent.agents[0].get_armor_panel_poses() # cube = self.scene.actors["debug_cube"] # cube.set_pose(plate_poses[3]) diff --git a/sim_node/infantry_robot.py b/sim_node/infantry_robot.py index 7acaebc..a2bbe11 100644 --- a/sim_node/infantry_robot.py +++ b/sim_node/infantry_robot.py @@ -3,7 +3,11 @@ import sapien import numpy as np from mani_skill.agents.base_agent import BaseAgent, Keyframe -from mani_skill.agents.controllers import * +from mani_skill.agents.controllers import ( + deepcopy_dict, + PDJointPosControllerConfig, + PDBaseVelControllerConfig, +) from mani_skill.agents.registration import register_agent from mani_skill.sensors.camera import CameraConfig from torch import Tensor @@ -19,9 +23,7 @@ @register_agent() class InfantryRobot(BaseAgent): uid = "infantry" - urdf_path = str( - os.path.join(package_dir, "resource/models/infantry/infantry.urdf") - ) + urdf_path = str(os.path.join(package_dir, "resource/models/infantry/infantry.urdf")) # TODO ideally we define a srdf file instead of disabling all collisions. That way we only disable problematic collisions and disable_self_collisions = True @@ -88,7 +90,6 @@ def _after_loading_articulation(self): @property def _controller_configs(self): - pitch_pd_joint = PDJointPosControllerConfig( self.pitch_joint_names, lower=None, diff --git a/sim_node/ros_bridge.py b/sim_node/ros_bridge.py index 14d2c27..6e99159 100644 --- a/sim_node/ros_bridge.py +++ b/sim_node/ros_bridge.py @@ -3,17 +3,13 @@ from rclpy.node import Node from tr_messages.srv import WriteSerial, ListenSerial from tr_messages.msg import SimTeleopInput, RobotGroundTruth, SimGroundTruth -from sensor_msgs.msg import Image from sim_node import simulation from sensor_msgs.msg import Image, PointCloud2, PointField from std_msgs.msg import Header from sensor_msgs_py import point_cloud2 # pointcloud utilizes from rosgraph_msgs.msg import Clock -from tf2_msgs.msg import TFMessage -from geometry_msgs.msg import TransformStamped from sim_node import utils, constants -import numpy as np from cv_bridge import CvBridge import torch @@ -294,7 +290,6 @@ def secondary_robot_teleop_callback(self, msg): ) def points_to_ros_pointcloud2(self, points): - header = Header() # TODO FIX ME header.stamp = self.get_clock().now().to_msg() diff --git a/sim_node/simulation.py b/sim_node/simulation.py index b58cb07..db37fd7 100644 --- a/sim_node/simulation.py +++ b/sim_node/simulation.py @@ -1,9 +1,5 @@ import gymnasium as gym -import mani_skill.envs from mani_skill.envs.sapien_env import BaseEnv -from mani_skill.agents.base_agent import BaseAgent -from mani_skill.agents.multi_agent import MultiAgent -from sim_node import comp_field import numpy as np from sim_node import utils from mani_skill.utils.structs import SimConfig @@ -21,7 +17,6 @@ class Simulation: - def __init__(self, options: dict, seed=2930): self.options = dict(reconfigure=True, user=options) self.should_render_gui = self.options["user"]["human_gui"] @@ -99,7 +94,7 @@ def step( } obs, reward, terminated, truncated, info = self.env.step(action=action) - done = terminated or truncated + # done = terminated or truncated if self.should_render_gui: self.env.render() diff --git a/sim_node/utils.py b/sim_node/utils.py index 7737238..4653033 100644 --- a/sim_node/utils.py +++ b/sim_node/utils.py @@ -1,14 +1,9 @@ from typing import Dict -import numpy as np -import sapien.physx as physx import torch - -from mani_skill.sensors.base_sensor import BaseSensor, BaseSensorConfig -from mani_skill.sensors.camera import Camera from mani_skill.utils import common -from tr_messages.msg import RobotGroundTruth, SimGroundTruth +from tr_messages.msg import RobotGroundTruth from geometry_msgs.msg import Pose