00001 #!/usr/bin/python 00002 #*************************************************************** 00003 # 00004 # Copyright (c) 2010 00005 # 00006 # Fraunhofer Institute for Manufacturing Engineering 00007 # and Automation (IPA) 00008 # 00009 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00010 # 00011 # Project name: care-o-bot 00012 # ROS stack name: cob_driver 00013 # ROS package name: cob_light 00014 # 00015 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00016 # 00017 # Author: Florian Weisshardt, email:florian.weisshardt@ipa.fhg.de 00018 # Supervised by: Florian Weisshardt, email:florian.weisshardt@ipa.fhg.de 00019 # 00020 # Date of creation: June 2010 00021 # ToDo: 00022 # 00023 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00024 # 00025 # Redistribution and use in source and binary forms, with or without 00026 # modification, are permitted provided that the following conditions are met: 00027 # 00028 # * Redistributions of source code must retain the above copyright 00029 # notice, this list of conditions and the following disclaimer. 00030 # * Redistributions in binary form must reproduce the above copyright 00031 # notice, this list of conditions and the following disclaimer in the 00032 # documentation and/or other materials provided with the distribution. 00033 # * Neither the name of the Fraunhofer Institute for Manufacturing 00034 # Engineering and Automation (IPA) nor the names of its 00035 # contributors may be used to endorse or promote products derived from 00036 # this software without specific prior written permission. 00037 # 00038 # This program is free software: you can redistribute it and/or modify 00039 # it under the terms of the GNU Lesser General Public License LGPL as 00040 # published by the Free Software Foundation, either version 3 of the 00041 # License, or (at your option) any later version. 00042 # 00043 # This program is distributed in the hope that it will be useful, 00044 # but WITHOUT ANY WARRANTY; withouself.ser = serial.Serial('/dev/ttyUSB0', 230400)t even the implied warranty of 00045 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00046 # GNU Lesser General Public License LGPL for more details. 00047 # 00048 # You should have received a copy of the GNU Lesser General Public 00049 # License LGPL along with this program. 00050 # If not, see <http://www.gnu.org/licenses/>. 00051 # 00052 #**************************************************************** 00053 00054 import time 00055 import roslib 00056 roslib.load_manifest('cob_light') 00057 import rospy 00058 from cob_light.msg import Light 00059 00060 def changeColor(): 00061 pub = rospy.Publisher('light_controller/command', Light) 00062 rospy.init_node('light_test') 00063 #color in rgb color space ranging from 0 to 999 00064 red = Light() 00065 red.name.data = "red" 00066 red.r = 999 00067 red.g = 0 00068 red.b = 0 00069 00070 yellow = Light() 00071 yellow.name.data = "yellow" 00072 yellow.r = 400 00073 yellow.g = 999 00074 yellow.b = 0 00075 00076 green = Light() 00077 green.name.data = "green" 00078 green.r = 0 00079 green.g = 999 00080 green.b = 0 00081 00082 blue = Light() 00083 blue.name.data = "blue" 00084 blue.r = 0 00085 blue.g = 0 00086 blue.b = 999 00087 00088 white = Light() 00089 white.name.data = "white" 00090 white.r = 300 00091 white.g = 999 00092 white.b = 300 00093 00094 for color in [red,yellow,green,white,blue,green]: 00095 rospy.loginfo("Setting rgb to %s [%d, %d, %d]",color.name.data,color.r,color.g,color.b) 00096 pub.publish(color) 00097 time.sleep(3) 00098 00099 if __name__ == '__main__': 00100 try: 00101 changeColor() 00102 except rospy.ROSInterruptException: pass 00103