Download presentation
Presentation is loading. Please wait.
1
Getting Started with Aibo and Tekkotsu
Tekkotsu - (“iron bones”) - Controller overlay and development environment from CMU OPENR-SDK - basic developers kit from Sony (model specific) Aperios - firmware OS in Aibo Aibo (“friend”)
2
AIBO
3
Hardware Sensors - Actuation motors and Outputs
320 line CCD camera with color segmentation hardware IR distance sensors (2 on ERS-7), one on ERS 210 Position encoders for all joints actuator motors (see below) Stereo Microphone Touch sensors (switches) head (1), back (3/ers7, 1/ers210), chin Accelerometer for detecting falls and pick-ups Switch sensors on each paw pad Actuation motors and Outputs Joint actuation motors (one per paren) Tail: (left/right) Neck: (up/down) Head: (left/right) (up/down) Hip/shoulder- per leg: (in/out) (forward backward) Knee, (bend position) Ankle (bend position) Audio channel Networking and removable media 803/11g – wireless network channel removeable memory stick slot.
4
Aibo Programming Model
An Aibo “program” is a collection of concurrent/event driven threads called “BEHAVIORS” Example: Head tracks of object in visual field, barks and wags tail when object found Behavior (foreground) Behavior (foreground) Look for object Point head at object Bark and wag tail Monitor the battery charge Behavior (background) Behavior (foreground)
5
Shared Objects WorldState Object- Shared memory region that holds the current state of all sensors and actuators Updated in background every 30ms read by behavior Motion Objects - one unique object for each motion, i.e. move head to a specific position Several canned ones w/Tekkotsu or you can write your own Named <motion>MC.cc (.h) by convention Executed through the “motion manager” process More later
6
Behavior Class template
#ifndef INCLUDED_happyBehavior_h_ #define INCLUDED_happyBehavior_h_ #include "Events/EventRouter.h" #include "Behaviors/BehaviorBase.h" #include "Motion/MotionManager.h" #include "Motion/MotionSequenceMC.h" class happyBehavior : public BehaviorBase { public: happyBehavior() : BehaviorBase(), stand_id(MotionManager::invalid_MC_ID), stand() { // initialiation of stand up behavior stand->setPlayTime(700); // 700 milliseconds to stand up stand->setPose(PostureEngine("/ms/data/motion/situp.pos")); } virtual void DoStart(); virtual void DoStop(); virtual void processEvent(const EventBase& event); virtual std::string getName() const { // Name is used for menus, or debugging. return "happyBehavior";} protected: MotionManager::MC_ID stand_id; SharedObject< MotionSequenceMC<MotionSequence::SizeSmall> > stand; }; #endif Includes for Motions Events Base-behaviors Constructor must run constructor for base class DoStart() runs each time behavior activates DoStop() runs each time behavior deactivates EventHander(event) Runs on incoming event For debugging Intermal data structures
7
How Tekkotsu Works
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.