# Инструкция по запуску | Проекты | Где | Путь | Репа | Автор | |:------------------------------------------ |:------ |:-------------------------------------- |:------------------------------------------------------- |:------ | | DoorOpen, ParamServer, ElevatorDoorChecker | Husky | ```~/Repos/door_open_ws``` | [+](https://github.com/danissomo/opd_pkg_set) | Даниил | | PushButton | Husky | ```~/Repos/manipulator/lift_call_ws``` | - | Даниил | | HandleKeypoints | server | ```~/dan_ws``` | [+](https://github.com/danissomo/yolo_handle_keypoints) | Даниил | | ElevatorButtons | server | ```~/elev_buttons_dockered``` | [+](https://github.com/danissomo/elev_buttons_dockered) | Даниил | | Голос | ?? | ?? | [+](https://github.com/Petilia/const_voice_flow) | Илья | | | | | | | ## wifi <--> modem 1. Вставить модем 2. Выключить вайфай ```bash sudo nmcli radio wifi off sudo nmcli radio wifi #check status ``` 3. Перезагрузить робота ```bash sudo reboot now ``` *Note:* Беспроводное подключение к роботу (через zerotier) заработает в течение пары минут, то что робот не мгновенно доступен после перезагрузки - нормально Для переключения выполняем действия в инвертированном порядке - отключаем модем, включаем wifi (sudo nmcli radio wifi on), перезагружаем робота. ## Move to point (Кирилл) В терминале 1 на роботе (доступны карты 1, 3 и 5 этажей): ```python3 ~/cartographer_ws/run_cartographer.py --load-map [номер этажа] -l``` В терминале 2 на роботе (доступны карты 1, 3 и 5 этажей): ```python3 ~/rtabmap_ws/run_rtabmap.py --load-map [номер этажа]``` В терминале 3 на ноуте: ```bash set_husky_rosmaster rviz -d carto_rtabmap.rviz ``` Немного поездить, чтобы робот локализовался. Когда произойдёт локализация, появится карта занятости всего этажа. Локализация в коридорах может быть неправильной, тогда нужно перезапустить cartographer и попробовать локализоваться в другом месте. #### Старый пайплайн, если с новым что-то не работает: В терминале 1 на роботе: ```run_lol_odom``` В терминале 2 на ноуте: ```bash set_husky_rosmaster rviz -d lol.rviz ``` указать начальную позицию робота (2d pose estimate) так, чтобы совпала локализация с картой В терминале 3 на роботе: ```python3 ~/rtabmap_ws/run_rtabmap.py``` В терминале 4 на роботе: ```bash cd pointnav_ws source devel/setup.bash roslaunch theta_star_planner point_nav_action_server.launch ``` ## Navigate 2d (Мухаммад) В терминале 5 на роботе: ```bash roslaunch add_frame add_frame.launch ``` В терминале 6 на роботе: (для 525 правой двери) ```bash roslaunch door_operations door_operations.launch door_status:=right ``` ## Manipulator (Даниил) ### Parameter server Мои узлы ссылаются на сервер параметров, который просто устанваливает переменные в rosparam. Пока при старте он не запускается. ```bash cd ~/Repos/door_open_ws source devel/setup.bash rosrun manipulator_param_server server.py ``` ### Elevator door checker ```bash cd ~/Repos/door_open_ws source devel/setup.bash rosrun check_back checker.py ``` ### Включение манипулятора Манипулятор не включится автоматически, если до его включения не нажать кнопку ‘go’ на пульте. В противном случае придется включать его вручную: манипулятор должен находится в режиме normal. Эта панель открывается если тапнуть по кружку. ![image alt](https://i.imgur.com/22cV0A3.jpg "title" =400x) ![](https://i.imgur.com/zVqRC4N.jpg "title" =400x) #### Скрипты управления манипулятором ```ur5_fold``` - складывает манипулятор ```ur5_freedrive``` - включает режим, когда манипулятор можно двигать руками ```gripper_gamepad``` - управление захватом с геймпада стрелочками ввех-вниз ### Door open *На сервере: * *[ ssh admin@lnsigo.mipt.ru -p2247 password: 4d84XpkM ]* ```bash cd ~/dan_ws source ./devel/setup.bash rosrun handle_keypoints_node one_cmd_run.sh ``` *На роботе: (updated)* ```bash cd ~/Repos/door_open_ws source ./devel/setup.bash rosrun manipulator_param_server server.py rosrun door_open door_open_node.py ``` ## State machine (Сергей) *В терминале 1 на роботе:* ```bash cd /home/administrator/Repos/Linok/strategic_node/docker ./start.sh ./into.sh source devel/setup.bash rosrun state_machine offline_scenario.py ``` Запуститься такой сценарий: state machine for offline scenario (not general enviroment -> 525 room) 1) Move to point (MoveToPoint.action, x=-89, y=-11.5) 2) Controller->parking (Navigate2D.action) ###3) Open the Door (OpenDoor.srv) 4) Move with the door (Navigate2D.action) ###5) Detach gripper (DetachGripper.srv) 6) Go trought the door (Navigate2D.action) В терминале 2 на роботе: ```rostopic pub /commands_from_dream std_msgs/String “go” --once``` ## Голос (Илья) Запуск кода, который позволяет постоянно слушать все вокруг, распознавать через speechkit текст и отправлять запросы в dream. ([репо](https://github.com/Petilia/const_voice_flow)) На роботе - ```~/Repos/const_voice_flow``` Собираем образ: ```bash cd docker ./build.sh ``` Подключение микрофона: Сначала подключаем микрофон в USB-разъем Только после этого запускаем контейнер: ```./start.sh``` Внутри контейнера: Вывести список подключенных устройств - среди них должен быть Plantronics Callisto: ```python py_files/check_devices.py``` Запуск прослушки/распознавания/запросов в dream: ```python py_files/listener.py```