Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abhijithganesh/abhiswarming
ROS-multi-drone
https://github.com/abhijithganesh/abhiswarming
ardupilot drones gazebo gazebo-classic iron mavproxy ros-iron ros-noetic ros2
Last synced: about 1 month ago
JSON representation
ROS-multi-drone
- Host: GitHub
- URL: https://github.com/abhijithganesh/abhiswarming
- Owner: AbhijithGanesh
- Created: 2024-04-15T03:18:35.000Z (8 months ago)
- Default Branch: ros2
- Last Pushed: 2024-04-25T08:57:55.000Z (8 months ago)
- Last Synced: 2024-10-11T12:50:57.302Z (2 months ago)
- Topics: ardupilot, drones, gazebo, gazebo-classic, iron, mavproxy, ros-iron, ros-noetic, ros2
- Language: C++
- Homepage:
- Size: 33.1 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE/Apache-2.0.LICENSE
Awesome Lists containing this project
README
# Abhiswarming ROS package
> [!NOTE]
> Switch to ROS1 branch [here](https://github.com/abhijithGanesh/abhiswarming/tree/ros1)## Index
1. [Requirements](#requirements)
2. [Special Instructions](#special-instructions)
- [Add ROSDEP dependencies](#add-rosdep-dependencies)
- [Micro-XRCE-DDS-Gen](#micro-xrce-dds-gen)
- [ArduPilot Installation](#ardupilot-installation)
- [Ardupilot](#ardupilot)
- [Ardupilot Plugin](#ardupilot-plugin)
- [Special Python3 Link](#special-python3-link)
- [ROS2 Check](#ros2-check)
- [MAV Proxy](#mav-proxy)To use the Abhiswarming ROS package, ensure you have the following software installed:
1. **MicroXRCE**
2. **ArduPilot**
3. **Gazebo8**
4. **MAVProxy**
5. **ROS2 - Iron**These components are essential for proper functionality. Additionally, clone the following repository into your workspace directory:
```sh
git clone https://github.com/micro-ROS/micro-ROS-Agent.git ~/workspace_dir
```Before proceeding, run `colcon build`.
```sh
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
sudo apt update
rosdep update
rosdep install --from-paths src --ignore-src -r
```**Warning: Ensure JAVA is installed**
MicroXRCE requires Java to function properly.```sh
git clone --recurse-submodules https://github.com/ardupilot/Micro-XRCE-DDS-Gen.git
cd Micro-XRCE-DDS-Gen
./gradlew assemble
```Navigate to the home directory:
```sh
cd ~
sudo apt install git
git clone https://github.com/ArduPilot/ardupilot.git
cd ardupilot
git checkout Copter-3.6
git submodule update --init --recursive
```Install required dependencies:
```sh
sudo apt install python-matplotlib python-serial python-wxgtk3.0 python-wxtools python-lxml python-scipy python-opencv ccache gawk python-pip python-pexpect
```Install Python packages:
```sh
sudo pip install future pymavlink MAVProxy
```Append the following lines to the end of either `~/.bashrc` or `~/.zshrc`:
```sh
export PATH=$PATH:$HOME/ardupilot/Tools/autotest
export PATH=/usr/lib/ccache:$PATH
```1. Install required dependencies:
```sh
sudo apt install libgz-sim8-dev rapidjson-dev
```2. Set up Gazebo workspace:
```sh
mkdir -p gz_ws/src && cd gz_ws/src
git clone https://github.com/ArduPilot/ardupilot_gazebo
```3. Build ArduPilot Gazebo plugin:
```sh
export GZ_VERSION=harmonic
cd ardupilot_gazebo
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j4
```To ensure ArduPilot functions correctly, create a symbolic link for `python`:
```sh
ln -s /usr/bin/python3 /usr/bin/python
```This command creates a soft link named `python` pointing to `/usr/bin/python3`.
```sh
source ~/ros2_ws/install/setup.bash
# See the node appear in the ROS graph
ros2 node list
# See which topics are exposed by the node
ros2 node info /ardupilot_dds
# Echo a topic published from ArduPilot
ros2 topic echo /ap/geopose/filtered
``````sh
mavproxy.py --console --map --aircraft test --master=:14550
```Following these instructions will ensure the successful setup and operation of the Abhiswarming ROS package.