<commit_before># buzzmobile
An autonomous parade float/vehicle


Environment
-----------

To get started, be running Ubuntu 14.04 (required for ROS Indigo).
Install ROS Indigo by following the tutorial [here](http://wiki.ros.org/indigo/Installation/Ubuntu).

It's a good idea to set up some helpful aliases in your `.bashrc`:

```bash
alias rosinit='source /opt/ros/indigo/setup.bash'
alias rosdevel='source ~/catkin_ws/devel/setup.bash' # needed for autocompletion

rosinit     # put these in your .bashrc too so they run everytime
rosdevel    # you open a new terminal window/tab.
```

We recommend using OpenCV 3. You can install it with:

```bash
sudo apt-get install ros-indigo-opencv3
```

To set up this repo, do:

```bash
cd ~
mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_init_workspace
```

Now you can clone this repo into `~/catkin_ws/src` and run `rosdep install buzzmobile` to install some dependencies, like [usb_cam] and [nmea_navsat_driver].

To use the google maps api, you'll need two api keys. Put one under `buzzmobile/sense/maps_querier/googlemapskey.py` and one under `buzzmobile/tools/route_mapper/googlemapskey.py` as shown below. Note that the keys need to have proper permissions set in the [Google API Console](https://console.developers.google.com/), for use of the Google Maps API and the Google Maps Static API, respectively.

```python
googlemapskey='your_secret_api_key'
```

To use the gps and the lidar nodes, you will need user permissions to directly access the usb ports for gps and lidar. For that, do:

```bash
sudo usermod -aG dialout <YOUR USERNAME>
```
You will then need to log in and out again. Simply starting a new terminal is not sufficient. The Linux kernel will not refresh groups until the user completely logs out and logs in again.

Running
-------

To start running, you must first run `catkin_make` from the `~/catkin_ws` dir.
If there aren't any issues with the build, you can run `roscore` to start the
main ROS process.

Create new tabs for every node and run them as such:<commit_msg>Add architecture link to readme<commit_after># buzzmobile
An autonomous parade float/vehicle


Environment
-----------

To get started, be running Ubuntu 14.04 (required for ROS Indigo).
Install ROS Indigo by following the tutorial [here](http://wiki.ros.org/indigo/Installation/Ubuntu).

It's a good idea to set up some helpful aliases in your `.bashrc`:

```bash
alias rosinit='source /opt/ros/indigo/setup.bash'
alias rosdevel='source ~/catkin_ws/devel/setup.bash' # needed for autocompletion

rosinit     # put these in your .bashrc too so they run everytime
rosdevel    # you open a new terminal window/tab.
```

We recommend using OpenCV 3. You can install it with:

```bash
sudo apt-get install ros-indigo-opencv3
```

To set up this repo, do:

```bash
cd ~
mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_init_workspace
```

Now you can clone this repo into `~/catkin_ws/src` and run `rosdep install buzzmobile` to install some dependencies, like [usb_cam] and [nmea_navsat_driver].

To use the google maps api, you'll need two api keys. Put one under `buzzmobile/sense/maps_querier/googlemapskey.py` and one under `buzzmobile/tools/route_mapper/googlemapskey.py` as shown below. Note that the keys need to have proper permissions set in the [Google API Console](https://console.developers.google.com/), for use of the Google Maps API and the Google Maps Static API, respectively.

```python
googlemapskey='your_secret_api_key'
```

To use the gps and the lidar nodes, you will need user permissions to directly access the usb ports for gps and lidar. For that, do:

```bash
sudo usermod -aG dialout <YOUR USERNAME>
```
You will then need to log in and out again. Simply starting a new terminal is not sufficient. The Linux kernel will not refresh groups until the user completely logs out and logs in again.

Running
-------

A list of available nodes and an overview of the architecture is available [here](https://docs.google.com/drawings/d/1Lryui91lSutyC1TQhDmWI3JqDfefNB9E9RoSaBPHhcE/edit?usp=sharing).

To start running, you must first run `catkin_make` from the `~/catkin_ws` dir.
If there aren't any issues with the build, you can run `roscore` to start the
main ROS process.

Create new tabs for every node and run them as such:
{'fraction_non_alphanumeric': 0.08722014925373134, 'fraction_numerical': 0.004430970149253731, 'mean_word_length': 4.275522755227552, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7599893', 'n_tokens_mistral': 1388, 'n_tokens_neox': 1280, 'n_words': 577}