Difference between revisions of "Quickstart Guide"

From Pengatom Robotics Wiki
Jump to: navigation, search
(Created page with "Please read through the Hardware Overview before attempting this QuickStart Guide. ### Power On & Login 1. Position Robot into neutral sitting position, shown here (pict...")
 
(Setup X11 connection over ssh from Windows)
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Please read through the [[Hardware Overview]] before attempting this QuickStart Guide.
 
Please read through the [[Hardware Overview]] before attempting this QuickStart Guide.
  
### Power On & Login
+
== Power On & Login ==
  
1. Position Robot into neutral sitting position, shown here (picture). Ensure main power switch is in off position.
+
* Position Robot into neutral sitting position, shown here (picture). Ensure main power switch is in off position.<br />
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)
+
* 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)<br />
3. Connect HDMI Monitor to Mini-HDMI port on rear of the Intel NUC using supplied 'HDMI to Mini-HDMI' Cable.
+
* Connect HDMI Monitor to Mini-HDMI port on rear of the Intel NUC using supplied 'HDMI to Mini-HDMI' Cable.<br />
4. Connect USB Keyboard & Mouse to 2x USB 3.0 Ports on the rear of the Intel NUC.
+
* Connect USB Keyboard & Mouse to 2x USB 3.0 Ports on the rear of the Intel NUC.<br />
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.
+
* 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.<br />
6. Flip the main power switch forward, to the on position.
+
* Flip the main power switch forward, to the on position.<br />
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.
+
* 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.<br />
8. Ensure robot POSTs, boots into Ubuntu Desktop.  
+
* Ensure robot POSTs, boots into Ubuntu Desktop.<br />
9. Login-
 
`Username: robot`
 
`pw: robot1`
 
  
We recommend changing your password immediately for security purposes.
+
== Setup X11 connection over ssh from Windows ==
  
### Enable Remote Desktop/VNC connection to NUC
+
Make sure X11Forwarding is set to yes in /etc/ssh/sshd_config
  
1. Turn on Remote Desktop Connections
+
Then follow the steps in [http://www.geo.mtu.edu/geoschem/docs/putty_install.html this] guide to set up on windows side. I prefer [http://www.9bis.net/kitty/ kitty] over [https://www.chiark.greenend.org.uk/~sgtatham/putty/ putty] but thats just personal preferences.
  
* Open Terminal
+
To keep the terminal available for additional commands after you launch the X11 forwarded application, use an & at the end of the command to prevent tying up the terminal in question.
* `$ 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
+
==== Optional - Install SSH ====
  
* `$ 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,. [http://ubuntuhandbook.org/index.php/2015/02/share-a-folder-in-ubuntu-14-04/ This] is a good article that explains this.
  
### Framework Repository Setup
+
== 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.
+
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. You can find more information on using Git [https://help.github.com/articles/good-resources-for-learning-git-and-github/ here].
  
1) Install [[Library Dependencies]]
+
=== Install [[Library Dependencies]] ===
  
 
* Open Terminal
 
* Open Terminal
  
`$ sudo apt-get update && sudo apt-get upgrade`
+
$ 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 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
  
`$ sudo apt-get install bluez-utils bluez-compat bluez-hcidump libusb-dev libbluetooth-dev joystick`
+
=== Clone HROS5-Framework Github Repo ===
  
2) Clone HROS5-Framework Github Repo
+
* We install the Framework into the home/robotics folder.
 +
* Open Terminal, change directory to home folder:
 +
$ cd ~
  
* We install the Framework into the home folder.
+
* Create robotics directory:
* Open Terminal, change directory to home folder: `$ cd ~`
+
$ mkdir robotics
 +
* Change directory to robotics folder:
 +
$ cd robotics
  
`$ git clone https://github.com/Interbotix/HROS5-Framework.git`
+
$ git clone https://github.com/Pengatom/HROS5-Framework.git
  
 
* Change directory to HROS5-Framework: `$ cd ~/HROS5-Framework`
 
* Change directory to HROS5-Framework: `$ cd ~/HROS5-Framework`
 
* Optional - Set file permissions for the Framework directory: `$ sudo chown -R robot.robot .`
 
* Optional - Set file permissions for the Framework directory: `$ sudo chown -R robot.robot .`
  
### 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:
 
   
 
   
`/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
+
=== 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 87: Line 77:
 
* 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 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.
 
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.  
Line 105: Line 99:
 
* 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

Latest revision as of 13:45, 18 August 2018

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.

Setup X11 connection over ssh from Windows

Make sure X11Forwarding is set to yes in /etc/ssh/sshd_config

Then follow the steps in this guide to set up on windows side. I prefer kitty over putty but thats just personal preferences.

To keep the terminal available for additional commands after you launch the X11 forwarded application, use an & at the end of the command to prevent tying up the terminal in question.

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 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. You can find more information on using Git here.

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