Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
git clone https://github.com/lp-research/lpslam_interfaces 
cd lpslam_interfaces 
colcon build --symlink-install 
source ./install/setup.bash

Conan

...

Build Instructions

(Recommended)

The instructions below build the OpenVSLAM-ROS wrapper and install the remaining dependencies automatically in the workspace with conan package manager

OpenVSLAM-ROS

...

Wrapper

Make sure to source ROS2 & lpslam_interfaces beforehand.

...

  • Problems loading some libraries when running the node. error while loading shared libraries: ... .so : cannot open shared object file: No such file or directory
    Can be solved by appending the LD_LIBRARY_PATH with the path to the new libraries as follows: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_ROOT/lib or using ldconfig.

Manual

...

Build Instructions

Note

The manual build is work in progress.

Dependencies

Below are the instructions to build the dependencies one by one from source and install them in a custom ${INSTALL_ROOT}.
If no custom root is provided, the dependencies will be installed system wide (default to /usr/local ), use sudo make install to install them in this case.

...

Code Block
git clone https://github.com/lp-research/openvslam.git
cd openvslam
git checkout feature/lpr-mods
mkdir build && cd build
cmake \
-DBUILD_WITH_MARCH_NATIVE=OFF \
-DUSE_PANGOLIN_VIEWER=ON \
-DUSE_SOCKET_PUBLISHER=OFF \
-DUSE_STACK_TRACE_LOGGER=ON \
-DBOW_FRAMEWORK=DBoW2 \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTS=ON \
-DINSTALL_PANGOLIN_VIEWER=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${INSTALL_ROOT} \
..
make
make install

OpenVSLAM-ROS

...

Wrapper

Make sure to source ROS2 & lpslam_interfaces beforehand

...

Code Block
git clone https://github.com/lp-research/lpslam_node.git
git submodule update --init --recursive
colcon build --symlink-install \
--cmake-args -DUSE_PANGOLIN_VIEWER=ON -DUSE_SOCKET_PUBLISHER=OFF \
-DBUILD_WITH_MARCH_NATIVE=OFF -DCMAKE_LIBRARY_PATH=${INSTALL_ROOT}/lib \
-DLPSLAM_BUILD_OPENVSLAM=OFF -DLPSLAM_BUILD_OPENVSLAM_PANGOLIN=OFF

Testing

...

Your Setup

Testing

...

LPSLAM on

...

Simulation

One quick way to test lpslam LPSLAM is run it on simulation. We created a Turtlebot3 Waffle simulation with Stereo Camera just for that! We also provide the needed launch and configuration files for lpslam integration.

...

Code Block
source /usr/share/gazebo/setup.bash
export TURTLEBOT3_MODEL=waffle_stereo
ros2 launch turtlebot3_gazebo turtlebot3_house.launch.py
  • Source the lpslam and lpslam_interfaces packages then run the lpslam node with the proper configuration.
    For the configuration files, make sure to change the path for configFromFile and vocabFile here.

Code Block
source  path_to_lpslam_ws/lpslam_interfaces/install/setup.bash
source  path_to_lpslam_ws/lpslam_node/install/setup.bash
ros2 launch turtlebot3_lpslam lpslam_gazebo.launch.py
  • Finally, run teleoperation node to move the robot around

Code Block
ros2 run teleop_twist_keyboard teleop_twist_keyboard 
# Or
ros2 run turtlebot3_teleop teleop_keyboard


Note: We provide a vocab file (orb_vocab.dbow2) temporarily to make things fast but it can be easily generated. Refer to the following discussion.


Testing

...

LPSLAM on

...

Your Robot

Coming soon..