Difference between revisions of "Quickstart Guide"

From Pengatom Robotics Wiki
Jump to: navigation, search
(Install Library Dependencies)
(Enable Remote Desktop/VNC connection to NUC)
Line 16: Line 16:
 
=== Turn on Remote Desktop Connections ===
 
=== Turn on Remote Desktop Connections ===
  
* Open Terminal
+
* Open Terminal and Install x11vnc:
* `$ vino-preferences`
 
* Ensure the following options are checked:  
 
  
'Allow other users to view your desktop'
+
sudo apt-get install x11vnc
  
'Allow other users to control your desktop'
+
Create a password for your user:
  
* Ensure the following options are '''UNchecked''':
+
x11vnc -storepasswd
  
'You must confirm each access to this machine'
+
If you have ssh setup you can use it to start x11vnc assuming you are logged in already, but remember to tell it to use your password file:
 
+
x11vnc -usepw
=== Disable forced encryption ===
 
 
 
* `$ gsettings set org.gnome.Vino require-encryption false`
 
  
 
=== Optional - Install SSH ===
 
=== Optional - Install SSH ===
Line 36: Line 31:
 
  $ sudo apt-get install ssh
 
  $ sudo apt-get install ssh
  
4) Optional - Setup Network Share on Robot
+
=== Optional - Setup Network Share on Robot ===
  
 
Setup a network share folder (such as your robot's Home folder) for direct file/repo access over network. Works well in conjunction with SSH if you don't want to use a full VNC desktop connection,. [This](http://ubuntuhandbook.org/index.php/2015/02/share-a-folder-in-ubuntu-14-04/) is a good article that explains this.
 
Setup a network share folder (such as your robot's Home folder) for direct file/repo access over network. Works well in conjunction with SSH if you don't want to use a full VNC desktop connection,. [This](http://ubuntuhandbook.org/index.php/2015/02/share-a-folder-in-ubuntu-14-04/) is a good article that explains this.

Revision as of 11:53, 16 March 2017

Please read through the Hardware Overview before attempting this QuickStart Guide.

Power On & Login

  • Position Robot into neutral sitting position, shown here (picture). Ensure main power switch is in off position.
  • Tethered power can be supplied to the robot via the included 12v 10amp power supply + Barrel Jack to Female Deans T-Connector adapter. The Female Deans T-Connector should connect to the Male Deans T-Connector Main Power input coming off the rear torso of the robot. (picture)
  • Connect HDMI Monitor to Mini-HDMI port on rear of the Intel NUC using supplied 'HDMI to Mini-HDMI' Cable.
  • Connect USB Keyboard & Mouse to 2x USB 3.0 Ports on the rear of the Intel NUC.
  • Connect Ethernet Cable to Gigabit Ethernet port on the rear of the Intel NUC. You will need to connect to an internet connected router with DHCP or static IPs assigned.
  • Flip the main power switch forward, to the on position.
  • Power on the Intel NUC using power button on Front-Right corner of board. This step may be skipped if NUC BIOS has power options configured correctly to Power-On automatically upon power input.
  • Ensure robot POSTs, boots into Ubuntu Desktop.

Enable Remote Desktop/VNC connection to NUC

Turn on Remote Desktop Connections

  • Open Terminal and Install x11vnc:
sudo apt-get install x11vnc

Create a password for your user:

x11vnc -storepasswd

If you have ssh setup you can use it to start x11vnc assuming you are logged in already, but remember to tell it to use your password file:

x11vnc -usepw

Optional - Install SSH

$ sudo apt-get install ssh

Optional - Setup Network Share on Robot

Setup a network share folder (such as your robot's Home folder) for direct file/repo access over network. Works well in conjunction with SSH if you don't want to use a full VNC desktop connection,. [This](http://ubuntuhandbook.org/index.php/2015/02/share-a-folder-in-ubuntu-14-04/) is a good article that explains this.

Framework Repository Setup

First we must install dependencies for the Framework and clone a fresh copy of the repo onto the root filesystem. We use Git to handle our repositories. [Click here](https://help.github.com/articles/good-resources-for-learning-git-and-github/) for more information on using Git.

Install Library Dependencies

  • Open Terminal
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential git libjpeg-dev gcc-multilib g++-multilib libncurses5-dev mplayer mplayer-skins
$ sudo apt-get install bluez-utils bluez-compat bluez-hcidump libusb-dev libbluetooth-dev joystick

Clone HROS5-Framework Github Repo

  • We install the Framework into the home/robotics folder.
  • Open Terminal, change directory to home folder:
$ cd ~
  • Create robotics directory:
$ mkdir robotics
  • Change directory to robotics folder:
$ cd robotics
$ git clone https://github.com/Pengatom/HROS5-Framework.git
  • Change directory to HROS5-Framework: `$ cd ~/HROS5-Framework`
  • Optional - Set file permissions for the Framework directory: `$ sudo chown -R robot.robot .`

Build Framework Libraries & Projects

Compiling Framework Libraries

  • The Makefile for the core library is found here:
/HROS5-Framework/Linux/build
  • Change directory in Terminal to build folder:
$ cd /HROS5-Framework/Linux/build
  • Compile core framework libraries:
$ sudo make all
  • Ensure that no errors exit the compile process, and that the `darwin.a` library object has been created:
$ ls /HROS5-Framework/Linux/lib

Compiling dxl_monitor & Network Scan

The dxl_monitor project is a diagnostic tool that allows us to scan the Subcontroller's Dynamixel TTL network and returns the results of the servo IDs found. It can also be used to modify servo properties stored in the register table.

  • The Makefile for dxl_monitor is found here:
/HROS5-Framework/Linux/project/dxl_monitor/
  • Change directory in Terminal to project folder:
$ cd /HROS5-Framework/Linux/project/dxl_monitor
  • Compile dxl_monitor:
$ sudo make
  • Ensure that no errors exit the compile process, and that the `dxl_monitor` program has been created inside the folder.
  • To run dxl_monitor:
$ sudo ./dxl_monitor
  • Perform a Dynamixel network scan:
> scan
  • This should return the 'OK' status of Servo IDs 1-20, and the Subcontroller ID of 200. If any of these show up as failed, please see Troubleshooting for assistance.
  • If you encounter an 'Failed to connect to Arbotix Pro!' error, please see Troubleshooting.

If all 20 servos show up on network scan as 'OK', your robot is properly recognizing all servos and should be ready for motion page playback testing. Type `exit` to exit program and return to Terminal prompt.

Compiling rme & Testing Action playback

The project `rme` is an application that allows for the capture and playback of servo animations. Standing, Sitting, Walk Ready, Gestures & Animations are created within this program, and then the motion pages can be played back by calling the Action module functions within the Framework.

  • The Makefile for rme is found here:
/HROS5-Framework/Linux/project/rme/
  • Change directory in Terminal to project folder:
$ cd /HROS5-Framework/Linux/project/rme
  • Compile rme:
$ sudo make
  • Ensure that no errors exit the compile process, and that the `rme` program has been created inside the folder.
  • To run rme:
$ sudo ./rme
  • A terminal screen with a table of data will be drawn. The left-most columns show the servo IDs, and the STEP0