Quickstart Guide
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
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