Merge pull request #21 from WATonomous/ros2_bridge #71
build_and_unitest.yml
on: push
Setup Environment
8s
Matrix: Build/Test
Waiting for pending jobs
Confirm Build and Unit Tests Completed
Annotations
29 errors and 3 notices
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/test_subscriber.py#L1
import rclpy
from rclpy.node import Node
from std_msgs.msg import Float32MultiArray
+
class HandPoseSubscriber(Node):
def __init__(self):
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/test_subscriber.py#L18
self.joint_positions = list(msg.data)
self.get_logger().info(f'Received joint positions: {self.joint_positions}')
else:
- self.get_logger().warn(f'Received invalid joint positions: expected 15 floats, got {len(msg.data)}')
+ self.get_logger().warn(
+ f'Received invalid joint positions: expected 15 floats, got {len(msg.data)}')
def get_latest_joint_positions(self):
return self.joint_positions
+
def main(args=None):
rclpy.init(args=args)
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/test_subscriber.py#L33
node.destroy_node()
rclpy.shutdown()
+
if __name__ == '__main__':
- main()
\ No newline at end of file
+ main()
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/hand_test.py#L1
+from test_subscriber import HandPoseSubscriber
+from test_publisher import TestFloatPublisher
+from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR
+from HumanoidRL.HumanoidRLPackage.HumanoidRLSetup.modelCfg.humanoid import HAND_CFG
+from isaaclab.utils import configclass
+from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
+from isaaclab.managers import SceneEntityCfg
+from isaaclab.assets import AssetBaseCfg
+import isaaclab.sim as sim_utils
+import rclpy
+import torch
import argparse
from isaaclab.app import AppLauncher
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/hand_test.py#L8
app_launcher = AppLauncher(args_cli)
simulation_app = app_launcher.app
-import torch
-import rclpy
-
-import isaaclab.sim as sim_utils
-from isaaclab.assets import AssetBaseCfg
-from isaaclab.managers import SceneEntityCfg
-from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
-from isaaclab.utils import configclass
-
-from HumanoidRL.HumanoidRLPackage.HumanoidRLSetup.modelCfg.humanoid import HAND_CFG
-from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR
-from test_publisher import TestFloatPublisher
-from test_subscriber import HandPoseSubscriber
@configclass
class HandSceneCfg(InteractiveSceneCfg):
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/hand_test.py#L36
)
robot = HAND_CFG.replace(prim_path="{ENV_REGEX_NS}/Robot")
+
def run_simulator(sim: sim_utils.SimulationContext, scene: InteractiveScene, node, test_node):
robot = scene["robot"]
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/hand_test.py#L67
robot.set_joint_position_target(joint_pos_des, joint_ids=robot_entity_cfg.joint_ids)
else:
print("[INFO]: No valid joint values received, using default positions.")
- joint_position_list = [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]
+ joint_position_list = [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]
joint_position = torch.tensor(joint_position_list[0], device=sim.device)
robot.reset()
joint_pos_des = joint_position.unsqueeze(0)[:, robot_entity_cfg.joint_ids].clone()
robot.set_joint_position_target(joint_pos_des, joint_ids=robot_entity_cfg.joint_ids)
-
scene.write_data_to_sim()
sim.step()
scene.update(sim_dt)
+
def main():
# Initialize ROS2
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/hand_test.py#L102
rclpy.shutdown()
simulation_app.close()
+
if __name__ == "__main__":
- main()
\ No newline at end of file
+ main()
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/test_publisher.py#L1
import rclpy
from rclpy.node import Node
from std_msgs.msg import Float32MultiArray
+
class TestFloatPublisher(Node):
def __init__(self):
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/test_publisher.py#L16
self.publisher_.publish(msg)
self.get_logger().info(f'Published joint positions: {msg.data}')
+
def main(args=None):
rclpy.init(args=args)
node = TestFloatPublisher()
|
|
autonomy/simulation/Wato_additional_scripts/ros2_bridge/test_publisher.py#L26
node.destroy_node()
rclpy.shutdown()
+
if __name__ == '__main__':
- main()
\ No newline at end of file
+ main()
|
|
autonomy/simulation/Wato_additional_scripts/shadow_hand/shadow_hand_joint_space_test.py#L1
+from isaaclab_assets import SHADOW_HAND_CFG
+from isaaclab.utils.math import subtract_frame_transforms
+from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR
+from isaaclab.utils import configclass
+from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
+from isaaclab.markers.config import FRAME_MARKER_CFG
+from isaaclab.markers import VisualizationMarkers
+from isaaclab.managers import SceneEntityCfg
+from isaaclab.controllers import DifferentialIKController, DifferentialIKControllerCfg
+from isaaclab.assets import AssetBaseCfg
+import isaaclab.sim as sim_utils
+import torch
import argparse
from isaaclab.app import AppLauncher
|
|
autonomy/simulation/Wato_additional_scripts/shadow_hand/shadow_hand_joint_space_test.py#L8
app_launcher = AppLauncher(args_cli)
simulation_app = app_launcher.app
-import torch
-
-import isaaclab.sim as sim_utils
-from isaaclab.assets import AssetBaseCfg
-from isaaclab.controllers import DifferentialIKController, DifferentialIKControllerCfg
-from isaaclab.managers import SceneEntityCfg
-from isaaclab.markers import VisualizationMarkers
-from isaaclab.markers.config import FRAME_MARKER_CFG
-from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
-from isaaclab.utils import configclass
-from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR
-from isaaclab.utils.math import subtract_frame_transforms
-
-from isaaclab_assets import SHADOW_HAND_CFG
# Shadow hand has 24 DOF - found from print(robot_entity_cfg.joint_ids)
# Print joint position - robot.data.default_joint_pos
|
|
autonomy/simulation/Wato_additional_scripts/shadow_hand/shadow_hand_joint_space_test.py#L57
def run_simulator(sim: sim_utils.SimulationContext, scene: InteractiveScene):
-
+
robot = scene["robot"]
# Specify robot-specific parameters
|
|
autonomy/simulation/Wato_additional_scripts/shadow_hand/shadow_hand_joint_space_test.py#L84
# cycle between joint state
joint_position_list = [
- [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1., 0., 0., 0., 0., 0.]
+ [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
+ [1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
+ [0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+ 0., 0., 0., 0., 0., 1., 1., 0., 0., 0., 0., 0.]
]
- joint_position = torch.tensor(joint_position_list[joint_position_index], device=sim.device)
+ joint_position = torch.tensor(
+ joint_position_list[joint_position_index], device=sim.device)
if joint_position_index >= len(joint_position_list) - 1:
joint_position_index = 0
else:
joint_position_index += 1
-
+
robot.reset()
joint_pos_des = joint_position.unsqueeze(0)[:, robot_entity_cfg.joint_ids].clone()
|
|
autonomy/simulation/Wato_additional_scripts/shadow_hand/shadow_hand_joint_space_test.py#L136
if __name__ == "__main__":
main()
- simulation_app.close()
\ No newline at end of file
+ simulation_app.close()
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/joint_space_test.py#L1
+from isaaclab_assets import UR10_CFG
+from isaaclab.utils.math import subtract_frame_transforms
+from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR
+from isaaclab.utils import configclass
+from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
+from isaaclab.markers.config import FRAME_MARKER_CFG
+from isaaclab.markers import VisualizationMarkers
+from isaaclab.managers import SceneEntityCfg
+from isaaclab.controllers import DifferentialIKController, DifferentialIKControllerCfg
+from isaaclab.assets import AssetBaseCfg
+import isaaclab.sim as sim_utils
+import torch
import argparse
from isaaclab.app import AppLauncher
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/joint_space_test.py#L8
app_launcher = AppLauncher(args_cli)
simulation_app = app_launcher.app
-import torch
-
-import isaaclab.sim as sim_utils
-from isaaclab.assets import AssetBaseCfg
-from isaaclab.controllers import DifferentialIKController, DifferentialIKControllerCfg
-from isaaclab.managers import SceneEntityCfg
-from isaaclab.markers import VisualizationMarkers
-from isaaclab.markers.config import FRAME_MARKER_CFG
-from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
-from isaaclab.utils import configclass
-from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR
-from isaaclab.utils.math import subtract_frame_transforms
##
# Pre-defined configs
##
-from isaaclab_assets import UR10_CFG
@configclass
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/joint_space_test.py#L57
def run_simulator(sim: sim_utils.SimulationContext, scene: InteractiveScene):
-
+
robot = scene["robot"]
# Create controller
- diff_ik_cfg = DifferentialIKControllerCfg(command_type="pose", use_relative_mode=False, ik_method="dls")
- diff_ik_controller = DifferentialIKController(diff_ik_cfg, num_envs=scene.num_envs, device=sim.device)
+ diff_ik_cfg = DifferentialIKControllerCfg(
+ command_type="pose", use_relative_mode=False, ik_method="dls")
+ diff_ik_controller = DifferentialIKController(
+ diff_ik_cfg, num_envs=scene.num_envs, device=sim.device)
# Markers
frame_marker_cfg = FRAME_MARKER_CFG.copy()
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/joint_space_test.py#L99
[1.0, -1.712, 1.712, 0.0, 0.0, 0.0],
[0.0, 1.712, 1.712, 0.0, 0.0, 0.0],
]
- joint_position = torch.tensor(joint_position_list[joint_position_index], device=sim.device)
+ joint_position = torch.tensor(
+ joint_position_list[joint_position_index], device=sim.device)
joint_vel = robot.data.default_joint_vel.clone()
if joint_position_index >= len(joint_position_list) - 1:
joint_position_index = 0
else:
joint_position_index += 1
-
+
robot.reset()
joint_pos_des = joint_position.unsqueeze(0)[:, robot_entity_cfg.joint_ids].clone()
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/joint_space_test.py#L153
if __name__ == "__main__":
main()
- simulation_app.close()
\ No newline at end of file
+ simulation_app.close()
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/task_space_test.py#L1
+from isaaclab_assets import UR10_CFG, FRANKA_PANDA_HIGH_PD_CFG
+from isaaclab.utils.math import subtract_frame_transforms
+from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR
+from isaaclab.utils import configclass
+from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
+from isaaclab.markers.config import FRAME_MARKER_CFG
+from isaaclab.markers import VisualizationMarkers
+from isaaclab.managers import SceneEntityCfg
+from isaaclab.controllers import DifferentialIKController, DifferentialIKControllerCfg
+from isaaclab.assets import AssetBaseCfg
+import isaaclab.sim as sim_utils
+import torch
import argparse
from isaaclab.app import AppLauncher
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/task_space_test.py#L9
app_launcher = AppLauncher(args_cli)
simulation_app = app_launcher.app
-import torch
-
-import isaaclab.sim as sim_utils
-from isaaclab.assets import AssetBaseCfg
-from isaaclab.controllers import DifferentialIKController, DifferentialIKControllerCfg
-from isaaclab.managers import SceneEntityCfg
-from isaaclab.markers import VisualizationMarkers
-from isaaclab.markers.config import FRAME_MARKER_CFG
-from isaaclab.scene import InteractiveScene, InteractiveSceneCfg
-from isaaclab.utils import configclass
-from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR
-from isaaclab.utils.math import subtract_frame_transforms
##
# Pre-defined configs
##
-from isaaclab_assets import UR10_CFG, FRANKA_PANDA_HIGH_PD_CFG
@configclass
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/task_space_test.py#L73
def run_simulator(sim: sim_utils.SimulationContext, scene: InteractiveScene):
-
+
robot = scene["robot"]
# Create controller
- diff_ik_cfg = DifferentialIKControllerCfg(command_type="pose", use_relative_mode=False, ik_method="dls")
- diff_ik_controller = DifferentialIKController(diff_ik_cfg, num_envs=scene.num_envs, device=sim.device)
+ diff_ik_cfg = DifferentialIKControllerCfg(
+ command_type="pose", use_relative_mode=False, ik_method="dls")
+ diff_ik_controller = DifferentialIKController(
+ diff_ik_cfg, num_envs=scene.num_envs, device=sim.device)
# Markers
frame_marker_cfg = FRAME_MARKER_CFG.copy()
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/task_space_test.py#L88
# Specify robot-specific parameters
if args_cli.robot == "franka_panda":
- robot_entity_cfg = SceneEntityCfg("robot", joint_names=["panda_joint.*"], body_names=["panda_hand"])
+ robot_entity_cfg = SceneEntityCfg(
+ "robot", joint_names=["panda_joint.*"], body_names=["panda_hand"])
elif args_cli.robot == "ur10":
robot_entity_cfg = SceneEntityCfg("robot", joint_names=[".*"], body_names=["ee_link"])
else:
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/task_space_test.py#L125
while simulation_app.is_running():
# Get cube/target_point coordinates
position, quaternion = scene["cube"].get_world_poses()
- ik_commands = torch.cat([position, quaternion], dim=1) # Quaternion is in (w, x, y, z)
+ ik_commands = torch.cat([position, quaternion], dim=1) # Quaternion is in (w, x, y, z)
diff_ik_controller.set_command(ik_commands)
# obtain quantities from simulation
- jacobian = robot.root_physx_view.get_jacobians()[:, ee_jacobi_idx, :, robot_entity_cfg.joint_ids]
+ jacobian = robot.root_physx_view.get_jacobians(
+ )[:, ee_jacobi_idx, :, robot_entity_cfg.joint_ids]
ee_pose_w = robot.data.body_state_w[:, robot_entity_cfg.body_ids[0], 0:7]
root_pose_w = robot.data.root_state_w[:, 0:7]
joint_pos = robot.data.joint_pos[:, robot_entity_cfg.joint_ids]
|
|
autonomy/simulation/Wato_additional_scripts/robot_arm_controllers/task_space_test.py#L184
if __name__ == "__main__":
main()
- simulation_app.close()
\ No newline at end of file
+ simulation_app.close()
|
|
Build and Test Monorepo
Error when evaluating 'strategy' for job 'build-and-unittest'. .github/workflows/build_and_unitest.yml (Line: 59, Col: 15): matrix must define at least one vector
|
|
Build and Test Monorepo
Error when evaluating 'strategy' for job 'build-and-unittest'. .github/workflows/build_and_unitest.yml (Line: 59, Col: 15): matrix must define at least one vector
|
|
Setup Environment
Using main as the target branch
|
|
Setup Environment
Using main as the source branch
|
|
Setup Environment
MODIFIED_MODULES are simulation
|