Requirements - lukasholtkamp/b.ob GitHub Wiki

This article lists the most necessary hardware and software requirements that need to be met.
Status: 24.07.2024

Hardware

The following components were used to build B.ob.

Component Documentation Link
Raspberry Pi 4 (4GB) Raspberry-Pi-4-datasheet.pdf
2x Brushless DC Motors Brushless_DC Motor_57BLF_datasheet.pdf
2x Motor Drivers 8015 BLDC_Driver_datasheet.pdfACT_BLDC-8015A-5_datasheet.pdf
Battery (LiPo) 18.5 V Productdescription_and_Manual_Hacker_Motor_LiPo_Batteries.pdf
Bluetooth 5.0 Nano USB Adapter UB500_1.0_datasheet.pdf
Xbox One Wireless Controller -
TP-LINK 150Mbps High Gain Wireless USB Adapter TP-LINK-TL-WN722N-WLAN-Stick-USB-2.0-150MBit-s_datasheet.pdfTP-LINK-TL-WN722N-WLAN-Stick-USB-2.0-150MBit-s_User_Guide.pdf
Emergency Stop Switch Push Button 660V 10A -
Buck converter LM2596S LM2596_datasheet.pdf
2x MOSFET, N-Kanal IRFD210_IR_datasheer.pdf
Metal film resistors MFLR_datasheet.pdf
Sabrent 4-Port USB 3.0 Hub -
RPLIDAR A1 360° RPLIDAR A1_datasheet.pdf RPLIDAR A1_usermanual.pdf
MPU6050 board MPU605_datasheet.pdf
HMMD mmWave Sensor HMMD mmWave Sensor Link

Rpi Software

Operating System

Linux Ubuuntu 22.04

ROS version

  • Humble

Software

  • Git

Packages

  • ros-humble-ros-gz
  • ros-humble-ros2-control
  • ros-humble-ros2-controllers
  • libi2c-dev
  • i2c-tools
  • libi2c0
  • ros-humble-gazebo-ros-pkgs
  • ros-humble-xacro
  • ros-humble-slam-toolbox
  • ros-humble-navigation2
  • ros-humble-nav2-bringup
  • ros-humble-robot-localization
  • ros-humble-twist-mux
  • ros-humble-gazebo-ros2-control
  • ros-humble-rplidar-ros
  • ros-humble-control-toolbox
  • ros-humble-pcl-ros
  • ros-humble-visualization-msgs
  • ros-humble-perception-pcl
  • ros-humble-pcl-msgs
  • ros-humble-vision-opencv

GPIO

To use gpio pins, you need to install pigpio

Installing packages

You can install most of the packages over the following command:

sudo apt-get install <package-name>

You can run the following bash script to install all dependencies and packages needed (replace username and email):

#!/bin/sh

sudo apt-get update -y
sudo apt-get upgrade -y

# git
sudo apt install git -y
sudo apt-get update -y
sudo apt-get install gitk -y
git config --global user.name "<GITHUB-USERNAME>"
git config --global user.email "<GITHUB-EMAIL>"


# locale
sudo apt-get update && sudo apt-get install locales -y
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

# sources
sudo apt-get install software-properties-common -y
sudo add-apt-repository universe
sudo apt-get update && sudo apt-get install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

# Ros Humble
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install ros-humble-desktop -y
sudo apt-get install ros-dev-tools -y

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

sudo apt-get install python3-colcon-common-extensions -y

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install software-properties-common -y
sudo add-apt-repository universe -y

# Ros extensions
sudo apt-get update -y
sudo apt-get install ros-humble-ros-gz -y
sudo apt-get install ros-humble-gazebo-ros2-control -y
sudo apt-get install ros-humble-ros2-control ros-humble-ros2-controllers -y
sudo apt-get install libi2c-dev i2c-tools libi2c0 -y
sudo apt-get install ros-humble-gazebo-ros-pkgs -y
sudo apt-get install ros-humble-xacro -y
sudo apt-get install ros-humble-rplidar-ros -y
sudo apt-get install ros-humble-slam-toolbox -y
sudo apt-get install ros-humble-navigation2 ros-humble-nav2-bringup -y
sudo apt-get install ros-humble-robot-localization -y
sudo apt-get install ros-humble-twist-mux -y
sudo apt-get install ros-humble-control-toolbox -y
sudo apt-get install ros-humble-pcl-ros -y
sudo apt-get install ros-humble-visualization-msgs -y
sudo apt-get install ros-humble-perception-pcl -y
sudo apt-get install ros-humble-pcl-msgs -y
sudo apt-get install ros-humble-vision-opencv -y


# pigpiod
cd ~
wget https://github.com/joan2937/pigpio/archive/master.zip
unzip master.zip
cd pigpio-master
make
sudo make install
cd ~

sudo apt install python-setuptools python3-setuptools -y