Home

Creation of a robot-user interface for persons with

image

Contents

1. BACHELOR THESIS 2 Biomedical Engineering Medical and Hospital Engineering Creation of a robot user interface for persons with reduced motor capabilities Executed by Simon Schmid Personal Identifier 1010227051 Advised by Dipl Ing Christoph Veigl Vienna May 13 2013 FACHHOCHSCHULE TECHNIKUM WIEN Declaration confirm that this paper is entirely my own work All sources and quotations have been fully acknowledged in the appropriate places with adequate footnotes and citations Quotations have been properly acknowledged and marked with appropriate punctuation The works consulted are listed in the bibliography This paper has not been submitted to another examination panel in the same or a similar form and has not been published declare that the present paper is identical to the version uploaded Place Date Signature Kurzfassung Im Laufe dieser Bachelorarbeit wird ein Roboter Modell f r Menschen mit Behinderung entwickelt um eine gr tm glich Selbstst ndigkeit zu gew hrleisten Dabei k nnen verschiedene Sensoren wie Gesichts oder Augen Scanner einer Gehirn Computer Schnittstelle BNCI Joysticks uvm zur Steuerung verwendet werden Durch die Verschmelzung dieser Sensoren mit dem AsTeRICS System Assistive Technology Rapid Integration and Construction Set k nnen verschiedene Ger te wie Computer oder on screen keyboards einfach ber eine einzige Plattform gesteuert werden Durch Ve
2. highlighted and the person uses a desired sensor to select the respective cell on the graphical keyboard The AsTeRICS system provides a configurable on screen keyboard application OSKA 2 where fully graphical keyboard grids can be designed with a dedicated editor A cell selection by the user can trigger events in the AsTeRICS Runtime Environment ARE where they can be linked with desired actions By the use of a face tracking or eye tracking system via point and click operations the cursor can be controlled through head or eye movements and cells of an on screen keyboard can be efficiently selected 3 As on screen keyboards are widely used there are a lot of researches on different scanning processes to find out which is the best way to select a single button This is important when handicapped person only can use a binary input device like a puff and sip sensor An additional and novel type of support is the use of robots which are equipped with a manipulator arm and can recognize different objects grab and carry them These robots are designed especially to help elderly and or people with reduced motor capabilities One example is the recent introduction of a household robot developed by the company Toyota 4 Also the Technische Universit t Wien TU Wien is developing a robot arm which can identify and grab a specific object 5 Therefore the idea came up to merge the AsTeRICS software with ROS to develop a su
3. re use of functionalities message exchange between programs or program parts package management and exchange of libraries for usage on multiple computers Also a big variety of different robot types are compatible with ROS For the full list of usable Robots visit www ros org wiki Robots In this thesis the Pioneer P3 at robot platform is used described in chapter 2 8 In addition a full list of the compatible sensors exists at www ros org wiki Sensors In the following section the basics and some functions of the ROS framework are described in detail for further understanding of this Bachelor thesis 2 2 1 ROS basics The Robot Operating System bases on a topic system where various messages can be subscribed to These messages could contain for example a command for moving the robot to the right The topics and messages are defined in a node Such nodes can communicate with each other through sending messages to a specific topic This system is described in detail with the help of the following picture Node Topic turtle1 command velocity fturtlesim nmm teleop turtle Node Node Figure 4 Example of a ROS program with different nodes and topics Source 9 In this example a little turtle can be moved on the screen using the arrow keys of the keyboard The node turtlesim contains the topic turtleT command velocity which is responsible for moving the robot in the desired direction The node teleo
4. 29 and figure 30 show the graphical interface of the simulation tool With Gazebo it is possible to generate and edit complex simulation scenarios by simply dragging and dropping walls or objects Such elements also can be inserted by writing a command into the console or terminal It is also possible to record the movements for further analysis of the systems behavior For executing the simulation the ARE running the AsTeRICS Pioneer model was started on a computer running the operating system Windows 7 The Gazebo simulator and the ROS program which receives the commands sent by the ARE were started on a laptop running the operating system Ubuntu These two computers were connected over the network using a 38 WLAN Router When testing the whole program and every function the robot and the katana arm moved as desired For example when the button for closing the gripper was pressed on the on screen keyboard the gripper in gazebo closed in an instant Te View u BO OB EG Models Tme fosco jame tmar 170 Ram Tore fa 7 lined Beat Teme fa ic mm tm Teme E fasaa nme Figure 29 Graphical interface of the Gazebo simulation tool for the mobile platform F r View row FOS Sr Se amp Mores View I3 eten Tome ion an isas me 1 comme me foi rmn tme Figure 30 Graphical interface of the Gazebo simulation tool for the katana arm 39 4 2 Testing the robot model with the Pioneer p3at Every function of the OSKA on scre
5. Jalu bat B rse nnb LU ud sen LO 204 re pe um x 203 j x 10 Fiver ne LU 10588 HF Messt neces Dra 0 057 sec old Most eini brandon 0 05 63 jit ced it vot merak 0 055 sec old jest Fe ae 0 087 sec aki Buffer ler rete d 704 de Buffer length 4 T04 sec Buffe r lanai 4 B4 SH Buffer length 4 805 sec n Tagus Henr depth optimal T fat MN asus front rgb optical Fan ame e Z laus back depth optika i ira are am ih Fire back rgb sobxal frame Figure 23 Hierarchic tree of the camera and laser scan link 32 For ROS it is necessary to define such dependencies because they are needed for the correct computation of every device s origin of ordinates In this chapter the parent child relationships and how the dependencies to each other are defined are not described any further because this is done in chapter 2 2 5 and chapter 3 2 5 The following figure shows how the point cloud and the laser scan from both cameras look like In the bottom left corner the video feedback of the infrared camera can be seen The point cloud red was generated from this image The computed laser scan black can also be seen in the picture Color ee 08 Point Cloud22 Point Clowd2 10 Image image mil i Status OK Image Topic Jasus frontfir image raw Tranmiport Hint ri Image Tapic sensor rmisgs imace topic to subscribe ta Figure 24 Example of a recorded point cloud red and the thereof created laser scan black 3 2 4 Op
6. a 2D costmap that takes in sensor data from the robot and builds an occupancy grid from the data With the help of this occupanoy grid the robot now knows where to move and how close it can move towards a wall Also suddenly appearing obstacles are registered and recorded The user has to define some parameters like the robot s safety radius or update rate In this thesis all needed parameters are loaded when calling the move base node For the full list of editable parameters used by this node visit the ROS website 24 The following picture shows a generated costamp2D where the red cells represent obstacles the blue sells represent obstacles inflated by the inscribed radius of the robot and the red polygon represents the footprint of the robot To avoid any collision the footprint of the robot should never intersect a red cell and the center of the robot should never touch a blue cell 35 7 Figure 27 Example of the appearance of a map including the costmap package Source 18 3 2 8 AMCL The AMCL package provides a localization system for robots moving in 2D It computes the robot s current position in the map with the help of the laser scan and odometry data and creates a relationship between the base frame and the map frame Without this package the current position of the robot on the map would not be known The figure below shows the difference between localization using odometry and AMCL Odometry Localization Dead Reck
7. concludes with a discussed and some future prospects are mentioned in chapter 7 It has to be mentioned that all terms by whatever means either male or female that they have to be interpreted gender free and that both sexes are meant although it is not as such mentioned 1 1 Potential Target Group As the number of people with reduced motor capabilities has not reduced in the last years the assistive technologies market and its products have developed very fast More than three million people worldwide are affected by paraplegia Of these three million people around 52 have hemiplegia and around 46 have tetraplegia 6 People with extremely reduced motor capabilities can often only use single buttons like momentary switches or puff and sip sensors and therefore depend on assistive devices where the selection of the functions is adapted to the physical condition of the user With the AsTeRICS system it is possible to use an input device designed specifically for one particular user and with the implementation of ROS it is possible to link different robot modules with AsTeRICS So this thesis provides a robot user interface for persons with such physical conditions in particular and in general for all people with motor impairments So it addresses a wide ranged group But not only handicapped persons can benefit from this idea also elderly people who have reduced fine motor skills could use a service robot system for simple tasks like fetching
8. execution or get a feedback about the request s progress Therefore the actionlib package provides a server client model for such preemptable tasks The so called ActionServer and ActionClient communicate via a ROS Action Protocol This protocol is built on top of ROS messages On the Client side the user can request a goal which then gets executed on the server side The following figure shows the scheme of the ActionServer and ActionClient Client Application Server Application user code user code callbacks functi client sendGoali function calls void executeGoallg ee ee function calls T callbacks Figure 5 ActionServer and ActionClient communication scheme Source 12 The client and server communicate via Goal Feedback and Result messages which are described below Goal The ActionClient can send a goal message to the ActionServer to accomplish a task For example if the user wants to move a robot the goal message would contain information about where the robot should move to Feedback The feedback message is send periodically from the ActionServer to the ActionClient and tells the client about the progress of the goal For example in the case of moving the robot the feedback message would contain information about the robots current position Result The ActionServer sends a result to the ActionClient The result contains information about the completion of
9. is added That means the robot will be able to move to four different locations by its own as also the current position can be saved and recalled at any time The user will also be able to use a katana arm to interact with the environment Therefore following commands for the katana movements were implemented e Move forward e Move backward e Move left e Move right e Move up e Move down e Grab e Release e Save the current position e Move to the saved position e Move to the initial position e Raise the movement width e Lower the movement width As there are three different movement cases there will be three different on screen keyboards available The user can switch between those anytime in runtime In the following chapter 2 1 AsTeRICS system overview the AsTeRICS framework is described and the possibilities for navigating the robot are outlined Subsequently in chapter 2 2 the Robot Operating System ROS and for this thesis necessary ROS functions are described Chapter 2 4 describes what a point cloud is Chapter 2 5 describes how an infrared distance measurement works and chapter 2 6 describes the term kinematics In chapter 2 7 a TCP IP connection is described and in chapter 2 8 the utilized robot platform and its modules and functions are presented Chapter 2 9 describes two use cases In chapter 3 the whole implementation process and all implemented functions are described Chapter 4 presents the results Chapter 5 and 6
10. the robot should move to It then forwards the velocity command to the robots motor The node also publishes the topic pose here renamed into odom which contains information about the robots current position and movements The node evaluates the current position through summarizing all movement events so far But with this information only the robots movements can be tracked not the actual position on for example a known map Therefore other nodes like AMCL and map server are needed 29 The p2os driver is an open source package which is updated permanently and can be downloaded from the ROS website Nothing of the original package was altered in this bachelor thesis 3 2 2 Katana package For interaction and manipulation of objects there are various open source packages available As on the robot a Neuronics katana arm is mounted the package katana arm navigation and katana driver stack were used The katana driver stack provides the main driver for the katana arm With the help of the katana node the user can control and drive every single motor The node katana arm navigation provides the kinematics inverse and forward for the arm This node bases on an actionlib so the user can send goal commands to this node That means if a goal where the endeffector should move to is sent to the katana arm navitation node via a service call it calculates how each motor has to move to reach the goal The therefore necessary mot
11. things or carrying objects with the use of a robot arm 2 Material and Methods 2 1 AsTeRICS system overview AsTeRICS consists of different components the hardware modules and the software framework A great variety of the hardware modules are available For this thesis only standard mouse input and a webcam for face detection are used As there are a lot of hardware modules the system can easily be personalized to special needs of a person The actually useable sensors for navigating the robot are described in Chapter 2 4 The full list of available Sensors and Actuators can be looked up in the User Manual which can be found the download section of the official ASTeRICS website 7 Figure 1 shows the concept of the AsTeRICS system Display Touchscreen optional AsTeRICS Personal Platform embedded computing system Actuator modules Gripper etc Communication modules 4 USB Bluetooth etc Sensor modules EMG accelerometer etc Configuration Suite running on Personal Computer optional Figure 1 Concept of the AsTeRICS system Source 1 S 6 The hardware components include all sensors and actuator modules the Communication Interface Modules CIMs and a computing platform like a laptop tablet etc The sensors and actuators are used to establish an interaction between the user and his environment The CIM then provides an interface and connects the sensors and actuators to the com
12. 000000 18 Figure 8 Example of a recorded point cloud Source 14 cess 19 Figure 9 Principle of infrared distance measurement Source 15 19 Figure 10 Forward kinematic scheme Source 16 0 0000s000000000000000000000000000000000000000000000 20 Figure 11 Inverse kinematic scheme Source 16 eere eee eee eee eere ee eee eee esee eneeee 21 Figure 12 Appearance and current setup of the PioneerP3 at robot 22 Figure 13 Use case scenario using one button switches for navigation the robot 23 Figure 14 Use case scenario using a webcam for navigating the robot 23 Figure 15 Model setup of controlling the pioneer with the OSKA plugin 25 Figure 16 Runtime example of the robot modlel eere e eee ee eese eene ette esee ene eta ee ennae 25 Figure 20 Example of how the P2OS driver works eere eee eee eee eee eee ee eese en esten esten se tanae 29 Figure 21 Appearance of the katana arm sssssssssssssessnssensnssensnsnsnsnsnnssnssnssnssnssnssnssnsssssnssnsnsssssnsssssene 30 Figure 22 Hierarchic tree of all links of the Katana arm parts
13. 1 2013 Agence France Presse IndustryWeek Online at Internet URL http www industryweek com robotics toyota unveils robot designed perform household chores last accessed 4 12 2012 Der Standard Online at Internet URL http derstandard at 1345166255878 lm Umgang mit uns muessen Roboter weich werden last accessed 4 12 2012 http www wingsforlife com de at querschnittslaehmung ursachen folgen last accessed 12 1 2013 Kompetenznetzwerk KI I Project AsTeRICS http www asterics eu index php id 26 last accessed 12 1 2013 Morgan Quigley Brian Gerkey Ken Conley Josh Faust Tully Foote Jeremy Leibs Eric Berger Rob Wheeler Andrew Ng ROS An open source Robot Operating System Stanford University Willow Garage University of Southern California http www ros org wiki ROS T utorials Understanding Topics last accessed 4 12 2012 Eclipse Foundation http www eclipse org last accessed 12 1 2013 http www kdevelop org last accessed 12 1 2013 www ros org wiki actionlib last accessed 12 5 2013 http mainland cctt org istf2006 sonar asp last accessed 12 5 2013 http www willowgarage com blog 20 1 1 02 28 nist and willow garage solutions perception challenge last accessed 12 5 2013 http home roboticlab eu de examples sensor ir distance last accessed 12 5 2013 http www dma ufg ac at app link Grundlagen 3A3D Grafik module 14174 last accessed 12 5 2013 http www asus de Multimedia Motion_Sensor Xtion_PRO las
14. OQUEIION e EE 7 1 1 Potential Target Grou essa P 10 2 Material and Melnods an ee deme inae sus a aou Butt te 11 2 1 ASTERIGS SVSICMCOVElVICW s tases ee 11 2 1 1 AsTeRICS Runtime Environment ARE ccccccccseeeeceeeeseeeeceeeeeseeeeseeeessaeeesees 12 2 1 2 The AsTeRICS Configuration Suite ACS uusssussssseenennenennennenn nenn nenne nenne nennen 13 2 2 ROS ONE i PRICES 13 22 MOS DaAs cs sense est ee ea ea latie 14 222 NOS SCIVO a ee ee ee a nee nee eig 15 2 2 3 HOS actionlib DACKAG C usage nn ana ann 15 224 TAO UIC Terre 16 2 2 5 Transformations and parent child dependencies eeeeeesesessssss 17 2 3 SON rp 17 2 4 FONG OU ser HD Hp E 18 2 5 Infrared distance MEASUFEMENL ccccccseecseeccsececseeceueceeeeceueeceuecsueesuesseeesseesaas 19 2 6 KMENG S ansehen 20 2 0 1 FOrward Kinem llcs Aura nee aaa 20 2 62 Vr Se KINEM UC ann einen nee unkutee 20 2 7 TORLLFSCONMECLO TT NET 21 2 8 Robot PioneerP3 at overview sssesssesssesseeee nennen nnne nene nnn nnn nnns 21 2 9 SEES Me c m PS 22 2 9 1 Navigation via one button switches u22u002400nennnnnnenennnennenenn nenne nnn 22 2 9 2 Navigation via Face tracking cccccccscccscccsccceccceeecseeceeseeeceeeseeeseeeseeeseeeseeesenenass 23 3 IMPIE NE cua E D mE a a ae ee 24 3 1 The final version of the ASTeRICS Pioneer model eeeeeeeseeesse 24 3 1 1 The graphical u
15. S various one button switches can be used For example a puff and sip sensor can be used for the row and cell selection A use case therefore could be that the user can control the row selection by blowing into the sensor and for cell selection the user has to blow for a certain amount of time In the case of one button switches any device which can send out a signal by activation can be used 22 ne button switch mp On screen Keyboard TCP IP Connection on personal computer Figure 13 Use case scenario using one button switches for navigation the robot 2 9 2 Navigation via Face tracking The head movements are tracked via a normal webcam The software converts the head movements into a movement of the mouse cursor with which several options can be selected on an on screen keyboard Then a plugin converts the command in a command the robot understands and sends it to the robot via a TCP IP connection The model which does the previous described task is located on a personal computer with ARE running on it The following Figure shows a scheme of a possible use case scenario Webcamera headtracking On screen Keyboard TCP IP Connection on personal computer Figure 14 Use case scenario using a webcam for navigating the robot 23 3 Implementation 3 1 The final version of the AsTeRICS Pioneer model At first an empty JAVA skeleton for the pioneer plugin was created with the help of the As
16. START ASUS FRONT AND BACK CAMERA gt include file find openni launch launch openni launch gt arg name camera value asus front arg name device id value 2 gt include include file find openni launch launch openni launch gt arg name camera value asus back arg name device id value 1 gt include lt launch Figure 6 Example of a launch file for converting a point cloud into a laser scan 2 2 5 Transformations and parent child dependencies With the help of transformations the user can keep track of multiple coordinate frames over time The relationships between every coordinate frame bases on a tree structure which is buffered in time Any robotic system normally has a lot of 3D coordinate frames which change over time When relationships are defined between every part of the robotic system the user can recall every frame s position in the world at any time As transformations base on a tree structure one frame can only have a single parent but one parent can have multiple children Examples for such dependencies and transformations can be seen in chapter 3 2 2 and chapter 3 2 3 2 3 Sonar Active sonar is used to measure the distance to an object Therefore it uses a sound transmitter and a receiver There are three operation modes 17 pointcloud2laser back output screen e Monostatic operation mode the transmitter and receiver are localized i
17. TeRICS plugin creation wizard Then the specific functions of the plugin were programmed within the Eclipse IDE which is a universal toolset for development and programming 10 As AsTeRICS plugins are written in JAVA Eclipse was configured for this framework The pioneer plugin code opens up a TCP IP connection as a client to a specified host the server part is implemented in the ROS framework and sends a command which is received via a string input port of the plugin to the defined host robot For example if the button for the forward movement is pressed the program converts the specific command into a special format called byte array which then is sent via the network to the IP address specified via the plugin properties The IP address can be edited with the ACS The developer must ensure that the IP address of the robot is not changing and is identical with the target IP address of the AsTeRICS Pioneer plugin If the server side is not started yet the client can still be started because the plugin tries to connect every few seconds and establishes a connection as soon as the server side comes up When the connection is established the plugin is ready for sending and also receiving messages In figure 15 the OSKA robot and text display plugin inserted in the ACS can be seen Via the output of the OSKA plugin the desired command is sent to the robot plugin as string The robot plugin forwards this command to the mobile platform The pl
18. alled any time 26 Figure 18 Appearance of the OSKA keyboard for automatic navigation 27 Forward Initial Position Man Nav Grab Auto Nav Release Figure 19 Appearance of the OSKA keyboard for the katana arm 3 2 The final version of the ROS program The whole ROS program can be started by executing the main launch file in the package Asterics Pioneer_Robot By executing this file the following packages and drivers are activated successively e P2OS driver e Katana arm navigation e Pointcloud2laser for front camera e Pointcloud2laser for back camera e Openni for front camera e Openni for back camera e Static transform e Map server e Costmap 2D e AMCL 28 e Move base e Asterics Pioneer Robot e Asterics Pioneer Network The following chapters explain what each individual stack is doing and how they work 3 2 1 P2OS driver This node provides a driver for robots which use a pioneer P2OS ARCOS interface like the P3 AT Robot Ihe user can send velocity commands for left right front and back movements to this node which then forwards the command to the robot With the P2OS node the motor state and sonar can also be controlled cmd vel velocity command Figure 20 Example of how the P2OS driver works In figure 20 a cmd vel message gets published from the Asterics Pioneer Robot to the p2os driver node This message contains information about the direction
19. dcaster robot state publisher Average rate 37 259 Hz ost recent transform 1367831074 832 sec old Buffer length 3 677 sec Jkatana motor3 hift link Broadcaster robot state publisher Average rate 37 259 Hz ost recent transform 1367831074 832 sec old Buffer length 3 677 sec lkatana motor4 lift link Broadcaster robot state publisher Average rate 37 259 Hz ost recent transform 1367831074 832 sec old Buffer length 3 677 sec katana motor5 wrist roll link Broadcaster robot state publisher Broadcaster robot state publisher Average rate 49 557 Hz Average rate 49 557 Hz Most recent transform 1367831074 312 sec old Most recent transform 1367831074 312 sec old Buffer length 3 612 sec Buffer length 3 612 sec fkatana gripper link fkatana gripper tool frame Broadcaster robot state publisher Broadcaster robot state publisher Average rate 37 259 Hz Average rate 37 259 Hz Most recent transform 1367831074 832 sec old Most recent transform 1367831074 832 sec old Buffer length 3 677 sec Buffer length 3 677 sec fkatana finger link fkatana r finger link Figure 22 Hierarchic tree of all links of the katana arm parts 3 2 3 Point cloud to laser scan The Pointcloud2laser uses a generated 3D point cloud and converts it into a 2D laser scan As there are two cameras mounted on the robot seen and described in chapter 2 8 also two Pointcloud2laser nodes were created One publishes the laser scan for the front a
20. edback or manipulation of model parameters which can be arranged in the ACS GUI designer window On the Control Panel there are four buttons for loading starting pause or stop a model The Main Menu provides further options and models can also be loaded via the Main Menu a AsTeRICS Runtime Environment v0 1 Beta Host chrisveigl PC IP 10 5 203 51 cat File Model About Main Menu Main Panel Optional Control Panel Status O Figure 2 Graphical User Interface of the ARE Source 1 S 14 2 1 2 The AsTeRICS Configuration Suite ACS With the AsTeRICS Configuration Suite models can be developed and edited They also can be uploaded or downloaded from to the AsTeRICS Runtime Environment It is also possible to start pause and stop a model through the ACS and it does not have to reside on the same system as the ARE The ACS offers all the sensor processor and actuator plugins which can be used They easily can be placed and connected via drag and drop Figure 3 shows how the ACS looks like The plugins can be placed and connected in the deployment area 2 which actually constitutes the runnable AsTeRICS model This model can then be uploaded and executed on the ARE Using the main menu the user can save open or create a model In the main menu toolbar 1 the user can interact with the ARE or select the components and place them in the deployment area The ACS includes also a plugin creation wizard which allows the c
21. eee eee ee eere eene 31 Figure 23 Hierarchic tree of the camera and laser scan link eere 32 Figure 24 Example of a recorded point cloud red and the thereof created laser scan black 33 Figure 25 Appearance of the used camera for distance measurement Source 17 34 Figure 26 Appearance of the recorded saved and used map eeeeeeeeeeeeee 35 Figure 27 Example of the appearance of a map including the costmap package Source 18 36 Figure 28 Example of the function of the AMCL package Source 19 36 Figure 29 Graphical interface of the Gazebo simulation tool for the mobile platform 39 Figure 30 Graphical interface of the Gazebo simulation tool for the katana arm 39 44 List of abbreviations AAL ACS ARE GUI HMI OSKA ROS SLAM TCP WLAN WWW Ambient Assisted Living AsTeRICS Configuration Suite AsTeRICS Runtime Environment Graphical User Interface Human Machine Interface Internet Protocol On Screen Keyboard Application Robot Operating System Simultaneous Localization and Mapping Transmission Control Protocol Wireless Local Area Network World Wide Web 45
22. en keyboard was tested and the robot and katana moved as desired As the robots function were tested on the real platform the katana functions were only tested in simulation because of technical difficulties with the katana arm The computer running the GUI is connected to the robot via WLAN The results showed that every function for moving the robot base works as desired The only problem occurred when sending a katana movement task to the robot The execution was delayed for a few seconds Not only the katana movement was delayed also the video feedback was delayed for about one second 5 Discussion As mentioned in section 4 results the robot moved according to the input given by the user Also the automatic navigation worked as desired The robot reached the desired destination without problems but when an obstacle is put in the path it is avoided very scarce The problem therefore could be that the parameters for obstacle avoidance and path planning are not defined that well But a reconfiguration of these parameters should eliminate this problem As also mentioned a big delay between pressing a katana movement button and the execution of this command is occurring The problem therefore could be an insufficient ROS program where a mistake in the program code was overseen Another big problem is the lag of the video feedback But this problem cannot be solved as this lag occurs due to the analog digital and digital analog conversion The lag co
23. enNI camera The OpenNI camera node uses the open source framework OpenNI 21 which acts as driver for the used camera As cameras two Asus Xtion Pros were used figure 25 They provide an infrared and RGB image as also the depth information of the recorded images With the help of the depth information a point cloud can be generated The images and the point cloud then can be used with ROS as they are published topics 33 Figure 25 Appearance of the used camera for distance measurement Source 17 The OpenNI camera node gets called up twice because of the two cameras pointing forward and backward The device id and their names are defined in the main launch file when calling up the OpenNI launch file From the original package nothing was altered and can be downloaded from the ROS website 22 3 2 5 Static transform As in chapter 2 2 5 is described that transforms are used to define parent child relationships between the different components here a static transform is used to define the relationship between the base frame the two camera frames and the laser scan frames The front camera frame is located 20 centimeters and the back camera frame is located 20 centimeters on the x axis but rotated 180 degrees corresponds to roughly 3 1415 radian As the point cloud of the camera is used to generate a laser scan the frames of each laser scan is located at the same place as the camera frames In the transformation tutorial on t
24. ents of geometric objects lines and points and their velocity and acceleration In robotics it is used to describe the motion of joined parts such as robotic arms or engines For the use of kinematics with robotic arms there are two approaches for computing the necessary joint movements to reach a desired endeffector position forward kinematics and inverse kinematics These two approaches are described in detail in the following two sub chapters 2 6 1 Forward kinematics In forward kinematics the endeffector position gets computed from the specific joint parameters The endeffector position is not known at the beginning only the angle of each joint is specified To move the endeffector to a specific position each angle gets altered till the desired position is reached beginning with the hierarchic uppermost joint With the help of the following picture forward kinematics can be easily described To move the endeffector to a desired position the first joint joint1 which is also the hierarchic uppermost point and therefore the start joint gets moved Then the remaining joints are also moved till the end position is reached FORWARD KINEMATICS m joints gt 2 joint El amp j X Start Joint tjointt joint Figure 10 Forward kinematic scheme Source 16 2 6 2 Inverse kinematics Inverse kinematics can be referred to as the reverse process of forward kinematics At the beginning only the endeffector position
25. he ROS website it is explained in detail how to use a static transform in a launch 23 The transformation tree for the cameras can also be seen in figure 23 3 2 6 Map server and slam mapping The map server offers map data as a ROS service With this node a map can be saved or loaded Before saving or loading a map it has to be created with the help of the package slam gmapping 3 2 6 1Slam gmapping Slam gmapping uses pose here it is named odom and laser data collected by the robot to create a 2D map like a floorplan For the process of collecting the data the user has to drive the robot manually through the room and scan everything To get a reliable and accurate map the robot should not be moved around very fast but slow and smooth The map created and used for this bachelor thesis can be seen in figure 26 34 Figure 26 Appearance of the recorded saved and used map 3 2 6 2Map server After the map was created with the help of slam gmapping it can be saved by a command line order With this order two files are generated One contains the map itself as occupancy grid and the other the basic information like size and name of the map When the map was saved successfully the slam gmapping node is no longer needed and can be closed To load a map the map server node must be started which is done in the main launch file where also the location and name of the map has to be defined 3 2 7 Costmap This package implements
26. hrough merging these sensors within the AsTeRICS system Assistive Technology Rapid Integration and Construction Set various devices such as personal computers or on screen keyboards can be easily controlled via a single platform With the use of the AsTeRICS framework and the mentioned devices the manipulation and navigation of a four wheeled robot platform called PioneerP3 at shall be established In this bachelor thesis the basic movements of the robot and a mounted katana arm as also an intelligent collision query have been implemented by utilizing and extending functions and modules of the Robot Operating System ROS which is a widely used open source collection of algorithms for robot control For this purpose a suitable grid with selectable cells for directions has been designed for the OSKA on screen keyboard application This on screen keyboard runs on any computer with Windows operating system instaled and communicates with the AsTeRICS system via TCP IP sockets In AsTeRICS models developed in this thesis the robot and katana arm can be controlled by various input devices The mobile platform receives the command via the network and moves as desired The model was successfully tested with a simulation tool and then executed on the real robot platform a PioneerP3 at system The tests showed that the robot moves as desired Keywords PioneerP3 at On Screen Keyboard AsTeRICS ROS OSKA Handicapped Person Table of content 1 INIT
27. is known When moving this endeffector to a defined point all joint parameters get calculated with the help of a mathematical expression For 20 example when the endeffector in the picture bellow called ikHandle should be moved to a specific position all joints joint 1 to joint 4 move according to the calculated angle INVERSE KINEMATICS Pi 4 ikHan dle joint joint joints E effector ikHandle1 Figure 11 Inverse kinematic scheme Source 16 2 7 TCP IP connection TCP stands for Transmission Control Protocol and IP for Internet Protocol It acts as protocol for communication between a computer and the internet It defines how the computer should be connected to the internet and how data should be transmitted TCP is responsible for the communication between the software and IP is responsible for communication between computers Therefore TCP breaks the data to be sent into packages and passes them on to the IP which is responsible for sending them to the correct destination TCP can also assemble incoming IP packages TCP IP connection is the most common used communication between software and software or computer and computer 2 8 Robot PioneerP3 at overview The PioneerP3 at is a four wheel drive robotic platform It has an aluminum body four wheel skid steer reversible DC motors motor control and drive electronics high resolution motion encoders and battery power These compone
28. ly 3D scanners are used which measure a set of points representing the point cloud In this bachelor thesis an infrared camera was used The infrared camera does nothing else as measuring the distance of a set of points With the collected data a point cloud can be created which is done by software The following picture shows a typical point cloud of different objects generated from the camera data As the point cloud also includes the color information of the objects it is four dimensional Figure 8 Example of a recorded point cloud Source 14 2 5 Infrared distance measurement In infrared distance measurement devices a light beam is sent out from an infrared LED This light beam gets reflected by an object of which the distance should be measured The reflected light beam comes back and hits a position sensor within the device Depending on where the light beam hits the position sensor a different voltage gets emitted This voltage now can be converted into a distance The following figure shows two light beams reflected from different distances P1 and P2 resulting in two different voltages U1 and U2 LED PSD Figure 9 Principle of infrared distance measurement Source 15 2 6 Kinematics In classical mechanics the motion of points objects and group of objects is described through kinematics The cause of motion is not included in kinematics It is also called the geometry of motion It studies the trajectories and movem
29. n the same place e Bistatic operation mode the transmitter and receiver are separated e Multistatic operation mode more than one transmitters or receivers are used which are spatially separated A pulse of sound called ping is created through the transmitter The receiver then listens for reflections of the radiated pulse For distance measurements the time from transmission of the sound wave to reception is measured By knowing the speed of sound the measured time can be converted into a range The pulse of sound is normally generated electronically In figure 7 is shown how a monostatic sonar system works The red waves represent the radiated pulse of sound which are then reflected by an object and sent back to the receiver green waves By knowing the duration between sending and receiving the distance to the object can be calculated t Wave I d E i g Sender Receiver Le ie ay distance r Figure 7 Principle of how sonar works Source 13 2 4 Point cloud A set of vertices in a 3D coordinate system is called point cloud These vertices typically represent an external surface of an object and are defined by X Y and Z coordinates That means every single point of the cloud represents a specific measured point on the recorded object s surface When color information is added to the point cloud it becomes 4D For the creation of a point cloud normal
30. nd the other for the back 31 For the laser scan the following parameters have to be set e Minimum height to sample in the point cloud in meters 0 025 e Maximum height to sample in the point cloud in meters 0 025 e Minimum scan angle 11 2 e Maximum scan angle 11 2 e Scan rate in seconds 1 30 e Minimum range in meters 0 45 e Maximum range in meters 10 e The frame id of the laser scan camera_depth_frame_front The node takes the ranges of every point from the point cloud in a user specified plain and saves them in the laser scan message The plain is defined by the parameters minimum height and maximum height The point of origin for this plane is defined by the static transform between the base frame camera frame and the laser scan frame here the laser scan frames are named camera depth frame front and camera depth frame back This parent child relationship is pictured in figure 23 The frame base link represents the center of the robot This center is now the so called parent of the frames asus front link and asus back link These two frames represent the point of origin from the two camera devices The frames asus front rgb frame and asus back rgb frame belong to the RGB vision of the cameras The frames asus_front_depth_ frame and asus back depth frame belong to the infrared vision of the cameras This chapter does not elaborate on the frames odom and map because this is done in cha
31. nd the middle button of the first row is selected and after another second passes the right button will be selected and so on The user then has the possibility to press a button by simply pressing an external momentary switch or by pressing the Enter key on a special keyboard For changing the row the user only has to press the button for a certain amount of time This type of scanning process is only one method and can easily be changed in the ACS by connecting different signals to the cell selection input ports of the OSKA plugin The following figure shows how the GUI for the manual navigation automatic navigation and for katana navigation looks like With the on screen keyboard for manual navigation figure 17 the user can drive the robot around directly by pressing the desired button With the keyboard for automatic navigation figure 18 the robot moves to the desired position like the fridge shelter desk or the battery station automatically Therefore it plans a path and also avoids suddenly appearing obstacles The current position of the robot can also be saved and recalled later if desired With the on screen keyboard for the katana arm figure 19 the user can control the robot arm simply by pressing a button The main movements like moving left right up down forward and backward are implemented There is also a button for moving the arm back to its initial pose or for saving the current position The saved position then can be rec
32. nts are all managed by mobile robot server software which resides on the onboard computer Because of the onboard computer it is possible to run the client software without any additional PC The PioneerP3 at can be equipped with additional accessories like manipulator arms and grippers bumper switches speech and audio systems laser mapping systems and many more So with this robot a high customization factor is given and later new features can be easily adapted As only the robot main functions are implemented in this thesis the equipped sensors will not be used For more information about the PioneerP3 at visit the official website www mobilerobots com researchrobots p3at aspx 21 The following figure Figure 12 shows how the robot currently looks like It is equipped with the hardware components 1 a katana arm 2 for grabbing different objects a front and back bumper switch 3 as also a built in sonar device 4 for collision query and three cameras Two of these are an Asus Xtion Pro 5 with which a distance measurement is possible and the other is a normal webcam from Logitech 6 for normal image recognition In the picture below the Logitech webcam is not included but the arrow points to the location is should be mounted Figure 12 Appearance and current setup of the PioneerP3 at robot 2 9 Use Cases 2 9 1 Navigation via one button switches As OSKA offers different scanning processes which can easily be defined in the AC
33. on with the use of the built in sonar device can be started But therefore the user has to alter the program code a little bit so that the additional collision query gets also started 3 2 11 Asterics Pioneer Network This package is responsible to establish a network connection to the computer where the GUI is running It acts as server and the other computer acts as client When starting this node it waits until a client connects It has to be ensured that the client uses the right port to connect to because the on the server side the port on which the client should connect to is defined in the program code When the client connects and no error occurred the node is ready to receive commands This command is then published as ROS topic to the node Asterics Pioneer Robot where it gets reprocessed The Asterics Pioneer Network node is also able to send such a message to the client where it gets displayed in a text field Therefore it checks every few milliseconds if there is something to send For example if an obstacle occurs in front of the robot the node can send a situation related message to the computer of the user where it gets displayed on the screen The client side of the robot model is described in detail in chapter 3 1 4 Results 4 1 Testing the robot model by simulation For simulation the program gazebo was used It is a simulation tool with which every function of the robot can be tested just like using a real robot Figure
34. oning Translation lodom frame base frame AMCL Map Localization Odometry Dead Drift Reckoning Translation map_frame lodom frame base frame Estimated by AMCL Figure 28 Example of the function of the AMCL package Source 19 36 For this bachelor thesis the following parameters were modified e Minimum allowed number of particles 500 e Maximum error between the true and estimated distribution 0 05 e Transform tolerance 0 9 For the full list of editable parameters used by this node visit the ROS website 25 3 2 9 Move base This package provides action commands for sending pausing or canceling a goal which the robot will attempt to reach It uses the map laser scan and odometry data to plan a path to the goal and sends then the corresponding velocity commands to the robot With the help of costmap2D it also tries to avoid appearing obstacles and alters the calculated path in a way that the mobile platform drives around this obstacle and does not hit it For correct path planning and obstacle avoidance a lot of parameters have to be adjusted accordingly All these parameters are defined in a few different files which are loaded in the main launch file when calling the move base node In these files also the parameters for the costmap2D are defined For the full list of editable parameters used by this node visit the ROS website 26 3 2 10 Asterics Pioneer Robot This package is responsible f
35. or Assistive Technologies which provides handicapped persons an easy access to human machine interfaces HMI There are various devices on the market but they do not allow a full access to or an easy modification of the device capabilities The therapist or handicapped person therefore cannot adapt the software by him or herself easily but has to call a specialist Through the use of an open source software it is possible that the therapist also can modify or adapt the software via the Internet through the usage of a library where different models are stored and uploaded So the replacement or adaption of different functions can be easily done Also the ROS framework Robot Operating System which is used for programming various robot platforms is an open source software which allows programmers to easily extend the software and the robot itself with special functions or additional manipulators like for example a robot arm Ambient Assisted Living AAL is nowadays omnipresent Many people with disabilities are already using a variety of devices which help them to cope with their everyday life easier or to do various things that were previously impossible Examples are electric wheelchairs automatic door openers and accessibility supports for the computer or even whole smart home managements On screen keyboards allow selection of letters icons or symbols with single switches or sensors via so called scanning methods where rows and columns are
36. or movements are then sent to the katana node which triggers the katana arm to move in the desired position Figure 22 shows all transforms from the katana arm The katana gripper link refers to the endeffector of the arm The previous links refer to each motor Figure 21 shows how the katana arm looks like and also the name of each joint can be seen ad 1 BRUN MOTOR 5 WRIST GRIPPER A ROLL MOTOR 3 LIFT MOTOR 4 LIFT MOTOR 2 LIFT MOTOR 1 PAN f BASE JE E m i Figure 21 Appearance of the katana arm a 30 view_frames Result Recorded at time 1367832522 430 fodom_combined Broadcaster odom_combined_to_katana_internal_controlbox_link Average rate 62 013 Hz Most recent transform 1367831074 811 sec old Buffer length 3 596 sec katana_internal_controlbox_link Broadcaster robot_state_publisher Average rate 49 557 Hz ost recent transform 1367831074 312 sec old Buffer length 3 612 sec katana_base_link Broadcaster robot_state_publisher Broadcaster robot_state_publisher Average rate 37 259 Hz Average rate 49 557 Hz Most recent transform 1367831074 832 sec old Most recent transform 1367831074 312 sec okd Buffer length 3 677 sec Buffer length 3 612 sec katana motorl pan link lkatana base frame Broadcaster robot state publisher Average rate 37 259 Hz ost recent transform 1367831074 832 sec old Buffer length 3 677 sec fkatana motor2 lift link Broa
37. or the movements of the robot itself and the katana arm It gets the commands from the Asterics Pioneer Network node and processes them Before starting this node the robot must stand on its initial position which is here defined as the battery station Now when starting the node the robot s position gets set correctly in the map and the localization obstacle avoidance through costmap2D and the path planning should work correctly After the position is set the katana arm will move into its initial pose When these two processes are completed the node waits for incoming commands If a command arrives the node checks if it is meant for the katana arm or the mobile platform and acts accordingly For example when the user presses the button for the forward movement of the robot the node Asterics Pioneer Network gets this command and forward it to the Asterics Pioneer Robot node This node then checks if it is meant for the mobile platform or for the katana arm It jumps right in the mobile platform class and checks which command should be performed As it is a command for forward movement the node sends an 37 appropriate velocity command to the node p2os driver which then drives the robot in the desired direction If a katana movement command is coming in the node sends the appropriate velocity command to the nodes responsible for the katana arm explained in detail in chapter 3 2 2 If desirable an additional obstacle avoidance functi
38. p turtle publishes a message to this topic The message contains the values for the linear and angular movement The node turtlesim also defines the graphical interface seen on the screen All two nodes are subscribing to the rosout node which can be referred to as the endpoint or output of the program The most important part of ROS is the Master Its task is to act as a nameservice and to store topic and service registration information for the nodes Without the master nodes would not be able to exchange information or even find each other Nodes communicate with the Master to get information about other nodes This enables the nodes to create connections among them That means nodes do communicate directly the Master only provides lookup information 2 2 2 ROS services For some functions a request reply interaction is needed But the standard ROS publish subscribe model is not really suitable for such interactions Therefore ROS uses services which are defined by a pair of message structure where one is for the request and one for the reply A node can use the service by sending the request message to the node where the service is defined and then waits for the reply 2 2 3 ROS actionlib package As described in chapter 2 2 2 with ROS services it is possible to send a request to a node to perform a task and then receive a reply to the request But if the service request takes too long the user may want to cancel the request during
39. pport robot With the use of an adaptable input interface for people with special needs via ASTeRICS and OSKA and the use of a robot that can easily be extended several assistive functions can be established The system software for the input devices is programmed via the AsTeRICS software and the robot control is implemented via the Robot Operating System For the movement of the robot the AsTeRICS software calls up different functions of a robot plugin as soon as a direction button on the on screen keyboard is pressed This plugin then sends the command to move in the desired direction to the robot via the wireless network TCP IP The AsTeRICS plugins are programmed in the program language JAVA ROS is based on the programming languages C and Python oummarized the goal of this thesis is to develop a robot user interface including an on screen keyboard and a suitable scanning method for the buttons Also a robot model will be created in the ROS framework which can execute a command received from the network In the course of this Bachelor thesis the mobile platform will be able to move around by following commands e Move forward e Move backward e Turn right e Turn left e Stop e Turn around e Turn 90 left e Turn 90 right e Move forward in a left curve e Move backward in a left curve e Move forward in a right curve e Move forward in a right curve Additionally to the manual navigation an automatic navigation function
40. pter 3 2 1 and chapter 3 2 6 A rae Duns Kan Id a iz poss recent Era orm 9 107 ec oki Butts az 4 ac al P i ure nk B Tr cashes hase to asus front broaccatter Broadcasber aap to hack beoaccattier d Average rate 10 198 Hr Average ra 16 190 Hr Fd Bond er prania D 059 ec old Mast neat ara ODE sec old ud Buffer haah 4 S00 masc Buffer h nom 1 009 dim ELS n en ee Jub back link nn SS ee a P us in r a nn Urik aiir eier basse brk Irasksster pun nt ki roadcasber aus fro En Leer Denadcaitbes f roadster fanus Duck Dass brik 4 Broddcarher usus back bed ink n Bri ke usus back ba Laser broadcaster Pre a ate 10 er Fir j Nu a rate 10 is 1 NM rate 10 197 F r LU n diez men 10700 Hr LI Nerd rale DD 195 Hr Aree fate 10 198 Bir Mot rece Eri it me 0 03 Ber eid Maik ee Eransioem 0S wee ok Hir rt Ara OS pae codd N Meat ne bna t ODE we od i Mink er Eransderm DUDO dec akd Mest sen Ir DUUM ee oki f Butte a LED Butte rim with 4 m5 amp Bi utter brath d x un Eme rin othe a Hia Buffer Brest hi 4 Bob er Buffer lengih 4 BUS sec BEEN M E D eis SEE Peni _ NENNEN uu SN _ mE C kini font deph frame E c Pagus Trent rh me E ag Carter depth Fame Trent Lu Aud Baek depth freer gt C Girt back rb frame gt c Lar dep barre back im m T e i mm i E i Burner as Front MM blank dude dri fara ent hase bnk 3 tinc nter Janus hack ge Marie Hro aster
41. puting platform where the ARE AsTeRICS Runtime Environment runs As computing platform any device with Windows operating system can be used The ARE provides all the functions which are included in the currently loaded model or application The application or models have functions for signal processing of the actuators and sensors These applications are programmed with the AsTeRICS Configuration Suite and can be loaded in the ARE through a TCP IP connection Thus models can be adapted and sent to the user s ARE via an internet connection The following two chapters describe the AsTeRICS Configuration Suite and the AsTeRICS Runtime Environment for further understanding of this Bachelor thesis 2 1 1 AsTeRICS Runtime Environment ARE he ARE hosts applications which contain the plugins These plugins provide all the functionalities to the application AsTeRICS applications are also called models or configurations In the ARE the user can start pause stop or deploy a model The ARE can be run on a computer with the operating system Windows or on the AsTeRICS personal platform The AsTeRICS personal platform is an embedded computing platform where input devices can be connected and models can be run The models are configured and designed with the AsTeRICS Configuration Suite which is described in the next chapter Figure 2 shows how the ARE graphical user interface can look like The Main Panel can contain desired GUl elements for graphical fe
42. reation of a JAVA skeleton for a new plugin by specifying the plugin s input output and event ports X dt v MTHS Coemgentevswie a 1 Sd ki Aem Deployment Ciri D s 3 Tapete fm i X dio AsTeRICS Configuration Suite New Model Recently Opened Files en O0 0 iui de i ry Open Made 4 cttvents wo 2 qd Save Mod t4 acs hooktest3 DJ save gt m onamesc sy Optic rouptesti acs P bug d 1 About 1 b g dem X Quit Figure 3 Graphical User Interface of the AsTeRICS Configuration Suite Source 1 S 16 In the figure above the menu area 1 the deployment area 2 the GUI area 3 and the properties 4 are shown The main menu appears when clicking the AsTeRICS button seen on the right 2 2 ROS overview The Robot Operating System is an open source framework for robot software development It was developed by the Stanford Artificial Intelligence Laboratory Nowadays it is wide spread and commonly used in commercial and educational projects It is designed in a way that it is easy to access and exchange newly programmed packages A Package also called stack contains all the executables and processes which the robot will use According to the developers of the ROS framework the philosophical goals can be summarized as e Peer to peer e Tools based e Multi lingual e Thin e Free and Open Source 8 ROS has many components tasks and services which provide hardware abstraction device control
43. rwendung dieser Sensoren und dem AsTeRICS System soll die Steuerung eines Roboters und des darauf montierten Roboterarms erm glicht werden Es wird ein Roboter des Typs PioneerP3 at verwendet Der Roboterarm wurde von der Firma Neuronics hergestellt und ist ein sogenannter Katana Arm In dieser Bachelorarbeit werden alle n tigen Funktionen die f r die Steuerung notwendig sind eingef gt der Roboter wird mit Hilfe eines on screen keyboards vorw rts r ckw rts links rechts fahren sowie verschiedene Objekte greifen k nnen Des Weiteren wird eine automatisierte Navigation implementiert mit welcher der Roboter bis zu f nf verschiedene Positionen selbstst ndig anfahren kann Das f r die Steuerung verwendete on screen keyboard wird auf einem Rechner mit dem Betriebssystem Windows betrieben Der Roboter empf ngt den Befehl ber das Netzwerk und bewegt sich in die gew nschte Richtung Das Roboter Modell wurde mit einem Simulationsprogramm sowie mit dem Roboter selbst getestet und es zeigte sich dass sich der Roboter wie vom Benutzer gew nscht bewegt Schlagw rter PioneerP3 a On Screen Keyboard AsTeRICS ROS OSKA Handicapped Person Abstract In the course of this Bachelor thesis a robot interface for handicapped people with the use of different sensor techniques like brain computer interfaces BNCI face or eye tracking momentary switches mice or joysticks puff and sip sensors and many more will be created T
44. ser interface GUI lseeeeeeseseeeeeeereeneennn nnn 26 3 2 The final version of the ROS program ccccsecccseeeeceeeeeseeeeseeeeseesesseeeeseeeesseeeeas 28 Seu qose ace es 29 3 2 2 Katana package aureis nasi m scpaaUE Ex Cap ee ee 30 323 IPOINUCIOUC Io laser Scania ee laai ae aai 31 324 OBENN Camera TEE TOTEM 33 IZo Olaran AM een een M 34 3 2 6 Map server and slam mapping ccccccceeccseeeeeeeceeeeceeeeseeeseeeeseeeeseeeseeeseeeeaeeeeneeens 34 S5 lamisil Maree mere eke cac ae 34 323262 MAD SCIV Cl pm 35 3 2 7 S U uem ET TT Tee 35 4 5 6 7 S SAN ee PPM eee 36 S229 MoVeDase TO Dx 37 3 2 10 ASterics Pioneer Robot anna 37 3 2 11 Asterics Pioneer Network u22202000200200 000 nn0 anne nnn anne nnnnnnnnennnnnnennnnnnennnennnnnne 38 ESS ee ee ee en nee 38 4 1 Testing the robot model by simulation u0 s00240028000enn nenn nenne nenn nen nennen 38 4 2 Testing the robot model with the Pioneer p3a t uus4suunsnnnnnnnnnnnnn nennen 40 DISCUSSION er CERE 40 GINS IOI ien tosctou Manut M M CM Man MEE Me E NE 40 PUTING KC arci ias EE Es 40 1 Introduction People with reduced motor capabilities often have problems using standard input methods for computers and other information technologies The AsTeRICS Assistive Technology Rapid Integration and Construction Set 1 therefore provides software f
45. t accessed 12 5 2013 http www ros org wiki costmap_2d action AttachFile amp do get amp target costmap_rviz png last accessed 12 5 2013 http www ros org wiki amcl last accessed 12 5 2013 http www ros org wiki p2os_driver last accessed 12 5 2013 http www openni org last accessed 12 5 2013 http www ros org wiki openni_kinect last accessed 12 5 2013 42 23 24 25 26 http www ros org wiki ti static_transform_publisher last accessed 12 5 2013 http www ros org wiki costmap_2d last accessed 12 5 2013 http www ros org wiki amel last accessed 12 5 2013 http www ros org wiki move_base last accessed 12 5 2013 43 Table of figures Figure 1 Concept of the AsTeRICS system Source 1 S 6 0 00000000000000000000000000000000000000000 11 Figure 2 Graphical User Interface of the ARE Source 1 S 14 12 Figure 3 Graphical User Interface of the AsTeRICS Configuration Suite Source 1 S 16 13 Figure 4 Example of a ROS program with different nodes and topics Source 9 14 Figure 5 ActionServer and ActionClient communication scheme Source 12 16 Figure 6 Example of a launch file for converting a point cloud into a laser scan 17 Figure 7 Principle of how sonar works Source 13 00 0000000000000000000000000000000000000000000000
46. the goal The result can either be that the goal was achieved or not The result message is sent only once to the ActionClient In the example of moving the robot the result would be that the desired position was reached 2 2 4 ROS launch files For launching multiple ROS nodes locally or remotely and for setting various parameters ROS offers the launch files In these launch file every node that should get started and every parameter which should get set is written down Also launch files for other nodes can be invoked The commands in the launch file are invoked consecutively The following figure shows an example of a launch file In the first line the launch file for the node p2os driver gets executed In the second part the nodes for converting a point cloud into a laser scan are started and in the third section the nodes for the front and back camera drivers are stated lt launch gt lt 2 2 START P2OS ROBOT DRIVER 2 gt include file find p2os launch p2os driver launch lt 2 2 2 CONVERT POINTCLOUD TO LASERSCAN 22 22 2243 gt node pkg pointcloud2laser front type pointcloud2laser front name pointcloud2laser front output screen remap from Laser Camera Front to Laser Camera node node pkg pointcloud2laser back type pointcloud2laser back name remap from Laser Camera Back to Laser Camera node lt 2 2 2
47. ugin also checks every few milliseconds if there is any data to receive and if needed forwards the received message to the text display plugin On the right site of the figure the editable properties of the robot platform can be seen Figure 16 shows how the model looks like in runtime The upper window shows the text display where the received message gets displayed The GUI for manual movement of the robot can be seen in the bottom left window In the bottom right corner of the picture the ARE console can be seen 24 zarre fidera Srna Dr hag fix Robes ol Tyee Mor Comperaert Claas a Properties patches 172 17 0 1 T Figure 15 Model setup of controlling the pioneer with the OSKA plugin ace Sangin Mouse OKA A AsTeRICS Runtime En ga robot pioneer control Figure 16 Runtime example of the robot model 25 3 1 1 The graphical user interface GUI The interaction of an OSKA on screen keyboard as the primary graphical user interface to the end user depicts the following advantages e Easier ACS model due to less components e OSKA features built in automatic scanning methods row column single key e User friendly design of the GUI with icons is possible in the OSKA grid editor Therefore the GUI is based on an OSKA keyboard In the scanning process the selection of the button will be switched every second from the left to the right At first the upper left button is selected then after one seco
48. uld only be minimized or erased by sending the video data analogously 6 Conclusion This thesis made the first step for building a bridge from AsTeRICS to ROS by creating a robot user interface for people with severe motor disabilities The model was extended step by step and so an easy to use graphical user interface was created The complete robot platform can now be navigated easily by a person with reduced motor capabilities 7 Further Challenges As all functions are working separately without problems the next step would be to observe and optimize the program and every parameter to get better performance of the different functions and when everything is run at the same time Another challenge will be to find a better solution for the visual feedback Also the control of the katana arm could be optimized 40 as the current solution is not that ideal for grabbing objects After solving all these challenges the robot model should work without problems 41 List of Literature 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Kompetenznetzwerk KI I Project AsTeRICS Online at Internet URL http www asterics eu fileadmin user upload Documentation UserManual pdf last accessed 12 1 2013 Claro Interfaces _ http www clarointerfaces com category oska for pc access php last accessed 12 1 2013 http www cogain org home last accessed 12

Download Pdf Manuals

image

Related Search

Related Contents

Atlantic Component Stand 63335224 User's Manual    user manual - Belsimpel.nl    取扱説明書  Veilux RMS User`s Manual  Cables Direct B6-501 networking cable    Bedienungsanleitung  P-13G4, P-18G4 取付工事・取扱説明書  

Copyright © All rights reserved.
Failed to retrieve file