Raspberry Pi 4B Setup
This guide outlines the process of setting up a Raspberry Pi onboard companion computer without the need for a mouse or keyboard, using Ubuntu 20.04 Server Image.
Flashing OS on the Board
Install rpi-imager
Run
sudo apt install rpi-imager
to install the Raspberry Pi Imager.Insert the microSD card into your computer.
Choose OS and Storage
Open Raspberry Pi Imager and select "Choose OS".
Navigate to the Ubuntu 20.04 Server image.
Select your microSD card under "Choose Storage".
Configure Settings
Click on the settings icon.
Enable "Enable SSH".
Set a username and password (e.g., "pi").
Configure wireless LAN to connect to your Wi-Fi network.
Write OS to microSD
Click "Write" to write the OS to the microSD card.
Boot the Board
Insert the microSD card into the board.
Check the LED status to confirm booting from the card.
Setting up Ubuntu Server Image for ARIITK
Basic Linux Setup
sudo apt-get update sudo apt-get upgrade timedatectl set-local-rtc 1 --adjust-system-clock sudo apt-get install git
ROS Setup
# Setup sources.list sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' # Setup keys sudo apt install curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - # Installation sudo apt update sudo apt install ros-noetic-base # Initialize rosdep sudo apt install python3-rosdep sudo rosdep init rosdep update # Setup environment echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc # Fulfill dependencies sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
MAVROS Setup
# install some dependencies sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential # install MAVROS sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras cd ~/ wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh sudo chmod a+x install_geographiclib_datasets.sh sudo ./install_geographiclib_datasets.sh # Install catkin tools sudo apt-get install python3-catkin-tools # Updating MAVProxy and pymavlink (new versions released now and then) sudo pip install --upgrade pymavlink MAVProxy #Setup MAVROS to begin communication cd ~/ # Setup MAVROS workspace mkdir -p ~/ardupilot_ws/src cd ~/ardupilot_ws catkin init # Create launch file for MAVROS cd src mkdir launch cd launch roscp mavros apm.launch apm.launch sudo gedit apm.launch #opens a text editor, follow the next command (you can also do it using any other editor of your choice, for eg. by using 'code .' commmand) #To proxy to a Ground Control Station like QGC or Mission Planner on ground we just need to modify the first line to <arg name="fcu_url" default="udp://:{ground-port}@{ground-hostname}" />. save you file and launch it with- cd ~/ardupilot_ws/src/launch roslaunch apm.launch
QGC Setup
To configure QGroundControl for communication with MAVROS:
Open QGroundControl
Launch QGroundControl on your ground station device.
Configure UDP Settings
Navigate to 'Application Settings'.
Go to the 'Comm Links' tab.
Click 'Add' in the options menu.
Select 'Type' as 'UDP'.
Enter the{ground-port} in "Port" and {ground-hostname} in "Server Addresses (optional)"
Connect
Click "OK" to save the settings.
Click on the "Connect" tab to establish the connection from side menu
Ensure that your onboard companion computer and ground station are connected to the same LAN setup via a router for proper communication.
Ensure both the board and the ground station are connected to the same LAN setup for the proxy to work.
Last updated
Was this helpful?