Loo tagasikutsefunktsioon
AlvarMarkers sõnumitega tegelemiseks. Selle funktsiooni sisendparameetriks on viimane
AlvarMarkers tüüpi sõnum, mille meie tellija vastu võttis.
Oluline asi, mida meeles pidada, on et tagasikutsefunktsioon tuleb luua enne, kui seda kasutatakse. Tellija loomisel seda juba kasutatakse, sest anname ar_message_handler funktsiooni rospy.Subscriber() funktsioonile argumendiks. Seetõttu tuleb see funktsioon koodis paigutada main-funktsioonist ettepoole (aga päisest allapoole).
Lihtne variant ar_message_handler funktsioonist on toodud järgnevalt. See funktsioon prindib välja kõigi tuvastatud AR märgiste ID, kui kaamerapildis mõni leitakse, ja informatiivse sõnumi, kui ühtegi märgist ei leitud.
def ar_message_handler(data):
if len(data.markers) > 0:
for marker in data.markers:
rospy.loginfo("Detected marker with ID " + str(marker.id))
else:
rospy.loginfo("No AR markers detected.")
Ongi kõik, tellija on valmis!