Unity Robotics 02 - ROS Server Setting

선비Sunbei·2023년 10월 19일
0

UnityRobotics

목록 보기
2/3

Unity에서 ROS-TCP-Connector가 있다면 ROS server에서는 ROS-TCP-Endpoint가 있다.

https://github.com/Unity-Technologies/ROS-TCP-Endpoint/releases

해당 github 사이트에서 ROS1이냐 ROS2이냐에 따라서 설치하면 된다.

여기서는 ros2 기준으로 설명하겠다.

먼저 workspace로 쓸 폴더와 해당 폴더에서 src 폴더를 만든다.

ROS1
wget https://github.com/Unity-Technologies/ROS-TCP-Endpoint/archive/refs/tags/v0.7.0.zip

ROS2
wget https://github.com/Unity-Technologies/ROS-TCP-Endpoint/archive/refs/tags/ROS2v0.7.0.tar.gz

tar -xzvf ./ROS2v0.7.0.tar.gz
cd ROS-TCP-Endpoint-ROS2v0.7.0
pip install setuptools
(pip install --upgrade setuptools)
source /opt/ros/<ROS버전>/setup.bash
cd ~/ros2_ws
colcon build 

colcon build 시 다음과 같이 오류가 뜰 수 있다.

위 사진과 같이 -를 _로 바꿔주면 된다.

만약 위와같이 오류가 뜬다면, ros2 자체 오류이기 때문에 python setuptools의 버전을 낮춰줘야 한다.

sudo apt-get remove --purge python-setuptools
혹은
pip uninstall setuptools

그리고 낮은 버전을 재설치한다.

pip install setuptools==58.2.0

그렇다면 다음과같이 colcon build 시 문제 없이 빌드될 것이다.

ros2 run ros_tcp_endpoint default_server_endpoint

그리고 해당 노드를 실행시켜주면 문제없이 작동하는 것을 볼 수 있다


이제 저번 Section에서처럼 prefab를 scene에 추가하고, 실행 시
ROS가 연결되어 있음이 Panel에 뜨는 것을 볼 수 있다.

그리고 다음과 같이 연결되었음이 Server에서도 보인다.

0개의 댓글