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
[Link]/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
[Link]
Subscribe to our newsletter
and follow us @anybotics
OPEN POSITIONS //
Join Us!
Career
[Link]/career/
38 // ANYbotics