Конструирование роботов для начинающих
Робототехника для начинающих: курсы, книги и полезные ссылки
Автор: Дэвид Кук. Книга помогает читателю понять составные части разработки роботов. В ней рассказывается про анатомию роботов и составные части ...
занимаются
Электротехника и электроника или «нервная система» <anchor>занимаются</anchor> электрическими системами внутри робота, встроенными системами, низкоуровневым программированием и теорией управления. Обычно это автоматизация, которая строится вокруг контроля робота.
Robotics/Design Basics/What you should know - Wikibooks, open books for an open world
Robotics/Design Basics/What you should know - Wikibooks, open books for an open world

# Robotics/Design Basics/What you should know

From Wikibooks, open books for an open world

< [Robotics](/wiki/Robotics "Robotics")

[Jump to navigation](#mw-head) [Jump to search](#searchInput)

Robotics spans multiple scientific and engineering disciplines, so when you want to design a better robot you should get some basic knowledge in these fields. How much you should learn depends on how complex you want to make your robot. To give an example: A small tethered tabletop robot would only require some basic knowledge in electronics and programming, a shoe box sized robot would require some additional knowledge on mechanics (mostly about balance) and a large robot might even require some knowledge on solid mechanics.

This page covers the fields that are very much used in robotics. You don't need to know everything about all of these subjects, however knowing the basics of each of these fields can help in building better robots and prevent you from making (some of the) beginner's mistakes.

## Contents

- [1Mechanics](#Mechanics)
- [2Electronics](#Electronics)
- [3Programming](#Programming)
- [4Solid Mechanics](#Solid_Mechanics)
- [5A.I.](#A.I.)
- [6Math](#Math)
- [7See also](#See_also)

## Mechanics

\[ [edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit&section=1 "Edit section: Mechanics") \| [edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit&section=1 "Edit section's source code: Mechanics")\]

Mechanics is about:

- How forces are transferred between the different parts of a construction.
- Where the center of gravity lies.
- Friction
- Position, speed, acceleration
- Newton's laws
- Inertia
- Material properties

Mechanics helps keeping a robot in balance. Although you could build a robot without knowing anything about mechanics, it'll help in preventing your robot from tipping over when turning, or when picking up something.

Another point where mechanics pays off are axles. On small robots you can attach the wheels directly to the output shaft of the motor. However this doesn't work well for larger robots as this puts a lot of stress on the internals of the motor. A better way is to attach the wheel to an axle, and use gears to connect the motor to the axle. Knowledge of mechanics allows you to build such constructs.

If your robot is a small line follower almost any building material will work. However if your robot weighs a few kilos, something sturdier than cardboard and soda sippers is appropriate. And if your robot is human size you should consider metal and/or composite construction.

See [Theoretical Mechanics](/wiki/Theoretical_Mechanics "Theoretical Mechanics") for an introduction in this field.

_the "Theoretical Mechanics" is just started, so there isn't much to read just yet._

## Electronics

\[ [edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit&section=2 "Edit section: Electronics") \| [edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit&section=2 "Edit section's source code: Electronics")\]

Electronics is about:

- Electronic Components
- Analog Circuits
- Digital Logic
- MicroControllers

Electronics is something you can't go without (unless you want to build a complete mechanical robot or use pneumatics for control). Today there are plenty of books covering basic electronics (See [Electronics](/wiki/Electronics "Electronics")).

## Programming

\[ [edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit&section=3 "Edit section: Programming") \| [edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit&section=3 "Edit section's source code: Programming")\]

Computer programming is about:

- Control structures (sequence, selection, iteration)
- Data types (constants, variables, integer, real, string,...)
- Algorithms
- Hardware control (setting and reading registers, interrupts,...)
- logic

Anyone who has had an introductory course on programming (as they are given in American high schools) would be familiar with the first three points. The fourth point is rarely addressed in introductory courses, but is essential when programming microcontrollers. Although it might sound difficult, it can be very easy in practice (for most purposes). Much of this comes down to setting bits in a byte using simple Boolean logic, and writing this value into some register or memory location. Higher level languages like Bascom provide hardware addressing as special variables, which can be treated just like any other variable.

Microcontrollers (and processor boards) are one of the areas where using Assembly is still very valid. Memory (both RAM and program space) is very limited in these, although each new generation of microcontroller has more memory for about the same price. Many microcontrollers provide between 2K and 30K, and processor boards tend to have up to 256K. These numbers vary wildly, but are still significantly less than PCs have. However if you don't know an assembly language, most microcontroller and processor boards have high level language compilers available in many flavors (C, C++, Basic, Pascal, Fortran, etc.)

Robot programming is also about:

- The Event Loop. Most microcontrollers do not have the resources for threading. You will need to look at your robot's task a fraction of a second at a time, and choose which small action to take. What can the program do in that moment to get a little bit closer to its goal?
- Interpreting sensor data. Sensors have many ways of providing noisy or misleading information; how many types of error can you accept? Dirt in a rheostat, a broken switch, and a venetian blind flickering on a photodiode are obvious faults. How about temperature drift, non-linear response curves, or your robot seeing its own shadow?
- Decision making, or **Artificial Intelligence** is the art of making the right decision given the constraints of the current system.
- Motors and motion. Making motion on a robot often involves moving several motors at once, often with feedback from sensors.

## Solid Mechanics

\[ [edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit&section=4 "Edit section: Solid Mechanics") \| [edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit&section=4 "Edit section's source code: Solid Mechanics")\]

Solid mechanics is about how forces distribute inside solid materials. Knowledge about this subject is useful because it explains how materials respond to loads. This helps to prevent using too thick or too thin materials. This isn't required for small or medium robots, but it allows to be more efficient with building materials and gives insight to why and how materials fail (break and/or deform). See \[ [this wikibook](https://en.wikibooks.org/wiki/Solid_Mechanics)\] for a start on solid mechanics. Be warned: heavy math ahead.

Even if you have a mortal fear of math, bite through this as it gives valuable insights on how materials break and deform. No need to memorize the math, as long as you get the idea behind it.

## A.I.

\[ [edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit&section=5 "Edit section: A.I.") \| [edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit&section=5 "Edit section's source code: A.I.")\]

Artificial Intelligence (in Robotics) is about:

- Finding the shortest way between 2,3 (or more) points
- Dealing with obstacles
- Handling new situations (machine learning)

There are many [books](/wiki/Artificial_Intelligence "Artificial Intelligence") available on AI on many different levels. This area has had a short but already fruitful history, but still has a very long way to go. AI isn't just about getting a computer to think and reason. It's more about ordering, sorting and organizing knowledge in a machine and constructing algorithms for extracting real world conclusions from these databases. A search engine like [Google](http://www.google.com) or [Yahoo](http://www.yahoo.com) are examples of real uses of AI.

Other than pure AI books, books on how the brain works and such can provide interesting angles to AI on robots. Concepts like attention and concentration can have interesting uses in some form for integrating sensor data.

## Math

\[ [edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit&section=6 "Edit section: Math") \| [edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit&section=6 "Edit section's source code: Math")\]

Although math is generally seen as the ultimate theoretical science, it can be one of the most important skills in many of the more advanced domains of robotics. e.g. Mechanics uses a lot of math. For simple constructs you won't need much more than high school level math, for more complicated shapes it becomes necessary to use more complex math tools like integrals. But since robotics is a very practical craft many things can be done with approximations. Math however can be very helpful in making the right approximation.

## See also

\[ [edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit&section=7 "Edit section: See also") \| [edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit&section=7 "Edit section's source code: See also")\]

- [Open hardware](https://en.wikipedia.org/wiki/Open_hardware "w:Open hardware")

Retrieved from " [https://en.wikibooks.org/w/index.php?title=Robotics/Design\_Basics/What\_you\_should\_know&oldid=3702971](https://en.wikibooks.org/w/index.php?title=Robotics/Design_Basics/What_you_should_know&oldid=3702971)"

[Category](/wiki/Special:Categories "Special:Categories"):

- [Book:Robotics](/wiki/Category:Book:Robotics "Category:Book:Robotics")

## Navigation menu

### Personal tools

- Not logged in
- [Discussion for this IP address](/wiki/Special:MyTalk "Discussion about edits from this IP address [n]")
- [Contributions](/wiki/Special:MyContributions "A list of edits made from this IP address [y]")
- [Create account](/w/index.php?title=Special:CreateAccount&returnto=Robotics%2FDesign+Basics%2FWhat+you+should+know "You are encouraged to create an account and log in; however, it is not mandatory")
- [Log in](/w/index.php?title=Special:UserLogin&returnto=Robotics%2FDesign+Basics%2FWhat+you+should+know "You are encouraged to log in; however, it is not mandatory [o]")

### Namespaces

- [Book](/wiki/Robotics/Design_Basics/What_you_should_know "View the content page [c]")
- [Discussion](/wiki/Talk:Robotics/Design_Basics/What_you_should_know "Discussion about the content page [t]")

English

### Views

- [Read](/wiki/Robotics/Design_Basics/What_you_should_know)
- [Edit](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&veaction=edit "Edit this page [v]")
- [Edit source](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=edit "Edit the source code of this page [e]")
- [View history](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=history "Past revisions of this page [h]")

More

### Search

[Visit the main page](/wiki/Main_Page "Visit the main page")

### Navigation

- [Main Page](/wiki/Main_Page "Visit the main page [z]")
- [Help](/wiki/Help:Contents "Find help on how to use and edit Wikibooks")
- [Browse](/wiki/Wikibooks:Card_Catalog_Office "Check out what Wikibooks has to offer")
- [Cookbook](/wiki/Cookbook:Table_of_Contents "Learn recipes from around the world")
- [Wikijunior](/wiki/Wikijunior "Books for children")
- [Featured books](/wiki/Wikibooks:Featured_books "The best of Wikibooks")
- [Recent changes](/wiki/Special:RecentChanges "A list of recent changes in the wiki [r]")
- [Donations](//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikibooks.org&uselang=en "Support Wikibooks")
- [Random book](/wiki/Special:RandomInCategory/Book:Wikibooks_Stacks/Books)
- [Using Wikibooks](/wiki/Using_Wikibooks)

### Community

- [Reading room forum](/wiki/Wikibooks:Reading_room)
- [Community portal](/wiki/Wikibooks:Community_Portal "Find your way around the Wikibooks community")
- [Bulletin Board](/wiki/Wikibooks:Reading_room/Bulletin_Board "Important community news")
- [Help out!](/wiki/Wikibooks:Maintenance "Frequent tasks that you can help with")
- [Policies and guidelines](/wiki/Wikibooks:Policies_and_guidelines "Pages detailing important rules and procedures")
- [Contact us](/wiki/Wikibooks:Contact_us "Alternative methods of communication")

### Tools

- [What links here](/wiki/Special:WhatLinksHere/Robotics/Design_Basics/What_you_should_know "A list of all wiki pages that link here [j]")
- [Related changes](/wiki/Special:RecentChangesLinked/Robotics/Design_Basics/What_you_should_know "Recent changes in pages linked from this page [k]")
- [Upload file](//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=en "Upload files [u]")
- [Special pages](/wiki/Special:SpecialPages "A list of all special pages [q]")
- [Permanent link](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&oldid=3702971 "Permanent link to this revision of this page")
- [Page information](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&action=info "More information about this page")
- [Cite this page](/w/index.php?title=Special:CiteThisPage&page=Robotics%2FDesign_Basics%2FWhat_you_should_know&id=3702971&wpFormIdentifier=titleform "Information on how to cite this page")
- [Get shortened URL](/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikibooks.org%2Fwiki%2FRobotics%2FDesign_Basics%2FWhat_you_should_know)
- [Download QR code](/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikibooks.org%2Fwiki%2FRobotics%2FDesign_Basics%2FWhat_you_should_know)
- [Wikidata item](https://www.wikidata.org/wiki/Special:EntityPage/Q123046306 "Link to connected data repository item [g]")

### Sister projects

- [Wikipedia](https://en.wikipedia.org/wiki/Main_Page)
- [Wikiversity](https://en.wikiversity.org/wiki/Wikiversity:Main_Page)
- [Wiktionary](https://en.wiktionary.org/wiki/Wiktionary:Main_Page)
- [Wikiquote](https://en.wikiquote.org/wiki/Main_Page)
- [Wikisource](https://en.wikisource.org/wiki/Main_Page)
- [Wikinews](https://en.wikinews.org/wiki/Main_Page)
- [Wikivoyage](https://en.wikivoyage.org/wiki/Main_Page)
- [Commons](https://commons.wikimedia.org/wiki/Main_Page)
- [Wikidata](https://www.wikidata.org/wiki/Wikidata:Main_Page)
- [MediaWiki](https://www.mediawiki.org/wiki/Main_Page)
- [Meta-Wiki](https://meta.wikimedia.org/wiki/Main_Page)

### Print/export

- [Create a collection](/w/index.php?title=Special:Book&bookcmd=book_creator&referer=Robotics%2FDesign+Basics%2FWhat+you+should+know)
- [Download as PDF](/w/index.php?title=Special:DownloadAsPdf&page=Robotics%2FDesign_Basics%2FWhat_you_should_know&action=show-download-screen)
- [Printable version](/w/index.php?title=Robotics/Design_Basics/What_you_should_know&printable=yes "Printable version of this page [p]")

### In other projects

### In other languages

- [ไทย](https://th.wikibooks.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AD%E0%B8%AD%E0%B8%81%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%AB%E0%B8%B8%E0%B9%88%E0%B8%99%E0%B8%A2%E0%B8%99%E0%B8%95%E0%B9%8C "การออกแบบหุ่นยนต์ – Thai")

[Edit links](https://www.wikidata.org/wiki/Special:EntityPage/Q123046306#sitelinks-wikibooks "Edit interlanguage links")

- This page was last edited on 28 June 2020, at 09:49.
- Text is available under the [Creative Commons Attribution-ShareAlike License](//creativecommons.org/licenses/by-sa/4.0/); additional terms may apply. By using this site, you agree to the [Terms of Use](//foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use) and [Privacy Policy.](//foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy)

- [Privacy policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy)
- [About Wikibooks](/wiki/Wikibooks:Welcome)
- [Disclaimers](/wiki/Wikibooks:General_disclaimer)
- [Code of Conduct](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct)
- [Developers](https://developer.wikimedia.org)
- [Statistics](https://stats.wikimedia.org/#/en.wikibooks.org)
- [Cookie statement](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement)
- [Mobile view](//en.m.wikibooks.org/w/index.php?title=Robotics/Design_Basics/What_you_should_know&mobileaction=toggle_view_mobile)

- [![Wikimedia Foundation](/static/images/footer/wikimedia-button.svg)](https://wikimediafoundation.org/)
- [![Powered by MediaWiki](/w/resources/assets/poweredby_mediawiki.svg)](https://www.mediawiki.org/)