ROBOT SOFTWARE ARCHITECTURE Sathya Software Development JRPL Satyanarayana
ROBOT SOFTWARE ARCHITECTURE Sathya - Software Development @ JRPL Satyanarayana. mekala@yahoo. co. in
Outline What and Why ? Layered Architecture (Mobile Robots) Advantages & Disadvantages Robot with Layered Architecture Queries____
What � It refers how a system is divided into subsystems and how those subsystems interact. (Sense , Think, Act) � It is distinguished from other software architectures because of the special needs of robot systems. - q A hierarchical set of control loops, representing high-level mission planning on high-end computing platforms. q For controlling path planning, robot trajectory, obstacle avoidance
Driver Layer Platform Layer Algorithm Layer User Interface Layer Depending on the target hardware, the software layers could potentially be distributed across multiple targets. In most cases, all of the layers run on one computing platform.
A three to four layer system Fig. Autonomous mobile robot with a manipulator Tasks: Including path planning, Obstacle avoidance, and Mapping. Used : Agriculture, Logistics, or Search and Rescue.
1. Driver Layer o It handles the low-level driver functions required to operate sense and act of the robot. o It depends in sensors and actuators used in the system and also other hardware that the driver software runs on. o It takes raw sensor data, turn it into meaningful engineering units, and pass the sensor values to the other architecture levels (ex: analog to digital)
Driver Layer in simulation A physics-based environment simulator to switch between hardware and simulation. (Lab VIEW Robotics Module ) Interface to Common Sensors and Actuators Use : From low-cost infrared sensors to high-definition light detection and ranging (LIDAR) sensors.
o It translates data between the driver layer and the higher level algorithm layer by converting low-level information into a more complete picture for the higher levels of the software and vice versa. o It corresponds to the physical hardware configuration of the robot. Figure. The platform layer translates between the driver layer and algorithm layer.
o It represent the high-level control algorithms for the robotic system. o It take system information such as position, velocity, or processed video images and make control decisions based on all of the feedback. o Example of obstacle avoidance using a vector field histogram (VFH). -> VFH block receives distance data from a distance sensor, which was sent from the platform layer. -> The output of the VFH block contains path direction, which is sent down to the platform layer. -> In the platform layer, the path direction is input into the steering algorithm, which generates low-level code that can be sent directly to the motors at the driver layer. Figure. The algorithm layer makes control decisions based on feedback.
o It provides physical interaction between the robot and a human operator or displays relevant information on a host PC or Devices. Example from Fig: o It read input from a mouse or joystick, or to drive a simple text display. o It displays live image data from the onboard camera, and the X and Y coordinates of nearby obstacles on a map. The servo angle control allows the user to rotate the onboard servo motor that the camera is attached to; Figure. The user interface layer allows a user to interact with a robot or display information.
Advantages Reusing components of code in future projects. Easy to simulate and testing. Develop custom modules for different environments. Easy to select right hardware and increase scalability. Disadvantages It depends on hardware devices of Robot system. Software testing flaws cause to damage hardware. We can not use for multiple tasks.
Sample Mobile Robot Figure. Three layer software architecture Sample structure (Path Planning) Device Layer Sensors , Motors and Relays -> Send Analog to Digital signal Platform Layer (Embedded logic ) -> Receive data and send input to micro controller. -> Receive Image data from cameras. Algorithm Layer(User Logic with programming) ->Get inputs form platform layer and other Sub systems. -> Check path with Image processing algorithm and compare sensor outputs. (C, Java) ->Send output of logic to platform layer. ->Platform layer sends signals to sensors and actuators to steer wheel directions and change image device. UI Layer(GUI + Remote control devices )
Queries_ Send your queries satyanarayana. mekala@yahoo. co. in
- Slides: 13