Beginning ROS in Practices
Welcome to the Beginning ROS in Practices repository! This repository contains all the files and resources for the lessons in the course Beginning ROS in Practices. The course provides a practical introduction to the Robot Operating System (ROS), guiding you through installation, basic concepts, and hands-on projects using Python and Arduino.
ติดต่อ ซื้อหนังสือพร้อมไฟล์วีดีโอประกอบการสอนได้ที่ Faceebook: ROS Python ทำหุ่นยนต์และโปรเจกต์
Table of Contents
-
Introduction
-
Installation
- VirtualBox and Ubuntu
- ROS Noetic Ninjemys
-
Creating and Working in a Workspace
- Creating a ROS Workspace
- Creating a Package for Python in ROS
-
Basic Experiments with Python Files in ROS
- Writing and Executing Python Files with ROS
- Downloading Files from GitHub
-
Nodes and Topics
- Listing Nodes in ROS
- Listing Topics in ROS
- Displaying Topic Details
- Viewing Topic Data Transmission
- Publishing Data to a Topic
-
Services and Parameters
- Listing Services in the System
- Calling Services in the System
- Displaying Service Details
- Listing Parameters in the System
- Displaying and Setting Parameter Values
-
Creating ROS Python Nodes
- Publisher Node: Script Details & Explanation (node1.py)
- Subscriber Node: Script Details & Explanation (node2.py)
- Controlling an Autonomous Robot with pub-sub.py
-
Building a GUI for Robot Control
- Script Details & Explanation (remote.py)
-
Working with Webcam Integration in ROS
- Connecting a Webcam with VirtualBox
- Capturing Images from a Webcam
- Installing and Using usb_cam Package
- Webcam Control Scripts: cap_cam.py and remote_cap.py
-
Arduino and ROS Integration
- Connecting Arduino to VirtualBox
- Installing Arduino IDE on Ubuntu
- Controlling Arduino Digital Pins with ROS (ROS_LED_13_control.ino)
- Using ROS to Control Servo Motors (ROS_Servo_9_10.ino)
- GUI Control for Arduino and ROS
- Reading Digital Sensors with ROS (ROS_Read_Sensor.ino, ROS_GUI_Read_Sensor.py)
-
Using opencv_apps in ROS
- Installing opencv_apps Package
- Webcam Face Tracking Project
- Hardware and Software Components
- Script Details & Explanation (Follow_face_position.py)
-
Creating and Using ROS Launch Files
- Components of a Launch File
- Example Launch Files for Python Programs (NodeAB_arg.launch, nodeA_arg.py, nodeB_arg.py)
Feel free to explore the repository for more details on the scripts, projects, and hands-on experiments. If you encounter any issues or have questions, feel free to open an issue or contribute to improving the repository. Happy learning!