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