Setting up MaxL

Prerequisites

  • Ubuntu 20 - Currently we have only tested MaxL on Ubuntu 20. Please mail to us, if you want a Ubuntu 18 version of MaxL.

  • ROS2 Foxy - MaxL has been tested only for Foxy. The instructions for ROS2 can be found on ROS2 page.

  • Nav2 - Setup Nav2. The instructions can be founder on Nav2 documentation. We, during our testings, built it from source.

  • TurtleBot3 - Setup turtleBot3. Our instructions for this setup can be found on TurtleBot3 page.

Note

NOTE: In the instructions it has been assumed that you have cloned and build navigation2 in ~/navigation_ws/src . If that’s not the case, please replace it by the address of ros2 workspace you intend to use

Install the dependencies and library

1. Setup your sources.list

echo "deb [trusted=yes] https://mowito-packages.s3.amazonaws.com stable main" | sudo tee -a /etc/apt/sources.list

2. Update

sudo apt update

3. Install MLicense

sudo apt install ros-foxy-mlicense

4. Install PCL_ros

sudo apt install ros-foxy-pcl-ros

If you prefer to build it from source then you can clone it by doing

cd ~/navigation2_ws/src && git clone https://github.com/ros-perception/perception_pcl.git -b foxy-devel

and you can compile/build it while building the MaxL wrapper for ROS2

5. Install MaxL library

sudo apt install ros-foxy-mw-maxl-planner

Register

Execute the following

source /opt/ros/foxy/setup.bash && ros2 run mlicense robot_reg.py -nr

when asked, type a name for your computer/robot

and that’s it!

Build the MaxL Nav2 Plugin

1. Clone the plugin

  • cd ~/navigation2_ws/src

  • git clone https://github.com/mowito/mw_maxl_planner_ros2.git

At this point the source directory of your workspace would look something similar to the image below. It may defer if you have installed pcl_ros (perception_pcl) by binaries and not buil by source

tree.png.png

2. Update rosdep sources

  • Assuming the path to the Maxl Plugin is ~/navigation_ws/src/mw_maxl_planner_ros2, do the following

echo "yaml file://$HOME/navigation2_ws/src/mw_maxl_planner_ros2/maxl_foxy_rosdep.yaml" | sudo tee -a /etc/ros/rosdep/sources.list.d/50-my-packages.list
  • now do

rosdep update

Note

NOTE: in the above commands replace $HOME/navigation2_ws/src/mw_maxl_planner_ros2/maxl_foxy_rosdep.yaml by the path of mw_maxl_planner_ros2/maxl_foxy_rosdep.yaml file in your system, in case it is different.

3) Build

  • source ~/navigation2_ws/install/setup.bash

  • cd ~/navigation2_ws && colcon build

  • source ~/navigation2_ws/install/setup.bash