faculty of engineering b.sc in computer engineering ... · sensors, wheels, card and cables are...

13
Faculty of Engineering B.Sc in Computer Engineering CMPE492 Final Year Project Low-Level Design Report Supervisor: Asst. Prof. Orkunt SABUNCU Egemen OZDAG Mert YENILMEZ

Upload: others

Post on 22-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

Faculty of Engineering

B.Sc in Computer Engineering

CMPE492 Final Year Project

Low-Level Design Report

Supervisor: Asst. Prof. Orkunt SABUNCU

Egemen OZDAG

Mert YENILMEZ

Page 2: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

1

Table of Contents 1 INTRODUCTİON ................................................................................................................................ 2 1.1 OBJECT DESİGN TRADE-OFFS ................................................................................................................ 2 1.2 INTERFACE DOCUMENTATİON GUİDELİNES .......................................................................................... 2 1.3 PURPOSE OF THE SYSTEM ...................................................................................................................... 3 1.4 ENGİNEERİNG STANDARDS AND IEEE-SA ............................................................................................ 3 1.5 OVERVİEW ............................................................................................................................................ 5

2 PACKAGES & CLASS INTERFACES ............................................................................................... 6 2.1 CLASS INTERFACES 1 ............................................................................................................................ 6 2.2 CLASS INTERFACES 2 ............................................................................................................................ 9

2.2.1 Use Mapping ................................................................................................................................. 10 2.2.2 Software Control ........................................................................................................................... 11 2.2.3 System Services .............................................................................................................................. 11

3 GLOSSARY ....................................................................................................................................... 12 4 REFERENCES ................................................................................................................................... 12

Page 3: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

2

1 Introduction

1.1 Object Design Trade-offs Designing in robotics depend on the specific purpose. For instance, space robots should

have an ability that robots can work on non-gravity environments. However, EYMO is designed for mapping and this mapping can be used in space, underwater and of course in the land. Specially, EYMO is designed for indoor localization and mapping. So, it has to be fast, sustained and agile. EYMO has not to be larger than shoe-box. It’s components such as sensors, wheels, card and cables are enough to fit a small box.

1.2 Interface Documentation Guidelines ROS interface is a program running both as a ROS node and a NAOqi module.

It listens to NAOqi messages and publishes the translated ROS messages. Similarly, some services are interfaced between the two middle-ware to perform robotic actions.

Once launched, to allow basic visualization and interaction with the robot, you can use the common ROS tools like:

§ RViz http://wiki.ros.org/rviz , or § rQt http://wiki.ros.org/rqt .

ROS interface uses the URDF and meshes to render data.

Page 4: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

3

1.3 Purpose of the system An autonomous robot is a robot that performs behaviors or tasks with a high degree

of autonomy (without external influence). Autonomous robotics is usually considered to be a subfield of artificial intelligence, robotics, and information engineering. Autonomous robots are particularly desirable in fields such as spaceflight, household maintenance (such as cleaning), waste water treatment, and delivering goods and services.

Some modern factory robots are "autonomous" within the strict confines of their direct environment. It may not be that every degree of freedom exists in their surrounding environment, but the factory robot's workplace is challenging and can often contain chaotic, unpredicted variables. The exact orientation and position of the next object of work and (in the more advanced factories) even the type of object and the required task must be determined. This can vary unpredictably (at least from the robot's point of view).

One important area of robotics research is to enable the robot to cope with its environment whether this be on land, underwater, in the air, underground, or in space.

A fully autonomous robot can:

• Gain information about the environment • Work for an extended period without human intervention • Move either all or part of itself throughout its operating environment without human

assistance • Avoid situations that are harmful to people, property, or itself unless those are part of its

design specifications

An autonomous robot may also learn or gain new knowledge like adjusting for new methods of accomplishing its tasks or adapting to changing surroundings.

Like other machines, autonomous robots still require regular maintenance.

