Skip to content

Merge pull request #21 from WATonomous/ros2_bridge #71

Merge pull request #21 from WATonomous/ros2_bridge

Merge pull request #21 from WATonomous/ros2_bridge #71

Triggered via push July 26, 2025 03:24
Status Failure
Total duration 11s
Artifacts
Setup Environment
8s
Setup Environment
Matrix: Build/Test
Waiting for pending jobs
Confirm Build and Unit Tests Completed
Confirm Build and Unit Tests Completed
Fit to window
Zoom out
Zoom in

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