본문 바로가기

ROS_python_정리/msgs , srv , action5

ros1_srv srv 그림 https://docs.ros.org/en/dashing/Tutorials/Services/Understanding-ROS2-Services.html Understanding ROS 2 services — ROS 2 Documentation: Dashing documentation Goal: Learn about services in ROS 2 using command line tools. docs.ros.org msg = noneblock 개념 = 1 : 다 srv = block 개념 = 1 : 1 = action = block + noneblock 개념 사용할 srv data type add_two_ints_server.py #서버 #!/usr/bin/env python3 # import.. 2022. 5. 27.
ros1_msg msg 그림 https://docs.ros.org/en/dashing/Tutorials/Services/Understanding-ROS2-Services.html Understanding ROS 2 services — ROS 2 Documentation: Dashing documentation Goal: Learn about services in ROS 2 using command line tools. docs.ros.org 가장 많이 쓰임 (70% 라고함) msg = noneblock 개념 = 1 : 다 srv = block 개념 = 1 : 1 = action = block + noneblock 개념 소스개요 1. msg를 따로 만들어 쓰지않고 std_msgs 라는 공통 lib 쪽에 있는 Int32 자.. 2022. 4. 18.
action fancy예제 _2 ( 비동기부분 포함 , srvs + msgs ) 코드 더보기 서버 #! /usr/bin/env python import rospy import time import actionlib from basics.msg import TimerAction, TimerGoal, TimerResult, TimerFeedback def do_timer(goal): start_time = time.time() update_count = 0 if goal.time_to_wait.to_sec() > 60.0: result = TimerResult() result.time_elapsed = rospy.Duration.from_sec(time.time() - start_time) result.updates_sent = update_count server.set_aborted(.. 2022. 4. 12.
action simple예제 _1 ( 비동기부분 제외 , service와 비슷함) 코드 더보기 클라이언트 #! /usr/bin/env python import rospy import actionlib from chapter5.msg import TimerAction, TimerGoal, TimerResult rospy.init_node('timer_action_client') client = actionlib.SimpleActionClient('timer', TimerAction) client.wait_for_server() goal = TimerGoal() goal.time_to_wait = rospy.Duration.from_sec(5.0) client.send_goal(goal) client.wait_for_result() print('Time elapsed: %f' % (cli.. 2022. 4. 11.
action 정리 Action 기본 설명 Action Workflow 소스코드 코드 모음 더보기 fibonacci_server.py #!/usr/bin/env python import rospy import actionlib import actionlib_tutorials.msg class FibonacciAction (object): _feedback = actionlib_tutorials.msg.FibonacciFeedback() _result = actionlib_tutorials.msg.FibonacciResult() def __init__(self,name): self._action_name=name self._as=actionlib.SimpleActionServer(self._action_name,actionl.. 2022. 4. 10.