-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Incorporated cleanup * Removed extras * Updated luminances * Fixed can task
- Loading branch information
1 parent
b3b73a4
commit b6c13a6
Showing
226 changed files
with
8,576 additions
and
33,282 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,31 +22,66 @@ Clone the repo: | |
git clone --recurse-submodules [email protected]:BerkeleyAutomation/mirage.git | ||
``` | ||
|
||
Create a conda environment or virtualenv: | ||
``` | ||
conda create --name mirage python=3.8 | ||
``` | ||
Install ROS 2 and setup the Gazebo Environment for Inpainting by following the instructions in `mirage/mirage/ros_ws/src/README.md` | ||
|
||
Install the mirage Python package. | ||
Create a conda environment and install the mirage Python package. | ||
``` | ||
conda create -n mirage --python=3.10 | ||
cd mirage | ||
pip install -e . | ||
``` | ||
|
||
Follow the installation instructions for the given simulator by going into the forked repositories. | ||
Follow the installation instructions for the downloaded robomimic, robosuite, and mimicgen_environments submodules by going into them and looking at the README. | ||
|
||
Build the ROS workspace by running (from the root of this repo) | ||
``` | ||
cd mirage/mirage/ros_ws | ||
colcon build | ||
source install/setup.bash | ||
``` | ||
|
||
## Usage | ||
For robosuite, to run an experiment, | ||
### Robosuite Benchmark | ||
If inpainting is enabled, only 1 benchmarking process can be run at a given time. | ||
Depending on the robosuite environment, the ros launch file will be different due to different camera extrinsics. | ||
Firstly, in one terminal, run the gazebo writer node | ||
``` | ||
source mirage/mirage/ros_ws/install/setup.bash | ||
ros2 run gazebo_env write_data_node_robosuite_better.py | ||
``` | ||
|
||
Then, launch the gazebo process for the corresponding environment by first running (in a new terminal): | ||
``` | ||
source mirage/mirage/ros_ws/install/setup.bash | ||
``` | ||
Run either one of these depending on the environment (three piece assembly is really two piece assembly). | ||
``` | ||
ros2 launch gazebo_env panda_gazebo_classic_robosuite_can.launch.py | ||
ros2 launch gazebo_env panda_gazebo_classic_robosuite_lift_square_stack_three_threading.launch.py | ||
ros2 launch gazebo_env panda_gazebo_classic_robosuite_three_piece_assembly.launch.py | ||
``` | ||
cd mirage/benchmark/robosuite | ||
python3 run_robosuite_benchmark.py --config_file config/example_config.yaml | ||
|
||
For robosuite, to run an experiment (from the root of this repo), | ||
``` | ||
# Run this command below if inpainting, otherwise skip | ||
source mirage/mirage/ros_ws/install/setup.bash | ||
cd mirage/mirage/benchmark/robosuite | ||
python3 run_robosuite_benchmark.py --config config/example_config.yaml | ||
``` | ||
Please take a look at the example_config and the different parameters that can be set to run different tasks, agents, and robots. For the above code to work, you must change the agents to the path for the model checkpoints in robosuite. | ||
|
||
## Citation | ||
If you utilized the benchmark, please consider citing the paper: | ||
``` | ||
TODO: Add link to ArXiv / publication | ||
@misc{chen2024mirage, | ||
title={Mirage: Cross-Embodiment Zero-Shot Policy Transfer with Cross-Painting}, | ||
author={Lawrence Yunliang Chen and Kush Hari and Karthik Dharmarajan and Chenfeng Xu and Quan Vuong and Ken Goldberg}, | ||
year={2024}, | ||
eprint={2402.19249}, | ||
archivePrefix={arXiv}, | ||
primaryClass={cs.RO} | ||
} | ||
``` | ||
|
||
## Contributing | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,81 @@ | ||
# Cross Embodiment | ||
# Mirage | ||
|
||
Hi. Welcome to this test workspace for the cross embodiment project. This is currently in development. | ||
Hi! Welcome to the ROS workspace setup for Mirage. This README details how to setup the ROS2 environment and Gazebo to run simulated and real experiments in the Mirage paper (RSS 2024 hopefully ;) | ||
|
||
## Installation | ||
## Prerequisites | ||
Computer with Ubuntu 22.04 | ||
|
||
## Installation (Bash Script) | ||
Clone the repo: | ||
``` | ||
cd ~/ | ||
git clone --recurse-submodules [email protected]:BerkeleyAutomation/mirage.git | ||
``` | ||
|
||
Run the setup bash script | ||
``` | ||
cd ~/mirage/xembody/xembody/src/ros_ws/src | ||
bash ros_gazebo_setup.bash | ||
``` | ||
|
||
## Installation (Step by Step) | ||
|
||
### Step 1: Install ROS2 Humble Full: https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html | ||
``` | ||
# Step 1.1 Set Locale | ||
sudo apt update -y | ||
sudo apt install locales | ||
sudo locale-gen en_US en_US.UTF-8 | ||
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 | ||
export LANG=en_US.UTF-8 | ||
# Step 1.2 Setup Sources | ||
sudo apt install software-properties-common | ||
echo -ne '\n' | sudo add-apt-repository universe | ||
sudo apt update && sudo apt install curl -y | ||
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null | ||
# Step 1.3 Install ROS2 Packages | ||
sudo apt update -y | ||
sudo apt upgrade -y | ||
sudo apt install ros-humble-desktop-full -y | ||
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc | ||
``` | ||
|
||
### Step 2: Setup ROS2 Control: https://control.ros.org/humble/doc/ros2_control_demos/doc/index.html | ||
``` | ||
mkdir -p ~/ros2_ws/src | ||
cd ~/ros2_ws/src | ||
git clone https://github.com/ros-controls/ros2_control_demos -b humble | ||
cd ~/ros2_ws/ | ||
sudo apt-get update | ||
sudo rosdep install --from-paths ./ -i -y --rosdistro ${ROS_DISTRO} | ||
cd ~/ros2_ws/ | ||
. /opt/ros/${ROS_DISTRO}/setup.sh | ||
colcon build --merge-install | ||
``` | ||
|
||
### Step 3: Tracikpy Installation: https://github.com/mjd3/tracikpy | ||
``` | ||
sudo apt-get install libeigen3-dev liborocos-kdl-dev libkdl-parser-dev liburdfdom-dev libnlopt-dev | ||
cd ~/ | ||
git clone https://github.com/mjd3/tracikpy.git | ||
pip install tracikpy/ | ||
``` | ||
|
||
### Step 4: Make sure Gazebo plugins can be found: https://classic.gazebosim.org/tutorials?tut=guided_i5 | ||
``` | ||
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mirage/xembody/xembody/src/ros_ws/build/gazebo_env" >> ~/.bashrc | ||
``` | ||
|
||
### Step 5: Compile workspace | ||
``` | ||
cd ~/mirage/xembody/xembody/src/ros_ws | ||
colcon build | ||
. install/setup.bash | ||
source ~/.bashrc | ||
``` | ||
When doing this installation, have conda fully deactivated | ||
Make sure ROS2 Humble Desktop Full is installed: https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html | ||
|
||
|
42 changes: 0 additions & 42 deletions
42
mirage/mirage/ros_ws/src/fk_ik_rviz_pkg/bringup/config/rrbot_controllers.yaml
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.