You are on page 1of 38

PRESENTATION //

Building a Legged Robot with ROS


Case Study by ANYbotics

February 28, 2020


Maximilian Wulf, Harmish Khambhaita
ROBOTICS REVOLUTION //

Robots Change the Way We Work

≫ ≫
1980 2010 2020

Manufacturing Logistics The New World


Stationary manipulation Mobile interaction in industrial, urban
Mobility in structured environments
and natural environments

Let Robots Go Anywhere!

3 // ANYbotics
THE CHALLENGE //

Safety, Data Quantity and Quality Are the Main Cost Drivers for Inspection

SAFETY QUALITY

QUANTITY

4 // ANYbotics
5 // ANYbotics
ROBOT HISTORY //

From Research to Industrial Applications

2009 2012 2015 2017 2018 2019


ALoF StarlETH ANYmal Alph ANYmal Beth ANYmal B ANYmal C

RESEARCH DEMONSTRATOR APPLICATION

Maturity, Autonomy, Performance, Robustness

6 // ANYbotics
VIDEO //

ANYmal C Legged Robot – The Next Step in Robotic Industrial Inspection

7 // ANYbotics
EXTREME MOBILITY //

ANYmal C’s Legs Provide Extreme Mobility in Challenging Environments

SPEED OMNI- SLOPE


[1 M/S] DIRECTIONAL [20°]

STAIRS STEP OBSTACLE


[45°] [35 CM] [20 CM]

OVERHANGING GAP PASSAGES


[50 CM] [25 CM] [60 CM]

8 // ANYbotics
OPERATING MODES //

Fully Autonomous Operation and Seamless Switching to Supervised or


Manual Control

Teleoperated Supervised Autonomous

9 // ANYbotics
ADVANCED SENSING //

All-around Depth Cameras for Obstacle Detection

360° OBSTACLE DETECTION


4x DEPTH CAMERAS

10 // ANYbotics
ADVANCED SENSING //

360° Environment Scanning

360° OBSTACLE DETECTION


4x DEPTH CAMERAS

ENVIRONMENT SCANNING
LIDAR

11 // ANYbotics
ADVANCED SENSING //

Front and Back Cameras for Teleoperation

360° OBSTACLE DETECTION


4x DEPTH CAMERAS

ENVIRONMENT SCANNING
LIDAR

WIDE ANGLE CAMERAS

12 // ANYbotics
ADVANCED SENSING //

GPS (RTK) Based Navigation for Outdoor Environments

360° OBSTACLE DETECTION


4x DEPTH CAMERAS

ENVIRONMENT SCANNING
LIDAR

WIDE ANGLE CAMERAS

GPS (OPTIONAL)

13 // ANYbotics
PAYLOAD OPTIONS //

Expandable Platform to Tackle a Wide Range of Applications

THERMAL CAMERA

CPU
Carry a payload with up to 10 kg Dedicated onboard computer for
SPOTLIGHT custom applications

ZOOM CAMERA
Access to USB, Ethernet, and Interface via ROS APIs
power sockets
PAN-TILT UNIT

Example inspection payload

14 // ANYbotics
ROS For ANYmal

15
ROS //

System Overview

12x ANYdrives IMU 4 Depth Cameras LIDAR Thermal Camera Microphone Visual Camera

Operator PC
WiFi
Remote Control UI
Locomotion PC Navigation PC Application PC
Visualizations
State Estimation Localization Visual Inspection
Mission Control
Locomotion Control Terrain Mapping Thermal Inspection

Ethernet
Navigation & Mission Audio Inspection Radio
Planning

Safety operator

16 // ANYbotics
ROS //

Robot State Simulation, Visualization and Interaction

RVIZ
Visualizes off the shelf and custom
ROS topics.

RQT
Combines different control and
supervision elements into one GUI.

Gazebo
Simulating the physical world
around ANYmal.

17 // ANYbotics
ROS //

Interaction with Real Robot

RVIZ
Visualizes off the shelf and custom
ROS topics.

RQT
Combines different control and
supervision elements into one GUI.

Real Robot
Real physics guide the motion of
ANYmal.

18 // ANYbotics
ROS //

ROS Bags

Recording
Record topics on the robot while
performing any task and save them to a
ROS bag.

Replaying
Replay the ROS bag on a local computer,
run the corresponding algorithms on it and
visualize the results in RVIZ.

Debugging and Tuning


Increase of code reusability and more
lightweight using and testing of the library.
Simple setup of distributed systems.

19 // ANYbotics
ROS //

ROS Agnostic Design

Modularity
NAVIGATION_CORE LOCALIZATION_CORE
Separate core algorithms (_CORE) from
ROS interface nodes (_ROS). Plugins allow
injection of ROS dependent code.
NAVIGATION_ROS LOCALIZATION_ROS

