Skip to content

AbhijithGanesh/abhiswarming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Abhiswarming ROS package

Note

Switch to ROS1 branch here

Index

  1. Requirements
  2. Special Instructions

Requirements

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:

git clone https://github.com/micro-ROS/micro-ROS-Agent.git ~/workspace_dir

Before proceeding, run colcon build.

Special Instructions

Add ROSDEP dependencies

cd ~/ros2_ws
source /opt/ros/humble/setup.bash
sudo apt update
rosdep update
rosdep install --from-paths src --ignore-src -r

Micro-XRCE-DDS-Gen

Warning: Ensure JAVA is installed MicroXRCE requires Java to function properly.

git clone --recurse-submodules https://github.com/ardupilot/Micro-XRCE-DDS-Gen.git
cd Micro-XRCE-DDS-Gen
./gradlew assemble

ArduPilot Installation

Ardupilot

Navigate to the home directory:

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:

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:

sudo pip install future pymavlink MAVProxy

Append the following lines to the end of either ~/.bashrc or ~/.zshrc:

export PATH=$PATH:$HOME/ardupilot/Tools/autotest
export PATH=/usr/lib/ccache:$PATH

Ardupilot Plugin

  1. Install required dependencies:

    sudo apt install libgz-sim8-dev rapidjson-dev
  2. Set up Gazebo workspace:

    mkdir -p gz_ws/src && cd gz_ws/src
    git clone https://github.com/ArduPilot/ardupilot_gazebo
  3. Build ArduPilot Gazebo plugin:

    export GZ_VERSION=harmonic
    cd ardupilot_gazebo
    mkdir build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
    make -j4

Special Python3 Link

To ensure ArduPilot functions correctly, create a symbolic link for python:

ln -s /usr/bin/python3 /usr/bin/python

This command creates a soft link named python pointing to /usr/bin/python3.

ROS2 Check

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

MAV Proxy

mavproxy.py --console --map --aircraft test --master=:14550

Following these instructions will ensure the successful setup and operation of the Abhiswarming ROS package.