This repository is for EEE4610 Electrical and Electronic Engineering Capstone Design @ dept. of Electrical and Electronic Engineering, Yonsei University.
- Author: Team Overcoming
Make sure you have a git SSH key. How to generate SSH key
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)
# 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.
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
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.
cd ~/EEE4610_visual_navigation
catkin build
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.
On RC car:
roslaunch rc_main rc_main.launch
On laptop:
roslaunch laptop_main laptop_main.launch
Config file folder/set 1
- config_file_1.yaml Shortly explain the crt dec --> ontent of this config file
-
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.
Reads temperature measurements and computed the average.
-
/temperature
(sensor_msgs/Temperature)The temperature measurements from which the average is computed.
...
-
get_average
(std_srvs/Trigger)Returns information about the current average.
-
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.
...