orbit_camera_actuation - adamnilsson/orbit_camera_actuation GitHub Wiki
Actuates the Logitech Orbit QuickCam via ROS and libwebcam library.
The following components are involved in controlling the camera:
- ROS - Robot Operation System
- CreeperCam.cc - Based on stephanie’s code for actuating the camera using libwebcam library.
- controls.cc - Class for camera actuating controllers.
- cam_actuator_node.py - ROS node for actuating the camera. Listens to IntArray messages ([Pan,Tilt,Zoom]) on /logitech_cam/camera_instr. Zoom value is ignored, and has to be handled by preprocessor.
- libwebcam - Library for actuating and controlling usb cameras. libwebcam0 in Ubuntu synaptic package manager.
- usb_cam - ROS library for capturing images from camera (optional for actuating the camera).
Start the camera node. Note, roscore has to be started already. In a separate terminal type roscore
to start
$ rosrun camera_actuator camera_actuator_node
Randomly selected commands from a list of commands can be sent to the camera by:
$ rosrun camera_actuator command_generator -c <command list> -t <time duration> -f <frequence>
E.g.
$ rosrun camera_actuator command_generator -c [ [150,0,0],[-150,0,0],[0,100,0],[0,-100,0],[0,0,10],[0,0,-10] ] -t 10 -f 1
TODO:
- Console prompt to generate commands
TODO: It would be useful to have all available controls supported for the ros package
- array of relative displacements, [pan, tilt, zoom]. Subscribes to the topic
/logitech_cam/camera_instr
- array of absolute displacements
Workspace limits are hard coded in c++. TODO: create rosparams for the limits
- The package does not give any image outputs at this time. For reading images, the package usb_cam may be used.
- executed commands - A valid command with respect to the workspace limits is executed and published on the topic
/logitech_cam/camera_executed