turtlebot4_setup package from turtlebot4_setup repo

turtlebot4_setup

Package Summary

Tags No category tags.
Version 1.0.3
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/turtlebot/turtlebot4_setup.git
VCS Type git
VCS Version humble
Last Updated 2024-02-13
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Turtlebot4 setup scripts

Additional Links

No additional links.

Maintainers

  • rkreinin

Authors

No additional authors.

Turtlebot4 Setup

Setup scripts and tools for the TurtleBot 4 Raspberry Pi.

Visit the TurtleBot 4 User Manual for more details.

Create an image manually

Follow these instructions if you wish to create a Turtlebot4 image manually.

Create an Ubuntu Image

First install the Raspberry Pi Imager.

  • Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
  • Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
  • You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.

Ethernet Setup

  • Connect the Raspberry Pi to your Network with an Ethernet cable.
  • Boot the Raspberry Pi.
  • Find the Raspberry Pi's IP using your router's portal.
  • SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx

  • The default login is ubuntu and password is ubuntu. You will be prompted to change your password.

HDMI Setup

  • Connect a keyboard to the Raspberry Pi via USB.
  • Connect a monitor to the Raspberry Pi via the HDMI0 port.
  • Boot the Raspberry Pi.
  • The default login is ubuntu and password is ubuntu. You will be prompted to change your password.

Manually configure Wi-Fi

Once you are logged into the Raspberry Pi, configure the Wi-Fi:

sudo nano /etc/netplan/50-cloud-init.yaml

Add the following lines:

wifis:
    wlan0:
        optional: true
        access-points:
            "YOUR_WIFI_SSID":
                password: "YOUR_WIFI_PASSWORD"
        dhcp4: true

Note: Ensure that wifis: is aligned with the existing ethernets: line. All indentations should be 4 spaces. Do not use tabs. - Reboot the Raspberry Pi. It should now be connected to your Wi-Fi. - Find the Raspberry Pi's IP using your router's portal. - SSH into the Raspberry Pi using the IP address.

ssh ubuntu@xxx.xxx.xxx.xxx

Download and run the setup script

wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash

The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot. Then, run turtlebot4-setup to configure the robot with the setup tool.

CHANGELOG

Changelog for package turtlebot4_setup

1.0.3 (2023-11-08)

  • Cleanup <https://github.com/turtlebot/turtlebot4_setup/issues/7>
  • Remove scripts that should not be used in Humble
  • Update create_update.sh to reference Humble minimum version
  • Updated README
  • Updated turtlebot4_setup.sh script
  • Fixed setting robot model
  • Contributors: Hilary Luo, Roni Kreinin

1.0.2 (2023-03-01)

  • Fixed Discovery Server IP
  • Updated default configs
  • Contributors: Roni Kreinin

1.0.1 (2023-02-28)

  • Fixed script install path
  • Contributors: Roni Kreinin

1.0.0 (2023-02-24)

  • turtlebot4_setup tool
  • RPI config updates
  • Discovery server files
  • Contributors: Roni Kreinin

0.1.3 (2022-09-27)

  • Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
  • Added webserver service
  • Added argparser to install.py Removed namespacing for now
  • Added \'ros_config\' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
  • Contributors: Roni Kreinin, roni-kreinin

0.1.2 (2022-06-14)

  • Added chrony Updated wifi script
  • Updated dependencies Move swap_on and swap_off to /usr/local/bin
  • Fixed comment
  • Updated Create 3 curl commands Move wifi and create update scripts to /usr/local/bin
  • Updated oakd branch
  • Update README.md
  • Moved contents to root folder Updated oakd script to work for both pro and lite Updated turtlebot4_setup script Updated wifi script to allow the create 3 to be set up through the pi Added create 3 firmware flash scripts
  • Update README.md
  • Updated robot_upstart repo
  • Added swap memory scripts when more RAM is needed to build packages
  • Updated README
  • Initial commit
  • Contributors: Roni Kreinin, roni-kreinin

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged turtlebot4_setup at Robotics Stack Exchange

No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.

turtlebot4_setup package from turtlebot4_setup repo

turtlebot4_setup

Package Summary

Tags No category tags.
Version 0.0.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/turtlebot/turtlebot4_setup.git
VCS Type git
VCS Version galactic
Last Updated 2023-02-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Turtlebot4 setup scripts

Additional Links

No additional links.

Maintainers

  • rkreinin

Authors

No additional authors.

Turtlebot4 Setup

Setup scripts for the TurtleBot 4 Raspberry Pi.

Install or update pre-built image

Every Turtlebot4 comes with a SD card with a pre-installed Turtlebot4 image. If you wish to install an image on your own SD card or update to a newer image, follow these instructions.

sudo apt install dcfldd

  • Insert your SD card into your PC and identify it:
sudo fdisk -l

  • The SD card will have a name like /dev/mmcblk0 or /dev/sda

  • Get the SD flash script and flash the SD card

