Home
ROS based Multi-sensor Navigation System for a Commercial
Contents
1. 3 Software Essex wheelchair has a Client Server Multi Layer structure It consists of two layers low level and high level software which are migrated on on board embedded PC and remote PC respectively The low level software includes server side code which is responsible to handle the sensors control the motors and communicate with client side in the high level The high level software consists of Wheelchair ROS node and ROS packages including navigation Figure 17 depicts a diagram representing interconnection between two layers of software migrated on on board Trimslice PC and remote Laptop systems This Section describes the software structure in two parts low level and high level SERVER RUNNING ON CLIENT RUNNING ON ON BOARD EMBEDDED PC REMOTE PC oe Initialize ROS Initialize Sensors Node Initialize TCP IP Initialize TCP IP Connection Connection Initialize 70Hz Initialize SHz Loop Loop Buffer of Communicate with Communicate with Remote System Sensor Data amp Commands on board system Subscribe to pdate sensors Command Update PIDs amp Publish Sensor Motors Data Figure 16 Essex wheelchair software is migrated on two layers on board embedded system and remote PC which are responsible to motion control and navigation respectively CES 530 University of Essex U K Page 13 3 1 Low Level Software Motion Control Low level part is running on Trimslice embedded PC and responsible to 1 handl
2. Cie Efe Chibi E Cm in kw lt rosparam param rate gt 5 0 lt rosparam gt MOSS cues joeuccia ass miei gt 0 545 fase nea lt node gt GHOCS DASmMS OO Stews oUlsllislisic Mg OSO Sicaice Jos Sie type state publisher gt MI Figure 25 essex_wheelchair launch file bringup_diff launch CES 530 University of Essex U K Page 29 Virtual Joystick AS 02 37 UIT O Move Camera Interact Select 2D Nav Goal 2D Pose Estimate Displays ES v Global Options Backgroun 202 202 202 Fixed Frame odom Target Fra lt Fixed Frame gt gt Global Status OK gt 01 Grid Grid MU gt 02 RobotMo 4 14 03 TF TF Y a Wo m E gt Status OK ES Show Names Show Axes Show Arro C Marker Scale 1 F Update Int 0 gt 7 x i a qe Frame Tim 15 F gt Frames gt Tree 1404 LaserSca gt A 406 Odometr JUE Virtual Joystick started Figure 26 visualization screen rviz and virtual joystick screen left bottom Virtual Joystick ES 02 39 O Move Camera Interact Select 2D NavGoal 2D Pose Estimate A Displays ES v Global Options Backgroun 202 202 202 Fixed Frame odom Target Fra lt Fixed Frame gt gt Global Status OK 301 Grid Grid MU gt 02 RobotMo 74 18 03 TF TF g gt Status OK Show Names Show Axes Show Arro C Marker Scale 1 Update Int 0 Frame Tim 1
3. e Current Steering e Right encoder Commands Figure 18 Block diagram of PID controllers applied to motion control of the Wheelchair The Server code receives motion commands from high level part software ROS Navigation as the two variables target_speed and target _steering They are desired linear and rotational velocity worked out by the high level part to move the wheelchair There are two PID controllers responsible for linear and rotational speed of the wheelchair The PID controllers collect feedback data through the encoders mounted on the left and right wheels The encoders determine the velocity of left and right wheels The following equations were used to convert the left and right wheel velocities worked out by the encoders into linear and rotational speeds width is distance between the left and right wheels right left speed gt ee _ right left steering ep Basically the process in low level part should be very fast to come up with varying conditions but in high level due to high load of computation required for navigation the process is slow Inherently the cycle time in Server side is 20Hz while it is 5Hz in Client side This means we can update sensor data PID controllers and motor commands in each 50ms and meantime receive commands from and send buffered sensor data to Client side in each 200ms Optionally we could speed up communication rate to about 10Hz This leads to high TCP IP transmissio
4. gt Y e MA ad Figure 6 Essex wheelchair Embedded PC Trim Slice 2 3 2 Joystick Electronic replacement for the manual auxiliary joystick on the back of the wheelchair Generates differential analogue electronic speed and steering signals under software control to feed into the existing wheelchair electronics Communicates with PC via USB to RS485 module so could be plugged into any PC CES 530 University of Essex U K Page 7 Figure 7 PC to Joystick Input interface Microcontroller Digital Potentiometer eases wl PICISF25K20 Pi 2 x MCP42010 4 x analogue signals Outputs to Wheelchair electronics Differential Speed signal 0 5W Op Amp buffer 2 x LMC662 Differential Steering signal 0 5W Figure 8 Joystick Input interface block diagram CES 530 University of Essex U K Page 8 23 3 Power unit Figure 9 Power Controller Unit e Controls 24V power to the PC e Simple Start Stop buttons e Under Voltage detection e Executes safe shut down e Zero current drain from the battery when shut down 24V Power Input Solid State Relay 24V Power Output Voltage Detection Microcontroller PIC18F25K20 Indicators R5485 Bus Figure 10 Power Controller Unit CES 530 University of Essex U K Page 9 2 3 4 Laser UY Commercial URG 04LX laser scanners Angle of scan range is 240 degrees Maximum distance range is 4m 10 scans per second Power Su
5. via the joystick The wheelchair actuators are based on the differential drive mode Provided data by the sensors were applied to enhance the interaction between wheelchair and the environment and the user Essex Wheelchair has multi layer client server software structure Low level software is migrated on on board embedded PC and is responsible to handle the sensors control the motors and communicate with other layers High level software is a ROS based package running on the remote PC It contains wide range of ROS packages to support autonomous navigation visualization of the wheelchair in the environment and graphic user interface ROS package provide simultaneous mapping and localization SLAM using the sensor data CES 530 University of Essex U K Page 35 Essex Wheelchair is developed in University of Essex under the financial support from two EU Research Projects SYSIASS and COALAS The development of this wheelchair covers a wide range of research activities from autonomous navigation to multi modal Human Machine Interaction The research team members include Ling Chen lan Dukes George Francis Ricky Li Mohammadreza A Oskoei Ericka Rechy Ramirez Sen Wang Lai Wei and Huosheng Hu References 1 ROS Wiki http www ros org wik1 2 Differential drive package http www ros org wiki differential_drive 3 ROS Navigation http www ros org wiki move_base 4 Pioneer 3AT ROS Setup https docs google com docum
6. your system and initiate a SSH terminal connection to TrimSlice ssh server 192 168 2 2 o Passphrase to TrimSlice terminal is a o You can make permanent key authorisation using key gen o For failure check if the wireless and TrimSlice are normally running e Activate SERVER code by entering following commands in TrimSlice terminal cd comms ey eta ens In case of error message check the hardware connections or contact the admin In normal you see send receive data packet counters in the terminal Keep SERVER code running in its terminal during working with the Wheelchair You can stop SERVER code by pressing Ct r1 C in its terminal Make sure to stop SERVER code before shutting down the TrimSlice O O 0 O O 4 2 2 Activate the motors You have already activated the software on local system and just need to turn on the motor drives and set the wheelchair in Software mode in which it gets driving commands from the remote system The following procedures describe how to set the wheelchair in software mode e Activate or deactivate the manual wheel lock Figure 21 manual wheel locks o The manual wheel locks are located on the left and right sides above the wheels o Pull the lever 1 upwards and backwards till it audibly locks in place The manual wheel lock is activated o To release the wheel lock push the lever 1 completely forward and downward again CES 530 University of Essex U K Pa
7. 5 gt Frames gt Tree 1404 LaserSca Y M05 Map Map Z gt Status Error Topic map Alpha 0 7 Draw Behind _ Resolution 0 05 Virtual Joystick Figure 27 rviz present a 3D model of wheelchair you can drive the wheelchair by clicking on virtual joystick screen and record the robot path in rviz CES 530 University of Essex U K Page 30 4 4 Autonomous Navigation mode Having SERVER code running on local system TrimSlice in remote system we are going to activate ROS packages that can drive the wheelchair with autonomous navigation Autonomous navigation AS is responsible to drive the wheelchair from the current position into destination Initial pose and destination should be addressed by the user in the global map and then autonomous navigation attempts to plan a path in the global map and finally it drives the wheelchair by computing the velocity of the motors and sending to the wheelchair given data supplied by both global and local maps Let s first introduce the concepts we use in autonomous navigation Global map In order for the wheelchair to navigate with the Autonomous Navigation it must have a static map The map covers the rooms and corridors and shows static and main boundaries such as walls drawers and etc It enables the wheelchair to localize itself and receive commands to navigation to a specific location within the map We currently build the maps using the gmapping package which uses SLAM t
8. A Oskoei Ericka Rechy Ramirez Sen Wang Lai Wei and Huosheng Hu Acknowledgements The authors gratefully acknowledge the support of the EU Interreg SYSIASS project Autonomous and Intelligent Healthcare System http www sysiass eu and the COALAS project Cognitive Assisted Living Ambient System http www coalas project eu The COALAS project has been selected in the context of the INTERREG IVA France Channel England European cross border co operation programme which is co financed by the ERDF The Ist author has been supported by the Mexican National Council of Science and Technology CONACYT through the program Becas para estudios de posgrado en el extranjero no 183392 Our thanks also go to Robin Dowling for his technical support during the research CES 530 University of Essex U K Page 2 Table of Contents De TIPO COM AAEN E AE EAN O O NE NE E EE E A AT 4 TO A eio i nrar A NA a aa aSa 4 E Ar M O ee A 4 2 2 Electric Powered Wheelchair EPW cccccsssccssscccsssccssccccssccccssccccssccccssccccscccccscccccscsccsecees 5 Ze Additional CORIDOMCIES oes cccedeceessccseseses secures csenceeasscuassaiseusssesccurcescsenceeudeorsnsessoesssseveureretscacteetere 5 2 3 1 EDE A 7 A o A 7 2 A e e E 9 2 3 4 Lo A Pen RCT SSN IROL TS RT Oa en ERIE ST aT RTL Te TICE Ne I aT REL TREES 10 2 3 5 iaa ad 10 2306 Micro Controles added 11 A SS A 12 de GOW ATC rE e E E EE E E E E E 13 3 1 Low Level Software Motion Con
9. LERyaw accel x accel y ACS I 4 gyro X Gyto_yr gyrolz magne Tomi magnetom y Magne tone 27 magnetom heading SHOPENSawey romp FONG wos Bem Discs ONE ALI ne oe qe SOME ONE gue oe QUe ME ee yy KKKKKKKKKK Ai accel y raw ee a gyro x raw gyro y raw gyro z raw magnetom xX raw magnetom y raw magnetom Z raw updated Data Packet from Server to Client struct GaterOrmar Serd sonar Ie ar oond struct laserFormat rightlaser struct encoderFormat wheelEncoders struct mongooseRawData mongoose Ine necko um Ie kxkkkxkkK KKkKkX Command Packet Struct COmmandrormat Y int speed int steering intechecks um from Client to Server KKAKKKKKKKK KKKKKKKKKK Figure 19 data format communicating between server and client e Additional interface The chair has now been fitted with an interface to read the front chair user manual joystick This is an analogue to digital converter built into the front joystick console and powered from it The chair s joystick control panel therefore needs to be engaged 1 0 button to receive data from it Data from it appears in the data structure along with everything else e This unit has been fitted to allow operation as per the ISEN algorithms where the user drives with the joystick while the software steers away from obstacles CES 530 University of Essex U K Page 17 3 2 High level software Navigation Essex_wheelchair
10. Package client code wrapped by ROS which enables the sending and receiving data commands in ROS message types Differential_drive Package The purpose of this package is to provide an interface to the navigation stack It takes in a twist message from the navigation stack and provides a Iwheel and rwheel messages to be used as motor driver strengths The package receives wheel encoder messages back from the hardware and generates the tf transform messages required by the ROS navigation stack This package provides the following nodes o pid_velocity A basic PID controller with a velocity target o twist_to_motors Translates a twist to two motor velocity targets o virtual joystick A small GUI to control the robot rviz package A 3d visualization environment for robots using ROS navigation stack A 2D navigation stack that takes in information from odometry sensor streams and a goal pose and outputs safe velocity commands that are sent to a mobile base The Navigation Stack is fairly simple on a conceptual level It takes in information from odometry and sensor streams and outputs velocity commands to send to a mobile base Use of the Navigation Stack on an arbitrary robot however is a bit more complicated As a pre requisite for navigation stack use the robot must be running ROS have a tf transform tree in place and publish sensor data using the correct ROS Message types Also the Navigation Stack needs to be configured for the shape
11. University of Essex ROS based Multi sensor Navigation System for a Commercial Wheelchair Technical Report CES 530 Mohammadreza Asghari Oskoei and Huosheng Hu 31 October 2013 School of Computer Science amp Electronic Engineering University of Essex Colchester CO4 350 United Kingdom Email masgha essex ac uk hhu essex ac uk ISSN 1744 8050 CES 530 University of Essex U K Page 1 dE European Regional Development Fund 2 Mers Seas Zee n The European Union investing in your future e jc A AJANSA a oaa e neo lo i t 9 rance en nds europ en de d veloppement r gion FRANCE ENGLAND VLAANDEREN NEDERLAND gt L Union europ enne investit dans votre avenir i N interreg Abstract This report describes an intelligent electric powered wheelchair developed in University of Essex under the financial support from two EU Research Projects SYSIASS and COALAS The development of this wheelchair covers a wide range of research activities from multi modal Human Machine Interfacing to autonomous navigation This user manual provides an overview and guidelines to use the wheelchair with autonomous navigation functions It includes three sections overview of Hardware parts overview to Software and a Tutorial that helps the user step by step to activate and run the wheelchair without the need of supervision The research team members include Ling Chen lan Dukes George Francis Ricky Li Mohammadreza
12. adjusting armrest height Locking screw for adjusting backrest angle Manual wheel lock only right side visible in the picture Disengaging lever not visible in the picture located on both sides on each motor Remote control Leg rest unlocking lever Figure 2 Essex wheelchair side view 2 3 Additional Components Figure 3 Essex wheelchair side view CES 530 University of Essex U K Page 5 7 Me f wan A i w N O PE Wi Fi Antenna ho yoo gt Y lt 4 a f Embedded PC OS l TEDE 1 5 gt Ta p Es e _ y es O _ em 1 ar hs Hg as va 4 S L s J me a A 7 Wheel lt Encoders y AAT NRAN t SS dy a al A A E SE _ Ar a 4 7 Ethernet Cable Figure 4 Essex wheelchair rear view USB Laser Scanner p pe Wi Fi Wheel Encoders Trim Slice Embedded PC R5232 R5485 Mongoose IMU i gt joystick Output DC DC R5485 EERE TONE Power Controller ee 12V Input Converter Figure 5 Essex wheelchair block diagram CES 530 University of Essex U K Page 6 2 3 1 Embedded PC e Trim Slice computer NVIDIA Tegra2 CPU Wi Fi Ethernet 4xUSB ports Ubuntu Operating System 32GBSSD 12Vdc power supply e There is also a 4 port USB Hub to connect all of the modules to eS a j a gt e gt Cia 1 e 4 L a g 4 J ks qa A gt Y he s Y
13. and dynamics of a robot to perform at a high level CES 530 University of Essex U K Page 18 goal map map_ Server map navigation virtual_joystick laser Client code running on ROS Node comm node coin target_vel Eolo twist_to_motors lwheel_vtarge rwheel_vtarget left pid_velocity right pid_velocity Imotor lwheel rmotor SERVER code running at TrimSlice Linux System ential Differ Gp pi Figure 20 High Level Software Architecture CES 530 University of Essex U K Page 19 4 Tutorial This tutorial provides step by step instructions for how to install and get the wheelchair package running As the local systems on the wheelchair are pre installed and maintained just by the admin the tutorial merely covers installation and configuration of the remote system with ROS and Essex _Wheelchair packages It also covers driving the wheelchair in manual and software modes The software mode uses high level ROS packages on the remote system to drive the wheelchair through either autonomous navigation or virtual joystick In manual mode the wheelchair is manipulated by the joystick The hardware components of wheelchair are presented in Section 2 and the software structure in both low and high levels are described in Section 3 It is assumed you have already got basic knowledge about Ubuntu ROS and Essex_wheelchair package and are ready to use it Basical
14. chine e g VMware tools not recommended For more details about installation please see https help ubuntu com community Installation 4 1 1 Install ROS ROS Robot Operating System is an open source meta operating system that provides libraries and tools to help software developers create robot applications lt provides hardware abstraction device drivers libraries visualizers message passing package management and more ROS Groovy is a stable version used to develop essex_wheelchair You can install ROS either from source not recommended or just binary For more details please see http www ros org wiki Follow the steps below to install ROS Groovy binary executables in Ubuntu 12 04 e Setup source list to accept software from packages ros org sudo ci eo tecno Cebu Ee packages OS OLg os UbUMEUT precise madam gt etc apt sources list d ros latest list e Setup keys nose MRE 7 Pclekage oniaec Mo a Oc mica 0 sudo clo cai ade e Make sure you have re indexed the ROS org server sudo apt get update e Install ROS full desktop sudo tap qe rin tacos groovy de krop full CES 530 University of Essex U K Page 21 o By now ROS core is installed in opt ros groovy and Standard ROS packages are installed in opt ros groovy packages e Configure environment echo M our e y Opt Os creo yy seta lala e a sbashre o ROS environment variables are automatically added to bash sess
15. e mua gt 11 00 lt too soez ei lt rosparam param out_max gt 100 lt rosparam gt lt rosparam param rate gt 10 lt rosparam gt lt rosparan parao telmecut eleks gt 4 rosparam Ceosoeiceml eres coll las Sts gt S lt eos peice Mode KINOCS pliego el we iSite ell Cleiwe Ey oe oO veloc sy denme velos lt remap from wheel to rwheel gt lt remap from motor cmd to rmotor cmd gt lt remap irom wheel vtarget to rwheel vtarger gt lt remap from wheel vel to rwheel vel gt lt rosparam param Kp gt 40 lt rosparam gt lt rosparam param Ki gt 10 lt rosparam gt lt rosparam param Kd gt 0 lt rosparam gt lt ospencam serca eve mula gt gt 1 00 lt too soez elo KOS Sees OS ise CWI wes gt LOCK to ena lt rosparam param rate gt 10 lt rosparam gt lt rosparam param timeout ticks gt 4 lt rosparam gt Ceosmcuceml seves collie Ses gt S lt ces peicem lt node gt SINOC Ss na olle SS PEO ic LC lt x ony 4 Mene eVa WoyvSselek T E sercca to OS Sees E S Ma 1 eo ena lt rosparam param x max gt 1 5 lt rosparam gt lt rosparam param r min gt 10 lt rosparam gt COS EE Siem mel LO oe cnc lt node gt lt mocs lo cl release Orito cyst 110 MOLO eS ay ao o o AS O gt QOoeLEeI meme colsot descrlijptenoa ee ciie A aga essex whee llenar laumen essex wheelchair urdf gt lt node pkg rviz type rviz name rviz output screen gt SINCE O CARS Melk
16. e the sensors 11 control the motors and 111 communicate with ROS Client codes It includes Server code communicating with Client code on the remote system Flowchart of the Server code is shown in Figure 17 Remote System Initialize Ports Sensors amp Timers New b Yes Receive Command Command target_speed target_steering No Send Buffered Sensor Data Sonar Lasers Encoders IMU Handel Sensors pic based sonar sensors right left lasers right left wheel encoders mongoose IMU Buffer Sensor Data Sonar Lasers Encoders IMU 5Hz Cycle 200ms Handel PID controllers current_speed current_steering Handel Motors speed amp steering 20Hz Cycle 50ms Figure 17 Flowchart of Server code which is running on the on board system CES 530 University of Essex U K Page 14 Motion control is one of the most important tasks of the Server code Due to varying conditions e g user s weight and carpet friction it adopts PID controllers to maintain a stable velocity for the wheels The PID controller provides required command based on the desired and actual readings We designed two PID controllers for speed and steering of the Wheelchair Figure 18 block diagram of the motion control in the Server code Motion Control e Left Motor e Right Motor e Target Speed e Current speed e PID speed e Left Encoder e PID Steering e Target steering
17. e wheelchair you need two packages have them installed including differential drive and essex wheelchair Besides ROS repository additional packages are often kept in svn http subversion tigris org or github https github com It s recommended but not necessary to install repository tools then the packages e First make sure required tools are installed update install yam tese gitg meld curl open oak gt 6 J ak IS we S e a NE oie install openssh server Install 2d_navigation optional Gio 2 Mos ici ope come areo E Giselle co os 9 Leia Meal o jeta ojal Install differential_drive package eo o so cis cose SSL drena Ciel Heep Code google com p diiteremrilal drive rosws update COSWS SSE Calibre tell oie Install essex_ wheelchair package source CE wie oun canis cose Sel Chit ere ie Oli http code google com p essex wheelchair rosws update rosws set Ss Wines cla ide e Check the path of packages by navigating into them CES 530 University of Essex U K Page 24 COSO Cure ade ll oc Rose a Ss See alas o It should go to the package folder if not check the ROS PATH PACKAGE e Build the main and the depended packages Cosme se Piel Ec Se SS Wiese Lelia ic 4 2 Driving Wheelchair Using Remote System This section includes activating both low and high level tools It first runs SERVER code on local system TrimSlice and then launches Essex_wh
18. eelchair package on the remote system 4 2 1 Activate local system TrimSlice To manipulate the wheelchair remotely the local system should be activated We should activate SERVER code on TrimSlice which continuously sends sensor data and receives motor commands to from high level controlling packages in remote system The procedure is as following e Make sure the wheels are in geared mode o Turn the left and right handles shown in Fig xx e Make sure that the Battery of Wheelchair is fully charged o Check if the Battery charger is connected o Green light on the charger indicates the battery is full o Amber light on the charger indicates it is charging now e Turn on TrimSlice by pressing Green Button on the Power Unit Figure 9 It starts blinking and you should wait it turns to still green light The Power Unit is placed on left side of the wheelchair blinking green button indicates the process of initiation of TrimSlice still green button light shows TrimSlice is ON pressing Red Button shuts down the Ubuntu and turns off TrimSlice Blinking Red Button indicates Ubuntu is shutting down O O O O e Connect to TrimSlice chair wireless connection o You can see TrimSlice chair in wireless network list as TrimSlice was ON o Wireless passphrase is j k23fh58 o Wait for stable connection you lose former wireless connections i e internet CES 530 University of Essex U K Page 25 e Open a new terminal Ctrl Alt T in
19. ent d 1C_GdAAQck IT4H5GnsH3j60ezUbehUphtinn8XU4XBk edit heading h 763idqd2fist CES 530 University of Essex U K Page 36
20. ge 26 e Engaging or disengaging the wheels into the gear o The disengaging levers for the motors are located at the rear on the motor o Disengaging motors rotate the engaging lever 1 to the side position B o Re engaging motors rotate the engaging lever 1 to the rear position A Figure 22 engaging or disengaging the motors e Press the I O button on wheelchair control panel to turn on the motor drives o A figure LED indicates wheelchair status Figure 23 wheelchair control panel and joystick e Set the wheelchair in Software mode by turning the key handle to right o In Software mode remote system is in charge of control of the motors Figure 24 wheelchair control panel and joystick CES 530 University of Essex U K Page 27 4 3 Virtual Joystick mode Having the wheelchair in Software mode and the SERVER code running on local system TrimSlice in remote system we are going to activate ROS packages that can drive the wheelchair using a virtual joystick the screen of remote system The procedure is as the following e Open a new terminal Ctrl Alt T in your system and activate ROS core USCIS e Open a new terminal Ctrl Alt T in your system and launch the packages via launch file nas LAWN ass wines Glia ie sie dime tio arnes o launch file works same as batch file in DOS sets the parameters and activates the executable nodes in sequence o bringup_hardware launch Figure 25 act
21. ion every time a new shell terminal is launched o bashrc isa hidden file system in Ubuntu that initiates required environmental variables as a new terminal launched e rosinstall is a frequently used command line tool in ROS that is distributed separately It enables you to easily download many source trees for ROS packages with one command Udo Nader tlie AOS O sis tail e Introduce the system as a master ROS communication centre sono Exodo INOS MSI UR Tamers LoS ass MLS gt allas base o Use IP address instead of Localhost if ROS master 1s not the host PC 4 1 2 Setup ROS Workspace While the core was installed the standard ROS packages are normally available and you can use them directly Meantime developers can create their own packages install additional packages from source or even shadow installed packages with experimental versions lt requires setting up an overlay environment in which they can either create or copy packages and use them along with the primary ones There are a few ways to manage these overlay environments A user can manage ROS PACKAGE PATH and ROS WORKSPACE environment variables by hand Alternatively ROS Workspace provides a systematic method for managing package overlays in a workspace http www ros org wiki fuerte Installation Overlays Here we introduce how to setup ROS workspace and catkin and manage overlays by setting environment variables e ROS Setup sh Source op os quo se
22. ivates hardware including wheelchair node connecting to the local system and controlling nodes e Open anew terminal Ctrl Alt T in your system and launch the packages via launch file COS LEWIN ese Vultee Saja caco wal ee vle lly Gye 1el lt Lawuacin o bringup_virtualjoystick launch activates user interface and virtual joystick in the remote system o Figure 26 depicts the screen of visualization rviz and virtual joystick as they were activated o rvis is a runtime visualization tool in which you can see the 3D model of wheelchair in the environment travelled path laser sensor data and more You can change the point of view using mouse actions Figure 27 o You can drive the wheelchair using virtual joystick by clicking on its screen Figure 27 and simultaneously see and record the wheelchair path in rviz CES 530 University of Essex U K Page 28 SNA KMOCS pllg ss Macs lola 1y92 colmas mece mesme commis mocks output To Creen E a a hogs ee Oo name legsDetector node output screen gt TO P aaar a e a O a T eaa TO e gota tol Si cell ea e a e o a Joy mame a e o lt remap from wheel to lwheel gt remap rom motor cmd motor ena lt remap trom wheel vtarger to lwheel vtarger gt lt remap from wheel vel to Iwheel vel gt lt rosparam param Kp gt 40 lt rosparam gt lt rosparam param Ki gt 10 lt rosparam gt lt rosparam param Kd gt 0 lt rosparam gt os penca seucam Com
23. lupobasa CES 530 University of Essex U K Page 22 e Catkin workspace Setup iS as So cun Caras ae canos pales ca cats s catkin make e Rosbuild workspace Setup iso 9 tao slovidlils e a os co o Ss Loss mole oroni o e cetelala we cevell rosws set y sandbox rosinstall update seo oUr taoslenidlle e seen Jsasla gt 2 0 Els laeS sous bas hue e Verification env grep ROS look for ROS PACKAGE PATH home lt user gt rosbuild_ws sandbox home lt user gt c atkin_ws src opt ros groovy share opt ros groovy stacks e Workspace Setup by Path Variable o Make a folder in home as a place for the overlays named here as ros mkdir ros o Configure overlay environment by redirecting path of packages echo export ROS PACKACH PATH res SROs PACKAGE PATH gt 7 bashire bashrc o ROS core by default is installed in opt ros groovy o Standard ROS packages are installed in opt ros groovy packages o Overlay packages are set to be in ros CES 530 University of Essex U K Page 23 o New package address is added by export ROS PACKAGE PATH o As ordered in ROS PACKAGE PATH overlays are defined in higher priority to be called than the standard packages Hence the developers can create package download source of standard packages or shadow versions into the overlay folder make modifications and use them without changing the original core 4 1 3 Install packages To navigate th
24. ly the wheelchair works in four modes free wheel joystick virtual joystick and autonomous navigation The free wheel mode is the ordinary nature of the wheelchair in which the wheels are not engaged with the gears and the user can push it anywhere desired In this mode we do not have any control on wheelchair but we still receive sensory data in the remote system to monitor the trajectory In joystick mode the wheels are engaged by the gears so we could not drive it by pushing but just can manipulate the wheelchair using the joystick In this mode the wheelchair avoids obstacles detected by the sonar sensors and also we could monitor the trajectory in remote system using ROS packages using sensory data In case of a close obstacle the controller bypasses joystick command moving towards the detected obstacle and stops the wheelchair Essex_wheelchair can be controlled through the remote system namely virtual joystick and autonomous navigation In the both modes it receives moving commands from remote system rather than the local joystick Remote system could be either desktop or laptop or in future a tablet smartphone with ROS packages installed In virtual joystick mode we could drive wheelchair by sending commands through a remote system meantime track the wheelchair trajectory and visualize sensory data including laser scans sonar odometry and trajectory using ROS visualization tool Autonomous navigation is responsible to dri
25. n rate e Client Server software enables embedded pc to communicate with a remote system e Communication can be via Wi Fi or Ethernet e Wi Fi is configured as an Access Point CES 530 University of Essex U K Page 15 e DHCP server has been set up on both Wi Fi and Ethernet ports e Server running on embedded PC Marshals data from the various sensors and modules which operate asynchronously and presents it in a unified data structure e Client running on remote development PC Requests copies of the data structure when required returns speed and steering commands to the server ey e ao oae la if Lic incl iile for the Chair Cilia o erver S G EEan eio dam 2013 define HOST NAME Server Cle in dene PORT VAD DE Eis 5050 define PORT ADDRESS O 5050 requires define DADER IS 682 readings define LASER FRONT 341 reading struct sonar Wie Castel o os iZ ine OSOS ae Cas int updated hi struct laserFkFormat LIE SOLAS VSS SIRES yp ine index int updated yo struct encoderFormat Ilong int etapa Seanee mm ane e SANG cue M ES or E ES Il Porc Address E Ea O e o Seu a e e Lasse vocal number ol Hee Cenes Guiso PT Bros dise mMaiecel moves in CES 530 University of Essex U K Page 16 Serce Mongo oS ke Dalila double double double double double double double double double double double double double UIE o Is AU EU
26. nitially build the global map by editing the image produced by mapping tool We remove particles and keep just the main boundaries of the map By launching the packages we see the global static and local dynamic maps in visualization screen rviz CES 530 University of Essex U K Page 33 First we should localise the wheelchair it means set the local map on proper point of the global map Now the boundaries of the local map shown by blue and red lines should match on the global map boundaries Then by setting the destination on the global map autonomous navigation plans a path shown by green line on the map and then starts to drive the wheelchair to destination The parameters are needed to be tuned by trying in the field lt launch gt Lmao ter auto rar lt 1 Rum the map server gt gt gt node name map oer Ver Pko Map erve i ype map o er yom args o find essex wheelchair common map pgm 0 a 7 gt lt l Rua Bil gt Side le dani examples ancla MOS 00 a MOE AE E DES MO E SS ES ese name move DaseTloutput Tscreen gt lt IWOS occ a sp mies casas Common Cosmo commons pensais oia ocn Mics ole Este a mos pernil Mo na essex whee lechal common costmap common params yam Command load as Local cos uma 7 gt lt ro sense a SS ira i escex wheelchair common local ecosemap params yen command Moa mos Oech iwi Isis i aig escex wheelchair common global co tmar Parans yaml Vconmand lToadY y
27. o build a map from sensor data published over ROS Local map Local map covers near vicinity of the wheelchair and just shows boundaries of obstacles around the wheelchair It is a dynamic map which is produced by real time laser scanner readings Current pose position and orientation of the wheelchair in global map X Y Theta in a 6 dim pose vector of rviz Transform frame the coordination is measured and recorded in various frames e g frame of global local base laser Transform frame tf maintains the relationship between coordinate frames in a tree structure buffered in time and lets the user transform points vectors etc between any two coordinate frames at any desired point in time Localization the pose of wheelchair in the map and real world should match with together It means that the boundaries produced in local map shown by blue and red lines should coincide with boundaries of the global map At the beginning the wheelchair is localised manually once then autonomous navigation carries on localizing using odometry data Destination is a desired pose in global map addressed by the user Path planer is responsible to find an optimal path shown by green line on the map between the current position and destination Motion control is to consider the motion preferences wheelchair dimension and specs along with data provided by both local and global maps cost maps for computing velocity commands to send to the wheelchai
28. pply 5Vdc supplied from a separate Dc Dc Converter L They are connected to PC via USB LJ Shadowing by the chair user s legs may require two scanners to be fitted left and right Figure 11 URG 04LX Laser Scanner 2 3 5 Sonar Anti collision sensing Modified from car reversing sensors Each module supports 4 sensors modules have been built Data output is via RS485 E gt M V4 Y DODDO ba gt f CES 530 University of Essex U K Page 10 m gA gt f Figure 12 Sonar Sensors 2 3 6 Micro Controller The original microcontroller is removed and a board based on a PIC18F25K20 is inserted This micro controller controls pulse timing echo delay time measurement sensor selection and data presentation to the PC Data transfer to the pc is via the serial driver chip Cables 4 x Sensors RS485 Serial Data Power 12Vdc off positic Figure 13 Sonar Daughter board construction CES 530 University of Essex U K Page 11 27 Figure 14 Sonar Sensor Boxed Modules Encoder Rotary encoder spring loaded to run on the outside of the tyre due to mechanical size constraints Encoders are Hengstler RI32 shaft encoders 1024 pulses per revolution Data from them is processed by another microcontroller which presents data which has been converted to mm to the PC via the RS485 bus Figure 15 Wheel Encoders CES 530 University of Essex U K Page 12
29. r The procedure to activate autonomous navigation is as the following Open a new terminal Ctrl Alt T in your system and activate ROS core LOS IOC Ie Open a new terminal Ctrl Alt T in your system and launch the packages via launch file CES 530 University of Essex U K Page 31 nas la unchtess elote Ue aun cn o launch file works same as batch file in DOS sets the parameters and activates the executable nodes in sequence o bringup_hardware launch Figure 25 activates hardware including wheelchair node connecting to the local system and controlling nodes o Then differential_drive visualization and virtual joystick packages should be activated individually if needed o Running wheelchair node publishes wheelchair data in ROS topics and receives motor commands via subscribed ROS topics e Open a new terminal Ctrl Alt T in your system and launch the packages via launch file nes Toun hie e ie e encia o ras o bringup_ui launch activates user interface in the remote system o Figure 26 depicts the screen of visualization rviz and virtual joystick as they were activated o rvisisaruntime visualization tool in which you can see the 3D model of wheelchair in the environment travelled path laser sensor data and more You can change the point of view using mouse actions Figure 27 o You can drive the wheelchair using virtual joystick by clicking on its screen Figure 27 and simultaneously see and record
30. re 2 1 Architecture e Acommercial wheelchair has been fitted with an embedded computer sensors control electronics and wireless networks e Chair is self contained powered by the existing on board batteries and capable of running some navigation algorithms internally if required e Client Server Software has been developed to manage data from the sensors and communication with remote computers e Client has been interfaced to ROS enabling pre existing libraries and algorithms to be used on the chair e Sensor Control Electronics is modular with extensive use being made of small single chip microcontrollers allowing easy re configuration e Serial boot loaders have been installed in the modules to facilitate future development Control System Architecture for Wheelchair Client High level Navigation amp Planning i a ete ee x l Omni Laptop PC amp GPS i Vision Windows Linux i iii Sensor data m D Soxgmands e is O OS E ii 1 Embedded Linux PC TEN aren Gumstix PC or TrimSlice Ethernet Digital IO CPU Linux RAM RS485 RS485 rsags rsags rs485 Rs485 or USB or USB or USB or USB or USB Server Low level Motion Control Figure 1 architecture of Essex Wheelchair Hardware CES 530 University of Essex U K Page 4 2 2 Electric Powered Wheelchair EPW Here are the main parts of ordinary electric powered wheelchair 1 Push handles cross strut Locking screw for
31. the wheelchair path in rviz e Open anew terminal Ctrl Alt T in your system and launch the packages via launch file nas E une SSSex whesLeliaiie Siena Wo once o bringup_navigation launch activates a set of nodes including map server map_server localization amcl and navigation move_base o It activates the map_server sets the map parameters and runs the navigation tools o Navigation package drives the wheelchair autonomously into the specified goal in the map o Coordination of the goal can be assigned via visualization tool e g rviz or a terminal CES 530 University of Essex U K Page 32 Figure 28 global map and the travelled path by the wheelchair Autonomous navigation plans a path and drives the wheelchair from starting point to end point It includes global and local map Move Camera Interact Select 2D NavGoal 2D Pose Estimate Displays WES v Global Options Backgroun 202 202 202 Fixed Frame odom Target Fra lt Fixed Frame gt gt Global Status OK o 01 Grid Grid Z gt 02 RobotMo 4 4303 TF TF Y gt Status OK m y Show Names Y Click here for J yA initial pose show Axes Y Click here for YAY A Show Arro E A Marker Scale 1 destination 7 de E TES os Update Int 0 K Ro l Frame Tim 15 gt Frames gt Tree Y q E JP lis A Figure 29 how to address the initial pose and destination We should i
32. trol eoseeoossessseosssosssesssessssososesssessssosssesssessssesssesssssssses 14 3 2 High level Software NaViGatiOn sisscseccasvcssstasvesvndsansaxesvevcsecdadncausuevdsvedsansaxeiveucsesduivcassduevdsseess 18 A Ta aE E E A 20 4 1 Installation and Configuration sssssssssssssssssssssssscccscssosecscsesssesescscscsscsssssssseessscsssssssssssssee 21 4 1 1 IU RO soi bine 21 ALZ Setup ROS W OFKSPACE sarscsscsssarssccananeceteapiandeabansmederoninssatasedatingaandaetanetesosescessandeeseteapiandeatanonetecgseadts 22 Ads VAS packat Sissies aa anaE a aO rSn ne inii repan aaier 24 4 2 Driving Wheelchair Using Remote System sssssssscecceecccccccssssssssecccecccccccccosssssssseccecececesooso 25 4 2 1 Activate local system Trims MCE lana ii aiii 25 4 2 2 PRG VALS MO OES acidos 26 4 3 Virtual Joystick mode asii ici 28 4 4 Autonomous Navigation mode ssssescccecccccccscsssssssccececococccccsssssssseseccccccccoccssssssssssscececceeessss 31 MS Free W MCG Mode asia 35 AMES A En II O 35 RE MS r ia 36 CES 530 University of Essex U K Page 3 1 Introduction Essex wheelchair is an intelligent powered wheelchair that adopts new technology to help the elder and disabled people It is a mobile robot with autonomous navigation differential motor drive encoders joystick and additional sensors including two Hokuyo laser scanners 12 sonar sensors Mongoose 9DF IMU camera with omni vision microphone and GPS 2 Hardwa
33. ve the wheelchair from the current position into destination autonomously It localizes the robot and destination plans an optimum path drives the wheelchair into destination avoiding dynamic obstacles and re plan a new path if needed It also supports visualization and mapping tools Local system which is an embedded PC configured by the admin contains sensors and actuators drivers low level controlling routines and bridging tools that communicate with the remote system via TCP wireless Ethernet or USB The users just need to install required packages on their system i e remote system They should install Ubuntu 12 04 is suggested ROS Groovy is suggested setup ROS workspace and finally install two overlay packages including differential drive and essex_wheelchair CES 530 University of Essex U K Page 20 Section 4 1 provides required guidelines to install and configure the high level software Once installations done the user can follow Section O to activate the wheelchair navigation and visualisation functions 4 1 Installation and Configuration Ubuntu Linux is an open source operating system that supports full features of ROS Ubuntu 12 04 is a long time support version It is easy to install Ubuntu on line from DVD or USB Flash memory You can keep the current operating system e g Windows and install Ubuntu turning to dual boot It is also possible to have simultaneously running Ubuntu and Windows using virtual ma
34. y lt mo sE a SS Orla essex wheelecnarr common vase local planner params yen command load gt lt node gt lt Leuacias Figure 30 launch file move_base launch CES 530 University of Essex U K Page 34 Move Camera Interact Select 2D Nav Goal 2D Pose Estimate quae Displays e v Global Options Backgroun 202 202 202 Fixed Frame odom Target Fra lt Fixed Frame gt gt Global Status OK gt 01 Grid Grid MU gt 02 RobotMo 4 kg 03 TF TF Y gt Status OK sss Show Names ShowAxes E Show Arro C za Marker Scale 1 Update Int 0 Ric Frame Tim 15 A gt Frames gt Tree La 04 o g u M 05 Map Map g gt Status Error P Topic map Alpha 0 7 L j Draw Behind Resolution 0 05 Width 4000 Height 0 gt Position 0 0 0 gt Orientation 0 0 0 1 gt JA gometi Fixed Frame Frame into which all data is transformed before being displayed Figure 31 sample screen of a map supplied by map_server in rviz 4 5 Freewheel mode This is the ordinary level of manipulating a wheelchair You just should be sure that the wheels are not engaged by the gears 5 Conclusion Essex wheelchair is an intelligent electric powered wheelchair developed to help the elder and disabled people in their activities The wheelchair is equipped with wide range of sensors including sonar laser compass IMU encoder and camera It has two DC motors interfaced
Download Pdf Manuals
Related Search
Related Contents
DRU-ART 2 DRU-ART 3 DRU-ART 4 DRU-ART 5 DRU Fisher-Price T3643 User's Manual 帆 取扱説明書 - パナソニック 腰枕“Stretcher” - ブレスエアーの爽快潔リビング Manual - Dubrasil: Máquinas e Equipamentos para Instalações PocketMoney for iPhone User Manual 314 Copyright © All rights reserved.
Failed to retrieve file