Skip to content

JASS 2021

Konstantin Chayka edited this page Mar 25, 2021 · 2 revisions

1. First step to communicate with Duckiebot is to esteblish a connection to a computer, that is physically located in Saint-Petersburg. It is directly included in the same network as all duckiebots. First of all you should install autossh:

sudo apt-get install autossh

A connection can be established with a command:

autossh -X -i jass_user_key jass@autolab-control-center.local

don't forget to set correct permissions to file jass_user_key (if you don't have such file, ask us for it):

chmod 600 autolab_user_key

2. Now you are connected to that computer. You can run

./run_gui_bot.sh <bot_name>

This starts and attaches to a docker container that can communicate to ROS stack from duckiebot. Use this command if you want to see rqt_graph or rqt_console, rqt_image_view, rostopic echo etc.

3. If you want to manipulate a bot with your keyboard, use

./key_control_bot.sh <bot_name>

This starts a docker container with launching a keyboard_control_node. Wait ~30 seconds to launch the GUI of keyboard controller.

According to <bot_name> avahi-service automatically tryies to resolve it's ip adrress. Sometimes this process fails and you will see the output of these scripts like: Failed to resolve name autobot10.local. Trying again... Press Ctrl+C to exit This is fine. If the robot is online, the resolving process should be completed in several iterations.

4. You also can run

./indefinite_navigation <bot_name> <branch_name>

This command starts full stack of autonomous driving. Branch name is a name of branch of 'template-ros-core' repository. You can find this repository here: https://github.com/pro100kot/template-ros-core You should use this repository if you want to change/add some behaviour of the duckiebot. You should clone this repo, add specific folders and files that you want to edit (make sure that you have set exactly matching names). This repo is already cloned for jass user. You can find it in ~/github/template-ros-core You may not commit your changes into remote resopitory. It is enough only to add/edit files in local repo. If you want to build your changes on bot, then, WHEN YOU ARE INSIDE LOCAL REPO, run

dts devel build -f -H <bot name>

It should output you a lot of logs where you can find the name of branch that you can pass to ./indefinite_navigation.sh Note: you should provide only name of branch. Suffix -arm32v7 will be added automatically

5. Never hesitate to look inside provided .sh files to check what is really happening inside. But do not edit them

Clone this wiki locally