wget https://raw.githubusercontent.com/turtlebot/turtlebot4-images/galactic/turtlebot4_setup/scripts/sd_flash.sh
bash sd_flash.sh /path/to/image

  • Follow the instructions and wait for the SD card to be flashed.

  • Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.

  • Follow Wi-Fi Setup to configure your Wi-Fi.

Create an image manually

Follow these instructions if you wish to create a Turtlebot4 image manually.

Create an Ubuntu Image

First install the Raspberry Pi Imager.

  • Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 20.04 LTS onto the SD card.
  • Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
  • You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.

Ethernet Setup

  • Connect the Raspberry Pi to your Network with an Ethernet cable.
  • Boot the Raspberry Pi.
  • Find the Raspberry Pi's IP using your router's portal.
  • SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx

  • The default login is ubuntu and password is ubuntu. You will be prompted to change your password.

HDMI Setup

  • Connect a keyboard to the Raspberry Pi via USB.
  • Connect a monitor to the Raspberry Pi via the HDMI0 port.
  • Boot the Raspberry Pi.
  • The default login is ubuntu and password is ubuntu. You will be prompted to change your password.

Manually configure Wi-Fi

Once you are logged into the Raspberry Pi, configure the Wi-Fi:

sudo nano /etc/netplan/50-cloud-init.yaml

Add the following lines:

wifis:
    wlan0:
        optional: true
        access-points:
            "YOUR_WIFI_SSID":
                password: "YOUR_WIFI_PASSWORD"
        dhcp4: true

Note: Ensure that wifis: is aligned with the existing ethernets: line. All indentations should be 4 spaces. Do not use tabs. - Reboot the Raspberry Pi. It should now be connected to your Wi-Fi. - Find the Raspberry Pi's IP using your router's portal. - SSH into the Raspberry Pi using the IP address.

ssh ubuntu@xxx.xxx.xxx.xxx

Create your workspace

  • Once logged in, create a workspace.
mkdir ~/turtlebot4_ws/src -p

  • Clone this repository into the src folder
cd ~/turtlebot4_ws/src
git clone https://github.com/turtlebot/turtlebot4_setup.git

Automatic Setup

  • Run the turtlebot4_setup.sh script to automatically set up your turtlebot4.

Turtlebot4 Standard

cd ~/turtlebot4_ws
bash src/turtlebot4_robot/turtlebot4_setup/scripts/turtlebot4_setup.sh -m standard

Turtlebot4 Lite

cd ~/turtlebot4_ws
bash src/turtlebot4_robot/turtlebot4_setup/scripts/turtlebot4_setup.sh -m lite

Manual Setup

If you wish to manually setup the workspace, follow these instructions.

Install ROS2 Galactic

Follow https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html and install ros-galactic-ros-base

Install ROS tools

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  python3-colcon-common-extensions \
  python3-flake8 \
  python3-pip \
  python3-pytest-cov \
  python3-rosdep \
  python3-setuptools \
  python3-vcstool \
  wget

Install additional packages

sudo apt install -y \
libgpiod-dev \
network-manager \
daemontools 

Install bluetooth packages if needed

sudo apt install -y \
bluez \
bluez-tools \
pi-bluetooth

Import source packages

cd ~/turtlebot4_ws
vcs import src < src/turtlebot4-images/turtlebot4_setup/turtlebot4_packages.repos

Install OAK-D camera dependencies

Follow https://github.com/luxonis/depthai-ros/tree/main#install-dependencies

Run rosdep

cd ~/turtlebot4_ws
sudo rosdep init
rosdep update
rosdep install -r --from-paths src -i -y --rosdistro galactic

Build workspace

source /opt/ros/galactic/setup.bash
cd ~/turtlebot4_ws
colcon build
source install/setup.bash

Apply udev rules

cd ~/turtlebot4_ws
sudo cp src/turtlebot4_setup/turtlebot4_setup/udev/turtlebot4.rules /etc/udev/rules.d/

Enable usb0

echo "dtoverlay=dwc2,dr_mode=peripheral" | sudo tee -a /boot/firmware/usercfg.txt
sudo sed -i '${s/$/ modules-load=dwc2,g_ether/}' /boot/firmware/cmdline.txt

Enable i2c-3 bus

echo "dtoverlay=i2c-gpio,bus=3,i2c_gpio_delay_us=1,i2c_gpio_sda=4,i2c_gpio_scl=5" | sudo tee -a /boot/firmware/usercfg.txt 

Configure CycloneDDS

echo "export CYCLONEDDS_URI='<CycloneDDS><Domain><General><NetworkInterfaceAddress>wlan0,usb0</></></></>'" | sudo tee -a ~/.bashrc

Create Turtlebot4 service to run on boot

Turtlebot4 Standard

ros2 run robot_upstart install turtlebot4_bringup/launch/standard.launch.py --job turtlebot4

Turtlebot4 Lite

ros2 run robot_upstart install turtlebot4_bringup/launch/lite.launch.py --job turtlebot4

Set up Wi-Fi

Run Wi-Fi Setup

Reboot the Raspberry Pi

sudo reboot

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged turtlebot4_setup at Robotics Stack Exchange

No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.