Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
installation [2016/01/28 11:37] – [CRAM installation] gkazhoya | installation [2022/09/15 12:42] – [Windows Install] arthur | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== CRAM installation ====== | ====== CRAM installation ====== | ||
- | If you get into problems, please consult the [[/ | + | ===== Prerequisites |
- | + | ||
- | ===== CRAM v0.2 (recommended) | + | |
- | + | ||
- | This is a guide for installing the main CRAM packages. It covers installing the packages you need to get the system up and running to the point where you can run and test it in a simulation mode. Setting up the system on a real robot is more complex (mostly involving the usual ROS-based platform setup) and is out of scope of this guide. | + | |
- | + | ||
- | ==== Prerequisites | + | |
== OS and ROS == | == OS and ROS == | ||
- | The recommended setup is Ubuntu | + | The recommended setup is Ubuntu |
This is the setup under which the CRAM team is working and it is best supported. | This is the setup under which the CRAM team is working and it is best supported. | ||
- | The core components | + | Most CRAM components should also work on older Ubuntu versions under ROS Kinetic etc. but with no guarantee. If you encounter any incompatibilities / bugs, [[/ |
- | If you don't have the latest version of ROS, [[http:// | + | If you don't have the latest version of ROS, [[http:// |
Don't forget to source the environment setup file and | Don't forget to source the environment setup file and | ||
Line 31: | Line 25: | ||
$ sudo apt-get install ros-DISTRO-roslisp-repl | $ sudo apt-get install ros-DISTRO-roslisp-repl | ||
</ | </ | ||
+ | |||
+ | where '' | ||
For information on how to use the IDE check the [[http:// | For information on how to use the IDE check the [[http:// | ||
Line 38: | Line 34: | ||
You will need those for setting up the ROS workspace and checking out code. | You will need those for setting up the ROS workspace and checking out code. | ||
+ | __**18.04 / Melodic: | ||
<code bash> | <code bash> | ||
$ sudo apt-get install python-rosinstall python-wstool | $ sudo apt-get install python-rosinstall python-wstool | ||
</ | </ | ||
+ | __**20:04 / Noetic:**__ | ||
+ | <code bash> | ||
+ | $ sudo apt-get install python3-wstool | ||
+ | </ | ||
+ | ===== Installation ===== | ||
+ | |||
+ | < | ||
+ | If you are new to CRAM and are curious to test the ideas behind it, you can try the [[/ | ||
+ | |||
+ | If you want to see the full power of CRAM, [[/ | ||
+ | |||
+ | Please note that [[/ | ||
+ | If you first tried the minimal version and are now curious to see the full CRAM, please first remove the '' | ||
+ | |||
+ | ==== Minimal installation ==== | ||
+ | |||
+ | This is a guide for installing the core CRAM packages. It installs the prerequisites of [[/ | ||
+ | |||
+ | In the '' | ||
+ | |||
+ | <code bash> | ||
+ | $ git clone https:// | ||
+ | $ git clone https:// | ||
+ | $ rosdep install --ignore-src --from-paths cram_3rdparty cram_core | ||
+ | $ cd .. && catkin_make | ||
+ | </ | ||
+ | |||
+ | Now you just need to [[/ | ||
+ | |||
+ | ==== Full installation ==== | ||
+ | |||
+ | --></ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | This is a guide for installing the main CRAM packages. It covers installing the packages you need to get the system up and running to the point where you can run and test it in a simulation mode. Setting up the system on a real robot is more complex (mostly involving the usual ROS-based platform setup) and is out of scope of this guide. | ||
+ | |||
+ | Nevertheless, | ||
+ | === ROS workspace setup === | ||
- | ==== ROS workspace | + | Skip this part if you already have a ROS workspace. |
- | CRAM is a big system that has some external dependencies. Most of them are automatically installed as Debian packages, one you need to install from source: the knowledge processing system [[http:// | ||
- | (If you don't like the idea of having a separate | + | |
+ | |||
+ | < | ||
+ | We recommend to create | ||
We recommend to create 3 new workspaces chained as following: | We recommend to create 3 new workspaces chained as following: | ||
Line 60: | Line 99: | ||
<code bash> | <code bash> | ||
- | $ mkdir -p ~/ | + | $ mkdir -p ~/ |
- | $ cd ~/ | + | $ cd ~/ |
$ catkin_make | $ catkin_make | ||
$ source devel/ | $ source devel/ | ||
Line 85: | Line 124: | ||
- | ==== KnowRob installation | + | === KnowRob installation === |
The knowledge base workspace will be used for installing KnowRob, which is a knowledge management system that CRAM uses for retrieving knowledge mostly about the environment, | The knowledge base workspace will be used for installing KnowRob, which is a knowledge management system that CRAM uses for retrieving knowledge mostly about the environment, | ||
Line 92: | Line 131: | ||
$ sudo apt-get install ros-DISTRO-rosjava # where DISTRO is Indigo or Jade etc. | $ sudo apt-get install ros-DISTRO-rosjava # where DISTRO is Indigo or Jade etc. | ||
$ rosdep update | $ rosdep update | ||
- | $ cd ~/ | + | $ cd ~/ |
$ wstool init | $ wstool init | ||
$ wstool merge https:// | $ wstool merge https:// | ||
$ wstool update | $ wstool update | ||
- | $ rosdep install --ignore-src --from-paths | + | $ rosdep install --ignore-src --from-paths |
- | $ cd ~/ | + | $ cd ~/ |
$ catkin_make | $ catkin_make | ||
</ | </ | ||
+ | --></ | ||
- | ==== CRAM installation ==== | ||
- | Check out and compile all the necessary repositories. | + | If you don't have a ROS workspace, please create one. For example, you can do the following: |
<code bash> | <code bash> | ||
- | $ cd ~/ | + | $ mkdir -p ~/ |
- | $ wstool init | + | $ cd ~/ |
- | $ wstool merge https:// | + | |
- | $ wstool update | + | |
- | $ cd ~/ | + | |
- | $ rosdep update | + | |
- | $ rosdep install --ignore-src --from-paths src/ | + | |
$ catkin_make | $ catkin_make | ||
+ | $ source devel/ | ||
</ | </ | ||
- | Note that the '' | + | We create |
- | Before executing this step you can edit your '' | + | |
- | If the compilation went through you're ready for some awesome programming! We recommend to go through the [[/ | + | If during '' |
- | + | Here is a hint: you need to source the ROS environment for '' | |
- | If something went wrong consult the [[/ | + | |
- | + | ||
- | + | ||
- | ---- | + | |
- | ---- | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== CRAM v0.1 (legacy) ===== | + | |
- | + | ||
- | ==== Basic ==== | + | |
- | + | ||
- | You'll have to perform the following steps: | + | |
- | + | ||
- | === Install ROS === | + | |
- | + | ||
- | If you don' | + | |
- | Currently supported versions of ROS in CRAM are Hydro and Groovy. \\ | + | |
- | Don't forget | + | |
<code bash> | <code bash> | ||
- | $ sudo rosdep init | + | $ source / |
- | $ rosdep update | + | |
</ | </ | ||
+ | where '' | ||
- | === Install roslisp addons === | + | Execute these commands and continue from the '' |
- | Install roslisp_common and roslisp_repl: | + | Now if you execute '' |
+ | |||
+ | Don't forget to add the corresponding entry to the bottom of your '' | ||
<code bash> | <code bash> | ||
- | $ sudo apt-get install | + | source |
- | $ sudo apt-get install ros-hydro-roslisp-repl | + | |
</ | </ | ||
- | The source code can be found on GitHub: \\ | ||
- | // | ||
- | // | ||
- | === Install cram_core | + | === CRAM and dependencies installation (ROS Noetic Ubuntu 20.04) |
- | <code bash> | + | |
- | The source code is hosted on GitHub: \\ | + | Please checkout the [[https://github.com/cram2/cram/ |
- | //cram_core//: https:// | + | |
- | + | ||
- | You're done. | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ==== For Developers ==== | + | |
- | + | ||
- | If you're planning to participate | + | |
- | + | ||
- | === Set up your ROS environment === | + | |
- | + | ||
- | Install the '' | + | |
<code bash> | <code bash> | ||
- | $ sudo apt-get install | + | $ sudo apt install |
- | $ sudo apt-get install python-wstool | + | $ sudo apt-get install |
+ | $ cd ~/ | ||
+ | $ wstool init | ||
+ | $ wstool merge https:// | ||
+ | $ wstool update | ||
+ | $ cd ~/ | ||
+ | $ rosdep update | ||
+ | $ rosdep install --ignore-src --from-paths src/ -r | ||
+ | $ catkin_make | ||
</ | </ | ||
- | Set up your ROS workspaces. Until all the CRAM packages get catkinized, you will need both catkin | + | === CRAM and dependencies installation |
- | + | ||
- | === Get the CRAM sources into your workspace | + | |
- | Go to your catkin workspace | + | Check out and compile all the necessary repositories: |
<code bash> | <code bash> | ||
- | $ cd MY_CATKIN_WORKSPACE_PATH/src | + | $ cd ~/ |
$ wstool init | $ wstool init | ||
- | $ wstool | + | $ wstool |
- | $ wstool | + | $ wstool |
+ | $ cd ~/workspace/ros | ||
+ | $ rosdep update | ||
+ | $ rosdep install | ||
+ | $ catkin_make | ||
</ | </ | ||
- | where '' | ||
- | If you already called '' | ||
- | '' | + | Note that the '' |
- | + | ||
- | Finally, let ROS acknowledge the new packages, and build them: | + | |
+ | For ROS melodic and the current packages, one thing needs to be fixed. The package '' | ||
<code bash> | <code bash> | ||
- | $ wstool update | + | roscd octomap |
- | $ rospack profile | + | sudo nano package.xml |
- | $ source ~/.bashrc | + | |
</ | </ | ||
- | < | + | Now remove the following line within: |
- | $ cd .. (i.e. cd MY_CATKIN_WORKSPACE_PATH) | + | < |
- | $ catkin_make | + | < |
- | $ catkin_make install | + | |
</ | </ | ||
- | === Get ready for development | + | The installation is finished, please continue to the section **Get ready for development** down below. |
- | Before you open emacs you might want to configure it, at least set up the clipboard properly to enable copy/paste from/to other apps. That is described in the [[http:// | + | If something went wrong consult |
- | Open your emacs and enjoy the repl animation ;) | + | === CRAM and dependencies installation (ROS Kinetic Ubuntu 16.04) === |
+ | |||
+ | Check out and compile all the necessary repositories: | ||
<code bash> | <code bash> | ||
- | $ roslisp_repl & | + | $ cd ~/ |
+ | $ wstool init | ||
+ | $ wstool merge https:// | ||
+ | $ wstool update | ||
+ | $ touch iai_maps/ | ||
+ | $ cd ~/ | ||
+ | $ rosdep update | ||
+ | $ rosdep install --ignore-src --from-paths src/ -r | ||
+ | $ catkin_make | ||
</ | </ | ||
- | Compiling packages using the ROS build system | + | Note that the '' |
- | + | ||
- | <code> | + | |
- | , | + | |
- | r-l-s | + | |
- | cram_NAME | + | |
- | RET | + | |
- | </ | + | |
- | where NAME is e.g. '' | + | |
- | You're ready for some awesome Lisp programming. Check out the [[doc/getting_started|Getting Started]] section if you need more info. | + | < |
+ | Before executing this step you can edit your '' | ||
+ | --></ | ||
If something went wrong consult the [[/ | If something went wrong consult the [[/ | ||
- | ---- | ||
- | ==== For Advanced | + | === CRAM and dependencies installation (ROS Indigo Ubuntu 14.04) |
- | If you need more than just the core functionality | + | CRAM uses the newest version |
- | + | That is not a problem as we can install it ourselves. | |
- | === Get the source of other CRAM components === | + | For that please download |
- | + | Then extract | |
- | Go to your catkin workspace (or rosbuild workspace depending on the package) and use wstool to pull the CRAM stacks from GIT. We recommend you to get the code from the following | + | |
- | Please note that they are currently | + | |
- | '' | + | |
<code bash> | <code bash> | ||
- | $ cd ~/workspace/rosbuild | + | $ cd ~/Downloads/sbcl-1.3.1-x86-64-linux && sh install.sh |
- | $ wstool set cram_NAME | + | |
- | $ wstool update | + | |
- | $ rospack profile | + | |
- | $ source setup.bash | + | |
</ | </ | ||
- | where NAME: '' | + | < |
+ | KnowRob seems to have some issues with Java 7, so if the compilation step below complains about rosjava or gradle, [[https:// | ||
+ | --></ | ||
- | === Compile the packages === | + | Next step is to check out and compile all the necessary repositories: |
- | + | ||
- | Rosmake | + | |
<code bash> | <code bash> | ||
- | $ rosdep install cram_NAME | + | $ cd ~/ |
- | $ rosmake cram_NAME | + | $ wstool init |
- | $ rosdep install --from-paths src -i -y # in the workspace root | + | $ wstool merge https:// |
- | </ | + | $ wstool update |
- | + | $ cd ~/ | |
- | The above commands might not work on the catkin metapackages that you've put into your workspace just now, so you might want to build them using catkin: | + | $ rosdep update |
- | <code bash> | + | $ rosdep install --ignore-src --from-paths src/ |
- | $ cd ~/ | + | |
$ catkin_make | $ catkin_make | ||
</ | </ | ||
- | Some of the CRAM packages have external dependencies. Most of them will be resolved using the '' | + | Note that the '' |
- | The '' | + | If something went wrong consult |
- | Don't forget to compile the package in Lisp after using the '' | + | ==== Windows Install ==== |
- | <code lisp> | + | 1. Enable Hardware Virtualization |
- | (ros-load: | + | |
- | </ | + | |
- | Sometimes a restart of your Lisp environment is necessary after a '' | + | 2. [[https:// |
- | If your package didn't compile continue reading to get the missing dependencies. | + | 3. Set up WSL 2 |
- | === cram_highlevel === | + | 4. Set Firewall to allow WSL comunication. Easiest by disabeling Firewall for public networks, but you can add a rule for WSL. |
- | The packages in '' | + | 5. [[https://seafile.zfn.uni-bremen.de/ |
- | < | + | 6. Import the image into WSL from Powershell with |
- | $ sudo apt-get install ros-hydro-cmake-modules | + | < |
- | $ roscd | + | wsl --import Ubuntu-20.04-Cram C: |
- | $ wstool set rosjava_jni | + | |
- | $ rosws merge https:// | + | |
- | $ wstool update | + | |
- | $ rospack profile | + | |
- | $ source ~/.bashrc | + | |
- | $ rosdep install rosjava_jni | + | |
- | $ rosmake rosjava_jni | + | |
- | $ rosdep install knowrob | + | |
- | $ rosmake knowrob | + | |
</ | </ | ||
- | In order to use '' | + | 7. Set the image as default with |
- | + | < | |
- | One of the major features of KnowRob utilized in CRAM are the semantic maps of the environment. The main maps used for the indoor scenarios in the CRAM development team can be found in the '' | + | wsl --set-default Ubuntu-20.04-Cram |
- | + | ||
- | < | + | |
- | $ cd MY_CATKIN_WORKSPACE/ | + | |
- | $ wstool | + | |
- | $ wstool update | + | |
- | $ cd .. | + | |
- | $ catkin_make | + | |
</ | </ | ||
- | <code bash> | + | 8. Launch Ubuntu-20.04 from the windows menu. |
- | $ sudo apt-get install ros-hydro-map-server | + | |
- | $ roscd | + | |
- | $ wstool set iai_maps --git https:// | + | |
- | $ wstool update iai_maps | + | |
- | $ rospack profile | + | |
- | $ source ~/.bashrc | + | |
- | $ rosmake iai_maps | + | |
- | </ | + | |
- | The '' | + | 9. 'glxgears' |
- | <code bash> | + | |
- | $ sudo apt-get install ros-hydro-navigation | + | |
- | </ | + | |
- | If you have a problem with '' | + | 10. 'roslisp_repl &' |
- | If you're getting '' | + | Happy hacking! |
- | If there will be a problem with '' | + | How to launch |
- | <code bash> | + | 1. '' |
- | JAVA_HOME=/ | + | |
- | export JAVA_HOME | + | |
- | PATH=$PATH: | + | |
- | export PATH | + | |
- | </ | + | |
- | === cram_physics === | + | 2. ''' |
- | Another set of dependencies is on '' | + | 3. Open the URL in your browser |
- | <code bash> | + | ===== Get ready for development ===== |
- | $ sudo apt-get install ros-hydro-moveit-full-pr2 | + | |
- | $ rospack profile | + | |
- | $ source ~/.bashrc | + | |
- | </ | + | |
- | '' | + | Before you open emacs you might want to configure it, at least set up the clipboard properly to enable copy/ |
- | === cram_pr2 === | + | Open your emacs and wait until "ROS welcomes you": |
- | + | ||
- | '' | + | |
<code bash> | <code bash> | ||
- | $ cd MY_CATKIN_WORKSPACE/ | + | $ roslisp_repl & |
- | $ wstool set iai_common_msgs --git https:// | + | |
- | $ wstool update iai_common_msgs | + | |
- | $ cd .. | + | |
- | $ catkin_make | + | |
</ | </ | ||
- | === roslisp === | + | Compiling packages using the ROS build system is not enough for code written in Lisp. To compile the CRAM packages that you want to use in Lisp, type the following in the REPL in your Emacs: |
- | If you for some reason will want to have the sources of the ROS Lisp packages, they can be found here: '' | + | < |
+ | | ||
+ | r-l-s | ||
+ | cram_NAME | ||
+ | RET | ||
+ | </code> | ||
+ | where NAME is e.g. '' | ||
- | === .rosinstall === | + | You're ready for some awesome programming! We recommend to go through the [[/ |
- | The '' |