본문 바로가기

Ros17

ROS Noetic : ROS service 이번에는 ROS service에 대해 알아본다. service는 node에서 사용할 수 있는 기능 정도로 보인다. rospy_tutorials 패키지에서 제공하는 예시를 보자. 위를 보면 add_two_ints_server 라는 실행파일을 작동시켰다. add_two_ints라는 service가 실행중이고 이 서버가 돌다가 rosservice call로 호출을 하여 a, b값을 주면 위의 서버에서 계산을 해서 출력해주는 것을 볼 수 있다. 이는 publish subscribe의 형태가 아니다! 노드도 저거 하나만 켜져있다. 위에서 도는 server가 말 그대로 서버의 역할을 하고 아래 터미널 창에서 rosservice call하는 부분이 클라이언트의 역할을 한다고 볼 수 있다. rossrv는 service.. 2022. 8. 10.
ROS Noetic : Closed Loop system with Turtlesim 이번에는 한 node 안에 publisher와 subscriber가 모두 있는 closed loop system을 만들어본다. 역시나 tutlesim 이용할거다. 일단 한 방향으로 직진하는 모양으로 만들었다. 이전과 같이 scripts폴더 안에 turtle_controller.py를 생성한다. 점점 복잡해질 수 있다 판단하여 class 안에 집어넣어 버렸다. 따로 만들어줘도 상관은 없을 듯 하다. #!/usr/bin/env python3 import rospy from turtlesim.msg import Pose # output of turtlesim from geometry_msgs.msg import Twist # input for turtlesim class TurtleControl: def __.. 2022. 8. 9.
ROS Noetic : Concept of ROS Topic (Publisher, Subscriber) Concept of ROS Topic (Publisher, Subscriber) ROS 환경에서 2개 이상의 node는 topic을 통해 통신을 하게 된다. 이때 Topic을 발행하는 쪽이publisher, 이를 수령하는 쪽이 Subscriber의 역할을 한다. 간단하게 tutorial로 준 talker, listener node의 동작을 본다. 좌측 상단이 talker, 우측 상단이 listener 위 화면을 보면 talker node에서 listener node로 /chatter라는 이름의 topic을 전달하는 것을 확인할 수 있다. 현재 시행되는 node, topic은 아래 명령들로 확인이 가능하다. rosnode list # node rostopic list # topic rostopic info.. 2022. 8. 6.
ROS Noetic : Create Package and Node Create Package and Node 이제 package를 생성할 것이다. robot_ws/src로 이동한다. cd robot_ws/src # alia 해놔서 'cs' 명령어로도 이동 가능하다 여기다가 my_robot_pkg라는 package를 생성한다. 이 package에서는 turtlesim을 제어한다. catkin_create_pkg my_robot_pkg rospy roscpp turtlesim 이제 vscode에서 본격적인 코딩을 시작한다. 만약 vscode가 없다면 아래 명령어로 빠르게 설치하자 sudo snap install code --classic vscode 들어가면 다음과 같은 화면을 볼 수 있다. 기본적으로 CMakeLists.txt와 package.xml이 생성되어 있다. 💡.. 2022. 8. 5.
ROS Noetic : Setup and Workspace Setup and Workspace Ubuntu 20.04 환경에 ROS Noetic 설치가 완료된 상황이라 생각하고 작성한다. ROS 설치는 아래 링크에서 시키는 대로 하면 된다. Wiki 먼저 ros 사용을 위한 source를 한다. 터미널에서 아래 명령어로 bashrc 파일을 열어주자. gedit ~/.bashrc 마지막에 아래 내용을 복붙해준다. # 다음부터 bashrc 파일 수정할 때 유용한 단축어 alias gb='gedit ~/.bashrc' alias sb='source ~/.bashrc' # 사용자 지정 Shortcut. 터미널에 cw, cs, cm 등을 입력하면 해당 명령이 실행됨. alias cw='cd ~/robot_ws' alias cs='cd ~/robot_ws/src' alia.. 2022. 8. 5.
반응형