얼마전에 로보티즈의 다이나믹셀 중에서 XM 시리즈를 잠시 사용해보고 꽤 좋았다는 이야기[바로가기]를 했었지요. 그리고, 그 후 Python API를 제공하길래 또 그걸 가지고 잠시 즐거운 시간을 보냈지요[바로가기]. 이제 ROS에서도 살짝 구동시켜볼려고 했습니다. 뭐 여러가지 접근법이 있겠지만,
제조사인 로보티즈가 배포하는 dynamixel-workbench로 시작해 볼 겁니다. 이게 GIT-HUB[바로가기]에서 받는게 최신 버전이더라구요. 이럴 경우는 ROS에서 catkin_ws의 src로 가서 git clone
하고 주소를 입력하면 copy되어 있습니다. 그리고 catkin_ws
폴더에서 catkin_make
를 한 번 수행해야 합니다. 따라할 튜토리얼은
ROS 공식 홈페이지의 Dynamixel workbench single manager with GUI 문서[바로가기]입니다. 뭐 사실 그대로 따라하는 것 이상의 의미가 전혀없는 포스팅입니다.(언제나 그렇지만 말이죠^^) 그리고 이 포스팅에서 터미널에서 입력한 명령은 모두 튜토리얼 문서에 나오는 과정을 그대로 따라한 거라, 그 문서의 내용을 캡쳐했습니다. 이쯤되면 튜토리얼을 튜토리얼하겠다는 걸까요?^^
새롭게 my_dynamixel_workbench_tutorial을 만들고, launch 파일 하나를 만들겁니다.
그 내용에서 튜토리얼 문서와 달리 제 경우는 baud_rate를 100000으로 맞춰야 하더군요. 그게 XM 시리즈는 그런건지, 혹은 제가 누가 쓰다가 쓰다가 빌려준걸 불쌍하게 사용하는거라(^^) 설정이 변경된 것인지는 확인하지 않았습니다.^^
그리고
와 같이 연결하고 시리얼 어덥터의 설정은 RS-485로 맞추었습니다. 그래서 위 명령처럼 PC에 붙은 COM 포트에 쓰기 권한도 인가해야하는데, 그 명령이 위에 있는 명령입니다. 저는 ttyUSB0에 연결되었더라구요.^^. 어디에 붙었는지 궁금하시면 /dev/ttyU 까지만 입력하고 <TAB>키를 눌러보면 됩니다^^
이제 빌드를 하고... 만들어준 launch 파일을 실행합니다.
이런 화면이 나타나고... 그 끝에 Init Success라는 글자가 나타나야 합니다~~~
그리고... 모터 관리자를 실행하면 됩니다. 이 글을 여기까지 읽는 분이라면 ROS를 막 공부하기 시작한 분들일테니^^ 위 명령은 다른 터미널에서 실행하셔야 합니다.^^
그러면.. 이런 아이가 뜰겁니다.~~~ 우와~~하고.. 즐거워 하시면 되구요^^
max_position_limit과 min_position_limit을 적절히 변경하셔야 합니다. ROM 영역의 파라미터는 바로 변경이 안되고 그 옆 화면에서 찾아서 변경해 주면 됩니다.
그리고 Torque_Enable을 누르면 됩니다. 그리고 조그 셔틀을 꾹꾹 눌러보면 모터가 손쉽게 잘 움직이는 것을 확인할 수 있을 겁니다.^^
rqt_graph를 확인한 것입니다. 뭐 당연한듯 보이지만 말이죠^^
이건 rqt_plot에서 goal_position과 position_trajectory를 같이 확인해 본겁니다. 어떤 값을 목표값으로 인가했을 때, 바로 변하지 않고, 시간의 흐름에 따라 goal_position이 변경되는 것을 확인할 수 있습니다. 뭐 내부적으로 goal_position은 그대로 두고 trajectory만 변경시켜도 될 듯 한데... 뭐 아무튼 그렇습니다.^^
'Robot > Robot Program - ROS' 카테고리의 다른 글
ROS Subcriber와 Publish 실습: OpenCR IMU 테스트 (29) | 2017.12.28 |
---|---|
ROS에서 LDS(Laser Distance Scanner) 사용해보기~ (28) | 2017.12.07 |
ROS의 시리얼 통신 패키지 rosserial사용 및 OpenCR 보드의 IMU와 통신 예제 따라해보기 (12) | 2017.11.23 |
유니버셜 로봇팔 UR3를 ROS로 움직여보기 - 최초 연결, 상태 확인 (49) | 2017.09.22 |
ROS 가제보(Gazebo) 연습하기 - Pan/Tilt (25) | 2017.03.29 |
ROS URDF의 기초예제 Pan/Tilt 시스템 (24) | 2017.03.20 |
ARDUnity 개발자가 말하는 ARDUnity (4) | 2016.07.29 |