Top Banner
A ROS-based Software Framework for the NimbRo- OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura, Sven Behnke Institute for Computer Science VI Autonomous Intelligent Systems
16

A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

Dec 14, 2015

Download

Documents

Aaron Peale
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform

Philipp Allgeuer, Max Schwarz, Julio PastranaSebastian Schueller, Marcell Missura, Sven Behnke

Institute for Computer Science VIAutonomous Intelligent Systems

Page 2: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 2Oct 15, 2013

MotivationWhy do we want a framework?

Implement features in a structured environmentProvide out of the box capabilities

Why use ROS?Open source, modular, easy code reuseHardware abstraction, low-level control

Other robots with ROS frameworks?Willow Garage PR2, Cosero NimbRoTurtleBot, Aldebaran Nao

Page 3: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 3Oct 15, 2013

Robot Operating System (ROS)What is ROS?

Meta-operating system designed for robotsCommunity-based open source initiativeOpen Source Robotics Foundation, Willow Garage

Pros and cons of ROS?Modular, hardware portable, flexibleProvides abstraction layers and device driversLarge ROS package repository, code sharingSystem communications overhead

Page 4: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 4Oct 15, 2013

The NimbRo-OP RobotRobotis Dynamixel MX Series Actuators8 × MX-64: Shoulder, elbow, neck12 × MX-106: Hip, knee, ankle

MaterialsCarbon compositeAluminium, ABS+

DimensionsHeight 95cm, 6.6kg

BatteryLithium Polymer14.8V, 3.6Ah

222

1 1

22

11

3

3

Battery

95cm

Open source hardware and software!

Page 5: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 5Oct 15, 2013

The NimbRo-OP RobotWiFi AdapterStandard: IEEE 802.11b/g/n

Wide-angle Camera with Fisheye LensLogitech C905

Zotac ZBox Nano XSAMD E-450 1.65 GHz (dual core)2 GB RAM, 64 GB SSDUSB 3.0, HDMI, Gigabit EthernetMemory card slot

CM730 Control BoardServo communications3-axis accelerometer3-axis gyroscope3-axis compass

WiFi Adapter

Camera

Processor

CM730

Discussion of Hardware

Page 6: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 6Oct 15, 2013

Software ArchitectureFramework is split into processes called ROS nodesPlugin schemes limit interprocess communication

Active Processes: Vision Nodelet Manager, Localization, Behavior Control, Robot Control

Passive Processes: Configuration Server, Game Controller, Joystick Driver

Tools: Calibration Tool, Vision GUI, Trajectory Editor, Visualization Tools

Active Processes: Vision Nodelet Manager, Localization, Behavior Control, Robot ControlActive Processes: Vision Nodelet Manager, Localization, Behavior Control, Robot ControlActive Processes: Vision Nodelet Manager, Localization, Behavior Control, Robot ControlActive Processes: Vision Nodelet Manager, Localization, Behavior Control, Robot Control

Passive Processes: Configuration Server, Game Controller, Joystick Driver

Page 7: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 7Oct 15, 2013

Robot Control NodeLow-level servo control and sensor managementHardware abstraction via hardware interfaces:

Robot interfaceRobot dummy interface

Extended via motion module plugins:GaitHead controlFall protectionMotion player

Page 8: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 8Oct 15, 2013

Vision SystemCaptures 800 × 600 YUYV images at 24Hz

Field of view ≈ 180° → Good visibility but high distortion

Page 9: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 9Oct 15, 2013

Vision System

Green Yellow

Orange White

Page 10: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 10Oct 15, 2013

Vision System

Page 11: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 11Oct 15, 2013

State EstimationLocal pose of the NimbRo-OP

Joint encoders → Forward kinematicsTorso attitude

3-axis accelerometer, 3-axis gyroscopeAngle estimation filter to get fused angle

Global pose of the NimbRo-OPLocalization using particle filter (beta)Processes compass readings, white line crossings and goal post detections

Page 12: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 12Oct 15, 2013

Configuration ServerHow to dynamically configure system parameters?

ROS parameter server?ROS dynamic reconfigure package?Configuration server?

Features:Centralized manager and storage location for

system parameters, with runtime reconfigurabilityParameters are shared globally across nodesCan load and save entire parameter hierarchy

Configuration server

Page 13: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 13Oct 15, 2013

System Visualization

Page 14: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 14Oct 15, 2013

Behavior ControlImplemented using behavior control frameworks

Predominant architecture in use here is the BCFSoccer behaviors have been implemented:

Search for the ball and walk behind it, while avoiding obstacles

Dribble and kick the ball towards the goal

Behavior Control Framework (BCF)

State Controller Library (SCL)

http://sourceforge.net/projects/statecontroller/ http://sourceforge.net/projects/behaviourcontrol/

Page 15: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 15Oct 15, 2013

Software ReleaseLink to ROS software release:

https://github.com/NimbRo/nimbro-op-rosLast updated Oct 7, 2013

Future workROS framework is expected to be subject to

further revisions and additionse.g. Object tracking and filtering

Integration of physics-based simulatorMore advanced soccer behaviors

Page 16: A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max Schwarz, Julio Pastrana Sebastian Schueller, Marcell Missura,

ROS-based Framework for the NimbRo-OP 16Oct 15, 2013

Thank you for your attention!