This is an old revision of the document!


Run the PyCRAM demos

There are two demos available for PyCRAM, the first can only be used with a real PR2 and shows how to use the ProcessModules, Motion Designator and the PyCRAM plan language. The second one shows the usage of the BulletWorld and its reasoning mechanisms.

Demo 1

For this demo a real PR2 is needed. Furthermore, ROS1 is needed to communicate with the PR2. It is meant to show what is possible with the ProcessModules, Motion Designator and PyCRAM plan language.

Setup

Because ROS1 works mostly with Python2 and PyCRAM is written in Python3 a virtual environment is needed. To setup this virtual environment a few packages need to be installed. In Ubuntu this can be done with the following command:

apt install python-pip python3-pip libbullet-dev python-virtualenv

Libbullet is needed for the ROS1 geometry2 package which is used in this demo.

Now setup a new ROS workspace and pull the required packages.

mkdir -p ~/ros_ws/src
cd ros_ws/src 
git clone https://www.github.com/ros/geometry
git clone https://www.github.com/ros/geometry2 
git clone https://www.github.com/cram2/pycram

Now the virtual environment can be created and activated.

virtualenv -p /usr/bin/python3 venv
source venv/bin/activate 

With the virtual environment up and running the Python ROS packages can be installed. This can be done via pip.

 pip install -U rosdep rosinstall-generator wstool rosinstall ros-buildfarm rosdistro rospkg pyyaml catkin_pkg 

Run the Demo

Now the Demo can be run by simply executing the run.py srcipt.

cd ~/ros_ws/src/pycram/demos/pycram_pr2_demo/src
python3 run.py

Demo 2

Running the second demo is a bit simpler because no real PR2 is needed and the setup is a bit simpler.

Setup

To run the demo a few packages need to be installed, they are all available via PyPi. If you already installed pip you can skip this, if not the pip version for Python3 can be installed with the following command.

 apt install python3-pip

To install the required packages via pip the following command is used.

pip3 install pybullet pathlib numpy

Now the Repository needs to be cloned. This step can be skiped if the setup of the first demo was already done.

git clone https://www.github.com/cram2/pycram.git

This demo needs the models of the PR2 and the kitchen of the Institute of Artificial Intelligence. They need to be in the resources directory in the PyCRAM repo.

The PR2 description: https://github.com/PR2/pr2_common/tree/melodic-devel/pr2_description

The kitchen description: https://github.com/code-iai/iai_maps/tree/master/iai_kitchen

Run the Demo

Now that all dependencies are installed the demo can be executed. For this you just need to enter the pycram_pr2_bullet_world_demo in the PyCRAM repo.

cd <path to the repo>/demos/pycram_pr2_bullet_world_demo

Now execute the run.py.

python3 run.py