yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
MicroROS Self-balancing Robot Car📖
01.Introduction
  • 0.Unboxing and Reviewing
  • 1. Must read before use - learning route
  • 2. Introduction to LiDAR
  • 3. Balance car interface description
  • 4. Analysis of common problems
  • 5. Robot charging and battery precautions
02.Assembly tutorial
  • Robot assembly steps
03.Preparation
  • 0.Quick Start (Must Read)
  • 1.Write firmware
  • 2.How to install and use VM
  • 3.ESP32 communication board configuration parameters
  • 4.Connect to microROS agent
04.ROS-WiFi module configuration
  • 0.Serial port configuration WiFi instructions
  • 1.Use ROS-WiFi cam module(must read)
  • 2.Connect to ROS-WiFi cam module agent
  • 3.Camera image correction (optional)
05.Quick start control
  • 1.Keyboard remote control
  • 2.Handle remote control
06.ROS+OpenCV course
  • 1.OpenCV Getting started
  • 2.Geometric transformation
  • 3.Image processing and drawing text line segments
  • 4.Image beautification
07.Mediapipe course
  • 1. Hand detection
  • 2. Posture detection
  • 3. Overall inspection
  • 4. Face detection
  • 5. Face recognition
  • 6. Facial effects
  • 7. 3D object recognition
  • 8. Brush
  • 9. Finger control
  • 10. Gesture recognition
08.Robot basic course
  • 1.Robot information release
  • 2.Robot keyboard control
  • 3.Robot handle control
  • 4.Robot state estimation
  • 5.Line speed calibration
  • 6.Angular velocity calibration
  • 7.Robot URDF model
09.Lidar course
  • 1.Lidar avoid
  • 2.Lidar following
  • 3.Lidar guard
  • 5.Gmapping mapping
  • 6.Cartographer mapping
  • 7.Navigation2 navigation avoid
  • 8.Navigation2 fast relocation navigation
  • 9.ROS Robot APP mapping
  • 10.ROS Robot APP navigation
10.Robot visual interaction
  • 1.Color tracking
  • 2.Object recognition and tracking
  • 3.Face recognition tracking
  • 4.Autonomous driving line patrol
  • 5.QR code motion control
  • 6.Gesture control car movement
  • 7.Palm control car movement
  • 8.Gesture control car action group
  • 9.Palm recognition and tracking
  • 10.Human body posture recognition and tracking
11.Multi-machine course
  • 1.Multi-machine handle control
  • 2.Multi-machine keyboard control
  • 3.Multi-machine navigation
  • 4.Multi-machine rapid relocation navigation
12.STM32 balancing case
01.Environment construction and development
  • 13.Window Watchdog (WWDG)
  • 01.MDK-ARM installation
  • 02.STM32CubeIDE installation
  • 03.Common driver installation
  • 04.Download the program
  • 05.MDK-ARM project usage
  • 06.Program simulation
02.STM32 getting started course
  • 01.Project creation
  • 02.LED Control(GPIO)
  • 03.Buzzer control(GPIO)
  • 04.Button control(EXTI)
  • 05.Serial communication(USART)
  • 06.Voltage detection(ADC)
  • 07.Basic timer(TIM)
  • 08.Universal timer(TIM)
  • 09.Advanced Timer(TIM)
  • 10.I2C Communication(I2C)-OLED
  • 11.SPI communication(SPI)-2.4G handle
  • 12.Independent Watchdog (IWDG)
  • 14.DMA-USART
  • 15.DMA-I2C
03.STM32 expansion course
  • 01.Battery voltage detection (ADC)
  • 02.Ultrasonic module-measuring distance (TIM)
  • 03.Motor drive+encoder (TIM)
  • 04.OLED Data-Display(I2C)
  • 05.MPU6050-Data Read (I2C)