Independence
Usable in environment without ROS and
minimal effort to update to new ROS
versions

ROS NETWORK
Scalability
Increase of code reusability and more
lightweight using and testing of the library.
Simple setup of distributed systems.

20 // ANYbotics
ROS Inside ANYmal

21
LOCOMOTION // OVERVIEW //

Sense-Think-Act
Sensor measurements

Joint commands
State Estimation Whole-Body Control Actuation Robot

Joint torques
Robot state

22 // ANYbotics Strictly Confidential


LOCOMOTION //

Perceptive Locomotion

Stair Climbing Terrain Perception Obstacle Avoidance

23 // ANYbotics Strictly Confidential


LOCOMOTION //

Learning Locomotion Skills

Simulation Real Robot


Using reinforcement learning in a simulator to learn specific With Sim-to-Real transfer the learned model is applied on the
motions and maneuvers. real robots. One specifically learned capability is fall recovery.

24 // ANYbotics Strictly Confidential


PERCEPTION AND NAVIGATION // OVERVIEW //

More Sense-Think-Act

Global
Localization
Navigation

Near
Local
field
Navigation
perception

25 // ANYbotics Strictly Confidential


PERCEPTION //

Simultaneous Localization & Mapping

Point Cloud based SLAM Scalable


LIDAR and depth sensors are used to generate a map and A localization accuracy of less than 10 cm is achieved while
localize within the map. being scalable to large industrial environments.

Hagenholz, Oerlikon Wangen an der Aare

26 // ANYbotics Strictly Confidential


PERCEPTION //

Terrain Mapping

Elevation Mapping Grid Map


Robo-centric height maps are generated based on the Dedicated data structure created for height maps and shared
surrounding depth data. with the ROS community. Tight integration into RVIZ with a
custom visualization plugin.

Open Source
www.github.com/anybotics

27 // ANYbotics Strictly Confidential


NAVIGATION //

Path Planning & Following

Calculation Execution
Given a point cloud based map, the software finds the shortest Given a path the module outputs velocity commands to the
path from A to B in a graph. Based on the task it can switch locomotion controller. With the help of perception it can also
between different controllers. avoid obstacles.

Path Planner Path Follower

28 // ANYbotics Strictly Confidential


INSPECTION CAPABILITIES //

Regularly Collect and Interpret Physical Properties of Equipment and


Environment
Reading Instruments Detecting Events Checking Health of Monitoring
Equipment Environments

GAUGES VALVES COUNTERS THERMOGRAPHY ACOUSTIC LABELS HOTSPOTS GASES ALARMS 3D MAPPING ESCAPE ROUTES

PHOTO LEAKAGES MISSING PARTS TEMPERATURES EQUIPMENT HUMANS

29 // ANYbotics Strictly Confidential


AUTONOMOUS MISSION //

Factory Automation

Monitoring Repeat
The health of the system is constantly monitored. In case of a Teach once, repeat forever. Navigation and inspection tasks can
failure or undefined behavior a rescue behavior can be be scheduled. Each customer gets an easy-to-use interface to
performed or a remote operator can be contacted. create custom missions.

Start Failure Check


Health

Success

30 // ANYbotics Strictly Confidential


AUTONOMOUS MISSION // EXAMPLE //

Automated Docking

Find docking station


Perception based detection system.

Dock
Autonomous maneuver.

Rest
Switch on power saving mode.

Repeat
Continue once fully charged.

31 // ANYbotics Strictly Confidential


How We Keep Things Smooth

32
SOFTWARE TOOLS //

Computer Setup

Consistency Code Sharing


All developers and all robots have the same setup. The Software version is controlled with Git. Gitlab acts as host and
computers run Ubuntu 18.04 LTS with ROS Melodic. ANYbotics employs a monorepo structure. Open-source
packages are maintained on GitHub.

33 // ANYbotics
SOFTWARE TOOLS //

Quality Assurance
Notification

GitLab CI
Runs on pushed commit.
Update
CI / Tests in Simulation
Unit tests
Commit
Runs on every merge request.

ROS integration tests


Runs every night.

Notification
Hardware in the loop test
Once every week.
Bleeding Edge
Debians Install PPA
Tested binaries are released frequently for
customers.

Update Stable PPA


Tests on Hardware

34 // ANYbotics
SOFTWARE TOOLS //

Rules for the Developers

■ Software Development Instructions


→ ROS and catkin best practices
→ C++ style guide
→ Development workflow
■ Documentation
→ API documentation using Doxygen
→ User manual using Sphinx

35 // ANYbotics
ANYMAL RESEARCH //

Partners Around the World

36 // ANYbotics
Thank you!

ANYbotics AG
www.anybotics.com

Subscribe to our newsletter


and follow us @anybotics
OPEN POSITIONS //

Join Us!

Career
www.anybotics.com/career/

38 // ANYbotics

You might also like