Skip to content

rise-lab-skku/robotics-course

Repository files navigation

Robotics Course

Note:

  • 자주 묻는 질문(FAQ) 페이지가 생겼습니다.
  • 그 외 나머지 질문은 Discussions를 이용하시면 편합니다.
  • 질문에는 가급적 많은 정보를 담아주세요. 저희가 원인을 파악하는 것에 도움이 됩니다. 감사합니다.
  1. Dependencies
    1. Manual Installation
    2. Installation via rosdep
  2. Getting Started
    1. Clone
    2. Build
    3. (Optional) Vscode Include Path
  3. 사용되는 로봇 descriptions
  4. 폴더별 내용
  5. References

Dependencies

Manual Installation

  • Eigen (for Kinematics, Pick_n_place, etc.)

    sudo apt install libeigen3-dev
  • Moveit and Visual tools (for Kinematics, Workspace, etc.)

    sudo apt install ros-melodic-moveit\
        ros-melodic-moveit-visual-tools\
        ros-melodic-rviz-visual-tools\
        ros-melodic-joint-state-publisher\
        ros-melodic-joint-state-publisher-gui\
        ros-melodic-robot-state-publisher
  • yaml-cpp (for IMU tutorial)

    mkdir ~/external_libs; cd ~/external_libs
    git clone https://github.com/jbeder/yaml-cpp.git
    mkdir yaml-cpp/build; cd yaml-cpp/build
    cmake ..
  • Controller interface (for OpenBase)

    sudo apt install ros-melodic-controller-interface\
        ros-melodic-effort-controllers\
        ros-melodic-joint-state-controller\
        ros-melodic-gazebo-msgs
  • PCL (for Lidar tutorial)

    sudo apt install ros-melodic-pcl-conversions\
        ros-melodic-pcl-ros
  • gTest (for kinematics_demo)

    sudo apt install libgtest-dev cmake
    cd /usr/src/gtest
    sudo cmake CMakeLists.txt
    sudo make
    sudo cp *.a /usr/lib
  • Turtlebot3 packages (for turtlebot_path_tracker)

    sudo apt install ros-melodic-navigation ros-melodic-gazebo-ros
    • 참고로 turtlebot3-fake 패키지도 필요한데, 이 패키지는 강의자료의 내용에 따라 수정되어야 하므로 apt install로 설치하지 않습니다. 대신 Getting Started에 적힌 순서에 따라 본 저장소를 빌드하여 사용합니다.
    • 수정된 turtlebot3-faketurtlebot3_simulations 폴더에 있습니다.

Installation via rosdep

http://wiki.ros.org/rosdep

Getting Started

Clone

Clone this repository into your catkin_ws/src. (How to "git clone" including submodules?)

git clone --recursive https://github.com/rise-lab-skku/robotics-course.git

Build

catkin_make를 사용해도 되지만 이것보다는 catkin build를 더욱 추천.

  • 이미 catkin_make를 사용하던 workspace에서 catkin build로 바꾸려면 build, devel 폴더를 삭제하고 catkin build를 시도하면 된다.
  • catkin build 명령어를 찾을 수 없다고 나오는 경우, sudo apt-get install python-catkin-tools를 설치하면 된다.
  • 병렬적으로 빌드하려는 경우, catkin build -j32 (최대 32개의 job을 동시에 빌드)
  • 특정 패키지만 빌드하려는 경우, catkin build {패키지 이름}

(Optional) Vscode Include Path

c_cpp_properties.json

"includePath": [
    "${workspaceFolder}/**",
    "/opt/ros/melodic/include/**",
    "/usr/include/**",
    "~/catkin_ws/devel/include/**",
],

사용되는 로봇 descriptions

robots 폴더 내용

  • puma560_description
    • Forked from nimasarli/puma560_description
    • urdf에 <collision>태그가 아예 없으면 moveit이 <visual>태그로 충돌을 감지하기 때문에, 충돌을 무시하려면 <collision>태그에 더미를 넣어야 함
  • puma560_moveit_config
    • Generated package using MoveIt Assistant
    • Planning group name: puma_560
  • puma560_w_collision_description
  • puma560_w_collision_moveit_config
    • Generated package using MoveIt Assistant
    • Planning group name: puma_560
  • rrr_description
  • rrr_moveit_config
    • Generated package using MoveIt Assistant
    • Planning group name: rrr
  • scara_description
  • scara_moveit_config
    • Generated package using MoveIt Assistant
    • Planning group name: scara

폴더별 내용

References