AR 마커로 TurtleSim 제어하기
2019. 10. 29. 23:05ㆍ드론
전 포스팅에 이어서 작성해보려고 한다 https://noel-embedded.tistory.com/1175
카메라에 비친 AR마커 위치에 따라서 Turtlesim이 움직이도록 하는 코드를 작성해보려고 한다
따라서, 카메라 - AR마커 alvar - 새 작성 노드 - turtlesim으로 노드 구성을 하려고 한다
터틀심 속도를 publish를 하고,
속도 제어를 하면서, 동시에 pose를 실시간으로 체크한다
회전과 병진속도는 각각 z, x 축에 의해서만 움직인다. 즉 전방은 x축, yaw는 z축을 의미한다
pose 값은 다음과 같이 발행이 된다. 왼쪽 아래는 (0, 0), 오른쪽 위는 (11, 11)이다
다음은 AR 마커 토픽에 대한 내용이다. 이 토픽을 Subscribe를 할 것이다
$ catkin_create_pkg ar_marker_tts roscpp std_msgs geometry_msgs message_generation ar_track_alvar_msgs sensor_msgs
아래 내용을 CMakeList에 추가해준다
add_executable(control src/control.cpp)
add_dependencies(control ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(control
${catkin_LIBRARIES}
)
코드는 다음과 같다. 비례상수가 맞지 않는다면 조절해서 대입할 수 있다
아래 명령어를 순차적으로 실행한다
$ roscore
$ rosrun turtlesim turtlesim_node
$ roslaunch ar_marker track_marker.launch
$ rosrun uvc_camera uvc_camera_node
$ rosrun ar_marker_tts control
$ rqt_image_view
'드론' 카테고리의 다른 글
git-ssh 키 등록 후 push가 되지 않을 때 (0) | 2019.10.28 |
---|---|
ROS AR_Marker 해석하기 (0) | 2019.10.28 |
roslaunch에서의 param tag 의미 (0) | 2019.10.26 |
CUDA 8.0 + openCV 3.4.0으로 darknet YOLO 실행 (0) | 2019.10.26 |
roslaunch에서 param 설정해서 노드 제어하기 (0) | 2019.10.25 |