This thesis describes a general framework for synchronizing behaviors in a complex robot, using a Finite State Machine. The framework is developed in C++ and with the robotic framework ROS. It will be used for the EU funded research project CROPS for developing a fruit harvesting robot. The thesis also focuses on how to connect a robot behavior to a state that makes pre-emptive multitasking possible. One important thing about connecting a behavior to a state is which kind of communication to use; publish-subscribe, request-reply, or a goal-feedback-result communication. These communications can be used by two different state interfaces. Another important point regarding connecting a behavior to a state is the definition of state transitions. The state transitions are defined in a text file in yaml format. There are also three different ways of implementing state transactions presented. Passing data by ROS messages, by ROS parameter server and by saving and loading data in and from the Finite State Machine. The framework has been successfully implemented in CROPS and is able to control a robot arm.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:umu-58254 |
Date | January 2012 |
Creators | Hohnloser, Peter |
Publisher | Umeå universitet, Institutionen för datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | UMNAD ; 910 |
Page generated in 0.1423 seconds