This shows you the differences between two versions of the page.

Link to this comparison view

tutorials:pycram:demo [2020/04/08 09:39] (current)
jdech created
Line 1: Line 1:
 +====== 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:
 +<​code>​apt install python-pip python3-pip libbullet-dev python-virtualenv</​code>​
 +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. ​
 +<​code>​mkdir -p ~/​ros_ws/​src</​code>​
 +<​code>​cd ros_ws/src </​code>​
 +<​code>​git clone https://​www.github.com/​ros/​geometry</​code>​
 +<​code>​git clone https://​www.github.com/​ros/​geometry2 </​code>​
 +<​code>​git clone https://​www.github.com/​cram2/​pycram</​code>​
 +Now the virtual environment can be created and activated. ​
 +<​code>​virtualenv -p /​usr/​bin/​python3 venv</​code>​
 +<​code>​source venv/​bin/​activate </​code>​
 +With the virtual environment up and running the Python ROS packages can be installed. ​
 +This can be done via pip.
 +<​code>​ pip install -U rosdep rosinstall-generator wstool rosinstall ros-buildfarm rosdistro rospkg pyyaml catkin_pkg </​code> ​
 +==== Run the Demo ====
 +Now the Demo can be run by simply executing the run.py srcipt.
 +<​code>​cd ~/​ros_ws/​src/​pycram/​demos/​pycram_pr2_demo/​src</​code>​
 +<​code>​python3 run.py</​code>​
 +===== 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.
 +<​code>​ apt install python3-pip</​code>​
 +To install the required packages via pip the following command is used.
 +<​code>​pip3 install pybullet pathlib numpy</​code>​
 +Now the Repository needs to be cloned. This step can be skiped if the setup of the first demo was already done. 
 +<​code>​git clone https://​www.github.com/​cram2/​pycram.git</​code>​
 +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.
 +<​code>​cd <path to the repo>/​demos/​pycram_pr2_bullet_world_demo</​code>​
 +Now execute the run.py.
 +<​code>​python3 run.py</​code>​