Giter VIP home page Giter VIP logo

oakd_mapper's Introduction

oakd_mapper

Installation (tested on Ubuntu 20.04 with ROS Noetic)

Install ROS

Install ROS Noetic

Create ROS workspace:

mkdir -p ~/oakd_ws/src

Include following lines in ~/.bashrc:

source /opt/ros/noetic/setup.bash
source ~/cartographer_ws/install_isolated/setup.bash
source ~/oakd_ws/devel/setup.bash

Clone this repository

cd ~/oakd_ws/src
git clone --recursive https://github.com/DaniGarciaLopez/oakd_mapper.git

Install Google Cartographer from source

In order to build Cartographer ROS, we recommend using wstool and rosdep. For faster builds, we also recommend using Ninja.

On Ubuntu Focal with ROS Noetic use these commands to install the above tools:

sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow

After the tools are installed, create a new cartographer_ros workspace in 'cartographer_ws'.

cd ~
mkdir cartographer_ws
cd cartographer_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

Now you need to install cartographer_ros dependencies. First, we use rosdep to install the required packages. The command 'sudo rosdep init' will print an error if you have already executed it since installing ROS. This error can be ignored.

sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

Cartographer uses the abseil-cpp_ library that needs to be manually installed using this script:

src/cartographer/scripts/install_abseil.sh 

Due to conflicting versions you might need to uninstall the ROS abseil-cpp using

sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp 

Build and install.

catkin_make_isolated --install --use-ninja

Install ROS packages

sudo apt-get install ros-noetic-pointcloud-to-laserscan

Install OAK-D driver

The following script will install depthai-core and update usb rules and install depthai devices:

sudo wget -qO- https://raw.githubusercontent.com/luxonis/depthai-ros/noetic-devel/install_dependencis.sh | bash

If you don't have rosdep installed and not initialized please execute the following steps:

  1. sudo apt install python3-rosdep or sudo apt install python-rosdep2(melodic)
  2. sudo rosdep init
  3. rosdep update

Install the following vcstool:

sudo apt install python3-vcstool

The following setup procedure assumes you have cmake version >= 3.10.2 and OpenCV version >= 4.0.0

cd ~
git clone --recursive https://github.com/luxonis/depthai-core.git --branch develop
cd ~/depthai-core
mkdir build
cd build
cmake .. -D BUILD_SHARED_LIBS=ON
cmake --build . --parallel --config Release --target install

Make ROS package

cd ~/oakd_ws
catkin_make --cmake-args -D depthai_DIR=~/depthai-core/build/install/lib/cmake/depthai

How to launch a rosbag

RGB Camera and Depth rosbag

Download rgb.bag file

rosbag play rgb.bag -r 0.5
rosrun rviz rviz -d ~/oakd_ws/src/oakd_mapper/oakd_mapper/rviz/camera_rgb.rviz

Stereo Camera and Depth rosbag

Download stereo.bag file

rosbag play --loop stereo.bag --rate 0.5
rosrun rviz rviz -d ~/oakd_ws/src/oakd_mapper/oakd_mapper/rviz/camera_stereo.rviz

Visualize PointCloud from rosbag

rosbag play stereo.bag --loop stereo.bag --rate 0.5 --topics /stereo_publisher/left/image /stereo_publisher/right/image /stereo_publisher/left/camera_info /stereo_publisher/right/camera_info /stereo_publisher/stereo/camera_info /stereo_publisher/stereo/depth

roslaunch oakd_mapper stereo_nodelet_rosbag.launch

Testing

roslaunch oakd_mapper stereo_rgb_nodelet.launch
roslaunch depthai_examples rgb_stereo_node.launch 
roslaunch depthai_examples stereo_node.launch 
rosbag record -e "(.*)stereo_publisher(.*)" "(.*)tf_static" "(.*)nodelet_manager/bond"
roslaunch rtabmap_ros rtabmap.launch \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/stereo_publisher/color/image \
    depth_topic:=/stereo_publisher/stereo/depth \
    camera_info_topic:=/stereo_publisher/stereo/camera_info \
    frame_id:=/base_link \
    approx_sync:=false

oakd_mapper's People

Contributors

browmy avatar danigarcialopez avatar franbesq avatar kikefdezl avatar pariaspe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.