Robot Viewer

The Robot viewer gathers several tools allowing to monitor the robot on which the plugin is connected:

  • Robot view displays a 3D view of the robot,
  • Motion View allows you to control the movements of the robot,
  • Dialog view allows you to watch dialog outputs and enter dialog inputs,
  • Log view allows you to watch the logs.
../_images/robot_viewer.png

To display the Robot viewer, see: Running the Robot Viewer.

Robot view

The Robot view displays a 3D view of the connected robot.

Good to know:

  • an emulated robot is displayed on a blue background, while
  • the remote view of a real robot is displayed on a green background.
../_images/viewer_real_or_virtual.png

Toolbar

The Robot view toolbar allows to modify the displayed information.

Button Description
image38 Display 3D information
collision Show collisions
image39 Do not show world representation objects
image40 Do not update robot position
image41 Do not update motors position
image42 Do not dhow the engagement zone
image43 Do not show the perceived people

Motion View

Motion View lets you modify the joint values of each limb.

image44

Index Name Description
A Slider Allows you to adjust the joint value.
B Current joint value

The color indicates if the requested value has been reached.

Green indicator means the current joint value equals to the last requested value.

Blue indicator means that the joint value is not (or not yet) the requested value. It could be because

  • the command execution is still ongoing.
  • the joint cannot reach the requested value due to an obstacle such as another body part or a wall blocking its way.
C Record button

Saves the defined value, when a Timeline box is currently opened.

This button can be:

  • Grey: you cannot store joint values because you are not currently editing a Timeline box.
  • Black: the current joint value is not stored at the current selected frame.
  • Black and red: the current joint value is being stored at the current selected frame.
D Stiffen chain on/off button

Sets on/off the Stiffness of the whole selected chain of joints (Head, Arm or Leg).

This button can be:

  • Green: Stiffness off, you can move this part manually on the real robot, but commands have no effect.
  • Orange: intermediate state depending on the Stiffness value.
  • Red: Stiffness on, the robot is able to move this part when requested, but you cannot move it manually.
E Mirroring option

If selected, actions (send a command value, register a joint value, etc) are also executed on the symmetric limb.

For example left and right arms will move the same way.

Log view

Log view displays the log messages generated from robot actions to aid you debug your application. You can select the log level to display.

image45

Dialog view

Dialog view provides a visual interface between you and your robot that lets you send dialog messages to your robot.

image46

Running the Robot Viewer

Robot viewer is run automatically when a robot is connected to your plugin.

To connect your plugin to a robot, see:


Launching an emulated robot

To manually launch an emulated robot in Android Studio:

Step Action

Click the Emulator emulator_btn button in the toolbar.

The emulated robot appears.

Note that the Robot emulator is automatically launched upon running your application. Note also that the emulator launched depends of the API level of your robotic android project.

Robot emulator

The Robot emulator displays:

../_images/emulator.png

How it works

Robot emulator consists in the modules described below.

Module Description
NAOqi

Robot emulator engine.

Emulates the operations of the real robot.

Robot Viewer

Viewer.

Displays the simulated robot behavior.

AVD

Android Virtual Device.

Has the same configuration as Pepper tablet. Your robot application is run on it.

All three of them have the same lifecycle: they are launched together and will all stop if one of them is stopped.

Connecting to a real robot

Prerequisite: make sure your robot is configured. For further details, see: Preparing a robot for his first connection.

Step Action

Click the connect_btn Connect button.

The Robots Browser appears, displaying detected robots.

Select one of the robot in the list.

If the robot does not appear, you can also check then complete Use fix port and Use fixed IP/hostname fields.

Click the Select button.

Troubleshooting

Robots Browser

Robots Browser allows Connecting to a real robot.

../_images/robot_browser.png

List of robots

The table below describes the columns of the list of robots.

Name Description
image19 Enables you to add a robot to Favorite.
Status Displays the Type and state of the robot.
Name The robot’s Name.
Port The port used to connect to the robot.
Host The host used to connect to the robot.

Favorite

To add/remove a robot to Favorites, click the star.

Icon Description
image20

The robot is a Favorite robot.

The next time you open Connect to panel, the favorite robots will appear at the top of the list.

image21 The robot is not a favorite robot.

Type and state

Icon Description
image22

A physical robot.

NAOqi is not running.

The robot is in a state in which it should be impossible to establish a connection. NAOqi has been shutdown or is in a state that does not allow the connection.

image23

A physical robot.

NAOqi is running.

You can connect to this robot.

The contextual menu offers also the following options:

  • View web page: Displays the webpage of the robot, where you can configure it (WiFi, name, NAOqi, …).
  • Test LEDs: Starts a little animation on the eyes of the robot. This enables you to confirm that this robot is yours.
  • Copy Host:Port: Copies the host and the port to the clipboard.
  • Copy name: Copies the name to the clipboard.
image24

A simulated robot.

You can connect to this kind of robot.

But you cannot view its webpage nor test its LEDs.

Preparing a robot for his first connection

To be able to connect to a robot, check his Settings on his tablet:

Home > Settings settings_icon.

Make sure:

  • the Developer mode is activated.

    For further details, see: Enable developer options.

  • the Developer options / Debugging / ADB is also activated.