BBLAB Facebook - Ba roBotics Lab
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
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
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ế, ....
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
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
1. Autonomous mobile platform with vacuum cleaning
2. Autonomous mobile platform with vacuum cleaning