talker() File "talker.py", line 15, in talker rospy.init_node('talker', anonymous=False) File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 274, in init_node raise rospy.exceptions.ROSException("rospy.init_node() has already been called with different arguments: "+str(_init_node_args)) rospy.exceptions.ROSException: rospy.init_node() has already been called with different arguments: ('PIDcontrol', ['talker.py'], False, None, False, False)"> talker() File "talker.py", line 15, in talker rospy.init_node('talker', anonymous=False) File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 274, in init_node raise rospy.exceptions.ROSException("rospy.init_node() has already been called with different arguments: "+str(_init_node_args)) rospy.exceptions.ROSException: rospy.init_node() has already been called with different arguments: ('PIDcontrol', ['talker.py'], False, None, False, False)"> talker() File "talker.py", line 15, in talker rospy.init_node('talker', anonymous=False) File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 274, in init_node raise rospy.exceptions.ROSException("rospy.init_node() has already been called with different arguments: "+str(_init_node_args)) rospy.exceptions.ROSException: rospy.init_node() has already been called with different arguments: ('PIDcontrol', ['talker.py'], False, None, False, False)">

goal : 0 Traceback (most recent call last): File "talker.py", line 36, in <module> talker() File "talker.py", line 15, in talker rospy.init_node('talker', anonymous=False) File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 274, in init_node raise rospy.exceptions.ROSException("rospy.init_node() has already been called with different arguments: "+str(_init_node_args)) rospy.exceptions.ROSException: rospy.init_node() has already been called with different arguments: ('PIDcontrol', ['talker.py'], False, None, False, False)

0114 해야할 것.. 해 볼 것?

def steer_input(self, goal_x): self.camera_pos = 320 self.ref_pos = (320 / 3) if goal_x > (self.camera_pos + self.ref_pos): return 1800 elif goal_x < (self.camera_pos - self.ref_pos): return 1300 else: self.camera_pos = 320 self.ref_pos = (320 / 3) if goal_x > (self.camera_pos + self.ref_pos): return 1800 elif goal_x < (self.camera_pos - self.ref_pos): return 1300 else: return (50/64*goal_x + 1300)

self.camera_pos = 320 self.ref_pos = (320 / 3) if goal_x > (self.camera_pos + self.ref_pos): return 1800 elif goal_x < (self.camera_pos - self.ref_pos): return 1300 else: return (50/64*goal_x + 1300)

final....

discallback.py생성, APID import V_in에 APID import

V_in 수정해야함

질문) 전역변수는 다른 객체여도 변수를 공유하나요? → 생각해보겠습니다....흠

예시) A = APID()

      A.value = 10

B = APID()

      B.value = 10인가요? value가 global이라 하면..?

답변) 그렇다면 A.value 이런식으로 쓰지 않고. value 라고 씁니다.

A라는 객체에 포함된 변수가 아니기 때문입니다.

객체는 생성될때마다 초기화자 (init) 에 의해 값이 결정됩니다.

박미령! 박미령! 박미령!

control.zip