04.Robot car PID control course
  • 01.PID basic concept
  • 02.PID example analysis
  • 03.P, PI, PD controller theory
  • 04.Position PID
  • 05.Incremental PID
  • 06.Cascade PID
  • 07.Balance principle of car
  • 08.Car upright control (PD)
  • 09.Car speed ​​control (PI)
  • 10.Car steering control (PD)
  • 11.Got angle and angular velocity (DMP algorithm)
  • 12.Got angle and angular velocity (Kalman filter algorithm)
  • 13.Got angle and angular velocity(Complementary filter algorithm)
05.Robot car basic course
  • 01.Car parameter adjustment
  • 02.Ultrasonic obstacle avoidance
  • 03.Ultrasonic follow
  • 04.Bluetooth remote control
  • 05.Load balance
  • 06.Radar obstacle avoidance
  • 07.Radar guard
  • 08.Radar follow
  • 09.Radar patrol
  • 10.Radar wall following go in a straight line
  • 11.Radar tracking wall multiple walls
06.Robot car LQR control
  • Balance car LQR high-level control
07.Circuit design
  • 01.Overall circuit design
  • 02.STM32 minimum system
  • 03.Serial port circuit design
  • 04.Power circuit design
  • 05.MPU6050 Circuit Design
  • 06.Motor drive circuit design
08.Mathematical model
  • Balance car mathematical model
13.Linux basic course
  • 1.Introduction to Linux system
  • 2.Ubuntu file system
  • 3.Ubuntu common commands
  • 4.Ubuntu common editors
  • 5.Ubuntu software operation commands
  • 6.Virtual machine installation
  • 7.SSH remote control
  • 8.VNC remote control
  • 9.Transfer files remotely
  • 10.Driver library and communication
  • 11.Static IP and hotspot mode
  • 12.Bind device ID
  • 13.Capacity expansion and resource allocation
  • 14.Update system software sources
  • 15.Set root user password
  • 16.sudo free password
  • 17.Connect to WiFi network
  • 18.View system version
  • 19.Customized service management
  • 20.Back up system image
14.Docker course
  • 1. Overview and installation
  • 2. Common commands
  • 3. Docker images deeply understand and publish images
  • 4. Docker hardware interaction and data processing
  • 5. Enter the bot's docker container
15.ROS2 basic course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
Download
  • RemoteCtrl_APP(Android)
  • Mapping_APP(iOS_Android)
  • Code
  • Hardware Information
  • software tools
  • 3D model file
  • Instruction manual
  • VM image file
  • ROS2_Basic_VM
Download ZIP

Welcome to MicroROS Self-balancing Robot Car repository

3.Ubuntu common commands

3.Ubuntu common commands

3.1、Add

New create file

touch test.txt

New create folder

xxxxxxxxxx
mkdir test # Create a file
mkdir -p test/src # Create the test folder and create the src folder in the test folder

Copy

xxxxxxxxxx
sudo cp test.txt test_copy.txt # Copy a file

3.2、Delete

-iTo execute interactively
-fForced deletion, ignoring non-existent files without prompting
-rRecursively delete the contents of a directory
xxxxxxxxxx
sudo rm test.txt    # Delete files | empty folders
sudo rm -r test     # Delete folders and their contents

3.3、Modify

  • move、re-name
xxxxxxxxxx
sudo mv test test_new          # Change the test folder to test_new
sudo mv test.txt test_new.txt  # Modify the test.txt file to test_new.txt
  • chmod changes file permissions

Permission settings

SymbolMeaning
+Add permissions
-Revoke permission
=Set permissions

rwx

Letter permissionsMeaning
rread means read permission. For a directory, if there is no r permission, it means that the contents of this directory cannot be viewed through ls.
wwrite means write permission. For a directory, if there is no w permission, it means that new files cannot be created in the directory.
xexecute means executable permission. For a directory, if there is no x permission, it means that the directory cannot be entered through cd.
xxxxxxxxxx
sudo chmod +rwx test.txt  

Add a shortcut to all permissions

xxxxxxxxxx
sudo chmod 777 test.txt  

Set root password

xxxxxxxxxx
sudo passwd root

Set user password

xxxxxxxxxx
sudo passwd user name

3.4、View

  • View system version
