printf("ho_tari\n");
[협동] ROS-2 프로그램을 활용한 협동로봇 동작 운영 실습 1일차 본문
2024.12.24
8주차 프로젝트로 부트 캠프의 마지막 프로젝트가 시작되었다.
벌써 마지막이라니.. 시간이 너무 빠르다.
그 동안 7번의 프로젝트를 매주 새롭게하면서 정말 많은 것을 얻으면서도 지쳤다.
그래서인지 마지막 프로젝트라는 것이 끝이 보인다는 점에서 좋으면서 아쉬운 시원섭섭한 느낌이 들었다.
일단 마지막 프로젝트의 주제는 저번에 잠깐 실습으로 배웠던 두산로보틱스의 로봇팔 m0609 모델을 ROS2 통신을 이용하여 코딩을 통해 로봇팔의 동작을 설계하는 것이다.
저번 실습으로는 두산로보틱스에서 지원하는 DART Platform과 DART Studio 프로그램을 이용하여 로봇을 동작시켜보았는데 이번엔 ROS2의 서비스 통신을 이용하여 로봇팔에게 원하는 움직임의 로직을 코드로 작성하고 설계하여 명령을 내려보는 것이다.
https://github.com/doosan-robotics/doosan-robot2
두산로보틱스에서 제공하는 깃허브 주소를 workspace에 gitclone하여 여러 패키지들을 사용해 볼 수 있게 되었다.
ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=real host:=192.168.1.100 port:=12345 model:=m0609
터미널에서 이 명령어를 작성하면 로봇과 컴퓨터가 연동이 되면서 RVIZ2 프로그램이 실행이 된다. 명령어에서 mode를 real이 아닌 virtual로 수정하고 host의 주소를 수정해주면 실제 로봇팔과 연동이 되는 것이 아닌 RVIZ2 프로그램에서 시뮬레이션을 할 수 있게 된다.
https://youtube.com/shorts/BMgLHD-Ux-A
ros2 service call /dsr01/system/set_robot_mode dsr_msgs2/srv/SetRobotMode "robot_mode: 0"
이 명령어를 통해 연동이 되어있는 로봇팔을 그 상태에서 수동조작이 가능한 상태로 병경할 수 있다.
sh release.sh
sh grip.sh
workspace에서 다음 명령어를 입력하게 되면 로봇팔의 그리퍼를 열고 닫을 수 있다.
ros2 service call /dsr01/force/parallel_axis2 dsr_msgs2/srv/ParallelAxis2 "{vect: [0, 0, -1], axis: 2, ref: 0}"
이 명령어는 로봇팔의 TCP 좌표에서 z축을 바닥과 수직으로 자동으로 정렬해주는 명령어이다.
ros2 topic echo /dsr01/msg/current_posx
이 명령어는 그리퍼의 TCP tool의 현재 위치 좌표를 실시간으로 계속해서 받아와 그 좌표를 출력시켜주는 명령어이다.
z축 자동 정렬과 현재 위치 좌표 출력 명령어를 이용하여 프로젝트를 진행함에 있어 원하는 위치의 좌표를 쉽게 얻을 수 있었다.
'두산 로보틱스 부트캠프 ROKEY > 실무 프로젝트' 카테고리의 다른 글
[협동] ROS-2 프로그램을 활용한 협동로봇 동작 운영 실습 3일차 (0) | 2025.01.01 |
---|---|
[협동] ROS-2 프로그램을 활용한 협동로봇 동작 운영 실습 2일차 (0) | 2025.01.01 |
[협동] RVIZ2와 Gazebo를 활용한 다중 로봇 자율 협력 시스템 시뮬레이션 5일차 (0) | 2024.12.24 |
[협동] RVIZ2와 Gazebo를 활용한 다중 로봇 자율 협력 시스템 시뮬레이션 4일차 (0) | 2024.12.23 |
[협동] RVIZ2와 Gazebo를 활용한 다중 로봇 자율 협력 시스템 시뮬레이션 3일차 (0) | 2024.12.23 |