Tutorial <8>: Moving Pepper

In this tutorial, you will learn the movement of Pepper, focusing on the specifications and control method of Pepper's foot.

  1. Each drive systems, sensor specifications

  2. Simple movement

  3. Movement by orbit


Each drive systems, sensor specifications

Pepper moves around with wheels and it has various sensors around its foot area, which prevent collisions with the surroundings.

  1. Wheels (WheelFR [A], WheelFL [B], WheelB [C])

  2. Bumper (BumperFR [D], BumperFL [E], BumperB [F])

  3. Sonar (SonarF [G], SonarB [H])

  4. Lazor sensor ([I], [J], [K])

  5. Lazor actuator (Shovel [L], Vertical right [M], Vertical left [N], Front [O], Left [P], Right [Q]

There is absolutely no need for developers to know in detail about each of these drivers and sensors. The value of each sensor is processed automatically by the robot, and it is used for safety and more abstract event processing, and the driving system runs appropriately according to the information of the given trajectory.


Simple movement

The easiest way to create the movement is to use the Move To box.

Pepper can be moved by specifying the X, Y, Theta values of MoveTo box parameters.

In this tutorial, we will make Pepper process auditory input "front", "back", "left", "left", "right" and move to the corresponding direction, and rotate with the input "Clockwise" and "Counter clockwise". The application terminates when Pepper hears "End", with Pepper responding back "See you later".

Although you may have already seen it in tutorial (3), Pepper has a safety mechanism that it does not move if there is an obstacle. For confirmation of the movement, we will make Pepper say if the movement has been made successfully using the “Say” box.

Create Application

  1. Prepare the boxes

  • Speech > Creation > Speech Reco.

  • Programming > Logic > Switch case

  • Movement > Navigation > Move to x6

  • Speech > Creation > Say x3

For now, arrange boxes as shown in the picture about without connecting them

2. Set parameters

For Speech Reco. box, enter the list of words you want Pepper to recognize; "front", “behind”, “left”, “right”, “clockwise”, “counter clockwise” and “end”. Note that each word must be separated with a semicolon.

For parameters of each Move To box, set

  • X = 0.2 (20 cm forward),

  • X = - 0.2 (20 cm backward),

  • Y = 0.2 (20 cm to the left),

  • Y = - 0.2 (to the right 20 mm),

  • Theta = 1.57 (90 ° counter clockwise),

  • Theta = -1.57 (90 ° clockwise)

3. Set conditional branch

Set the conditions in the Switch Case box. In order from the top to bottom, insert "front", "behind", "left", "right", "clockwise", "counter clockwise" and "end". Make sure that each word is surrounded with double quotation marks.

4. Connect boxes (success)

First, connect boxes without considering the case where Move To box fails.

5. Connect boxes (failure)

Next, connect boxes for when the Move To box fails.

6. Change contents of Say box

Insert "success" (Say), "fail" (Say (1)), "See you later" (Say (2)) to the corresponding Say box.

Now the application is ready to be initiated.

Operation check

Connect Choregraphe to the virtual robot or your Pepper hardware and run the application.

With the virtual robot, open a dialogue pane and enter "front", "behind" etc. [1]. You should be able to confirm that the robot moves [2] and say "success" [3].

With the hardware robot please talk to Pepper and if Pepper moves and say "success", the application is running successfully.


Move by orbit

By using the creation function of planar move provided in Choregraphe, you can intuitively define a free orbit.

Creating movement with Planer move

1. Click the [+] button in the Project files pane and click [Create planar move...].

2. Set an appropriate name for the planar move and click [Add] button.

3. Planar move editor appears on the window.

You can create an orbit by dragging the circle at the centre of the screen. When you click on [New path] button, you can add a new curve (path) and draw an orbit continuously.

4. You can specify the time frame of the orbit sequence with the frame number. (numbers found under Keyframes)

As the frame number increases, the movement becomes slower, and as the frame number decreases, the movement becomes faster.

5. If necessary, relative orientation of Pepper at the end point of the movement can also be specified.

6. The trajectory is edited in the unit of trajectory. By clicking [New Trajectory] button found at the bottom of the editor, you can edit the new path.

If you click [1] trajectory, you can re-edit the path you have edited so far

Using Planer move

1. You can use the edited planar move by dragging and dropping it on the flow diagram panel.

2. Connect the box

It is also possible to drag and drop the Move Along box and set Planer Move Trajectory from the parameter.

Connect to Pepper (hardware or virtual robot) and run the application. See if Pepper moves following the created trajectory.

Latest Articles