190 likes | 361 Views
ÓE-NIK TekiControl. Szabó Zsolt Ügyvivő szakértő (Kari Erasmus koordinátor) szabo.zsolt@nik.uni-obuda.hu http://teki.nik.uni-obuda.hu/ http://teki.knowsitall.info/. AIBO. AIBO ERS210. Several student projects using one hardware element
E N D
ÓE-NIKTekiControl Szabó Zsolt Ügyvivő szakértő (Kari Erasmus koordinátor) szabo.zsolt@nik.uni-obuda.hu http://teki.nik.uni-obuda.hu/ http://teki.knowsitall.info/
AIBO szabo.zsolt@nik.uni-obuda.hu
AIBO ERS210 • Several student projects using one hardware element • Two distinct programming interfaces: OPEN-R (C++), RCODE (script language w TCP/IP) • Object recognition, color normalization, robot soccer, remote control Independent projects, no teamwork • Problem: Ad-Hoc organization, no common classes / interfaces, no co-operation • Solution: ROS, TurtleBot2 (bought in dec.2013) szabo.zsolt@nik.uni-obuda.hu
TurtleBot 2 szabo.zsolt@nik.uni-obuda.hu
Actual state • What does our robot do?It collects data about the surrounding environment, then discards it and drives into walls. • What WILL our robot do?It SHALL collect data about the surrounding environment, then it SHALL do whatever we tell it to do. szabo.zsolt@nik.uni-obuda.hu
ROS structure • ROS is a „robot middleware” • ROS core: manages the basic communication between the various nodes • Nodes can be any software component, the basic principle of ROS is to be totally platform- and programming language independent (not fully true) • E.g. Kobuki, Kinect, CameraX, Kinect_Mic, Stereo_Mic, Speaker, etc etc etc szabo.zsolt@nik.uni-obuda.hu
Using ROS • Linux-based, usually Ubuntu LTS • We use an Ubuntu Precise (12.04) netbook • ROS Versions: Fuerte, Groovy, Hydro • ROS Windows Never ready, unstable, untested, highly NOT recommended • ROS Source Not really tested, not recommended • ROS Debian Not really tested, high number of package version conflicts • Live DVD or virtual machine: OK szabo.zsolt@nik.uni-obuda.hu
Publish & Subscribe • ROS nodes can communicate using topics and messages • A node can advertise (create) topics and publish messages into this topic • Other nodes can subscribe to topics and receive messages from that topic using callbacks • „Distributed multicast” possible, but the communication is always one-way • Custom message types are possible, messages are usually passed as references szabo.zsolt@nik.uni-obuda.hu
RosBridge • *UNOFFICIAL* package • A TCP/IP wrapper of ROS • Allows full ROS topic/message management using HTTP request/response pairs • All communication is done in JSON little slower (plus: no possibility of pass-by-reference) • Advantage: *TRUELY* platform and programming language independent ROS nodes are possible szabo.zsolt@nik.uni-obuda.hu
Native Languages • Default supported: c++ (roscpp), python (rospy), Java (rosjava, in Hydro) People in OE-NIK are usually not professionals in these languages • Roscs highly beta and extremely no documentation • Our own extension: TekiControl... A program written in C#, a .NET software layer above ROS to facilitate the integration of student projects • TekiControl is executed in Ubuntu using Mono szabo.zsolt@nik.uni-obuda.hu
TekiCore szabo.zsolt@nik.uni-obuda.hu
TekiControl • Currently: TekiCore + simple remote control of the robot from TCP/IP clients or from a webpage • Connection with ROS: Native C++ glue + UDP communication (probably extended as a managed ROS node in the future roscs2 ) • Example modules in C# and Managed C++ • Future plan (~3 years): RoboCup, HomeRobotics section • Student projects + teamwork + devices szabo.zsolt@nik.uni-obuda.hu
TekiControl modules • TekiCore C# szabozs • Examplemodules C# orC++ szabozs • FullManaged ROS ??? (szabozs? ) Othermodulesshould be donebystudents (eitherinnative ROS oras a TekiModule) • Managed PCL.NET • ROS vs OAA • ROS Simulation: Gazebo, Turtlesim • ROS documentationreview + check ( publicdomain!) szabo.zsolt@nik.uni-obuda.hu
TekiControl modules • Audio frameworks: speech recognition and synthesis (JACK, POCKETSPHINX, FESTIVAL) • 3D environment scanning and mapping(KINECT/FREENECT, PCL, SLAM) • Safe navigation using 0-360 lenses and cameras • Objectrecognition (OPENCV, MOPED) • Facerecognition (OPENCV, AFORGE) • Roboticmanipulatorarm (inthefuture) • Safe and target-findernavigation (inthefuture) „Teki, bringmemyglasses!” … szabo.zsolt@nik.uni-obuda.hu
A JÖVŐ… ??? szabo.zsolt@nik.uni-obuda.hu
Development model • HIGHLY centralized and supervised • Development at home or in 3.10 / 3.11, questions in email/gtalk/skype • A GIT repository will be created, one branch per module, „master” = TekiCore / szabozs • *REGULAR* weekly meetings + reports on weekly work • Every week: 1. current status 2. current problems 3. goals for next week 4. goals for next month szabo.zsolt@nik.uni-obuda.hu
Credits • Hungarians: Thesis Work I. + II. for big projects • TDK participation for small projects (*highly* suggested for big projects as well) • French students: small projects are advised, custom credits based on personal consultation • Brazilian students: Project Work I. + II. szabo.zsolt@nik.uni-obuda.hu
Application • DEADLINE: 3/MAR/2014, MIDNIGHT • Application in email: szabo.zsolt@nik.uni-obuda.hu • CV (must include list of previous projects / works AND a list of programming skills (languages, platforms, technologies) ) • Project topic • Environment (language, OS, ROS access method) • Imaginary project timeline szabo.zsolt@nik.uni-obuda.hu
Thank you for your attention!Questions ??? Szabó Zsolt Ügyvivő szakértő (Kari Erasmus koordinátor) szabo.zsolt@nik.uni-obuda.hu http://teki.nik.uni-obuda.hu/ http://teki.knowsitall.info/