(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Upgrading the Kuka youBot to Fuerte

Description: This tutorial explains how to upgrade the youBot to run ROS Fuerte.

Keywords: youBot, fuerte

Tutorial Level: BEGINNER

Removing ROS Electric (optional)

Although not required, since the internal storage on the youBot is a bit limited, you may choose to uninstall ROS Electric before installing ROS Fuerte. The easiest way to do so is by using Synaptic Package Manager (available under the System --> Administration tab on the desktop). Once you have started the package manager, select the Origin filter on the right and select the packages.ros.org package. Select all of the installed ROS packages to the right, right click the selection, and select Mark for Complete Removal. After selecting apply, ROS Electric will be removed from your system. To cleanup and unnecessary dependencies, use the following commands:

  •    1 sudo apt-get autoclean
       2 sudo apt-get autoremove
    

Installing ROS Fuerte

Before installing ROS, ensure that your system is up to date:

  •    1 sudo apt-get update
       2 sudo apt-get dist-upgrade
    

Next, follow the installation instructions for Fuerte on Ubuntu 10.04. Although it is not needed, installing the desktop-full option is good to grab some additional packages that will be useful for developing on the robot.

Security (optional)

If your youBot will be open to remote connections, it may be a good idea to enable a secure SSH server. Note that this section is optional; however, SSH is enabled by default on the robot in an insecure manner.

SSH Server

To allow for remote access of the youBot, an OpenSSH server will be setup. To ensure security, the robot should be configured to only allow RSA Key authentication (i.e., password authentication will be disabled). To begin, we will disable password authentication. To do so, edit the file /etc/ssh/sshd_config and add a line that reads as follows:

  • PasswordAuthentication no

Once this is saved, restart the SSH server with the following command:

  • sudo /etc/init.d/ssh restart

In order for SSH keys to be stored, we must create a local directory to hold them. Create the local SSH directory and set its permissions with the following commands:

  •    1 mkdir ~/.ssh
       2 chmod 700 ~/.ssh
    

The SSH server should now be up and running securely. Now, only users whose public keys are installed on the server will be allowed SSH access. Note that each user on the robot will have their own set of authorized keys. To setup a client and import their public SSH key, follow the instructions in the following section.

SSH Clients

The youBot has an OpenSSH server running to allow remote access. For security reasons, password authentication has been disabled and only SSH key authentication will be allowed. To create and install a public key for a user, complete the following steps on the client machine:

  • Create a 4096 bit RSA key pairing by executing the following on the machine you wish to allow SSH access to the server (note that the -C argument is simply a comment that can be used to identify the key):

    • ssh-keygen -t rsa -b 4096 -C "<user>@<hostname>"
  • Choose a strong passphrase
  • Place the public key file located at ~/.ssh/<filename>.pub and transfer it to the youBot (e.g., via a USB stick).

  • Append the RSA key into the list of valid keys by executing the following on the robot under the username you are granting access to:
    • cat /path/to/<filename>.pub >> ~/.ssh/authorized_keys
  • Ensure file permissions are correct by executing the following on the Remote Lab server:
    • chmod 600 ~/.ssh/authorized_keys

The client machine can now SSH into the server.

Support

Please send bug reports to the GitHub Issue Tracker. Feel free to contact me at any point with questions and comments.


wpi.png

rail.png

Wiki: rail_youbot/Tutorials/UpgradingTheKukaYouBotToFuerte (last edited 2012-12-29 21:08:19 by Russell Toris)