======================================
How to run iSAM2 on the EUFS simulator
======================================
.. raw:: html
Prerequisites
-------------
* Install Ubuntu 20.04 LTS
* Install ROS Foxy
* Install colcon
Setup
-----
EUFS setup taken from https://gitlab.com/eufs/eufs_sim/-/wikis/Getting-Started-Guide
1.) **Clone the git repository**
``git clone [url-of-repository]``
2.) **Change directories to the eufs directory clone the necessary repositories**
- If the following directories already exist but are empty, make sure to remove them before cloning
- eufs_sim: https://gitlab.com/eufs/eufs_sim.git
- eufs_msgs: https://gitlab.com/eufs/eufs_msgs.git
- eufs_rviz_plugins: https://gitlab.com/eufs/eufs_rviz_plugins.git
3.) **Install colcon extensions and set the EUFS_MASTER environment variable**
.. code-block::
pip3 install colcon-common-extensions -U
echo 'export EUFS_MASTER=/path/to/iSAM2_SLAM/eufs' >> ~/.bashrc
source ~/.bashrc
4.) **Install dependencies for the EUFS simulator using rosdep**
.. code-block::
sudo apt-get install python3-rosdep
sudo rosdep init
rosdep update
rosdep install --from-paths $EUFS_MASTER --ignore-src -r -y
5.) **Build the eufs package and source it**
- Change directories to /path/to/iSAM2_SLAM/eufs
- Run ``colcon build``
- If the directories ``build``, ``log``, or ``install``, currently exist in eufs, make sure to remove them before building
- Run ``source install/setup.bash`` from ``/path/to/iSAM2_SLAM/eufs``
6.) **Change directories into /path/to/iSAM2_SLAM/workspace/src and make sure that the eufs_msgs has been built**
- If the directory exists but is empty, remove the directory, and then clone eufs_msgs: https://gitlab.com/eufs/eufs_msgs.git
7.) **Build the iSAM2 package and source it**
- Change directories to ``/path/to/iSAM2_SLAM/workspace``
- Run ``colcon build``
- If the directories ``build``, ``log``, or ``install``, currently exist in eufs, make sure to remove them before building
- Run ``source install/setup.bash`` from ``/path/to/iSAM2_SLAM/workspace``
8.) **Run the EUFS simulator**
- Open start_sim.txt using a text editor
- This file is responsible for running the simulator by first changing directories to the eufs directory.
- Make sure to change this path to the your ``/path/to/iSAM2_SLAM/eufs``
- Save the changes made
- To run the simulator, call ``bash start_sim.txt``
9.) **In another terminal run the iSAM2 node**
- Make sure to build and source the package (from step 5)
- Run ``ros2 run isam2 isam_test``
- isam2 is the name of the package
- isam_test is the executable name
- For more information, see the ``CMakeLists.txt`` file
.. note::
Whenever you open a new terminal, you must source the package you plan to run
- When running the simulator, remember to change directories to ``/path/to/iSAM2_SLAM/eufs`` first and run ``source install/setup.bash`` before running ``bash start_sim.txt``
- When running the iSAM2, remember to change directories to ``/path/to/iSAM2_SLAM/workspace`` first and run ``source install/setup.bash`` before running ``ros2 run isam2 isam_test``