(!) 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.

Install Hironx/NEXTAGE OPEN API software on your machine

Description: Installation described here can be applied to both Hironx and NEXTAGE OPEN robots. Also illustrated here is the role of the two computers that come with the robot (QNX, Ubuntu).

Keywords: Hiro, Hironx, NEXTAGE OPEN

Tutorial Level: BEGINNER

Next Tutorial: Run simulation

Terminology

NOTE: All the tutorials available under the URL http://wiki.ros.org/rtmros_nextage/Tutorials are applicable to the multiple products of Kawada Industries; Hiro (only with the one that opensource software is installed) and NEXTAGE OPEN. To simplify the notation in the rest of the tutorials, we use HiroNXO to appoint the aforementioned robots.

Prerequiste

  • Finish ROS fundamental tutorials. Use catkin for the build system option.

  • If you're working with real robots, please contact business representative of the manufacturer to see if your robot is compatible with this set of software.

Development workstation environment

Required specification of Ubuntu machine for HiroNXO:

  • (Robot owner only) Connected to QNX over the Ethernet

    • You can verify by running a single command: ping nextage or ping hiro. See manufacturer's manual if this fails

  • Intel i5 or above

  • 4GB RAM or above
  • 15GB free disk space
  • Ubuntu 14.04
  • ROS Indigo

Install via debian binary (RECOMMENDED)

.deb binary is available only in ROS groovy and later.

For the first time installation, you can simply run the following few lines of commands.

You haven't installed ROS, nor HiroNXO software

  • sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key0xB01FA116
    sudo apt-get update && sudo apt-get install ros-%ROS_DISTRO%-rtmros-nextage ros-%ROS_DISTRO%-rtmros-hironx
    source /opt/ros/%ROS_DISTRO%/setup.bash

e.g. for ROS Indigo,

  • sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key0xB01FA116
    sudo apt-get update && sudo apt-get install ros-indigo-rtmros-nextage ros-indigo-rtmros-hironx
    source /opt/ros/indigo/setup.bash

You've installed ROS, but no HiroNXO software yet

All you need is this single line of commands.

  • sudo apt-get update && sudo apt-get install ros-indigo-rtmros-nextage ros-indigo-rtmros-hironx

Working with a real robot

When shipped, the robot should come with the two computers (Control Box and UI Controller) already be configured to communicate with each other. This section describes the things:

  • to check for troubleshooting.
  • Also if you want to use another Ubuntu computer instead of UI Controller.

NXO software by default uses a host name for communication. For your convenience, it's the easiest to set it in the operating system level. To do so:

  • Add the following lines in /etc/hosts to enable access to QNX host by hostname, not IP address:

  • # For accessing QNX for NEXTAGE Open
    192.168.128.10 nextage
    • Make sure you can ping nextage and get the pong back from the ip address you just associated with.

    • The IP address and the associated host name may vary depending on your preference, but with the factory setting of Kawada Robotics, it should be most likely these values.
  • Make sure eth0 is used to connect to the network above (in the example, 192.168.128.*) as a workaround for a known OpenRTM issue.

  • For simulation, you don't need to remove the configuration above.

This setting won't be harmful to your network usage, unless you have a network application that uses 192.168.128.x segment.

To update software

* The following will update ALL the software on your Ubuntu if newer versions are available.

  • $ sudo apt-get update && sudo apt-get dist-upgrade

* If you only want to update HiroNXO software,

  • $ sudo apt-get update && sudo apt-get ros-indigo-rtmros-nextage ros-indigo-rtmros-hironx

Overview of system

Two control computers

Kawada's Hiro and NEXTAGE OPEN robots run on two computers. For those who don't have an access to the product manual, brief description of both are:

  • "Controller Box" (as officially called) that runs on QNX realtime OS. Hardware control is done here.

    • Software here are NOT installable / modifiable by default. Please consult the business rep at the software service provider (see this section) if you wish. For those who have an access to QNX, some daily operational tasks are available in another tutorial.

  • "UI Controller Box" or "Vision PC" that runs on Ubuntu. Higher level application runs here.

In this tutorial, only the basic and recommended installation method is introduced. For advanced way of doing it (e.g. source install), please consult another tutorial.

Overall software components

https://docs.google.com/drawings/d/1ZfQg4EHrGAC7fvHEWLVQxxjBbdmWLu9tMwqmFhb1eQo/edit?usp=sharing

  • Fig. (click to magnify) Software components diagram both on QNX and Ubuntu for Hiro/NEXTAGE OPEN. You can see that users can write their own software to control the robot through ROS and hrpsys, how ever they like.

The tutorial page gives a full list of the tasks to install necessary software on Ubuntu, the application server that is commonly called as "Vision PC" by the manufacturer.

Installation and usage on QNX

All of HiroNXO software is publicly available, which doesn't mean that you can just download and run it on your HiroNXO out of the box. You need to build/compile it on the robot's controller host ControllerBox that runs on QNX operating system. And to compile on QNX you need a developer license which you can purchase from the vendor of your region.

How to install necessary software on QNX is not disclosed either. Other than the developer's license issue, QNX is a commercial software that you're required/advised to be certified for operation, or at minimum should be familliar enough with it. Also due to the lack of robust packaging infrastructure (like ROS has) on QNX, installation work can involve a long list of manual tasks and thus is very error prone.

However, for the cases as below touching inside of QNX is required:

  • When you need to rollback to the previous closed-source GRX controller (to use the program you wrote for it).

  • See log files for debugging cases that aren't clear from logs available via API on Ubuntu software.

In these cases you can obtain the logon account info from either manufacturer or the software service provider.

There's another tutorial page for that purpose.

Some workarounds

For older Ubuntu (not recommended)

New user is encouraged to start using HiroNxo software on Ubuntu Trusty - ROS Indigo combination. However, the option for older distro (Ubuntu Precise - ROS Hydro) is also available.

  • (Robot owner only) Connected to QNX over the Ethernet

    • You can verify by running a single command: ping nextage or ping hiro. See manufacturer's manual if this fails

  • Intel i5 or above

  • 4GB RAM or above
  • 15GB free disk space
  • Ubuntu 12.04
  • ROS Hydro

Patch for Hironx user on Ubuntu Trusty (14.04) ROS Indigo

As of July 2015, Hironx ROS software is not fully functioning on Ubuntu Trusty. No worries, there's a workaround patch. Follow the instruction suggested in this link.

(Update Oct 2015) An issue with collada_dom is resolved, so this tweak is no longer necessary.

Re-install older version of Ubuntu packages

You can install HiroNXO software by surprisingly fewer number of commands as you've seen above. That's because ROS maintenance organization (OSRF) runs a very sophisticated system that realizes package binary generation and distribution. They do not, however, keep the older version of binary packages.

Sometimes you may want to roll back your system to older version, when the latest version of the software available from apt-get (i.e. OSRF's repository) is now what you want. We do keep some older version of software installer here although very limited in the amount and variation.

  • Each file there is a .deb, which is an installer for Debian/Ubuntu. You can install the target and all the dependency by the something like following:

    dpkg -i %FILENAME%`
    apt-get -f install

Keeping old version of software comes with cost

Retrieving old version installers, and keeping them, comes with a cost of work and server running cost. The location above is run by TORK. Please consider funding them via Paypal, or even greater, consider donating to OSRF.

Wiki: rtmros_nextage/Tutorials/Install NEXTAGE OPEN software on your machine (last edited 2017-03-25 20:48:52 by IsaacSaito)