Skip to content

Poodlee/EEE4610_visual_navigation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EEE4610_visual_navigation

Overview

This repository is for EEE4610 Electrical and Electronic Engineering Capstone Design @ dept. of Electrical and Electronic Engineering, Yonsei University.

  • Author: Team Overcoming

Installation

0. git SSH

Make sure you have a git SSH key. How to generate SSH key

1. Clone repository

mkdir ~/EEE4610_visual_navigation
cd ~/EEE4610_visual_navigation
git clone --recurse-submodules -b sensor_integration [email protected]:poodlee/EEE4610_visual_navigation.git .

(The dot at the end (.) is important)

2. Install dependencies

# catkin dep.
sudo apt-get install python3-catkin-tools python3-vcstool python3-osrf-pycommon
# system dep.
sudo apt-get install libglew-dev libopencv-dev libyaml-cpp-dev 
# Ceres dep.
sudo apt-get install libblas-dev liblapack-dev libsuitesparse-dev

You perhaps have to install Ceres Solver manually.

3. SVO_Pro setup

cd ~/EEE4610_visual_navigation
catkin config --init --mkdirs --extend /opt/ros/noetic --cmake-args -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/usr/include/eigen3
cd src/rc_car/svo_pro
vcs-import < ./rpg_svo_pro_open/dependencies.yaml
cd rpg_svo_pro_open/svo_online_loopclosing/vocabularies && ./download_voc.sh

4. GTSAM setup

cd ~/EEE4610_visual_navigation/src/rc_car/gtsam
mkdir build && cd build
cmake ..
sudo make install

You might have to wait for quite a considerable time to get it done(~30min). After it finishes, head to /usr/local/lib and check if libgtsam.so file exists.

5. Build entire workspace

cd ~/EEE4610_visual_navigation
catkin build

6. Modify PATH and source setup files

ROS has no idea where GTSAM is, so you have to add its path(/usr/local/lib) to the environment variable. Also, ROS needs setup.bash files for ROS itself and the workspace.

# Add PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# Source setup file for ROS noetic
source /opt/ros/noetic/setup.bash
# Source setup file for workspace
cd ~/EEE4610_visual_navigation
source devel/setup.bash

Every time you open a new terminal, you have to run the commands above.

Otherwise, you can modify .bashrc file.

gedit ~/.bashrc

Append the lines below at the end of the file.

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source /opt/ros/noetic/setup.bash
source ~/EEE4610_visual_navigation/devel/setup.bash

.bashrc file will automatically execute the commands in it every time you open a new terminal.

Usage

On RC car:

roslaunch rc_main rc_main.launch

On laptop:

roslaunch laptop_main laptop_main.launch

Config files

Config file folder/set 1

  • config_file_1.yaml Shortly explain the crt dec --> ontent of this config file

Launch files

  • rc_main.launch: Launch sensor-to-msg nodes and svo_pro node.

  • sensor.launch: Launch only sensor-to-msg nodes.

  • slam.launch: Launch only svo_pro node; for rosbag testing.

Nodes

ros_package_template

Reads temperature measurements and computed the average.

Subscribed Topics

Published Topics

...

Services

Parameters

  • subscriber_topic (string, default: "/temperature")

    The name of the input topic.

  • cache_size (int, default: 200, min: 0, max: 1000)

    The size of the cache.

NODE_B_NAME

...

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published