Briefly, our aim of the system is to design an autonomous robot that recognizes the area in 3-D or 2-D and then performs its tasks in the most efficient way. EYMO, which is developed for this purpose, also has low energy consumption and high usability and sustainability.

1.4 Engineering Standards and IEEE-SA The Institute of Electrical and Electronics Engineers Standards Association (IEEE-SA) is an organization within IEEE that develops global standards in a broad range of industries, including: power and energy, biomedical and health care, information technology and robotics, telecommunication and home automation, transportation, nanotechnology, information assurance, and many more.

Page 5: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

4

IEEE-SA has developed standards for over a century, through a program that offers balance, openness, fair procedures, and consensus. Technical experts from all over the world participate in the development of IEEE standards. IEEE-SA is not a body formally authorized by any government, but rather a community. ISO, IEC and ITU are recognized international standards organizations. ISO members are national standards bodies such as American ANSI, German DIN or Japanese JISC. IEC members are so called National Committees, some of which are hosted by national standards bodies. These are not identical to ISO members. Both IEC and ISO develop International Standards that are consensus-based and follow the "one country one vote principle", representing broad industry needs. Their standards cannot be sponsored by individual companies or organizations.

IEEE 802.1 Standards for LAN/MAN bridging and management and remote media access

control (MAC) bridging

IEEE 802.3 Ethernet Standards for Carrier Sense Multiple Access with Collision Detection

(CSMA/CD)

IEEE 802.6 Standards for information exchange between systems

IEEE 802.9 Standards for integrated services, like voice and data

IEEE 802.11 Wireless Networking – "WiFi"

IEEE 802.12 Standards for demand priority access method

IEEE 802.15.2 Bluetooth and Wi-Fi coexistence mechanism

IEEE 802.15.4 Wireless Sensor/Control Networks – "ZigBee"

IEEE 802.15.6 Wireless Body Area Network (BAN) – (e.g. Bluetooth low energy)

IEEE 828 Configuration Management in Systems and Software Engineering

IEEE 829 Software Test Documentation

IEEE 830 Software Requirements Specifications

IEEE 1016 Software Design Description

Page 6: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

5

IEEE 1076 VHDL – VHSIC Hardware Description Language

IEEE 1233 System Requirements Specification

IEEE 1588 Precision Time Protocol

IEEE 1667 Standard Protocol for Authentication in Host Attachments of Transient Storage

Devices

IEEE 1914.3Standard for Radio Over Ethernet Encapsulations and Mappings

IEEE 2050 RTOS for embedded systems standard

IEEE 12207 Information Technology – Software life-cycle processes

IEEE Switchgear Committee C37 series of standards for Low and High voltage equipment

1.5 Overview Our autonomous project can work in a lot of different areas. For instance, big closed

areas like factory buildings, seaport areas, big hospitals, big university campuses, shopping malls and etc. Actually, it can work in every closed areas. EYMO generates a map of the working area and it memorizes the whole area. After that, project's specifications can change with the customers' wishes. Depending on customer requirements, our product can recognize the different area types like offices, production area, dining hall, packing area. Also, it can recognize product types in the whole area and learning work frequency. For example; every Tuesday morning potatoes come to the factory area and users take the command to EYMO for taking potatoes. EYMO learns this after time and control the new potatoes in every Tuesday morning. This was a simple example of telling what can EYMO do. EYMO knows it’s working area and it creates the best routes for every command. While doing it’s duty, it's not hitting anywhere, any person or something, When an obstacle or a person appears in front of it and EYMO continues it’s way by calculating the new route. So, EYMO can work with the people. Another important feature of EYMO is solving warehousing problems.

There are a lot of products in the market like EYMO but EYMO has three sharp differences from other products in the market. EYMO does not need any line or free zone for working but others need it. This is important for efficiency and sustainability. Another important difference is that EYMO does not need any human support for charging. EYMO has a charge station without cable which is wireless charger. EYMO can calculate it’s own charge capacity and if it is lower than 20% EYMO turns back to it’s charge station after finishing the duty. EYMO can work with people without any support. The last important part is that similar products in the market has prices more than 50.000$ but EYMO costs less than 1000$ .

