roslaunch에서 param 설정해서 노드 제어하기
2019. 10. 25. 10:09ㆍ드론
roslaunch는 하나 이상의 정해진 노드를 실행시킬 때 사용한다. 그 밖의 기능으로 노드를 실행할 때 패키지의 파라미터나 노드 이름 변경, 노드 네임스페이스 설정, ROS_ROOT 및 ROS_PACKAGE_PATH 설정, 환경변수 변경 등의 옵션을 붙일 수 있다
<launch>
<node pkg="ros_tutorial_topic" type="topic_publisher" name="topic_publisher1">
<node pkg="ros_tutorial_topic" type="topic_publisher" name="topic_publisher2">
<node pkg="ros_tutorial_topic" type="topic_subscriber" name="topic_subscriber1">
<node pkg="ros_tutorial_topic" type="topic_subscriber" name="topic_subscriber2">
</launch>
launch 파일에 파라미터 서버 노드를 하나 만들어, 파라미터 값을 받아서 노드들을 제어하는 코드를 작성해보려고 한다. "calculation_method"라는 연산자 파라미터를 만드려고 한다
#include "ros/ros.h"
int main(int argc, char **argv) {
ros::init(argc, argv, "service_param_server");
ros::NodeHandle nh;
nh.setParam("calculation_method", 3);
ros::spin();
return 0;
}
<launch>
<node pkg="ros_tutorials_parameter" type="service_param_server" name="service_param_server"/>
<node pkg="ros_tutorials_parameter" type="service_server_with_parameter" name="service_server"/>
<node pkg="ros_tutorials_parameter" type="service_client_with_parameter" name="service_client" args="3 4"/>
</launch>
'드론' 카테고리의 다른 글
roslaunch에서의 param tag 의미 (0) | 2019.10.26 |
---|---|
CUDA 8.0 + openCV 3.4.0으로 darknet YOLO 실행 (0) | 2019.10.26 |
roslaunch command line args (0) | 2019.10.24 |
ROS C++ 서비스 서버와 클라이언트 (0) | 2019.10.24 |
ROS C++ topic 구현 (0) | 2019.10.23 |