logo
mobile robotics open platfom
for assistive applications

 

Introduction

Robochair

Robochair project is a mobile robotics open platform for Assistive Technology applications. In other words, Robochair aims to be an open framework for future assistive applications and wheelchair-based robotics developments. It has been developed as add-on module for commercial powered wheelchairs. Its design is highly modular and based in open standards for easy extension, robust and low cost enough to be affordable to the most of people with disabilities.

Environment sensing and information processing are done by means of low cost sensors and small form factor single board computer (SBC). The coupling between environment constraints (detected obstacles and target to reach) and wheelchair’s power module is implemented by using the Controller Area Network (CAN) bus which is a standard in the automotive industry and other kind of vehicles.

The Robochair system is developed around Player robotics framework and implements all the components needed to be fully Player compatible. This way third-party Player developers' source code could be run in Robochair. In addition, and from hardware developers point of view, Robochair defines a low level communication interface based in CANopen, that allows the interoperability and exchangeability among third-party robotics devices.

 

Hardware components architecture

The hardware components architecture of Robochair is modular and interconnected using a bus topology by means of CAN bus. This approach has been proven to be a robust solution for vehicular applications where high degree of security is needed, like wheelchairs. The figure depicts the hardware components architecture of the wheelchair.


As can be seen, and although the system is distributed, it has a main module for global control and configuration tasks (the Main Control module shown in the figure). The remaining modules perform only local tasks, so the minimum necessary data will be sent to the main module. This way, the manner each local task is solved is fully transparent to the main module, and consequently to any high level application running in it. When a module is connected to the system, the main module detects its features and checks what kind of services it offer to the system.

The real time communication system

The Controller Area Network (CAN) bus is a communication system with real time capabilities and has been widely used in the automotive industry for years. Nowadays, the CAN bus has become the de-facto communication standard in vehicles and mobile systems, as well as in any kind of distributed embedded system. Apart from other typical communication services, the CAN bus guarantees the timeliness properties during the exchange of information between all the nodes of the system.

Regardless to the CAN bus specification, it only covers up to Data Link Layer of the OSI model, which is not enough to support high level services like interoperability and exchangeability of devices from different manufacturers. Due to that it is necessary an Application Layer protocol. One of the best is CANopen, defined by CAN-in-Automation (CiA) in CiA DS 301 document. Taking into account the aforementioned, the CANopen is considered a suitable option for being the communication mechanism for the control system of a smart wheelchair. Robochair uses CanFestival, which is an open source implementation of the CANopen protocol.

sensors layout

Sensor type and layout

The sensor selection is a critical task and defines how could the system senses the environment. There are several types of sensors used to perceive the surroundings of the robot, which ultrasonic, infrared and laser range finders are the most popular. There are a lot of different models with a variable list of features and cost from a huge variety of manufactures. Among the low cost ones, SRF08 ultrasonic range finders from Devantech and GP2D12 infrared range finders from Sharp were selected due to their great price/features relation. Several others were analyzed and ruled out by some undesirable features. Laser range finders were also ruled out due to their high cost.

User interaction devices

A force feedback joystick has been selected as input/output method. Force feedback or Haptic refers to a technology which interfaces the user via the sense of touch by applying forces, vibrations and motions to the user. This mechanical stimulation is used, for example, to create virtual objects which allow the user feel their shape. In the other hand, and regarding to wheelchairs, it could also be used to inform the user about the system status in a no intrusive manner. The second device selected was a touch LCD screen in order to provide the user with graphical information. Some soft button and a virtual joystick were developed to control the navigation of the wheelchair.


Software components

Software components The high level software interfaces defined by Robochair are based in the Player framework and are called Player interfaces. Player extensively uses the software interface concept. Different drivers, that control different devices with the same functionality (or almost), must provide the same Player interface. Player defines several interfaces for the control of well-known robotics devices. As shown in the figure, Robochair uses position2dsonarir and power Player interfaces for the remaining devices. The position2d interface is used to move the robot and to retrieve its pose (the robot position and orientation according to a given reference system). Either sonar and ir interfaces are used to receive distance reading from ultrasonic and infrared sensor, respectively. The power interface is used to read the battery status and the remaining capacity. For their specification refer to Player documentation.

Software modules of input/output devices

Each I/O device is controlled by a low cost microcontroller that runs the software needed to interface the device in one hand, and the CANopen stack in the other. Each of these components embeds a CANopen slave node which handles the protocol issues regarding to the master communication. The CANopen master node is running in the other side of the CAN bus in the Main Control module, a 32-bit microcontroller-based SBC, in which Player is also running. The Robochair Player driver, which runs within the Player server, allows applications (Player clients) access the hardware in a transparent manner through position2dsonar and ir interfaces.

Links

Spanish brochure and Basque brochure

Laboratory of Human-Computer Interaction for Special Needs

Copyright (c) 2008 Laboratory of Human-Computer Interaction for Special Needs