Skip to content

Commit

Permalink
Workshops added
Browse files Browse the repository at this point in the history
  • Loading branch information
horverno committed Feb 28, 2024
1 parent 658d2b2 commit e1f2bf6
Show file tree
Hide file tree
Showing 10 changed files with 296 additions and 9 deletions.
12 changes: 8 additions & 4 deletions docs/dataset/index.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
---
hide:
- toc
---

# Dataset overview

## `JKK_DATASET_01`
This dataset consists of measurement log files (ROS 1 rosbag), pointcloud files and additional scripts to access and edit these. The data is provided for research and educational purposes.

[Details](jkk_dataset_01){ .md-button .md-button--primary }

![](https://raw.githubusercontent.com/szenergy/szenergy-public-resources/master/data/rosbag/img/leaf-2022-03-18-gyor.png){ width="600" }


![](https://raw.githubusercontent.com/szenergy/szenergy-public-resources/master/data/rosbag/img/leaf-2022-03-18-gyor.png)

## `JKK_DATASET_02`

This dataset consists of measurement log files (ROS 2 mcap) with additional scripts to access and edit these. The data is provided for research and educational purposes.

[Details](jkk_dataset_02){ .md-button .md-button--primary }

![](/img/jkk_dataset_02_2023_07_11-11_12.svg)
![](/img/jkk_dataset_02_2023_07_11-11_12.svg){ width="600" }

## `JKK_DATASET_03`

This dataset contains the Human-like Behavior (HLB) usecase data, in mat format.

[Details](jkk_dataset_03){ .md-button .md-button--primary }

![](/img/ldm1.svg)
![](/img/ldm1.svg){ width="600" }

7 changes: 6 additions & 1 deletion docs/dataset/jkk_dataset_02.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
The log data is in .mcap format, the standard logging format for ROS 2.

The log data is in .mcap format, the standard logging format for [`ROS 2`](https://docs.ros.org/).

## Python notebook

[Open MCAP in python notebook](https://github.com/jkk-research/jkk-research.github.io/blob/master/notebooks/mcap_basics.ipynb){ .md-button }

## Some images

![](/img/jkk_dataset_02_2023_07_11-11_12.svg)

![](/img/jkk_dataset_02_2023_07_11-14_02.svg)
Binary file added docs/img/workshop1_a.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/workshop1_b.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/workshop2_a.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions docs/papers/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
hide:
- navigation
- toc
---

# Papers overview

- [Curve Trajectory Model for Human Preferred Path Planning of Automated Vehicles](https://link.springer.com/article/10.1007/s42154-023-00259-8) - *Gergő Ignéczi, Ernő Horváth, Roland Tóth, Krisztian Nyilas* - Springer Automotive Innovation [PDF](https://link.springer.com/content/pdf/10.1007/s42154-023-00259-8.pdf) `2024` [![Static Badge](https://img.shields.io/badge/avaible-on_github-43AEC5) ![GitHub Repo stars](https://img.shields.io/github/stars/gfigneczi1/hlb)](https://github.com/gfigneczi1/hlb)
Expand Down
230 changes: 230 additions & 0 deletions docs/workshops/2023_11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
# `ROS 1` real robot workshop

- A small overview of the `Bavarian-Hungarian Self-driving vehicles` workshop.
- **Date**: 2023.11.03.
- **Place**: Győr, Hungary.

## The `megoldas_zala23` ROS 1 package

🤖 In the following a very simple wall/gap following approach will be presented and described. The origin of he code is based on the work of Suresh Babu (University of Virginia, [license](https://github.com/linklab-uva/f1tenth_gtc_tutorial/blob/master/LICENSE)). Link to the original code: [github.com/linklab-uva/f1tenth_gtc_tutorial](https://github.com/linklab-uva/f1tenth_gtc_tutorial).

The name of the package is a comes from a hungarian expression (`megoldas`: solution / Lösung).

## The robot used in the competition
Wheeltec / Roboworks Rosbot mini Ackermann robot
![main](https://raw.githubusercontent.com/robotverseny/megoldas_zala23/main/etc/wheeltec_roboworks_ack01.png)

On-board computer
- Nvidia Jetson Nano

Sensors
- Orbbec Depth Camera
- LSN10 LIDAR


## Video

<iframe width="560" height="315" src="https://www.youtube.com/embed/-PStmHQlJaU?si=eOFQazJ38qJyHe2u" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

## Usage
Prerequisites:
- WiFi-enabled computer with Ubuntu 18.04 / 20.04 operating system and ROS Melodic / Noetic installation
- Internet access (Ethernet cable or WiFi)

1. Turn on the robot platform.
2. Use the computer to connect to the WiFi network created by the robot. The name of the WiFi network is unique for each robot platform, the `#` at the end of the SSID changes according to the number of the robot platform:
```
SSID: WHEELTEC_CAR_5.5_#
Password: dongguan
```
3. Use SSH to connect to the on-board computer of the robot platform with the following terminal command:
```
ssh [email protected]
```
A password will be required, the default password is `dongguan`

### Internet access on the robot platform

Software packages can be downloaded to the on-board computer of the robot platform, which requires internet access.

- Ethernet: connect the Ethernet cable to the Ethernet port of the on-board computer of the robot platform.
- WiFi: after issuing the `nmtui` terminal command, connect to the available WiFi network.
```
nmtui
```

<img src="https://user-images.githubusercontent.com/11504709/160778891-0c06e338-405f-43c6-8aac-928af33c057e.png" width="50%" />


### Install the `ROS 1` package

After installation, the functions of the robot platform can be accessed using ROS. The sample solution of the competition can also be deployed by ROS.

Create a workspace and install the sample solution on the robot:

``` bash
mkdir -p ~/workshop_ws/src
```

``` bash
cd ~/workshop_ws/
```

``` bash
catkin init
```

``` bash
cd ~/workshop_ws/src/
```

``` bash
git clone https://github.com/robotverseny/megoldas_zala23
```

``` bash
cd ~/workshop_ws/
```

``` bash
catkin build megoldas_zala23
```

``` bash
echo "source /home/wheeltec/workshop_ws/devel/setup.bash" >> ~/.bashrc
```

``` bash
source ~/.bashrc
```

Install `screen`
``` bash
sudo apt install mc screen
```

Install jks visualization rviz plugin: depending on ROS 1 version (**melodic** / **noetic**):

``` bash
sudo apt install ros-melodic-jsk-rviz-plugins
```

``` bash
sudo apt install ros-noetic-jsk-rviz-plugins
```

## Usage

### Start solution using screen (recommended)

The script `verseny_start.sh` sets the required environmental variables, starts the ROS nodes and finally after *2 minutes* **stops** everything. Have a look at the code: [verseny_start.sh](https://raw.githubusercontent.com/robotverseny/megoldas_zala23/main/etc/verseny_start.sh)

```
rosrun megoldas_zala23 verseny_start.sh
```

The `verseny_start.sh` shell script usually launches several virtual terminals, such as: `roscore`, `turn_on_wheeltec_robot`, `lsn10_lidar`, `megoldas1.launch`. All components of the solution can be stopped with the following command:
```
rosrun megoldas_zala23 stop_all.sh
```

Further commands:

- list screen: `screen -ls`
- restore screen: `screen -r roscore` / `screen -r turn_on_wheeltec_robot` / `screen -r megoldas1`
- detach: `Ctrl-a` + `Ctrl-d`

## ROS connection

The ROS topics advertised by the robot platform are also available on the computer connected to the platform, with the appropriate setting of the `ROS_MASTER_URI` variable:
``` r
export ROS_MASTER_URI=http://192.168.0.100:11311
```
After the appropriate setting of the variable, the topics can be listed and visualized using Rviz:
```
rostopic list
```
```
rosrun rviz rviz
```
## Some explanatory animations
```
roslaunch megoldas_zala23 rviz1.launch
```

![](https://raw.githubusercontent.com/robotverseny/megoldas_zala23/main/etc/left_right01.gif)
![](https://raw.githubusercontent.com/robotverseny/megoldas_zala23/main//etc/trajectory01.gif)
![](https://raw.githubusercontent.com/robotverseny/megoldas_zala23/main//etc/angles01.svg)

### Start solution per component

The solution can also be started per component, not just as a single shell script. This requires four terminal windows on the on-board computer of the robot platform and issuing the following commands per terminal:

``` bash
roscore
```

``` bash
roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch
```

``` bash
roslaunch lsn10 lsn10.launch
```

``` bash
roslaunch megoldas_zala23 megoldas1.launch
```

## Additional information

### Workspaces
```
~/wheeltec_robot/src
~/catkin_workspace/src
~/workshop_ws/src/
```



## Topic management

```
rostopic hz /scan
rostopic echo /scan -n1
rostopic type /scan
```

```
sensor_msgs/LaserScan
```

## Robot platform language settings
```
sudo dpkg-reconfigure locales
```

![](https://raw.githubusercontent.com/robotverseny/megoldas_zala23/main//etc/locales.png)

**reboot**

## Rosbag management
```
cd ~/rosbags
rosbag record -a -o test1
```
```
rsync -avzh --progress [email protected]:/home/wheeltec/rosbags/ /mnt/c/bag/wheeltec/
rosbag info test1_2023-03-30-12-37-22.bag
rosbag play test1_2023-03-30-12-37-22.bag
```

You can even visualize rosbags in [Foxglove studio](https://foxglove.dev/):

![Alt text](https://raw.githubusercontent.com/robotverseny/megoldas_zala23/main//etc/rosbag_foxglove01.gif)

[Download rosbags](https://drive.google.com/drive/folders/1CAh-EIHjlvURHi62bxNnC9pIxUP5A00K?usp=drive_link)

- [Further explanation ipynotebook](https://github.com/robotverseny/megoldas_zala23/blob/main/etc/explain.ipynb)
- [Competition homepage](https://robotverseny.github.io/)
- [Foxglove studio](https://foxglove.dev/)
13 changes: 13 additions & 0 deletions docs/workshops/2024_04.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# `ROS 2` F1/10 simulation workshop

- A small overview of the `Bavarian-Hungarian Self-driving vehicles` workshop.
- **Date**: 2024.04.18.
- **Place**: Kempten, Germany.


## A `ROS 2` package

[![Static Badge](https://img.shields.io/badge/ROS_2-Humble-34aec5)](https://docs.ros.org/en/humble/)

## Simulation
`ROS 2` humble
23 changes: 23 additions & 0 deletions docs/workshops/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
hide:
- toc
---


# Workshops overview

## `2023.11.03` Győr `ROS 1`

During the workshop a very simple wall following approach was presented with hands-on experinece on a real robot.

![](/img/workshop1_a.jpg){ width="300" }
![](/img/workshop1_b.jpg){ width="300" }

[Go to details](2023_11/){ .md-button }

## `2024.04.18` Kempten `ROS 2`
During the workshop F1/10 based simulation was presented based on `ROS 2` Humble.

![](/img/workshop2_a.jpg){ width="300" }

[Go to details](2024_04/){ .md-button }
14 changes: 10 additions & 4 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ docs_dir: docs/
# | - https://www.mkdocs.org/user-guide/configuration/#edit_uri |
# | |
# +--------------------------------------------------------------------------------------------------------+
repo_name: jkk-research/jkk-research.github.io
repo_url: https://github.com/jkk-research/jkk-research.github.io
# repo_name: jkk-research/jkk-research.github.io
repo_url: https://github.com/jkk-research/
#edit_uri: tree/master/docs # Uncomment to define a different URI/URL for the "edit" option

# +--------------------------------------------------------------------------------------------------------+
Expand Down Expand Up @@ -105,7 +105,10 @@ nav:
- jkk_dataset_03 : dataset/jkk_dataset_03.md
- Publications:
- papers/index.md

- Workshops:
- workshops/index.md
- 2023 november : workshops/2023_11.md
- 2024 april : workshops/2024_04.md

# +--------------------------------------------------------------------------------------------------------+
# | |
Expand Down Expand Up @@ -308,7 +311,8 @@ theme:

# Table of Contents
#
#- toc.integrate # Include the TOC sections in the left navugation.
# - toc.integrate # Include the TOC sections in the left navugation.
- toc.follow

# +------------------------------------------------------------------------------------------------------+
# | |
Expand Down Expand Up @@ -526,6 +530,8 @@ markdown_extensions:
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences
- toc:
permalink: true

# plugins:
# - meta

0 comments on commit e1f2bf6

Please sign in to comment.