xxxxxxxxxx
lsb_release -a    # Release version number
uname -a          # Kernel version and system bit number
cat /proc/version # Kernel version and gcc version
  • View hardware information
xxxxxxxxxx
curl cip.cc or ifconfig         # View IP address
cat /proc/cpuinfo or lscpu      # cpu information
sudo dmidecode -t memory        # Memory information
df -h                           # View the space status of all mounted file systems
which python3                   # View command location
v4l2-ctl --list-formats-ext     # View camera device parameters
nproc       # Check the number of cores
  • View file information
xxxxxxxxxx
la        # Display all subdirectories and files in the specified directory, including hidden files
ll        # Display detailed information of files in list format
ls -h     # Used to display the file size in a user-friendly way
cat test.txt      # View file content
tree              # View the file directory (needs to install tree)

tree installation command

xxxxxxxxxx
sudo apt install tree
  • Find files
xxxxxxxxxx
find ./ -name test.sh   # Find all files or directories named test.sh in the current directory
find ./ -name '*.sh'    # Find all files or directories with the suffix .sh in the current directory
find ./ -name "[A-Z]*"  # Search for all files or directories starting with an uppercase letter in the current directory

3.5、Other

  • tar command

tar usage format: tar [parameter] package file name file

xxxxxxxxxx
-c   # Generate archive files and create packaging files
-v   # List the detailed process of archive unarchiving and display the progress
-f   # Specify the name of the archive file. The f must be followed by a .tar file, so the option must be placed last.
-t   # List files contained in the archive
-x   # Unpack archive file

Pack

xxxxxxxxxx
tar -cvf xxx.tar *                # All files in current directory
tar -cvf xxx.tar *.txt            # Files ending with .txt
tar -cvf xxx.tar my-file my-dir   # Pack the specified directory or file

Unpack

xxxxxxxxxx
tar -xvf xxx.tar             # Unpack to current directory
tar -xvf xxx.tar -C my-dir   # Unpack to the specified directory (you need to create the my-dir directory first)
  • zip、unzip command

Compressed file: zip [-r] target file (no extension) source file

xxxxxxxxxx
zip bak *       # All files in the current directory, you can also specify files
zip -r bak *    # All files & directories in the current directory recursively

Unzip the file: unzip -d directory file after decompression compressed file

xxxxxxxxxx
unzip -d ./target_dir bak.zip  # Unzip to the specified directory
unzip bak.zip                  # Unzip to current directory
  • ln command

Soft link: Soft link does not occupy disk space. If the source file is deleted, the soft link will become invalid. Commonly used, you can create files or folders

xxxxxxxxxx
ln -s Source file   Link file

Hard links: Hard links can only link ordinary files, not directories. Even if the source file is deleted, the linked file still exists

xxxxxxxxxx
ln Source file   Link file
  • scp remote copy
xxxxxxxxxx
scp jetson@192.168.16.66:/home/jetson/xxx.tar.gz /home/yahboom/ # Copy files from remote to local
scp /home/yahboom/xxx.png jetson@192.168.16.66:/home/jetson/    # Copy files from local to remote
scp -r jetson@192.168.16.66:/home/jetson/test /home/yahboom/    # Copy directory from remote to local -r
scp -r /home/yahboom/test jetson@192.168.16.66:/home/jetson/    # Copy directory from local to remote -r
  • wget file download

Search for an image address on Baidu as an example.

xxxxxxxxxx
wget "https://www.yahboom.com/Public/ueditor/php/upload/image/20210104/1609763706526702.png"                 
wget -O yahboom.jpg "https://www.yahboom.com/Public/ueditor/php/upload/image/20210104/1609763706526702.png"  
  • Other
xxxxxxxxxx
nautilus .              # Open the current file
cd ~                    # Switch to the current user’s home directory (/home/user directory)
cd .                    # Switch to the current directory
cd -                    # can enter the directory where you were last time
cd /                    # Switch to the system root directory /
pwd                     # Display the current path
echo "HelloWorld"       # Output HelloWorld information to the console
which                   # View command location

 

Ubuntu file system
Ubuntu common editors

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文