RUVIDEO
Поделитесь видео 🙏

Project implementation of AR-tag detection | OpenCV | Computer Vision ROS2 Tutorials | [Tutorial 13

📁 Обучение 👁️ 17 📅 03.12.2023

Wish to create interesting robot motion and have control over your world and robots in Webots? Soft_illusion Channel is here with a new tutorial series on the integration of Webots and ROS2. (A channel which aims to help the robotics community).

#ROS2_tutorial #ROS2_project #ROS2_computer_vision

Github link :
https://github.com/koyalbhartia/webots_ros2

Video series:
1. ROS 2, Webots installation and Setup of a workspace in VS Code
2. Different examples in Webots with ROS2
3. Use ROS2 services to interact with robots in Webots
4. Control a robot with ROS2 Publisher
5. Get feedback from different sensors of Robot with ROS2 Subscriber
6. Implement Master and Slave robots project with ROS2
7. Setup Rviz2 (Showing different sensor output )
8. Ways to debug projects with Rostopic echo, Rostopic info, RQT_graph
9. Use advance debugging tools like Rqt console, Rqt gui
10 & 11. Implementation of SLAM toolbox or LaMa library for unknown environment.
12. & 13. Implementation of AR-tag detection and getting exact pose from camera.

Note: Following are the system specifications that will be used in the tutorial series.
Ubuntu 20.04, ROS 2 Foxy, Webots R2020b-rev1

01:03 Camera enable
06:01 Computer vision pipeline
15:25 Setup.py
17:38 Launch file
20:34 Build and Run project

1. Camera enable
In this section we primarily show the process to make a service and enable the camera using the function “start_device_manager”. This function takes in a dictionary of sensors present in the robot. In our case we only have one camera. The dictionary takes the key as sensor name and value as both the time step of publishing and topic name on which it is to be published.
Link to refer the details :
https://github.com/cyberbotics/webots_ros2/wiki/API-Devices
We also enable wheels in this node in order to facilitate the motion of the robot in order to search the AR tag and propagate towards it.

2. Computer vision pipeline
In this vision pipeline we discuss how we take in images and process the image in order to get useful data.
It includes:
Load the dictionary of AR tags.
Provide distortion matrix and camera matrix.
Detect the AR tag and identify its ID.
Take in the exact dimension of the AR tag in the world and calculate the translation and rotation from the camera.
Rotate wheels of the robot in order to reduce the error and propagate towards the AR tag.
If the size of the AR tag in the camera frame increases more than 40% in height, stop as we have reached the goal position.

3. Setup.py
Here we study how to integrate the different world files, protos and the launch file in setup.py in order to be used by the ROS2 framework.

4. Launch file
This section shows how to write a launch file in order to make this project work. It has 2 parts:
In the first part we use an inbuilt webots framework to call the world and other files where all the sensors and wheels in the custom robot are enabled.
In the second part we make a computer vision pipeline node. This node takes in raw images and processes the data. Finally it spits out cmd_vel and a processed image which has a frame marked on them in order to represent translation and rotation.

5. Build and Run project:
Finally, we build the project again. To do this, we first we go to the repo directory which in our case is: “cd ~/AR_ws/” then do colcon build. This builds all the packages in the repository.
After this as a mandatory step we need to source the package so that ROS2 can register all the packages in the repository.
source install/setup.bash
And finally we run the project using the launch file using the following steps:
ros2 launch webots_ros2_tutorials ar_detection_launch.py


Webots ROS2 tutorial series is available here: https://www.youtube.com/watch?v=jU_FD1_zAqo&list=PLt69C9MnPchkP0ZXZOqmIGRTOch8o9GiQ&index=1&t=242s

Introductory Webots tutorial playlist:
https://www.youtube.com/watch?v=yi4e5...

Facebook link to the Intro Video Artist, Arvind Kumar Bhartia:
https://www.facebook.com/arvindkumar.bhartia.9

Comment if you have any doubts on the above video.
Do Share so that I can continue to make many more videos with the same boost. :)
Happy Coding. :)

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Project implementation of AR-tag detection | OpenCV | Computer Vision ROS2 Tutorials | [Tutorial 13», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.