test_publisher_float_sine_noise.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 #
00003 # Copyright 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA)
00004 #
00005 # Licensed under the Apache License, Version 2.0 (the "License");
00006 # you may not use this file except in compliance with the License.
00007 # You may obtain a copy of the License at
00008 #
00009 #   http://www.apache.org/licenses/LICENSE-2.0
00010 #
00011 # Unless required by applicable law or agreed to in writing, software
00012 # distributed under the License is distributed on an "AS IS" BASIS,
00013 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 # See the License for the specific language governing permissions and
00015 # limitations under the License.
00016 
00017 
00018 import rospy
00019 import math
00020 import random
00021 from std_msgs.msg import Float64
00022 
00023 def inputPub():
00024   rospy.init_node("test_publisher_float_sine_noise", anonymous=True)
00025   #for testing behavior of moving_average and simpson_integrator
00026 
00027   input_pub = rospy.Publisher("input", Float64, queue_size=1)
00028   rospy.sleep(1.0)
00029 
00030   freq = 100.0
00031   r = rospy.Rate(freq)
00032 
00033   a = 0.05#2.0
00034   b = 0.1 * (2.0*math.pi/freq)
00035   c = 0.0#-math.pi/2.0
00036   d = 0.0#a
00037   i = 0.0
00038 
00039   input_msg = Float64()
00040 
00041   while not rospy.is_shutdown():
00042     input_msg.data = a*math.sin(b*i+c) + d
00043     
00044     noise = random.uniform(-a, a)
00045     #noise = random.uniform(-0.01, 0.01)
00046     input_msg.data += noise
00047     
00048     input_pub.publish(input_msg)
00049     
00050     i += 1.0
00051     r.sleep()
00052 
00053 if __name__ == '__main__':
00054   try:
00055       inputPub()
00056   except rospy.ROSInterruptException: pass


cob_twist_controller
Author(s): Felix Messmer , Marco Bezzon , Christoph Mark , Francisco Moreno
autogenerated on Thu Jun 6 2019 21:19:26