Skip to content

Commit

Permalink
GITBOOK-80: Major Changes and refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
aerial-robotics-iitk-bot authored and gitbook-bot committed Nov 29, 2023
1 parent 913036f commit 39ffffd
Show file tree
Hide file tree
Showing 15 changed files with 167 additions and 83 deletions.
Binary file added .gitbook/assets/image (1) (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ Here are the articles in this book:
[estimation](estimation/)
{% endcontent-ref %}

{% content-ref url="computer-vision.md" %}
[computer-vision.md](computer-vision.md)
{% content-ref url="computer-vision/" %}
[computer-vision](computer-vision/)
{% endcontent-ref %}

{% content-ref url="machine-learning/" %}
Expand Down
12 changes: 7 additions & 5 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
* [PX4 Setup](tutorials/workspace-setup/px4-setup/README.md)
* [PX4 Toolchain Setup](tutorials/workspace-setup/px4-setup/px4-toolchain-setup.md)
* [Ardupilot Setup](tutorials/workspace-setup/ardupilot-setup.md)
* [Installing Ground Control Station](tutorials/workspace-setup/installing-ground-control-station/README.md)
* [QGroundControl](tutorials/workspace-setup/installing-ground-control-station/qgroundcontrol.md)
* [Mission Planner](tutorials/workspace-setup/installing-ground-control-station/mission-planner.md)
* [How to Write a ROS Package](tutorials/how-to-write-a-ros-package/README.md)
* [ROS Package](tutorials/how-to-write-a-ros-package/ros-package.md)
* [Node Handles, Parameters, and Topics](tutorials/how-to-write-a-ros-package/node-handles-parameters-and-topics.md)
Expand All @@ -27,15 +30,12 @@
* [Odroid XU4 Setup](tutorials/miscellaneous/odroid-xu4-setup.md)
* [Simulation using Offboard Control](tutorials/miscellaneous/simulation-using-offboard-control/README.md)
* [Enable Offboard Mode in PX4](tutorials/miscellaneous/simulation-using-offboard-control/enable-offboard-mode-in-px4.md)
* [Camera Calibration](tutorials/miscellaneous/camera-calibration.md)
* [Writing a UDev rule](tutorials/miscellaneous/writing-udev-rule.md)
* [Sensor fusion](tutorials/miscellaneous/sensor-fusion.md)
* [ArUco ROS](tutorials/miscellaneous/using-aruco\_ros.md)
* [TF2](tutorials/miscellaneous/tf2.md)
* [Reference wiki links](tutorials/dump1.md)
* [Concepts](concepts/README.md)
* [Quaternions](concepts/quaternions/README.md)
* [theory](concepts/quaternions/dump2.md)
* [Theory](concepts/quaternions/dump2.md)
* [Kalman Filters](concepts/kalman-filters.md)
* [Rotations](concepts/rotations.md)
* [Path Planning](concepts/path-planning/README.md)
Expand Down Expand Up @@ -76,7 +76,9 @@
* [DIYing a VI-Sensor](estimation/vio/diying-a-vi-sensor.md)
* [Setup with VICON](estimation/setup-with-vicon.md)
* [Odometry from pose data](estimation/odometry-from-pose-data.md)
* [Computer Vision](computer-vision.md)
* [Computer Vision](computer-vision/README.md)
* [Camera Calibration](computer-vision/camera-calibration.md)
* [ArUco ROS](computer-vision/using-aruco\_ros.md)
* [Machine Learning](machine-learning/README.md)
* [Datasets](machine-learning/datasets.md)
* [Hardware Integration](hardware-integration/README.md)
Expand Down
6 changes: 5 additions & 1 deletion computer-vision.md → computer-vision/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
---
description: A brief overview of hardware and various algorithms employed.
---

# Computer Vision

{% hint style="info" %}
Keep checking for updates!

{% endhint %}

Here are the articles in this section:
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
---
description: How to calibrate the camera.
---

# Camera Calibration

The standard camera model used in OpenCV and ROS is referred to as the Pinhole model. You can read more about it here:

{% embed url="https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html" %}

[ ](https://gajena.gitbook.io/aerial-robotics/camera\_calibration)The camera can be calibrated by one of the three following ways:
The camera can be calibrated by one of the three following ways:

### 1.Kalibr

Expand Down
File renamed without changes.
51 changes: 51 additions & 0 deletions tutorials/how-to-write-a-ros-package/transformations.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,56 @@ Further details on the transformation notation, frame names and conventions can

{% embed url="https://github.com/ethz-asl/mav_tools/wiki/Coordinate-Systems" %}

## TF2

### tf-remapping

Here,

* old: contains the name of tf that needs to be remapped
* new: new name of tf

```markup
<launch>
<!--tf remmapper node-->
<node pkg="tf" type="tf_remap" name="tf_remapper" output="screen">
<rosparam param="mappings">
[{old: /imu, new: /base_link}]
</rosparam>
</node>
<!--node whose tf needs to be remapped-->
<node pkg="rosbag" type="play" name="player" args="/home/drive/test.bag">
<remap from="tf" to="tf_old" />
</node>
</launch>
```

The topic subscribed to is:

**/tf\_old** (tf/tfMessage) -- Old transform tree. This is usually published by remapping playback of a bag file. You may need to set use\_sim\_time as true for the bag file transforms to be accepted.

The topic published is:

**/tf** (tf/tfMessage) -- Current transform tree. This is the normal /tf topic.

### publish-static-transforms

static\_transform\_publisher x y z yaw pitch roll frame\_id child\_frame\_id period\_in\_ms

> Publish a static coordinate transform to tf using an x/y/z offset in meters and yaw/pitch/roll in radians. (yaw is rotation about Z, pitch is rotation about Y, and roll is rotation about X). The period, in milliseconds, specifies how often to send a transform. 100ms (10hz) is a good value.
static\_transform\_publisher x y z qx qy qz qw frame\_id child\_frame\_id period\_in\_ms

> Publish a static coordinate transform to tf using an x/y/z offset in meters and quaternion. The period, in milliseconds, specifies how often to send a transform. 100ms (10hz) is a good value.
static\_transform\_publisher is designed both as a command-line tool for manual use, as well as for use within roslaunch files for setting static transforms. For example:

```markup
<launch>
<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0 0 0 0 1 link1_parent link1 100" />
</launch>
```

12 changes: 0 additions & 12 deletions tutorials/miscellaneous/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,10 @@ Articles in this section:
[simulation-using-offboard-control](simulation-using-offboard-control/)
{% endcontent-ref %}

{% content-ref url="camera-calibration.md" %}
[camera-calibration.md](camera-calibration.md)
{% endcontent-ref %}

{% content-ref url="writing-udev-rule.md" %}
[writing-udev-rule.md](writing-udev-rule.md)
{% endcontent-ref %}

{% content-ref url="sensor-fusion.md" %}
[sensor-fusion.md](sensor-fusion.md)
{% endcontent-ref %}

{% content-ref url="using-aruco_ros.md" %}
[using-aruco\_ros.md](using-aruco\_ros.md)
{% endcontent-ref %}

{% content-ref url="tf2.md" %}
[tf2.md](tf2.md)
{% endcontent-ref %}
56 changes: 0 additions & 56 deletions tutorials/miscellaneous/tf2.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Your Sky's Commander!"
---

# Installing Ground Control Station

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Mission Planner

## For Window's peeps

The following instructions show how to install _Mission Planner_ on Windows. These instructions will be suitable for most users

1. Download the [latest Mission Planner installer from here](https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.msi)
2. Double click on the downloaded **.msi** file to run the installer
3. Follow the instructions to complete the setup process. The installation utility will automatically install any necessary software drivers. If you receive a DirectX installation error, please update your DirectX plug-in from the [Windows Download Center](https://www.microsoft.com/en-us/download/windows.aspx).
4. If you receive a warning stating Window's cant verify the publisher of the driver, select **Install this driver software anyway** to continue.

{% hint style="info" %}
Mission Planner is normally installed in the **C:\Program Files (x86)\Mission Planner** folder.

An icon to open the _Mission Planner_ is created according to your instructions during the installation.
{% endhint %}

## For Linux's peeps

It is possible to run most Windows based programs on many Linux Distributions using MONO. Mission Planner does run under MONO but will have occasional issues and/or crashes.

1. Download and install the latest version of MONO from [here](https://www.mono-project.com/download/stable/).
2. Download Mission Planner as a zip file from [here](https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.zip) and unzip to a directory.
3. Change to that directory and execute:

```bash
mono MissionPlanner.exe
```

Boom! You're all ready to roll with MissionPlanner!
\
\
\
\
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# QGroundControl

## For Window's peeps

_QGroundControl_ can be installed on 64 bit versions of Windows:

1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe).
2. Double click the executable to launch the installer.

{% hint style="warning" %}
The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. Use the first shortcut unless you experience startup or video rendering issues
{% endhint %}

## For Linux's peeps

_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later).

Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. You also need to install _GStreamer_ in order to support video streaming.

1. On the command prompt enter:

```bash
sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
sudo apt install libqt5gui5 -y
sudo apt install libfuse2 -y
```
2. Logout and login again to enable the change to user permissions.

&#x20; To install _QGroundControl_:

1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage).
2. Install (and run) using the terminal commands:\


```bash
chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage (or double click)
```

\
Boom! You're all ready to roll with QGroundControl!
\
\
\
4 changes: 2 additions & 2 deletions tutorials/workspace-setup/installing-ubuntu.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Rufus Official Site for downloading. Rufus helps you burn ISO on your drives

Install Rufus, and upon starting the application should look like:

<img src="../../.gitbook/assets/image.png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1).png" alt="" data-size="original">

Insert the external flash drive, Rufus would automatically detect it as _Device._\
Under _Boot Selection_ choose the ISO file downloaded above.\
Expand All @@ -50,7 +50,7 @@ Reboot your system, and while it turns on, before your laptop's brand's icon sho

Repeatedly press the key (Keys to be pressed vary a lot, usually it is`F2`, confirm from ) until the BIOS Menu shows up, something like this:

<img src="../../.gitbook/assets/image (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1).png" alt="" data-size="original">

Turn off `UEFI Secure Boot` and `Legacy Boot` (if available) settings.\
Now in the _Boot Device Select Menu_ change the `Boot Order` to USB first.\
Expand Down

0 comments on commit 39ffffd

Please sign in to comment.