Skip to content

실제 로봇 제어

"실제 로봇 제어" 섹션은 실제 Indy 로봇과 함께 ROS 소프트웨어를 실행하는 명령을 제공합니다. 이는 실제 로봇에서 응용 프로그램을 테스트하고 실행하는 데 유용할 수 있습니다.

패키지 구성

├── indy_driver
    ├── indy_driver ── indy_driver.py
    └── launch ── indy_bringup.launch.py
├── indy_moveit
    ├── ...
    └── launch ── indy_moveit_real_robot.launch.py

이 섹션은 indy_driver 및 indy_moveit 두 패키지를 사용합니다. indy_driver 패키지는 Indy 로봇과 ROS2를 연결하는 통신 스크립트를 포함하며, indy_moveit은 Indy 로봇과 함께 moveit을 사용하기 위한 moveit 구성을 포함합니다.

Indy 로봇을 시작하기 위해 다음 명령을 사용할 수 있습니다. 이 명령은 Indy7 로봇 모델에 대한 드라이버를 실행하고 ROS2를 통해 로봇을 제어할 수 있게 합니다.

ros2 launch indy_driver indy_bringup.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx

이 명령을 사용할 때는 "192.168.xxx.xxx"를 실제 Indy 로봇의 IP 주소로 교체하여 로봇의 IP 주소를 제공해야 한다는 점을 유의해야 합니다.

결과는 아래 이미지와 같이 표시됩니다.


Moveit과 함께 Indy 로봇을 실행하기 위한 다음 명령이 제공됩니다. 이 명령은 실제 로봇에서 Indy7 로봇 드라이버와 Moveit을 함께 실행하여 로봇에서 동작을 계획하고 실행할 수 있게 합니다.

ros2 launch indy_moveit indy_moveit_real_robot.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx


실제 로봇에서 서보 기능을 사용하려면 다음 명령을 사용해야 합니다. 이 명령은 실제 로봇에서 Indy7 로봇 드라이버와 함께 서보 기능을 실행합니다.

ros2 launch indy_moveit indy_moveit_real_robot.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx servo_mode:=true

새 터미널을 열고 서보 제어를 위한 컨트롤러를 시작하세요.

  • 키보드로 서보 모드 키보드로 서보 모드를 사용하는 경우, 화살표 키와 '.' 및 ';' 키를 사용하여 카테시안 조그를 할 수 있습니다. 'W'는 월드 프레임에서 카테시안 조그를 하고, 'E'는 엔드 이펙터 프레임에서 사용합니다. 'N', 'M', ','는 UVW 작업 이동에 사용됩니다. 1, 2, 3, 4, 5, 6, 7 키는 조인트 조그에 사용되며, 'R'은 조깅 방향을 반대로 합니다. '-'와 '+'는 조인트 속도를 조절하고, '9'와 '0'은 작업 속도를 조절합니다. 'Q'를 누르면 종료합니다. 실제 로봇에서 'H'는 Home으로 이동, 'Z'는 Zero로 이동, 'S'는 회복, 'P'는 텔레옵을 정지합니다.

    ros2 run indy_driver servo_keyboard_input.py --ros-args -p is_sim:=false
    

  • 조이 컨트롤러로 서보 모드(엑스박스 원 S 게임패드로 테스트됨) 조이 컨트롤러로 서보 모드를 사용하는 경우, D패드를 사용하여 조인트 1과 조인트 2를 제어할 수 있고, B와 X는 조인트 4를, Y와 A는 조인트 3를 제어합니다. 실제 로봇에서 'LEFT_STICK_CLICK'를 사용하여 Home으로 이동, 'RIGHT_STICK_CLICK'를 사용하여 Zero로 이동, 'XBOX'로 회복, 'HOME'으로 텔레옵을 시작/정지합니다.

    ros2 run indy_driver servo_joy_input.py --ros-args -p is_sim:=false