clearpathrobotics/axis_camera — pull request #21 by paulmilliken (2013-05-13 22:18:55+00:00)
Title: Changes include the addition of tolerance to network interruptions and the option of speed or position control for PTZ functions

I have forked the axis_camera package on github and made a few changes:
* I added code to address issue https://github.com/clearpathrobotics/axis_camera/issues/1 by polling the camera every few seconds until it reappears.
* I addressed issue https://github.com/clearpathrobotics/axis_camera/issues/15 by removing the axis_twist.py script and modifying axis_ptz.py to allow the user to choose between position control and speed control. Speed control is likely to be more appropriate for teleoperation. A Twist message could still be used to control speed, by writing a simple ros node to subscribe to Twist and translate to an Axis message (using speed control in the axis_ptz.py node). This "translator" node would also provide a place to apply controller gains for some kind of slow autonomous control loop.
* I addressed Issue https://github.com/clearpathrobotics/axis_camera/issues/19 by logging errors with rospy.logwarn and rospy.loginfo
* I changed the tab size from 2 spaces to 4 spaces. It's just my personal preference for python coding so, if you choose to include my changes, feel free to change it back to whatever you prefer.
* I added some launch files to test the code. The most interesting is test_speed_control.launch (which also requires https://github.com/paulmilliken/teleop_view.git which is based on code for the image_view node)
* There were quite a few changes so I incremented the version number in my fork.
* I haven't touched or tested the publish_axis_tf.py node at all.
I'm interested to hear you thoughts, especially if you think something could have been implemented in a better way.
Paul