#!/usr/bin/env python3
import rospy
from geometry_msgs.msg import Twist
rospy.init_node("velocity_publisher")
velocity_pub = rospy.Publisher("cmd_vel", Twist, queue_size=0)
rospy.sleep(2)
Kuna robotile liikumiskäskude edastamiseks tuleb meil asuda kuulutama Twist-tüüpi sõnumeid rubriigis cmd_vel, siis järgmiseks lisamegi oma loodud sõlmele ühe kuulutaja. (Võime kuulutajast mõelda kui uuest muutujast, millel tuleb anda ka nimi, antud juhul anname kuulutajale nimeks velocity_pub.) Kuulutaja tegemiseks kasutame funktsiooni Publisher, mis asub rospy moodulis. See funktsioon ootab sisendina kolme argumenti: rubriigi nime, milles soovime kuulutada, sõnumitüüpi, mis kirjeldab selles rubriigis kuulutatavaid sõnumeid, ja järjekorra suurust. Neist esimese väärtuseks anname cmd_vel (jutumärkides!), teise väärtuseks Twist ja järjekorra suuruseks 0, sest me ei taha, et sõnumid järjekorras ootaks: rospy.Publisher(“cmd_vel”, Twist, queue_size=0)
See funktsiooni väljakutse tagastab meile objekti, millest võime mõelda kui meie kuulutajast. Selleks, et seda hiljem kasutada ja sinna meile sobivaid sõnumeid saata, määrame ta muutuja velocity_pub väärtuseks: velocity_pub = rospy.Publisher(“cmd_vel”, Twist, queue_size=0)
Viimaseks lisame rea, mis paneb koodi ootama kaks sekundit enne jätkamist: rospy.sleep(2). See lubab süsteemil pärast kuulutaja loomist kõik vajalikud toimingud lõpetada, enne kui hakkame sinna sõnumeid saatma – meil ei ole sellega kiiret.
Pane tähele!
Ära lisa rubriigi nime algusesse kaldkriipsu. Nii hoiame koodi kasutusvõimalused paindlikumad.