Page 7: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

6

2 Packages & Class Interfaces

2.1 Class Interfaces 1

The EYMO autonomous robot requires a technology based solution for a communitywide data collection, robot operating system(ROS) and management system whose primary functions include:

• Administrator Based Profile • Hardware and Software System Security • Essential Commanding on ROS Terminal • Map Data Reading

Page 8: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

7

• Administrator Based Profile - Authorized users can begin and update the system directly in the software - Authorized users can change and edit all the wants that they want in the system - Authorized users can read the map data whenever they want and save or delete the map data anytime

• Hardware and Software System Security - Hardware will be protected by an unbreakable and not openable body which is made of hard plastic - Our codes and commands will be secure with an embedded software in a card - In total, the product will be safe and it won’t be hackable

• Essential Commanding on ROS Terminal - In order to operate and control the robot individually required software will be installed in the system - ROS and Linux System can be controlled by granted users - In the system the commands that user needs for using the robot will be given to the customer

• Map Data Reading - Customers will have a software that shows the map to the user - They can operate the map that they reached before to making some updates or edits - Users can save, delete, export or print the data whenever they want after robot generate the map Nonfunctional Requirements: • Access Security • Confidentiality • Efficiency • Integrity • Safety • Survivability • Maintainability • Portability • Reusability • Access Security - The access permissions for system data may only be changed by the system’s data administrator - EYMO owners shall not be allowed to update their own software, and any such attempt shall be reported to security administrator.

Page 9: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

8

• Confidentiality - The system shall protect the privacy of all protected data and map memory. • Efficiency - Any interface between a user and a automated system shall have a maximum response time of two seconds - Complete map data shall be available maximum ten seconds after the end of the mapping operation - The system shall produce a storage capacity warning notification when 65% capacity threshold is crossed with additional notifications issued thereafter at 5% threshold increments. • Integrity - The integrity of the system data area must be checked by internal audit system twice per second; if inconsistencies in data area detected, the system operation should be disabled • Safety - The software will be protected againts other viruses or attacks - Hardware will be protected to against breaking or dropping • Survivability - The access permissions for system data may only be changed by the system’s data administrator - EYMO owners shall not be allowed to update their own software, and any such attempt shall be reported to security administrator. • Maintainability - The customer service call center shall analyze 95% of the problem reports within 2 hours. Items classified as “urgent” shall be repaired within 3 business days in 98% of the reported cases. • Portability - The product is targeted for sale next year in the Turkish market. - The product is designed to run in business offices, warehouses, hospitals, airports and so on.

Page 10: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

9

2.2 Class Interfaces 2

Page 11: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

10

2.2.1Use Mapping

Page 12: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

11

2.2.2Software Control

2.2.3System Services

Page 13: Faculty of Engineering B.Sc in Computer Engineering ... · sensors, wheels, card and cables are enough to fit a small box. 1.2 Interface Documentation Guidelines ROS interface is

12

3 Glossary

- Autonomous: A machine that can go from one point to another without hitting anything.

- SLAM: Simultaneous Localization and Mapping. - Localization: The process of making a product more suitable for a particular area. - Robot Operating System: Operating system for running and configuring different

code languages in a hardware . - Arduino IDE: Physical programming platform. - Collision Avoidance: Avoiding to hitting somewhere. - Waveshare Laser Sensor: The laser sensor which is sending laser and getting back to

laser, calculating the laser time and providing distance by time, it has one angle. - HC-SR04 Ultrasonic Sensor: The sensor which sends a sound wave and getting it

back, calculating the soundwave time and providing distance by time, it has one angle. - L298 DC Motor Driver: Dc Motors need to driver to programming more efficient.

4 References

• https://www.ros.org/ • https://answers.ros.org/questions/ • https://www.raspberrypi.org/ • https://ubuntu-mate.org/raspberry-pi/ • https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/ • https://eymorobotics.wordpress.com/