GithubHelp home page GithubHelp logo

sakshamsinha / docker_ros_librealsense_kimera Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 2.0 5 KB

Docker repo for details on how to use Kimera-ROS-Librealsense docker image hosted on docker hub

Home Page: https://hub.docker.com/repository/docker/dockerforintel/ros-kinetic-kimera-librealsense

Shell 100.00%
kimera-vio kimera-semantic ros-kinetic ros librealsense docker-image kimera slam 3d-reconstruction odometry

docker_ros_librealsense_kimera's Introduction

Instructions

Docker repo for details on how to use docker image having Kimera with ROS and Librealsense hosted on docker hub

  • Start the container by running the following-
    ./run-session.sh

This will run the container with the GUI support as well as mount necessary drivers to mount Realsense D435i and T265 cameras in docker image.

  • It's a good practice to pull the latest changes from the Kimera repositories as it's evolving rapidly.
    root@hostname:/catkin_ws/src# wstool update
  • We need four terminals to run the demo. So we will be using tmux. We could have gone through the docker exec route but that will require to source ros in all the terminals. Tmux is much better for me.
    root@hostname:/catkin_ws/src# tmux

This will open tmux on the terminal. At this point expand your terminal window to full screen to properly see the window. Since tmux is set up with default key bindings, to split the windows we will be pressing following keys at a time-

  • Ctrl+B " to split the terminal horizontally and
  • Ctrl+B % to split the terminal vertically.

Once you have done that you will have four terminals. To navigate among these terminals, you will need to press following keys-

  • Ctrl+B ← to go to left terminal
  • Ctrl+B → to go to right terminal
  • Ctrl+B ↑ to go to top terminal
  • Ctrl+B ↓ to go to bottom terminal

Demo 1 with Kimera VIO and ROS.

In order to run this demo, you will need Realsense D435i depth camera.

On the top left terminal we will start the roscore as it is always a good practice to do so.

    roscore &

This will run the roscore in background.

Now in the same terminal, we will start the realsense D435i camera-

roslaunch realsense2_camera rs_camera.launch unite_imu_method:=linear_interpolation

The RealSense has an IR emitter on it to improve its RGBD stream. This creates undesirable dots on the infrared images. Hence to fix this, in the top right terminal, we will run-

rosrun dynamic_reconfigure dynparam set /camera/stereo_module emitter_enabled 0

We will now launch Kimera-VIO-ROS wrapper by typing the following in the same terminl-

roslaunch kimera_vio_ros kimera_vio_ros_realsense_IR.launch

It is important to remember that when launching the VIO, the camera should be standing still and upward (camera fov forward looking).

And finally we will visualize the trajectory by rviz. For doing this, we will type the following in bottom left terminal

rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz

Demo 2 with Kimera Semantic and ROS with rosbag

For this demo you will need to download the rosbag from this link.

  • We'll begin with modifying the run_session.sh script to mount the folder with the rosbag downloaded from the above link to /kimera_semantics_ros/rosbag/ folder
    --volume="Complete_path_to_rosbag_folder:/catkin_ws/src/Kimera-Semantics/kimera_semantics_ros/rosbags:rw" \
  • We will now start the container by-
    ./run-session.sh
  • Once the container has started, we will start a tmux session and create 2 terminals as described earlier. Start the roscore in background as described in Demo 1.

  • In th same terminal, we will now launch kimera semantic with the rosbag downloaded earlier-

    roslaunch kimera_semantics_ros kimera_semantics.launch play_bag:=true
  • To visualize, we will start the rviz in the another terminal-
    rviz -d $(rospack find kimera_semantics_ros)/rviz/kimera_semantics_gt.rviz

Demo 3 with Kimera Semantic 3D reconstruction without semantic annotations with Realsense D435i.

  • We will require five terminals in tmux session for this demo. We will first follow all the septs from Demo 1. Once completed we will start with below steps-

  • We will launch the Kimera Semantic to work with Realsense D435i to do real time 3D Reconstruction. This uses Voxblox library to do the reconstruction. -

    roslaunch kimera_semantics_ros kimera_metric_realsense.launch register_depth:=true  
  • We will now visualize the output by typing-
    rviz -d $(rospack find kimera_semantic_ros)/rviz/kimera_realsense_metric.rviz

Note You may need to change the global frame to world and add Voxblox Mesh topic in rviz to visualize the mesh.

  • If you wish to save your mesh you can do so by calling the rosservice as below-
    rosservice call /kimera_semantics_node/generate_mesh

This will save the mesh as .ply file in mesh_results folder. You can view this file by typing-

    paraview filename.ply

Once started, you will need to click on apply to view the mesh.

docker_ros_librealsense_kimera's People

Contributors

sakshamsinha avatar

Stargazers

 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.