MOVR - Autonomous vehicle for close proximity navigation
Package that contains scripts to teleoperate via joystick, keyboard and speech
Package that contains scripts related to vision sensors.
# rosserial
$ sudo apt install ros-kinetic-rosserial
$ sudo apt install ros-kinetic-rosserial-arduino
$ sudo apt install ros-kinetic-rosserial-python
# ackermann-msgs
$ sudo apt install ros-kinetic-ackermann-msgs
# Joy
$ sudo apt install ros-kinetic-joy
# Set permission to make accessible to ROS
$ ls -l /dev/input/jsX # X is the joystick number
$ sudo chmod a+rw /dev/input/jsX
# Openni - Kinect
$ sudo apt install ros-kinetic-openni-launch
# Kinect OpenCV 3
$ sudo apt install ros-kinetic-opencv3
# CV-Bridge
$ sudo apt install ros-kinetic-cv-bridge
# NOTE: You will need to go into the package's CMakeLists.txt and add the following line:
find_package(OpenCV REQUIRED)
# Do not use find_package(catkin ... but add another statement find_package(OpenCV REQUIRED)
# Install Orbbec Astra camera dependencies
$ sudo apt install ros-kinetic-astra-camera
$ sudo apt install ros-kinetic-astra-launch
Follow configuration instructions outlined here.
# API.AI
# Chat bot API
# https://github.com/api-ai/apiai-python-client
$ pip install apiai
# SpeechRecognition
# Google speech recognition API wrapper
# https://pypi.python.org/pypi/SpeechRecognition/
$ pip install SpeechRecognition
# gTTS 1.2.1
# Google text-to-speech API wrapper
# https://pypi.python.org/pypi/gTTS/1.2.1
$ pip install gTTS
# pocketsphinx-python
# CMU speech recognition
# https://github.com/cmusphinx/pocketsphinx-python
# sudo apt-get install python python-all-dev python-pip build-essential swig git libpulse-dev
$ pip install pocketsphinx
# pygame
# Game engine. Required to use audio library
# https://www.pygame.org/wiki/GettingStarted
$ pip install pygame
# playsound
# Pure Python, cross platform, single function module with no dependencies for playing sounds.
# https://pypi.org/project/playsound/
$ pip install playsound
Note: PortAudio is a dependency for the sounddevice package.
# sounddevice
# This Python module provides bindings for the PortAudio library and a few convenience functions to play and record NumPy arrays containing audio signals.
# https://pypi.org/project/sounddevice/
# pip install sounddevice
# soundfile
# SoundFile is an audio library based on libsndfile, CFFI and NumPy
# https://pypi.org/project/SoundFile/
# pip install soundfile
# keyboard
# Take full control of your keyboard with this small Python library.
# Hook global events, register hotkeys, simulate key presses and much more.
# https://pypi.org/project/keyboard/
# pip install keyboard
# json
# JSON library
$ pip install json
# Ubuntu
# PortAudio is a dependency for the Python sounddevice package
$ sudo apt install portaudio19-dev
# Go to top-level worspace directory
$ cd movr_ws/
# Make workspace
# This generates the 'build' and 'devel' directories
# The 'devel' directory has the setup directories and setup files
$ catkin_make
# Go into 'movr_ws' directory
$ cd movr_ws/
# Source the workspace
$ source devel/setup.bash
# Run roscore
$ roscore
# Run ROS Joy node. Opens joystick device and publishes input
$ rosrun joy joy_node
# Run movr joy node
$ rosrun movr_teleop joyjoy.py
# Run Python rosserial node
$ rosrun rosserial_python serial_node.py /dev/ttyACM1 # Check device name 'ls -la /dev'
# Run voice interface
$ rosrun movr_voice hello_movr.py
# Launch Astra camera node
$ roslaunch astra_launch astra.launch
# View RGB image
$ rosrun image_view image_view image:=/camera/rgb/image_raw
# View Depth image
$ rosrun image_view image_view image:=/camera/depth/image
# Launch openni
# Execute this first before running any of the commands below
$ roslaunch openni_launch openni.launch
# View RGB image
$ rosrun image_view image_view image:=/camera/rgb/image_color
# View depth image
$ rosrun image_view image_view image:=/camera/depth/image
# View depth-disparity
$ rosrun image_view disparity_view image:=/camera/depth/disparity
# To view RGB - depth correlated images, execute the following
# 1. Remap Depth and Correlate with RGB
$ rosrun rqt_reconfigure rqt_reconfigure
# Open the 'driver' option and select 'reconfigure
#
# 2. Run rviz
$ rosrun rviz rviz
# In cloud_points 2, switch the topic to: '/camera/depth_registered/points'