ROS 소스코드를 작업할 때, "작업공간"안에서 일을 처리하는 것은 꽤 유용할 수 있습니다. 다음 자습서들을 따라하기 위해, 그를 수행할 공간과 새로운 스택과 패키지를 만드는 기술이 필요합니다.
rosws는 SVN, Git, Mercurial등의 다양한 버전 관리 도구들과 ROS 오버레이에 설치된 모든 패키지들을 관리하는데 획일화된 인터페이스를 제공합니다. 보다 자세한 학습을 위해서는 링크된 rosws자습서를 참고하세요.here.
새 작업공간 만들기
아래의 명령은 ~/ros_workspace에 새로운 작업공간을 만들기 위한 것입니다. 이는 /opt/ros/<distro>에 설치되어 있는 패키지 집합의 확장으로 간주됩니다.
rosws init ~/ros_workspace /opt/ros/<distro>
참고: rosws 는 rosinstall 패키지의 일부입니다.이는 기본적으로 설치되는 것은 아니며, 아래의 명령으로 우분투 패키지 매니저를 사용해 내려받을 수 있습니다.
sudo apt-get install python-rosinstall
Sandbox 폴더와 새로운 패키지 작성
새로운 패키지는 ROS_PACKAGE_PATH변수 안에 있는 경로에 있어야만 합니다. 작업공간에 대한 setup.bash가 쉘에 정상적으로 등록이 되어 있다면, rosws는 자동으로 ROS_PACKAGE_PATH에 경로를 추가합니다. rosws로 설치된 새로운 패키지들이 항상 저장소에 보관되어야 하지만, 자습서의 내용을 수행하는 동안 추가적인 rosws명령 없이 그때그때 만드는 패키지들을 담는 sandbox폴더를 만들어 두면 상당히 편리합니다. sandbox폴더를 만들기 위해 우리는 새로운 폴더 sandbox를 만들고 rosws를 이용해 .rosinstall파일에 추가할 것입니다.
mkdir ~/fuerte_workspace/sandbox rosws set ~/fuerte_workspace/sandbox
매번 작업공간의 정보가 수정될 때마다 ROS_PACKAGE_PATH를 갱신하기 위해 ~/ros_workspace/setup.bash를 쉘에 다시 등록해주는 작업이 필요합니다.
source ~/fuerte_workspace/setup.bash
쉘 설정부분의 source /opt/ros/fuerte/setup.bash 줄을 ~/ros_workspace/setup.bash 또는 자주 사용하는 작업공간의 setup.bash로 대치하는 경우도 많습니다.
보다 많은 ROS 작업공간에 대한 자습서는 이곳에서 찾을 수 있습니다.
설정 확인
패키지의 경로가 제대로 설정되었는가 확인해 보기 위해서 ROS_PACKAGE_PATH 변수를 echo해봅니다.
$ echo $ROS_PACKAGE_PATH
아래와 유사한 형태로 보이면 성공입니다.
/home/your_user_name/ros_workspace/sandbox:/opt/ros/<distro>/share:/opt/ros/<distro>/stacks