Machine Configuration for Telerobotics-Bodytracking Interface¶
Author: | Siddhant Shrivastava |
---|
Change Record¶
13th August, 2015 - Document Created
14th August, 2015 - Replication Details added
15th August, 2015 - First Draft open for review
Machine Setup¶
Successfully tested on a single laptop with the following configuration -
- Ubuntu 14.04 amd64 host OS
- Windows 7 Ultimate 64-bit Virtual Machine
- VMware Workstation 11
- Hardware Specifications - 8GB RAM, intel Core i7 x64
- Networking Specifications:
NAT-Only
mode between host OS and VM
Windows Configuration¶
The following instructions are based and were tested on Microsoft Windows 7 64-bit. After having installed the operating system in VMware, setup all drivers needed to use the machine in the right way.
Installing Python¶
To support PyKinect, you must install Python 32-bit 2.7.10. To install this version of Python, use this link.
It is recommended to install this version of Python in C:\Python27_32bit\
.
To be able to excute Python from a command line, you must add the installation
folder path to the Path
variabe in Windows. In order to do this, follow these steps -
- Open My Computer
- Right-click and select Properties
- Choose Advanced system settings from the options on the left panel
- A menu should appear. Click on the Environment Variables button
- Add the Python path to the Path variable
You will also need to set the PYTHONPATH
variable likewise. Create a new environment variable with the name PYTHONPATH
and the value of C:\Python27_32bit\
In order to use Python 2.7 on Windows, Visual C++ compiler (VCforPython27) must also be installed. It can be downloaded from this link.
Setting up Kinect Tools¶
In order to use Kinect on Windows, Kinect Developer Kit and the SDK need to be installed
The installation process will be quite long, and it will probably require some reboots. After that, you have to install (in this order):
Installing PyKinect¶
By following the above instructions for installing a Python package from
Visual Studio, or simply using pip
on a command line terminal,
install the package pykinect
.
Installing additional Python packages¶
Before continuing, you need also to install the following Python packages:
- numpy: required to install PyTango; it can be installed with
pip install numpy
- PyTango: download the last 32-bit version for Python 2.7, available from here
- pgu: download from here and install it with
pip
(follow the above instructions, as if the package you download is a .whl file) - VPython: download the automatic installer for Visual Python from here (chose the x86 version, not the x64 one!)
Note
As a source to find a lot of Python libraries, packed as Windows
installers or as .whl
files, you can refer here
Installing Tango¶
Go to this page and select the binary distribution for Windows x64. Download and install it.
After the installation, you will be able to access to a lot of utility and tools to get information about Tango and the device servers (e.g. Jive). To use them, you must install Java for Windows; you can get it from here
Configure Tango Host¶
To be able to get all Tango informations, you need to specify the address of the Tango host. Assuming that it is 198.168.1.100:10000, open the command line and type:
set TANGO_HOST=192.168.1.100:10000
Installing Java¶
Dowload the latest Java runtime from the Oracle website. The specific page is located here.
Ubuntu configuration¶
Install Ubuntu 14.04.2 on the computer.
VMware Setup¶
Install VMware Workstation 11. Follow the Ubuntu instructions as shown on this page. Set up Windows on this VMware setup and follow the instructions for Windows.
ROS Setup¶
Install ROS Indigo on Ubuntu using the following instructions -
Setup the Sources list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Set up keys
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
Installation
sudo apt-get update
sudo apt-get install ros-indigo-desktop-full
sudo apt-get install synaptic
Initialize ROS
sudo rosdep init
rosdep update
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
From the Dash, open
Synaptic Package Manager
Search for
husky indigo
and install all the packages prefixed byros-indigo-husky-
Tango Setup¶
Follow the instructions in the ERAS documentation to set up Tango.
This should set up everything on the Ubuntu side.
Networking Setup¶
Tango should be appropriately configured on both sides. In the working setup, the Tango Master is configured to be the Ubuntu machine.
Set the Networking Mode of the Virtual Machine to be NAT-Only
. Observe the output of ifconfig
in the host OS. The Virtual Machine should have created two additional interfaces - vmnet1
and vmnet8
. Use the interface whose subnet matches the interface in the output of ipconfig
in the Windows Virtual machine.
Configure Tango Host to the IP Address corresponding to the vmnet
interface which matches the subnet information. Try running jive
on both the Operating Systems to check for consistency.
Replication instructions¶
Once the setup and configuration is complete (as discussed in the previous sections), run the following commands on the host OS -
First configure the Tango Database server to use the Bodytracking device with the following attributes -
- Device Name -
eras-1
- Device Class -
PyTracker
- Canonical Name -
c3/mac/eras-1
On the Bodytracking (Windows) machine -¶
Open a Command Prompt window and execute -
python tracker.py eras-1 --sim <json_file_location>
Open another Command Prompt window and execute -
python visualTracker.py eras-1
This should bring up the skeleton model which is updated in real-time.
On the Telerobotics (Ubuntu) machine -¶
cd
to the src
directory of the Telerobotics
ERAS server.
Open three terminals -
In the first terminal, run
roslaunch husky_gazebo husky_empty_world.launch
In the second terminal, run
roslaunch husky_viz view_robot.launch
In the third terminal, run
python telerobotics-bodytracking.py