Demonstration of Trajectories on the Kinova Gen3 Manipulator Generated by B*: Efficient and Optimal Base Placement for Fixed-Base Manipulators
This repository contains code and experiment scripts for the real-world implementation of the B* algorithm, designed to achieve efficient and optimal base placement for fixed-base robotic manipulators. The codebase enables running experiments on physical robots, collecting results, and analyzing performance.
B* is an algorithm for determining optimal base placements for fixed-base manipulators to maximize workspace reachability and task performance. This repository provides:
- Experiment scripts for running B* on real robotic arms
- Utilities for trajectory generation and result analysis
- Example datasets and result logs
experiment.py # Main experiment script
experiment_low_level.py # Low-level control and experiment utilities
utilities.py # Helper functions and utilities
kinova_traj/ # Trajectory and result data
├── bstar_results/ # Results from B* experiments
│ └── ... # Subfolders for each experiment run
└── designed_traj/ # Pre-designed trajectories for different robots
- Clone this repository.
- Install the dependencies as described below.
- Run experiments on the Kinova Gen3 arm using the provided scripts:
python experiment.py --traj_file_path path/to/your/generated_traj.npz \ --designed_traj_file_path path/to/your/designed_traj.npz \ --data_save_path exp_data.pkl \ --execute 1
To be added by the user.
-
Install the required Python packages:
pip install scipy numpy
-
Install
pymlg:git clone https://github.com/decargroup/pymlg.git cd pymlg pip install . cd ..
-
Install the Kinova Python API:
wget https://artifactory.kinovaapps.com:443/artifactory/generic-local-public/kortex/API/2.7.0/kortex_api-2.7.0.post5-py3-none-any.whl python -m pip install kortex_api-2.7.0.post5-py3-none-any.whl