Difference between revisions of "Quickstart Guide"

From Pengatom Robotics Wiki
Jump to: navigation, search
(Build Framework Libraries & Projects)
(Build Framework Libraries & Projects)
Line 66: Line 66:
 
== Build Framework Libraries & Projects ==
 
== Build Framework Libraries & Projects ==
  
1) [[Compiling]] Framework Libraries
+
=== [[Compiling]] Framework Libraries ===
  
 
* The Makefile for the core library is found here:
 
* The Makefile for the core library is found here:
Line 79: Line 79:
 
  $ ls /HROS5-Framework/Linux/lib
 
  $ ls /HROS5-Framework/Linux/lib
  
2) Compiling [[dxl_monitor]] & Network Scan
+
=== 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 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.
Line 101: Line 101:
 
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.
 
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
+
=== 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 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.  

Revision as of 07:48, 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

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

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