Sunteți pe pagina 1din 4

Ministerul Educației Culturii și Cercetării

Facultatea Calculatoare, Informatică și Microelectronică


Departamentul Ingineria Software și Automatică

Raport

Laboratorul:7
La disciplina: Ingineria Roboticii

A îndeplinit: st.gr.RM-171 Țuțuianu Gheorghe

A verificat: Munteanu Eugen

Chișinău 2020
Sarcina :
Scopul: Crearea a 2 noduri care comunica cu ajutorul TOPIC-urilor
Tipul mesajulului de comunicare este String. In topic va fi inclus numele
studentului
Limitari: nu sunt, nodul poate fi creat atit in Python cit si in C++.
Preferential este ca nodurile sa fie definite in limbaje diferite.
Conditii de acceptare: Nodul receiver va primi si tipari numele si
prenumele studentului

Executare :
(Nodul:1)
#!/usr/bin/env python

import rospy
from std_msgs.msg import String

def callback(msg):
print '%s' % msg.data

def nodo():
pub = rospy.Publisher('chatter1', String, queue_size=10)
rospy.init_node('nodo1', anonymous=True)
rospy.Subscriber('chatter2', String, callback)
rate = rospy.Rate(1) # 10hz
x=5
while not rospy.is_shutdown():
for i in range(0,51):
pos1 = "%s" % (x)
rospy.loginfo(pos1)
pub.publish(pos1)
rate.sleep()
rospy.spin()

if __name__ == 'Tutuianu_Gheorghe':
try:
nodo()
except rospy.ROSInterruptException:
pass

(Nodul 2)
#!/usr/bin/env python

import rospy
from std_msgs.msg import String

def callback(msg):

print '%s' % msg.data

def nodo():

pub = rospy.Publisher('chatter2', String, queue_size=10)


rospy.init_node('nodo2', anonymous=True)
rospy.Subscriber('chatter1', String, callback)
rate = rospy.Rate(1) # 10hz

x2 = 4
while not rospy.is_shutdown():
for i in range(0,51):
pos2 = "%s" % (x2)
rospy.loginfo(pos2)
pub.publish(pos2)
rate.sleep()

rospy.spin()

if __name__ == 'Tutuianu Gheorghe':


try:

nodo()
except rospy.ROSInterruptException:
pass