Skip to content

High-level APIs for controlling mobile ROS robots.

Notifications You must be signed in to change notification settings

mayacakmak/robot_eup

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

robot_eup

High-level APIs for end-user programming of the PR2 and the Turtlebot. Based on Justin Huang's rapid_robot.

Package overview

  • robot_eup contains the library itself.
  • robot_eup_samples contains examples of how the interface can be used.

Installation

sudo apt-get install ros-hydro-pocketsphinx

Populating the robot knowledge base

Navigation

For navigation the robot needs:

  1. A map of the environment (see tutorial)
  2. A database of locations on the map

A location database is a Python shelve file mapping strings to PoseStamped messages. You can generate one with save_locations.py in robot_eup_samples.

Run save_locations.py with the name of a database file. If it doesn't exist, it will be created:

python save_locations.py ~/data/locations.db

Type set Home to save the current position as "Home". Drive the robot around using teleop, and save as many locations as you like.

Voice

The robot has a database of sounds it can play. Currently it has 10 sounds stored in the robot_eup/sounds

Speech

The robot has a database of commands it can recognize. To change this list of commands, open robot_eup/speech/commands.corpus and add your own list. Then upload this file to the Sphinx language model generator tool. Download the .dic and .lm files generated by the tool, rename them as commands.lm and commands.dic, and replace the old ones in robot_eup/speech/.

Running end-user scripts

TURTLEBOT

Simulation

Terminal 1: Run the simulated robot

roslaunch turtlebot_gazebo turtlebot_empty_world.launch

Terminal 2: Run the pre-requisites

roslaunch robot_eup turtlebot_prereqs.launch

Terminal 3: Run meteor

roscd robot_eup/web/robot_eup_web_interface/
meteor

Terminal 4: Run your script

rosrun robot_eup_samples example.py

Web interface: Point a browser to http://localhost:3000/

Real robot

Terminal 1:

roslaunch turtlebot_bringup minimal.launch

Terminal 2: Run the back-end and pre-requisites

roslaunch robot_eup turtlebot_backend.launch

Terminal 3, 4 and web interface are same as above.

In addition you can visualize the robot on a different machine with:

setrobot(chester)
roslaunch robot_eup turtlebot_frontend.launch

PR2

TODO

About

High-level APIs for controlling mobile ROS robots.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.3%
  • JavaScript 2.5%
  • Other 1.2%