Skip to main content

Tinker New PC Setup

This Document aims to provide the steps to set up a PC for Tinker developing, which can also be used to setup the relevant dependencies for ROS2 Humble on Ubuntu 22.04.

System Requirements

Ubuntu 22.04 Desktop

Basic Software Installation

Download .deb package of chrome, vs code from the official site

sudo dpkg -i <xxx>.deb

Basic Commands Installation

sudo apt update
sudo apt upgrade
sudo apt-get install git vim curl htop

Config git

git config --global user.name "YOUR_NAME"
git config --global user.email "YOUR_EMAIL"
# Generate ssh key
ssh-keygen -t ed25519 -C "your_email@example.com"

Then add the key to github, see ref

Config zsh (Optional)

Since many scripts are based on zsh, it is recommended to config zsh:

sudo apt-get install zsh
sudo vim /etc/passwd

Change then end of the line started with your username /bin/bash to /bin/zsh

Config oh-my-zsh and powerlevel10k

Use oh-my-zsh to customize zsh:oh-my-zsh

Use powerlevel10k: powerlevel10k

Attention: powerlevel works best using its fonts, so don't forget install the fonts and apply them in the profile of zsh Config auto_suggestion and syntax-highlighting

sudo git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Edit .zshrc, add:

plugins=(
...
zsh-autosuggestions
zsh-syntax-highlighting
)

Install ROS2-Humble

ROS2 humble can be installed following [official-docs], use

sudo apt install ros-humble-desktop-full

This makes gazebo11 installed as well. And don't forget

sudo apt install ros-dev-tools

Config zshrc

echo "source /opt/ros/humble/setup.zsh" >> .zshrc
echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.zshrc
echo "export _colcon_cd_root=/opt/ros/humble/" >> ~/.zshrc

Config rosdep

sudo rosdep init
sudo rosdep update

Some useful packages:

sudo apt-get install ros-humble-rqt-tf-tree
sudo apt install ros-humble-gazebo-ros-pkgs

Install ros2_control

ros2_control is used in many parts of tinker such as chassis or arm:

sudo apt-get install ros-humble-ros2-control
sudo apt-get install ros-humble-ros2-controllers
sudo apt-get install ros-humble-gazebo-ros2-control
sudo apt install ros-humble-joint-state-publisher