Skip to content
Melih Erdogan edited this page Feb 14, 2018 · 52 revisions

Welcome to the ros_jimmy package wiki! -

Project Status

  • Currently working on mapping joint states and motor states.
  • Speech Recognition and synthesis
  • Adding blinking light mouth to the robot
  • MoveIt Integration

What is new? and What is different from the other packages?

  • The robot description files are from ros_hros5.
  • The Interbotix HROS5-Framework is not required for this package.
  • Instead of ArbotixPro controller board that comes with the robot, USB2Dynamixel adaptor is used in this project.
  • RME (Robot Motion Editor) is replaced with Motion Creator V1.0. In this package, the Motion Creator node is used to create nodes frame by frame. It does the same work as RME and saves motion data in separate text (.txt) files.
  • A Voice User Interface for Human-Robot Interaction

Hardware:

  • USB2Dynamixel
  • Powerhub
  • 12V Power Supply
  • HROS5
  • Microsoft LifeCam USB Camera

Pre-Install:

  • Operating System: Linux Ubuntu 14.04
  • ROS Distribution: ROS Indigo
  • Make sure dynamixel_controllers package is successfully installed
  • Make sure USB port is available/accessible.
  • Make sure id numbers and servo limits (min, max) are same as in the motor.yaml
  • http://wiki.ros.org/dynamixel_controllers

Installation Steps:

  1. cd catkin_ws/src
  2. download the git repository
  3. cd ..
  4. source devel/setup.bash
  5. catkin_make
  6. make sure there are no error messages
  7. open a terminal and type
  8. cd catkin_ws
  9. source devel/setup.bash

Offline Trigger Phrase Recognition

CMUSphinx is used for offline speech recognition.

  1. git clone https://github.com/mikeferguson/pocketsphinx
  2. cd catkin_ws
  3. catkin_make
  4. roslaunch pocketsphinx robocup_r1.launch
  5. If it complains about the queue size, add queue_size = 10 to the publisher in recorder.py
  6. If it complains about Gstreamer, install Gstreamer plugin.
  7. apt-get install gstreamer0.10-gconf
  8. rostopic echo output
  9. rosservice call /recognizer/start
  10. create your own dictionary with lmtool
  11. http://www.speech.cs.cmu.edu/tools/lmtool-new.html
  12. Create a text.txt file that has a list of the words you want to recognize. Upload it to the website.
  13. download and copy .lm and .dic files to your directory
  14. update your parameters in your launch file

Online Speech Recognition

Google Cloud Speech API is used for speech recognition.

  1. More Details Coming Soon

Speech Synthesis (Text to Speech)

Amazon Polly API is used for speech synthesis.

  1. More Details Coming Soon

System/User Directed Dialogs

Dialogflow API is used for human-robot conversation.

  1. More Details Coming Soon

Rosserial_Arduino

  1. git clone https://github.com/ros-drivers/rosserial.git
  2. cd catkin_ws
  3. catkin_make
  4. Install Arduino IDE
  5. go to your Arduino library directory under sketchbook directory
  6. cd home/sketchbook/libraries
  7. Upload Arduino Sketch called ServiceServer.ino to your Arduino by using Arduino IDE
  8. rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 _baud:=57600
  9. rosservice call /mouth "Talk"
  10. rosservice call /mouth "StopTalk"

Using Motion Player and Motion Saver

  1. roslaunch jimmy jimmy.launch
  2. make sure there are no error messages. If there are yellow and red colored lines run the lunch file again.
  3. Select an option. Make sure you are in the keyboard window when you select an option.

RVIZ

  1. Coming Soon

Topics

Subscribed Topics

  1. /play_motion (std_msgs/String)
    • Motion file name. For example:
    • rostopic pub -1 /play_motion std_msgs/String stand

Services

  1. /mouth
    • rosservice call /mouth "Talk"
    • rosservice call /mouth "StopTalk"

Videos

Jimmy

Jimmy

Jimmy