1. 首页
  2. 课程学习
  3. 讲义
  4. Learning Robotics Using Python

Learning Robotics Using Python

上传者: 2019-08-12 14:44:10上传 PDF文件 500kb 热度 42次
About This Book, Design, simulate, build and program an interactive autonomous mobile robotProgram Robot Operating System using PythonGet a grip on the hands-on guide to robotics for learning various robotics concepts and build an advanced robot from scratch, Who This Book Is For, If you are an engiTable of contentsLearning Robotics Using PythonCreditsAbout the authorAbout the reviewerswww.Packtpub.comSupport files, eBooks, discount offers, and more/hy subscribeFree access for packt account holdersPrefaceWhat this book coversWhat you need for this bookWho this book is forConventionsReader feed backCustomer supportDownloading the example codeDownloading the color images of this bookErrataPiracyQuestions1 Introduction to roboticsWhat is a robot?History of the term robotModern definition of a robotWhere do robots come from?What can we find in a robot?The physical bodySensorsEffectorsControllersHow do we build a robot?Reactive controlHierarchical(deliberative) controlHybrid controlSummary2. Mechanical Design of a Service RobotThe Requirements of a service robotRobot drive mechanismSelection of motors and wheelsCalculation of rpm of motorsCalculation of motor torqueThe design summaryRobot chassis designInstalling librecAD, Blender, and MeshLabInstalling LibreCAdInstalling blenderInstalling MeshLabCreating a 2D CAd drawing of the robot using LibreCADThe base plate designBase plate pole designWheel, motor, and motor clamp designCaster wheel designMiddle plate designTop plate designWorking with a 3d model of the robot using blenderPython scripting in BlenderIntroduction to blender Python APsPython script of the robot modelQuestionsSummary3. Working with Robot Simulation Using ROS and GazeboUnderstanding robotic simulationMathematical modeling of the robotIntroduction to the differential steering system and robot kinematicsExplaining of the forward kinematics equationInverse kinematicsIntroduction to ros and gaze boROS ConceptsThe Ros filesystemThe ROs Computation GraphThe Ros community levelInstalling ros Indigo on Ubuntu 14.04.2Introducing catkinCreating an Ros packageHello word publIsher. pyHello world subscriber. pIntroducing gazeboInstalling gazeboTesting Gazebo with the Ros interfaceInstalling Turtle Bot Robot packages on ROS IndigoInstalling turtle Bot ROS packages using the apt package manager in UbuntuSimulating Turtle Bot using Gazebo and rosCreating the Gazebo model from Turtle Bot packagesWhat is a robot model, URD F, acro, and robot state publisher?Creating a ChefBot description RoS packagechefbot base gazebo. rdfacrokinect urdtxacrochefbot base urdf xacroSimulating chefBot and Turtle Bot in a hotel environmentQuuestionsSummary4. Designing ChefBot HardwareSpecifications of the ChefBot hardwareBlock diagram of the robotMotor and encoderMe selecting motors, encoders, and wheels for the robotr driverSelecting a motor driver/controllerInput pinsOutput pinsPower supply pinsEmbedded controller boardUltrasonic sensorsSelecting the ultrasonic sensorInertial Measurement UnitKinectCentral Processing UnitSpeakers/micPower supply/batteryWorking of the chefBot hardwareQuestionsSummary5. Working with Robotic Actuators and Wheel encodersInterfacing dc geared motor with Tiva C LaunchPadDifferential wheeled robotInstalling the energia DEInterfacing codeInterfacing quadrature encoder with Tiva C LaunchpadProcessing encoder dataQuadrature encoder interfacing codeWorking with Dynamixel actuatorsQuestionsSummary6. Working with Robotic SensorsWorking with ultrasonic distance sensorsInterfacing HC-SRo4 to Tiva C LaunchPadWorking of Hc-sRo4Interfacing code of Tiva C LaunchPadInterfacing Tiva C LaunchPad with PythonWorking with the IR proximity sensorWorking with Inertial Measurement UnitInertial NavigationInterfacing MPU 6050 with Tiva C LaunchPadSetting up the MPU 6050 library in EnergiaInterfacing code of EnergiaInterfacing MPU 6050 to Launchpad with the dmP support using EnergiaQuestionsSummary7. Programming vision Sensors Using python and rosList of robotic vision sensors and image processing librariesIntroduction to OpenCV OpenNI and PCLWhat is OpenCv?Installation of opencV from source code in Ubuntu 14.04.2Reading and displaying an image using the Python-Opencv interfaceCapturing from web cameraWhat is OpenNIInstalling OpenNI in Ubuntu 14.04.2What is Pcl?Programming Kinect with Python using Ros, OpenCV, and OpenNIHow to launch OpenNI driverThe ROs interface of OpenCVCreating Ros package with OpencV supportWorking with Point Clouds using Kinect. ROS, OpenNI and PCL oDisplaying Kinect images using Python, ROs, and cy bridOpening device and point cloud generatioConversion of point cloud to laser scan dataWorking with sLAM using ros and KinectQuestionsSummary8. Working with Speech Recognition and Synthesis Using python and rosUnderstanding speech recognitionBlock diagram of a speech recognition systemSpeech recognition librariesCMU SphinX/Pocket sphinxJuliusWindows Speech SDKSpeech syntheSpeech synthesis librariesSpeakFestivalWorking with speech recognition and synthesis in Ubuntu 14.04.2 using PythonSetting up Pocket Sphinx and its Python binding in Ubuntu 14.04.2Working with Pocket Sphinx Python binding in Ubuntu 14.04.2QUtputReal-time speech recognition using Pocket Sphinx, GStreamer, and Python in Ubuntu 14.04.2Speech recognition using Julius and Python in Ubuntu 14.04.2Installation of Julius speech recognizer and Python modulePython-Juli us client codeImproving speech recognition accuracy in Pocket Sphinx and JuliusSetting up eSpeak and Festival in Ubuntu 14.04.2Working with speech recognition and synthesis in Windows using PythonInstallation of the Speech SDKWorking with Speech recognition in ROS Indigo and PythonInstallation of the pocketsphinx package in ROs IndigoWorking with speech synthesis in ROs Indigo and PythonQuestionsSummary9. Applving artificial Intelligence to ChefBot Using pythonBlock diagram of the communication system in ChefBotIntroduction to amlIntroduction to AIML tagsIntroduction to PVAIMLInstalling PyAIML on Ubuntu 14.04.2Installing Pya ML from source codeWorking with AIML and PythonLoading a single a ML file from the command -line argumentWorking with A L.L.C. E AIML filesLoading aiml files into memoryLoading aml files and saving them in brain filesLoading aIML and brain files using the bootstrap methodIntegrating pyalMl into rosaim server. pyaim client. pyaiml tts client. pyaiml speech recog client. pystart chat launchstart tts chat. launchstart speech chat. launchQuestionsSummary10. Integration of ChefBot Hardware and Interfacing it into Ros, Using PythonBuilding chefBot hardwareConfiguring ChefBot PC and setting chefBot Ros packagesInterfacing ChefBot sensors with Tiva C LaunchPadEmbedded code for chefBotWriting a ROS Python driver for ChefBotUnderstanding ChefBot Ros launch filesWorking with ChefBot Python nodes and launch filesWorking with SLAM on Ros to build the map of the roomWorking with ros localization and navigationQuestionsSummary11. Designing a gu for a robot using ot and PythonInstalling qt on Ubuntu 14.04.2 LTSWorking with Python bindings of QtPyQtInstalling Pyot on Ubuntu 14.04.2LTSPySideInstalling Pyside on Ubuntu 14.04.2LTSWorking with PyQt and PysideIntroducing Qt DesignerQt signals and slotsConverting a Ul file into Python codeAdding a slot definition to Pyot codeUp and running of Hello World Gul applicationWorking with ChefBot's control GUIInstalling and working with rgt in Ubuntu 14.04. LTSQuestionsSummary12. The Calibration and Testing of chefBotThe Calibration of Xbox Kinect using ROsCalibrating the Kinect RGB cameraCalibrating the Kinect IR cameraWheel odometry calibrationError analysis of wheel odometryError correctionCalibrating the MPU 6050Testing of the robot using gulPros and cons of the ros navigationQuestionsSummaryLearning Robotics Using PythonLearning Robotics Using PythonCopyright o 2015 Packt PublishingAll rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by anymeans, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articlesor reviewsEvery effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, theformation contained in this book is sold without warranty either express or implied Neither the author nor packt Publishingand its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by thisPackt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in thisbook by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this informationFirst published: May 2015Production reference: 1220515Published by Packt Publishing Ltd.Livery Place35 Livery streetBirmingham B3 2PB, UKlsBN978-178328753-6www.packtpub.comCover image by Jarek Blaminsky()CreditsAuthorLentin JosephReviewersAvkash ChauhanVladimir lakovevBlagoj PetrushevMarek SuppaCommissioning editorRebecca youeAcquisition EditorRebecca youeContent Development editorAthira LajiTechnical editorsAnkur ghiyeManali gonsalvesCopy Editorsanjali churnRelin hedlyMerilyn pereiraAdithi shettyProject CoordinatorHarsha vedProofreadersStephen CopestakeSafis editingIndexerPriya salGraphicsSheetal AuteProduction coordinatorNitesh ThakurCover WorkNitesh ThakurAbout the authorLentin Joseph is an electronics engineer, robotics enthusiast, machine vision expert, embedded programmer, and thefounderandCeoofQboticsLabs(http://www.gboticslabs.com)inIndiaHegothisbachelorsdegreeinelectronicsandcommunication engineering at the Federal Institute of Science and Technology(F isat), Kerala. In his final year engineeringproject, he created a social robot, which can interact with people. The project was a huge success and got mentioned in visualand print media. The main feature of this robot was that it could communicate with people and reply intelligently. It also hassome image-processing capabilities, such as face, motion, and color detection. The entire project was implemented using thePython programming language. His interest in robotics, image processing and Python began this projectAfter graduation. he worked at a start-up company based on robotics and image processing for 3 years. h the meantime, helearned famous robotic software platforms-such as Robot Operating system(ROS), V-REP, and Actin(a robotic simulationtooll-and image processing libraries, such as OpenCV, OpenNI, and PCL. He also knows about robot 3D designingembedded programming on Arduino and stellaris launchpadAfter 3 years of work experience, he started a new company called Qbotics Labs, which is mainly focused on research to buildgreat products in domains such as wearable technology, robotics, machine vision, green technology, and online education. Hemaintainsapersonalwebsite(http://wwlentinjoseph.com)andatechnologyblogcalledtechnolabszhttp://www.technolabsz.com).HepublisheshisworksonhistechblogHewasaspeakeratPycon2013India,andhespokeon the topic of learning robotics using PythonI would like to dedicate this book to my parents because they gave me the inspiration to write it. I would also like to convey myregards to my friends who helped and inspired me to write this bookI would like to thank Marek Suppa for his valuable contribution in writing Chapter 1, Introduction to Robotics, in addition toreviewinthis book
下载地址
用户评论