Korea Hydro & Nuclear Power - Autonomous Robotic Challenge 2021
Please note that the world file is huge, so loading gazebo may take few minutes.
Mainly tested on ROS Melodic
version
Make sure that you installed ROS desktop full
version - refer the wiki page
It comes with Qt5
, Gazebo
, OpenCV
version 3.2, cv_bridge
In other words, this repo depends on QT5
, Gazebo
, OpenCV
, cv_bridge
.
Maker sure that you installed ros-control
pacakges
$ sudo apt install ros-< YOUR_DISTRO> -ros-control ros-< YOUR_DISTRO> -ros-controllers
$ sudo apt install ros-< YOUR_DISTRO> -joy
Make sure that your Cmake
version is more recent than 3.19
Check it with $ cmake --version
$ wget https://github.com/Kitware/CMake/releases/download/v3.19.8/cmake-3.19.8.tar.gz
$ tar zxf cmake-3.19.8.tar.gz && cd cmake-3.19.8
$ ./bootstrap
$ make
$ sudo make install
$ sudo reboot
$ cmake --version
Make sure that your Gazebo
version is at least 9.19.0
$ sudo sh -c ' echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ cat /etc/apt/sources.list.d/gazebo-stable.list
$ wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get upgrade
$ cd < your_workspace> /src
$ git clone --recursive https://github.com/Woojin-Seol/KVRC2021
Add Gazebo Path ONLY ONCE, do NOT run below block again!!
$ cd KVRC2021/gazebo_map_for_khnp
$ echo " export GAZEBO_MODEL_PATH=:$GAZEBO_MODEL_PATH :$( pwd) /refracted_corridor_map:$( pwd) /rough_terrain_map:$( pwd) /stair_map:$( pwd) /qr_codes:$( pwd) /manipulator_map:$( pwd) /disturbance_map:$( pwd) /common" >> ~ /.bashrc
$ . ~ /.bashrc
$ cd < your_workspace_where_you_clone_this_repo>
$ catkin build
$ . devel/setup.bash
$ roslaunch khnp_competition main.launch
You can edit codes realted to control the robot. Currently, champ
controller and temporal gripping controller is included in main.launch
file.
In detail, you can edit any files under pipebot_config/config
directory.
You can edit hardwareInterface
of transmission
in pipebot.urdf
file to change the type of ROS controller.
Only from line 10 to line 245 of the .urdf file.
Add your autonomous navigation algorithm code and controller in main.launch
.
<?xml version =" 1.0" ?>
<launch >
<!-- Edit this part with your own algorithms -->
<!-- Do not touch below!!!!!!!! -->
............
</launch >