본문 바로가기
RobotGrasping

[ViSP] CoppeliaSim으로 Franka 로봇 시뮬레이션

by 모짜렐라까망베르 2023. 5. 30.
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

요즘 연구소 데스크탑으로 작업을 많이 하면서 기록을 많이 못했다.

집에서도 일할 수 있는 환경을 만들기 위해 노트북에도 세팅을 조금 해놓으려고 한다.

 

시뮬레이션 환경 세팅은 아래 링크를 참고해서 했다.

http://docs.ros.org/en/noetic/api/visp_ros/html/tutorial-franka-coppeliasim.html

 

visp_ros: Tutorial: How to simulate Franka robot with CoppeliaSim

Introduction ViSP library allows to control the real Panda robot from Franka Emika to perform for example a position-based visual-servoing or an image-based visual-servoing. In this tutorial, we show how to simulate a Franka robot thanks to CoppeliaSim and

docs.ros.org

이 링크를 쭉 따라하다가 catkin_make가 안 되는 error가 발생했었다.

nav_msgs 패키지를 찾을 수 없다는 내용이었다.

아래 코드로 설치한 후에 error가 발생한 폴더 src에서 CMakeLists.txt를 조금 수정했더니 해결되었다.

find_package()와 generate_messages()에 nav_msgs를 추가하면 된다.

sudo apt install ros-noetic-nav-msgs

vision_visp을 build할 때도 마찬가지로 에러가 꽤 많이 나왔다.

대부분 패키지가 없어서 생기는 에러들이라서 아래 코드와 같이 설치해주면 해결되었다.

sudo apt-get install ros-noetic-image-ros
sudo apt-get install ros-noetic-resource-retriever

rosdep init 다시할때는 20-default.list삭제하고 할 것.

 

위 튜토리얼 링크에 따라서 Coppeliasim까지 설치하고 나면 예제를 실행해볼 수 있다.

최신 Coppeliasim이 아닌 구 버전을 사용하려고 하면 아래와 같은 에러가 발생한다.
"[CoppeliaSim:error] This release of CoppeliaSim Edu (V4.1.0.) has expired.
Please visit and download the newest CoppeliaSim Edu release from www.coppeliarobotics.com
This release will now stop working."

구버전을 계속 사용하고 싶다면 CoppeliaSim 파일의 /system/usrset.txt에 아래 코드를 추가해주면 된다.

allowOldEduRelease=7775

 

Single Arm Visual Servoing 예제를 아래와 같이 실행해볼 수 있다.

terminal 1:

source /opt/ros/$ROS_DISTRO/setup.bash
roscore

terminal2: 

 source /opt/ros/$ROS_DISTRO/setup.bash
 cd ~/software/CoppeliaSim_Edu_V4_2_0_Ubuntu20_04
 ./coppeliaSim.sh

CoppeliaSim에서  File>Open scene에서 ~/catkin_ws/src/visp_ros/tutorial/franka/coppeliasim/scene 폴더에서 frankaSim.ttt열기.

Scene을 열었을때 "ROS interface was found"라는 문장이 GUI에 나와야한다.

 

terminal 3:

source ~/catkin_ws/devel/setup.bash
rosrun visp_ros tutorial-franka-coppeliasim-pbvs-apriltag --adaptive_gain --plot --enable-coppeliasim-sync-mode