A ROS-based Software Framework for the NimbRo-OP Humanoid Open Platform Philipp Allgeuer, Max...
-
Upload
aaron-peale -
Category
Documents
-
view
215 -
download
1
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!