Deploying a Policy on the Robot
Getting Started
Follow “Getting Started” in the
robot-server
documentation.Skip the dataset related parts if you're not running VINN
Install ROS1 within your Conda environment:
# Only if you are not using mamba already conda install mamba -c conda-forge # this adds the conda-forge channel to the new created environment configuration conda config --env --add channels conda-forge # and the robostack channel conda config --env --add channels robostack-staging # remove the defaults channel just in case, this might return an error if it is not in the list which is ok conda config --env --remove channels defaults mamba install ros-noetic-desktop
Deploying
Perform joint calibration by running
stretch_robot_home.py
.Follow documentation in Running the Robot Controller for running
roscore
andstart_server.py
on the robot.Ensure that both of the previous commands are both running in the background in their own separate windows.
Behavior Cloning
Transfer over the weights of a trained BC policy to the robot.
Take the last checkpoint (saved after 50th epoch):
rsync -av --include='*/' --include='checkpoint.pt' --exclude='*' checkpoints/2023-11-22 hello-robot@{ip-address}:/home/hello-robot/code/imitation-in-homes/checkpoints
In
configs/run.yaml
setmodel_weight_pth
to the path containing the trained BC policy weights.Run in terminal:
python run.py --config-name=run
VINN
Transfer over the encoder weights and
finetune_task_data
onto the robot.We recommend doing so using
rsync
To speed up the transfer of data and save space on the robot, only transfer the necessary files:
rsync -avm --include='*/' --include='*.json' --include='*.bin' --include='*.txt' --include='*.mp4' --exclude='*' /home/shared/data/finetune_task_data hello-robot@{ip-address}:/home/hello-robot/data
In
configs/run_vinn.yaml
setcheckpoint_path
to encoder weights.In
configs/dataset/vinn_deploy_dataset.yaml
, setinclude_tasks
andinclude_envs
to be a specific task (i.e. Drawer_Closing) and environment (i.e. Env2) from thefinetune_task_data
folder.Run in terminal:
python run.py --config-name=run_vinn
Command Line Instructions
h
Bring the robot to its "home" position
r
Reset the "home" position height
Height values are in the range ~(0.2 to 1.1)
Wait a second or two, then home the robot ("h") to move to this height
s
Enter a value 1-10
Home the robot by "h" to move to the fixed starting position
↵ (Enter)
Take one "step" of the policy
Alternative: Enter some number + ↵ to "step" n times (i.e. 5 + ↵ for 5 "steps")
Last updated