Gazebo 시뮬레이터에서 AR drone 2.0 명령 조작

Hadoop에 무인 항공기에서 수집 한 이미지를 축적하는 것을 목표로
AR drone 2.0의 실제 기계를 얻었습니다.

우선 시뮬레이터 환경에서 자동 제어 프로그램을 짜려고 합니다만 내 성질상 스스로 한 것만 기억이 좋지 않습니다.
사람에게 공유하거나 설명하는 과정에서 이해를 포함해 나가는 (그렇지 않으면 그렇지 않으면 질이 오르지 않는) 일이 많기 때문에
검증한 내용을 메모해 순서를 정리해 갑니다.
흥미롭다고 생각해 주거나 선구자 쪽이 계시면
이르지 않는 점 등 교수해 주시면 고맙습니다.

잘 조립하면 실제 기계로 테스트하고 싶기 때문에
히로시마 대학의 공학부라든지 캠퍼스에서 테스트 받을 수 있는 허가를 받을 수 없는가 사안중입니다.
히로시마 근처에서 실기 테스트 할 수 있는 농지나 광장이나 협력자가 계시면 더욱 기쁘다.

환경
OS는 우분투 14.04에서
GPU는 Gerforce GTX960의 환경입니다.

ROS와 시뮬레이터의 설정은 다음과 같습니다.
참고 페이지 순서에 따라 설정이 끝났으므로 참고 페이지를 참조하십시오.

Gazebo 시뮬레이터로 테스트 환경 시작



$roslaunch cvg_sim_gazebo ardrone_testworld.launch

드론 이륙



$rostopic pub -1/ardrone/takeoff std_msgs/Empty

드론 착륙



$rostopic pub -1/ardrone/land std_msgs/Empty

리셋(같다, 초기 배치로 돌아갈까라고 생각하면 그렇지도 않았기 때문에 불명)



$ rostopic pub -1/ardrone/reset std_msgs/Empty

정지(호버링)



$ rostopic pub -r 10/cmd_vel geometry_msgs/Twist '{line: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

전진



$ rostopic pub -r 10/cmd_vel geometry_msgs/Twist '{linear: {x: 1.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

후퇴



rostopic pub -r 10/cmd_vel geometry_msgs/Twist '{linear: {x: -1.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

왼쪽 전진



rostopic pub -r 10/cmd_vel geometry_msgs/Twist '{linear: {x: 0.0, y: 1.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

오른쪽 전진



$ rostopic pub -r 10/cmd_vel geometry_msgs/Twist '{linear: {x: 0.0, y: -1.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

반시계 주위 선회



$ rostopic pub -r 10/cmd_vel geometry_msgs/Twist '{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 1.0}}

시계 주위 소용돌이



$ rostopic pub -r 10/cmd_vel geometry_msgs/Twist '{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: -1.0}}'

카메라 전환



$rosservice call/ardrone/togglecam

카메라 출력



$ rosrun image_view image_view image:=/ardrone/image_raw

전면 카메라 영상



$ rosrun image_view image_view image:=/ardrone/front/image_raw

하단 카메라 영상



rosrun image_view image_view image:=/ardrone/bottom/image_raw

고도계



rostopic echo/sonar_height

내비게이션 정보 얻기



rostopic echo/ardrone/navdata

파이썬 코드에서의 사용



takeoff.py 같은 이름의 파일에 아래 코드를
copipe.

 #!/usr/bin/env python
import rospy
from std_msgs.msg import String
from std_msgs.msg import Empty

def takeoff():
pub = rospy.Publisher("ardrone/takeoff", Empty, >queue_size=10 )
rospy.init_node('takeoff', anonymous=True)
rate = rospy.Rate(10) # 10hz
while not rospy.is_shutdown():
pub.publish(Empty())
rate.sleep()

if name == 'main':
try:
takeoff()
except rospy.ROSInterruptException:
pass

시뮬레이터를 시작하고 실행하면 이륙합니다.
$rosrun drone_application takeoff.py

무인 항공기가 이륙했습니다.



참고 페이지



ar drone autonomy 공식 사이트

드론 조작 명령은 여기를 읽었습니다.
AR drone 2.0 Simulator 위키페이지

A.R. Drone 2.0을 시뮬레이터로 이동 (ubuntu)

Gazebo simulator 튜토리얼

ROS(Robot Operating System)에 대해서는 본가의 페이지를 봐 주세요. .
ROS 공식

좋은 웹페이지 즐겨찾기