ME5621 Mobile Robot control
ME5621 Mobile Robot control - Điều khiển Robot tự hành
139139 Sáng Thứ 6, Tiết 4-6, 9h20-11h45 , Mã lớp học trên team: Teamcode : 8ii2b7m
137622 Chiều Thứ 6, Tiết 10-12, 15h05-17h30 , Mã lớp học trên team: Teamcode : 6tg9n9e
TỔNG HỢP TÀI LIỆU GOOGLE DRIVE : https://drive.google.com/drive/folders/1jGV8k945jdnORT2_e1FR3VAYauOunl0J?usp=sharing
Project cuối kỳ (Cụ thể cuối page)
I. Bài Tập môn học:
Các bạn copy code file matlab hoặc chụp ảnh minh chứng và nộp lên Assignment microsoft team.
Chú ý: Đặt tên file hay folder HọTên_MSSV ví dụ, NguyenVanA_20180012
Hướng dẫn cài đặt:
https://sites.google.com/view/bblab/teaching/me5621_mobilerobotcontrol
Bài 1: Cài đặt UBUNTU và ROS
Các bạn chụp ảnh màn hình máy tính đã chạy ubuntu và ROS Version nộp lên Team
Cài đặt hệ điều hành Ubuntu 20.04:
CÁCH 1: KHUYẾN NGHỊ: Cài trực tiếp trên máy chạy song song 2 hệ điều hành Window và Ubuntu
https://vinasupport.com/huong-dan-cai-dat-hdh-ubuntu-20-04-lts/
CÁCH 2: Cài app Ubuntu trên window
CÁCH 3: Cài đặt dùng máy ảo trên Virtual box:
https://www.virtualbox.org/wiki/Downloads
Cài Ubuntu trên máy ảo Virtual Box
https://www.linuxvmimages.com/images/ubuntu-1804/
https://www.linuxvmimages.com/images/ubuntu-2004/
Một số bạn không kết nối được wifi, tìm hiểu cách khắc phục trên mạng nhé. Link tham khảo:
https://www.reddit.com/r/Ubuntu/comments/lbl0l5/can_windows_dual_boot_be_messing_with_my_wifi_card/
https://itsfoss.com/fix-no-wireless-network-ubuntu/
2. Cài đặt hệ điều hành ROS tương ứng với phiên bản ubuntu 18 hoăc 20 :
http://wiki.ros.org/ROS/Installation
Released May, 2020
Latest LTS, supported until May, 2025
Recommended for Ubuntu 20.04
Tạo thư mục cho các dự án ROS
http://wiki.ros.org/catkin/Tutorials/create_a_workspace
Kiểm tra phiên bản Ubuntu
~$lsb_release -a
ROS: ~$ rosversion -d
Nếu hiện noetic thì chạy lệnh như ở dưới, nếu khác ví dụ melodic thì thay từ noetic -> melodic
Cài đặt ros controller :
sudo apt-get install ros-noetic-ros-control ros-noetic-ros-controllers
Bài2: Tự học 21 bài cơ bản Beginer level trong ROS
http://wiki.ros.org/ROS/Tutorials
Các bạn chụp ảnh màn hình máy tính đã chạy thành công ít nhất 3 bài trong 21 bài trên và nộp lên Team
Bài 3: Cài đặt và chạy Turtle bot simulation
Các bạn chụp ảnh màn hình máy tính đã chạy được chương trình vào nộp lên microsoft team.:
Tạo catkin space:
http://wiki.ros.org/catkin/Tutorials/create_a_workspace
$ mkdir -p ~/tenmuondat_ws/src
$ cd ~/catkin_ws/src
Vào thư mục source để tải package bạn cần chạy về ví dụ turtle bot3 simulation
~/catkin_ws/src$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
~/catkin_ws/src$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
Tải xong vào thư mục src thì các bạn ra thư mục work space
$ cd ~/catkin_ws/
Bạn nào báo lỗi thiếu package thì chạy lệnh sau để tự động cài package còn thiếu:
rosdep install --from-paths src --ignore-src -r -y
Sau đó chạy:
~/catkin_ws/$ catkin_make (Biên dịch gói turtble bot ra thư mục build và devel để chạy )
~/catkin_ws/$ source devel/setup.bash ( Để khai báo với hệ thống gói package vừa cài đặt)
Muốn hệ thống tự khai báo gói turtle bot các bạn chạy lệnh:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc (Thêm dòng lệnh vào file bashrc)
Hoặc tương đương với sửa file : gedit ~/.bashrc
Thêm dòng: source ~/catkin_ws/devel/setup.bash vào cuối file.
Chạy thử :
Mở 2 command Terminal chạy lệnh
Terminal 1,2 :
$ export TURTLEBOT3_MODEL=burger ( Do có vài loại turtble bot Đặt biến chọn TURTLEBOT3_MODEL là burger ,)
Terminal 1:
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
Terminal 2:
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
Sau đó điều khiển turtble trên gazebo bằng bàn phím w,s,a,d,x ...
Tham khảo:
https://automaticaddison.com/how-to-launch-the-turtlebot3-simulation-with-ros/
https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/
https://emanual.robotis.com/docs/en/platform/turtlebot3/nav_simulation/
Bài 3: Thiết kế mô hình different drive bot trên gazebo và thêm plugin điều khiển từ ROS
https://www.theconstructsim.com/how-to-build-a-differential-drive-simulation/
Đọc hiểu các dòng lệnh trong file sdf
Các bạn chụp ảnh màn hình máy tính đã chạy được chương trình vào nộp lên microsoft team.
Bài 4: Tìm hiểu thuật toán tìm kiếm RRT
https://github.com/RuslanAgishev/motion_planning
Tìm hiểu chỉnh sửa code
Bài 5: Chạy thuật toán tìm kiếm RRT
https://github.com/mech0ctopus/rrt-global-planner
export TURTLEBOT3_MODEL=burger
II. Các bước cài đặt phần mềm phục vụ môn học Điều khiển robot tự hành:
3. Tự học 21 bài cơ bản Beginer level trong ROS
http://wiki.ros.org/ROS/Tutorials
4. Cài đặt và chạy Turtle bot simulation
Tạo catkin space:
http://wiki.ros.org/catkin/Tutorials/create_a_workspace
$ mkdir -p ~/tenmuondat_ws/src
$ cd ~/catkin_ws/src
Vào thư mục source để tải package bạn cần chạy về ví dụ turtle bot3
~/catkin_ws/src$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
Tải xong vào thư mục src thì các bạn ra thư mục work space
$ cd ~/catkin_ws/
Bạn nào báo lỗi thiếu package thì chạy lệnh sau để tự động cài package còn thiếu:
rosdep install --from-paths src --ignore-src -r -y
Sau đó chạy:
catkin_make
source devel/setup.bash
Cài đặt và chạy Turtle bot simulation
https://github.com/ROBOTIS-GIT/turtlebot3.git
https://automaticaddison.com/how-to-launch-the-turtlebot3-simulation-with-ros/
https://emanual.robotis.com/docs/en/platform/turtlebot3/nav_simulation/
Chụp ảnh chạy Rviz và Gazebo robot đang tự di chuyển và xây dựng bản đồ
Lập trình python chạy giao diện điều khiển robot:
https://drive.google.com/drive/folders/1htjZcBOgl_FhC8FPWRVxY11PIwfaXsAx?usp=sharing
B1:
$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
B2:
$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_navigation turtlebot3_navigation.launch
B3:
~/PycharmProjects/send_goal_GUI$ python send_goal_GUI.py
Tham khảo: Keyword: tkiter python gui, Sending Goals to the Navigation Stack - Python
https://realpython.com/python-gui-tkinter/
https://hotblackrobotics.github.io/en/blog/2018/01/29/action-client-py/
5. Cài đặt và chạy pibot:
Chay ban do cả 3 terminal cần chạy các dòng lệnh sau:
echo $ROS_IP // Kiểm tra biến tham số ROS đã cài chưa
export ROS_IP=$(hostname -I | awk '{print $1;}')
export ROS_HOSTNAME=$ROS_IP
export ROS_MASTER_URI=http://$ROS_HOSTNAME:11311
export TURTLEBOT3_MODEL=burger
export ROS_MASTER_URI=http://192.168.1.101:11311
Terminal 1: Chạy điều khiển
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
Project cuối kỳ:
(Nhóm từ 2-5 thành viên (không nhiều hơn 5, không ít hơn 2, bạn nào lẻ phải chủ động tự tìm nhóm để ghép vào):
NỘP OFFLINE BÁO CÁO vào buổi bảo vệ và ký xác nhận
139139 Sáng T6, Tiết 4-6 Điều khiển Robot tự hành Sáng T6, Tiết 4-6, D7-505, Tuần: 2-10,12-15,18-21
137622 Chiều T6, Tiết 9-12 Điều khiển Robot tự hành , D5-504, Tuần: 2-10,12-15,18-21
NỘP ONLINE BÁO CÁO tại:
Các bạn tải file lên Link Google Drive Folder trong đó chứa thuyết minh đồ án, bản vẽ, code lập trình, video chạy thực tế, ....
Chú ý: Đặt tên file hay folder HọTên_MSSV ví dụ, NguyenVanA_20180012
Độ dài: 8 - 10 trang, Có trang phân công nhiệm vụ từng thành viên của nhóm.
NHỚ BẬT CHẾ ĐỘ SHARE sau đó chia sẻ link lên Google sheet sau:
T4-6 Thứ 6
File google drive
https://docs.google.com/spreadsheets/d/1FfeUn88Z95YGqxxPlvrPaoiSMNlaR1KwQEb-lmX4W0c/edit?usp=sharing
T9-12 Chiều Thứ 6
https://docs.google.com/spreadsheets/d/1GomuKz5mGBSgnwyCQbWbquWLKO3Gz58x7qqPBhPR5iU/edit?usp=sharing
Mẫu báo cáo cuối kỳ:
https://docs.google.com/document/d/1JDUE5Kima3DLZJdCL-pFhql79XD1H6R4n0R3FZappww/edit?usp=sharing
Mẫu Slide:
Mẫu sanh sách thi cuối kỳ:
https://docs.google.com/spreadsheets/d/1gPR1AZlPaGKPGEsL2GeOlEx0WVcmN1YzOvuA7MgLELU/edit?usp=sharing
1. Nội dung báo cáo cuối kỳ:
- Thiết kế một robot tự hành (Loại 3 banh Omni, 2 bánh thường, 4 bánh thường ..) (Sản phẩm thực tế (Khuyến khích) hoặc mô phỏng trên gazebo) và lập trình giao diện GUI (Python, c++,..) để làm 1 hoặc nhiều nhiệm vụ sau:
- Robot di chuyển qua các điểm đặt trước, tránh vật cản
- Robot xử lý ảnh đi theo người hoặc di chuyển theo biển chỉ dẫn ( Trái, phải, đi thẳng, quay đầu...)
- Các nhiệm vụ khác do sinh viên tự sáng tạo.
2. Yêu cầu
- Tiểu luận (nộp)
+ Giới thiệu đề tài
+ Phương pháp giải quyết vấn đề
+ Các kết quả đạt được
+ Kết luận
3. Tính điểm
- Báo cáo trên lớp + tiểu luận + mô hình robot : 7 điểm
- Điều khiển chạy theo quỹ đạo đặt trước chạy SLAM: +1 điểm
- Tự thiết kế các thuật toán SLAM A*, RRT, RRT* : +1 điểm
- Kết nối camera và có xử lý ảnh : + 1 điểm
Một số mô hình xe tự hành dùng Omni Wheel
How to choose the right AMR (MiR's Autonomous Mobile Robots)
2. Autonomous Navigation Mobile Robot using ROS | Jetson Nano | RPLidar | Differential Drive Kinematics
3. NVIDIA JetBot: Jetson Nano Vision-Controlled AI Robot
4. 3WD Omni Wheel Arduino Robot Car C008
Một số mô hình xe tự hành 2 bánh
1. Autonomous mobile platform with vacuum cleaning
2. Autonomous mobile platform with vacuum cleaning