Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add circle ride node #3

Open
wants to merge 25 commits into
base: daffy
Choose a base branch
from
Open

Conversation

KonstantinKondratenko
Copy link
Collaborator

No description provided.

Бот паркуется к маркеру, если видет его, если не видит - стоит на месте и печатает сообщение, что не видит маркер.
Иногда (непонятно из-за чего) выдается ошибка :
================================================================================REQUIRED process [autobot08/bot_camera-1] has died!
process has died [pid 60, exit code -11, cmd /code/catkin_ws/src/<dt-automatic-charging>/packages/bot_camera/src/bot_camera.py bot_camera/car_cmd:=joy_mapper_node/car_cmd bot_camera/image_in:=camera_node/image/compressed bot_camera/image_out:=camera_node/image/test __name:=bot_camera __log:=/tmp/log/aa3682e6-b822-11ed-8e0d-dca63225c3f7/autobot08-bot_camera-1.log].
log file: /tmp/log/aa3682e6-b822-11ed-8e0d-dca63225c3f7/autobot08-bot_camera-1*.log
Initiating shutdown!
================================================================================
[autobot08/bot_camera-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
<== App terminated!


__
Рисуется точка середина экрана (фиолетовая), однако она смещена относительно визуально наблюдаемого центра влево и вниз.
Бот  подъезжает к маркеру, пока не перестает распознавать его, тут 2 случая могут быть:
1) бот подъехал ровно к маркеру, так близко, что весь маркер не помещается в камеру и бот останаваливается
2) бот не может повернуть на необходимый угол, подъезжает к маркеру под болшим углом, перестает  распознавать маркер и останавливается.
Добавлена обработка конкретного маркера (строка 95 -- надо обозначать  id маркера).
Добавлен в подписки топик, созданный Александром(там булевые значения -- служит для передачи информации с кнопоком джойстика); изображение обрабатывается только тогда, когда получено указание обработки из топика.
В 32 строке изменен buff_size: раньше принимал строку "10 MB", теперь передается число, эквивалентное 10 мегабайтам.
Реализованы методы поворотов налево, направо, езды назад, в некоторых из них используется sleep для приостановки работы ноды (иначе бот не успевает отъехать на достаточное расстояние или теряет маркер прежде стыковки с клемами зарядной станции).
Ошибка, при которой процесс умирает не исправлена. Есть предположение, что это связано либо с памятию, либо с типом с сообщением, передаваемым car_cmd (не передается std_msgs/Header header).
Реализован метод message_print, публикующий соощение в топик управления ботом, -- создан для того, чтобы код выглядел чище.
@KonstantinKondratenko
Copy link
Collaborator Author

На данном этапе нода запускается:
локально через python3 run_file.py (тогда в нем надо указать имя бота -- по дефолту 3)
на боте через dts devel build -f -H autobot03 -R autobot03 && dts devel run -f -H autobot03 -R autobot03 (имя бота можно менять на того, на котором запускаем)
нода падает редко при запуске локально и часто при запуске на боте

KonstantinKondratenko and others added 14 commits March 24, 2023 17:56
Исправлена ошибка детекции маркера (процесс не умирает)
Убрана отрисовка изображения, убран Publisher.
Добавлен функционал просмотра детекции зарядки. закомментирован и помечен "#@uncomment"
Возникает ошибка: ModuleNotFoundError: No module named 'RPi'
Путь к библиотеке на боте: /usr/lib/python2.7/dist-packages
Попытался запустить через "dts devel run -f -H autobot04 -M /usr/lib/python2.7/dist-packages"
Не получилось, ошибка:
dts :  The path '/usr/lib/python2.7/dist-packages' does not appear to be a Duckietown project. 
    :  The metadata file '.dtproject' is missing.
WARNING:dts:Please update "pip" to have better debu
To start enter
"
dts devel build -f -H <name_autobot> && dts devel run -f -H <name_autobot>
"
Error:
GPIO.setup(BUTTON_GPIO, GPIO.IN)
RuntimeError: No access to /dev/mem.  Try running as root!

At previous commit added except for error lines -> printing "Can't check connection"
Необходимо подобрать значение v omega для корректной парковки (не сложно)
При подключении к зарядке, бот останавливается и перестает обрабатывать изображение, также выводится из состояния экранирования джойстика
@KonstantinKondratenko
Copy link
Collaborator Author

In order to run a node you need:

have a joystick version that supports charging buttons
have a charging driver version After cloning the repository, you need to build the project with the command: dts devel build -f -H dts devel run -f -H
After cloning the charge driver repository, you need to run the charge driver to create the charge state topic with the command:

docker -H .local run --name charging_driver -v /dev/mem --privileged --network=host -dit --restart unless-stopped -e ROBOT_TYPE=duckiebot docker.io/duckietown/charging-driver :automatic-charging-arm32v7

After cloning the joystick repository, you need to build it with the command:

dts devel build -f -H --tag daffy

And run it with the command:

dts duckiebot keyboard_control

When all nodes (responsible for parking, charging status and joystick) are running, you can start the parking process

With the joystick active, you need to press the "F" button to start parking or "G" to end it. Be careful! Due to the peculiarity of ROS, it is not enough to briefly press "F", in this case it is necessary to hold down "F" for 1-2 seconds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants