A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max...

Post on 14-Dec-2015

215 views 1 download

Tags:

Transcript of A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max...

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

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

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

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!

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

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

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

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

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

Vision System

Green Yellow

Orange White

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

Vision System

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

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

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

System Visualization

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/

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

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

Thank you for your attention!