Spaces:
Sleeping
Sleeping
| import torch | |
| import numpy as np | |
| from diffusion_policy.model.diffusion_policy import DiffusionPolicy | |
| # Load pretrained model | |
| def load_model(device="cuda" if torch.cuda.is_available() else "cpu"): | |
| model_path = "diffusion-policy/pretrained/6dof_robot" # Replace with actual model path | |
| model = DiffusionPolicy.load_from_checkpoint(model_path, map_location=device) | |
| model.to(device) | |
| model.eval() | |
| return model | |
| # Generate trajectory for a 6-DOF robot | |
| def generate_trajectory(model, start_state, goal_state, num_steps=50, device="cuda"): | |
| trajectory = torch.zeros((num_steps, 6), device=device) # Store trajectory | |
| state = torch.tensor(start_state, dtype=torch.float32, device=device) | |
| with torch.no_grad(): | |
| for t in range(num_steps): | |
| action = model.predict(state) # Predict next action | |
| state = state + action # Simulate movement | |
| trajectory[t] = state | |
| return trajectory.cpu().numpy() # Convert to NumPy for plotting | |