Revision 31 as of 2011-11-23 17:03:27

Clear message

Only released in EOL distros:  

rovio: rovio_av | rovio_ctrl | rovio_shared

Package Summary

The rovio_ctrl package contains nodes to control and query the motor and head position of a WowWee Rovio.

rovio: rovio_av | rovio_ctrl | rovio_shared

Package Summary

Control and Query the Movement Devices on a WowWee Rovio

rovio: rovio_av | rovio_ctrl | rovio_shared

Package Summary

Control and Query the Movement Devices on a WowWee Rovio

Nodes

rovio_move

rovio_move controls the motors of the Rovio.

Subscribed Topics

man_drv (rovio_shared/man_drv)
  • Control the movement of the Rovio using movement and speed commands as defined by the Rovio API.
cmd_vel (geometry_msgs/Twist)
  • Control the movement of the Rovio using a geometry_msgs/Twist message. A positive angular-z value corresponds to a clockwise rotation. Movement along linear-y corresponds to moving left/right and movement along linear-x corresponds to moving forwards/backwards.

Parameters

/rovio_shared/host (string)
  • Hostname used to communicate with the Rovio.
/rovio_shared/user (string)
  • Username used to authenticate with the Rovio.
/rovio_shared/pass (string)
  • Password used to authenticate with the Rovio.

rovio_head

rovio_head publishes the position of the head as well as allows for head position control.

Published Topics

head_sensor (std_msgs/String)
  • Current head position of the Rovio {"HEAD_UP", "HEAD_MIDDLE", "HEAD_DOWN"}.

Services

head_ctrl (rovio_shared/head_ctrl)
  • Change the position of the Rovio's head.

Parameters

/rovio_shared/host (string)
  • Hostname used to communicate with the Rovio.
/rovio_shared/user (string)
  • Username used to authenticate with the Rovio.
/rovio_shared/pass (string)
  • Password used to authenticate with the Rovio.

rovio_teleop

rovio_teleop can control the motors, head, and audio device of a Rovio using a joystick. This node listens to a joy topic and sends messages to the cmd_vel topic in the rovio_move node, head_ctrl service in the rovio_head node, and wav_play service in the rovio_audio node. Buttons 0, 1, and 2 of a joystick control the head, buttons 4, 5, 6, and 7 of a joystick play audio files on the Rovio, and the left and right joysticks control the movement of the Rovio. An example gamepad is shown to the right with its buttons labeled. rovio_teleop_joy.gif

Subscribed Topics

joy (sensor_msgs/Joy)
  • Listens for joystick commands.

Published Topics

cmd_vel (geometry_msgs/Twist)
  • Control the movement of the Rovio using the left and right joysticks.

Services Called

head_ctrl (rovio_ctrl/head_ctrl)
  • Change the position of the Rovio's head using buttons 0, 1, or 2 of a joystick.
wav_play (rovio_shared/wav_play)
  • Play one of four predefined .wav files using buttons 4, 5, 6, or 7 of a joystick.

Parameters

/rovio_shared/rovio_wav (string)
  • Absolute path to the wav folder within the rovio_av package. This is used when playing audio files using buttons 4, 5, 6, or 7 of a joystick.

Startup

The rovio_ctrl package contains a rovio_ctrl.launch file which should be edited with the hostname, username and password to login to your Rovio. This file launches an instance of the rovio_move and rovio_head nodes. To launch these nodes, the following commands can be used:

Toggle line numbers
   1 rosmake rovio_ctrl
   2 roslaunch rovio_ctrl rovio_ctrl.launch

The rovio_ctrl package also contains a rovio_teleop.launch file which should be edited with the hostname, username and password to login to your Rovio as well as absolute path to the wav folder within the rovio_av package. This file launches an instance of the rovio_move, rovio_head, rovio_audio and rovio_teleop nodes. To launch these nodes, the following commands can be used:

Toggle line numbers
   1 rosmake rovio_ctrl
   2 roslaunch rovio_ctrl rovio_teleop.launch

You should now be able to teleoperate your Rovio with a joystick.

Support

Please feel free to contact me at any point with questions, comments, and bug reports.