Difference between revisions of "Quickstart Guide"

From Pengatom Robotics Wiki
Jump to: navigation, search
(Power On & Login)
(Build Framework Libraries & Projects)
Line 70: Line 70:
 
* The Makefile for the core library is found here:
 
* The Makefile for the core library is found here:
 
   
 
   
`/HROS5-Framework/Linux/build`
+
/HROS5-Framework/Linux/build
  
* Change directory in Terminal to build folder: `$ cd /HROS5-Framework/Linux/build`
+
* Change directory in Terminal to build folder:  
* Compile core framework libraries: `$ sudo make all`
+
$ cd /HROS5-Framework/Linux/build
* Ensure that no errors exit the compile process, and that the `darwin.a` library object has been created: `$ ls /HROS5-Framework/Linux/lib`
+
* 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
  
 
2) Compiling [[dxl_monitor]] & Network Scan
 
2) Compiling [[dxl_monitor]] & Network Scan
Line 82: Line 85:
 
* The Makefile for dxl_monitor is found here:
 
* The Makefile for dxl_monitor is found here:
  
`/HROS5-Framework/Linux/project/dxl_monitor/`
+
/HROS5-Framework/Linux/project/dxl_monitor/
  
* Change directory in Terminal to project folder: `$ cd /HROS5-Framework/Linux/project/dxl_monitor`
+
* Change directory in Terminal to project folder:  
* Compile dxl_monitor: `$ sudo make`
+
$ 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.
 
* 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`
+
* To run dxl_monitor:  
* Perform a Dynamixel network scan: `> scan`
+
$ 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.
 
* 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 CM730' error, please see [[Troubleshooting]].
 
* If you encounter an 'Failed to connect to CM730' error, please see [[Troubleshooting]].
Line 100: Line 107:
 
* The Makefile for rme is found here:
 
* The Makefile for rme is found here:
  
`/HROS5-Framework/Linux/project/rme/`
+
/HROS5-Framework/Linux/project/rme/
  
* Change directory in Terminal to project folder: `$ cd /HROS5-Framework/Linux/project/rme`
+
* Change directory in Terminal to project folder:  
* Compile rme: `$ sudo make`
+
$ 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.
 
* Ensure that no errors exit the compile process, and that the `rme` program has been created inside the folder.
* To run rme: `$ sudo ./rme`
+
* 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
 
* A terminal screen with a table of data will be drawn. The left-most columns show the servo IDs, and the STEP0

Revision as of 07:46, 16 March 2017

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

Power On & Login

1. Position Robot into neutral sitting position, shown here (picture). Ensure main power switch is in off position.
2. 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)
3. Connect HDMI Monitor to Mini-HDMI port on rear of the Intel NUC using supplied 'HDMI to Mini-HDMI' Cable.
4. Connect USB Keyboard & Mouse to 2x USB 3.0 Ports on the rear of the Intel NUC.
5. 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.
6. Flip the main power switch forward, to the on position.
7. 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.
8. Ensure robot POSTs, boots into Ubuntu Desktop.

Enable Remote Desktop/VNC connection to NUC

1. Turn on Remote Desktop Connections

  • Open Terminal
  • `$ vino-preferences`
  • Ensure the following options are checked:

'Allow other users to view your desktop'

'Allow other users to control your desktop'

  • Ensure the following options are **UNchecked**:

'You must confirm each access to this machine'

2) Disable forced encryption

  • `$ gsettings set org.gnome.Vino require-encryption false`

3) Optional - Install SSH

  • `$ sudo apt-get install ssh`

4) 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.

1) Install Library Dependencies

  • Open Terminal

`$ sudo apt-get update && sudo apt-get upgrade`

`$ sudo apt-get install build-essential git libncurses5-dev libjpeg-dev mplayer mplayer-skins`

`$ sudo apt-get install bluez-utils bluez-compat bluez-hcidump libusb-dev libbluetooth-dev joystick`

2) Clone HROS5-Framework Github Repo

  • We install the Framework into the home folder.
  • Open Terminal, change directory to home folder: `$ cd ~`

`$ git clone https://github.com/Interbotix/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

1) 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

2) 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 CM730' 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.

2) 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