Update README.md
Browse files
README.md
CHANGED
|
@@ -6,14 +6,13 @@ tags:
|
|
| 6 |
- robotics
|
| 7 |
- motion planning
|
| 8 |
---
|
| 9 |
-
|
| 10 |
# Neural MP
|
| 11 |
|
| 12 |
-
Neural MP is a machine learning-based motion planning system for robotic manipulation tasks. It combines neural networks trained on large-scale simulated data with lightweight optimization techniques to generate efficient, collision-free trajectories. Neural MP is designed to generalize across diverse environments and obstacle configurations, making it suitable for both simulated and real-world robotic applications. This repository contains the
|
| 13 |
|
| 14 |
-
All Neural MP checkpoints, as well as our [
|
| 15 |
|
| 16 |
-
For full details, please read our paper(
|
| 17 |
|
| 18 |
## Model Summary
|
| 19 |
- **Developed by:** The Neural MP team consisting of researchers from Carnegie Mellon University.
|
|
@@ -26,7 +25,7 @@ For full details, please read our paper(coming soon) and see [our project page](
|
|
| 26 |
|
| 27 |
## Installation
|
| 28 |
|
| 29 |
-
Please
|
| 30 |
|
| 31 |
## Usage
|
| 32 |
|
|
@@ -34,17 +33,14 @@ Neural MP model takes in 3D point cloud and start & goal angles of the Franka ro
|
|
| 34 |
|
| 35 |
Here's an deployment example with the Manimo Franka control library:
|
| 36 |
|
| 37 |
-
Note: using Manimo is not required, you may use other Franka control libraries by creating a wrapper class which inherits from FrankaRealEnv (
|
| 38 |
|
| 39 |
```python
|
| 40 |
import argparse
|
| 41 |
import numpy as np
|
| 42 |
-
|
| 43 |
from neural_mp.envs.franka_real_env import FrankaRealEnvManimo
|
| 44 |
from neural_mp.real_utils.neural_motion_planner import NeuralMP
|
| 45 |
-
|
| 46 |
if __name__ == "__main__":
|
| 47 |
-
|
| 48 |
parser = argparse.ArgumentParser()
|
| 49 |
parser.add_argument(
|
| 50 |
"--mdl_url",
|
|
@@ -89,7 +85,6 @@ if __name__ == "__main__":
|
|
| 89 |
default=[0.1, 0.1, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 1.0],
|
| 90 |
help="Specify the bounding box of the in hand object. 10 params in total [size(xyz), pos(xyz), ori(xyzw)] 3+3+4.",
|
| 91 |
)
|
| 92 |
-
|
| 93 |
args = parser.parse_args()
|
| 94 |
env = FrankaRealEnvManimo()
|
| 95 |
neural_mp = NeuralMP(
|
|
@@ -100,18 +95,15 @@ if __name__ == "__main__":
|
|
| 100 |
in_hand_params=args.in_hand_params,
|
| 101 |
visualize=True,
|
| 102 |
)
|
| 103 |
-
|
| 104 |
points, colors = neural_mp.get_scene_pcd(
|
| 105 |
use_cache=args.use_cache,
|
| 106 |
cache_name=args.cache_name,
|
| 107 |
debug_combined_pcd=args.debug_combined_pcd,
|
| 108 |
denoise=args.denoise_pcd,
|
| 109 |
)
|
| 110 |
-
|
| 111 |
# specify start and goal configurations
|
| 112 |
start_config = np.array([-0.538, 0.628, -0.061, -1.750, 0.126, 2.418, 1.610])
|
| 113 |
goal_config = np.array([1.067, 0.847, -0.591, -1.627, 0.623, 2.295, 2.580])
|
| 114 |
-
|
| 115 |
if args.tto:
|
| 116 |
trajectory = neural_mp.motion_plan_with_tto(
|
| 117 |
start_config=start_config,
|
|
@@ -126,6 +118,5 @@ if __name__ == "__main__":
|
|
| 126 |
points=points,
|
| 127 |
colors=colors,
|
| 128 |
)
|
| 129 |
-
|
| 130 |
success, joint_error = neural_mp.execute_motion_plan(trajectory, speed=0.2)
|
| 131 |
-
```
|
|
|
|
| 6 |
- robotics
|
| 7 |
- motion planning
|
| 8 |
---
|
|
|
|
| 9 |
# Neural MP
|
| 10 |
|
| 11 |
+
Neural MP is a machine learning-based motion planning system for robotic manipulation tasks. It combines neural networks trained on large-scale simulated data with lightweight optimization techniques to generate efficient, collision-free trajectories. Neural MP is designed to generalize across diverse environments and obstacle configurations, making it suitable for both simulated and real-world robotic applications. This repository contains the model weights for Neural MP.
|
| 12 |
|
| 13 |
+
All Neural MP checkpoints, as well as our [codebase](https://github.com/mihdalal/neuralmotionplanner) are released under an MIT License.
|
| 14 |
|
| 15 |
+
For full details, please read our [paper](https://mihdalal.github.io/neuralmotionplanner/resources/paper.pdf) and see [our project page](https://mihdalal.github.io/neuralmotionplanner/).
|
| 16 |
|
| 17 |
## Model Summary
|
| 18 |
- **Developed by:** The Neural MP team consisting of researchers from Carnegie Mellon University.
|
|
|
|
| 25 |
|
| 26 |
## Installation
|
| 27 |
|
| 28 |
+
Please read [here](https://github.com/mihdalal/neural_mp?tab=readme-ov-file#installation-instructions) for detailed instructions
|
| 29 |
|
| 30 |
## Usage
|
| 31 |
|
|
|
|
| 33 |
|
| 34 |
Here's an deployment example with the Manimo Franka control library:
|
| 35 |
|
| 36 |
+
Note: using Manimo is not required, you may use other Franka control libraries by creating a wrapper class which inherits from FrankaRealEnv (see [franka_real_env.py](https://github.com/mihdalal/neural_mp/blob/master/neural_mp/envs/franka_real_env.py))
|
| 37 |
|
| 38 |
```python
|
| 39 |
import argparse
|
| 40 |
import numpy as np
|
|
|
|
| 41 |
from neural_mp.envs.franka_real_env import FrankaRealEnvManimo
|
| 42 |
from neural_mp.real_utils.neural_motion_planner import NeuralMP
|
|
|
|
| 43 |
if __name__ == "__main__":
|
|
|
|
| 44 |
parser = argparse.ArgumentParser()
|
| 45 |
parser.add_argument(
|
| 46 |
"--mdl_url",
|
|
|
|
| 85 |
default=[0.1, 0.1, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 1.0],
|
| 86 |
help="Specify the bounding box of the in hand object. 10 params in total [size(xyz), pos(xyz), ori(xyzw)] 3+3+4.",
|
| 87 |
)
|
|
|
|
| 88 |
args = parser.parse_args()
|
| 89 |
env = FrankaRealEnvManimo()
|
| 90 |
neural_mp = NeuralMP(
|
|
|
|
| 95 |
in_hand_params=args.in_hand_params,
|
| 96 |
visualize=True,
|
| 97 |
)
|
|
|
|
| 98 |
points, colors = neural_mp.get_scene_pcd(
|
| 99 |
use_cache=args.use_cache,
|
| 100 |
cache_name=args.cache_name,
|
| 101 |
debug_combined_pcd=args.debug_combined_pcd,
|
| 102 |
denoise=args.denoise_pcd,
|
| 103 |
)
|
|
|
|
| 104 |
# specify start and goal configurations
|
| 105 |
start_config = np.array([-0.538, 0.628, -0.061, -1.750, 0.126, 2.418, 1.610])
|
| 106 |
goal_config = np.array([1.067, 0.847, -0.591, -1.627, 0.623, 2.295, 2.580])
|
|
|
|
| 107 |
if args.tto:
|
| 108 |
trajectory = neural_mp.motion_plan_with_tto(
|
| 109 |
start_config=start_config,
|
|
|
|
| 118 |
points=points,
|
| 119 |
colors=colors,
|
| 120 |
)
|
|
|
|
| 121 |
success, joint_error = neural_mp.execute_motion_plan(trajectory, speed=0.2)
|
| 122 |
+
```
|