Pada tutorial kali ini kita akan membahas dari koding talker yang dari tutorial sebelumnya. Ingat kembali koding dari talker.py berfungsi untuk menggerakan gambar kura-kura dengan menggunakan node tanpa perlu kit amenggunakan keyboard.
#!/usr/bin/env python import rospy import math from geometry_msgs.msg import Twist #method def talker(): #Membuat publisher pub = rospy.Publisher('/turtle1/cmd_vel', Twist, queue_size=10) # inisialisasi nama node sebagai robot_move rospy.init_node('robot_move', anonymous=False) #frekuensi 1hz rate = rospy.Rate(1) # 1hz while not rospy.is_shutdown(): twist = Twist() twist.linear.x = 5.0 twist.angular.z = math.radians(90) pub.publish(twist) rate.sleep() #main function if __name__ == '__main__': try: talker() except rospy.ROSInterruptException: pass
PENJELASAN :
#!/usr/bin/env python
import rospy
from geometry_msgs.msg import Twist
pub = rospy.Publisher(’/turtle1/cmd_vel’,Twist,queue_size = 10)
- kita akan membuat sebuah objek untuk class Publisher dengan nama objek yaitu pub
- dalam Publisher tersebut kita membuat topic yang akan dipublish yaitu dengan nama /turtle1/cmd_vel
- Menetapkan tipe message dari topic tersebut, tipe yang kita gunakan yaitu Twist
- Menetapkan ukuran buffer message yaitu dengan cara queue_size =10
rospy.init_node(’robot_move’,anonymous = false)
rate = rospy.Rate(1)
while not rospy.is_shutdown():
twist =Twist()
pub.publish(twist)
#main function if __name__ == '__main__': try: talker() except rospy.ROSInterruptException: pass
twist.linear.x = 5.0 twist.angular.z = math.radians(90)
Karena twist adalah nama objek dari class message Twist yang berfungsi untuk meng-akses variabel primitif dari messagem.
twist.linear.x = 5.0
twist.angular.z = math.radians(90)
Silahkan Anda variasikan nilai dari twist.linear.x dan twist.angular.z , kedua perintah tersebut berfungsi untuk memvariasikan pergerakan kura-kura dari turtlesim_node
0 Komentar