top of page


Start to guide 

General Information

Ubuntu 18.04 Installation:

  • Go to to get the Ubuntu 18.04 release. Once installed, use the ISO file you downloaded that is compatible with your system to make a bootable USB drive. Install Ubuntu 18.04 by following the instructions displayed on the screen.


ROS melodic Installation:

*Please make sure to complete the installation before the workshop starts to avoid any delays or difficulties during the event. If you encounter any issues or have questions about the installation process, feel free to ask for assistance.

Download and Install Ubuntu into PC

1.  Download the proper image for your PC from the links below.

2.  Follow the instruction below to install Ubuntu on PC

Install ROS on Remote PC

At first must to configure your Ubuntu repositories to allow "restricted", "universe", and "multiverse". You can follow the instructors for doing this configure. ( After all the configure, follow the next  step for configure


First, make sure your Debian package is up-to-date:

ROS has a broad range of libraries and tools. To get you going, we've included four basic configurations. Additionally, you can install specific ROS packages. 

If you discover trouble with the future step, you can substitute the following sources for the previously listed ones. 

2. Environment Setup

It's convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:


If you have more than one ROS distribution installed, ~/.bashrc must only source the setup.bash for the version you are currently using.

If you just want to change the environment of your current shell, instead of the above you can type:

If you use zsh instead of bash you need to run the following commands to set up your shell:

3. Dependencies for building packages

To install this tool and other dependencies for building ROS packages, run;

if you have not yet installed rosdep, do so as follows;

With the following, you can initialize rosdep;


4. Build farm status

The package that have you installed were built by the ROS build farm ( . You can check the status of individual packages ( .

sudo apt update

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

source ~/.bashrc

source /opt/ros/melodic/setup.bash

echo "source /opt/ros/melodic/setup.zsh" >> ~/.zshrc

source ~/.zshrc

sudo apt install python-rosdep python-rosinstall-generator python-wstool build-essential

sudo apt install python-rosdep

sudo rosdep init

rosdep update

Installing bveeta mini dependency 

Install all dependencies below in your hos PC terminal:

Step 1:

Step 2: 

Step 3: 

Step 4:

Step 5:

Step 6:

Step 7:

Step 8:

Step 9:

Step 10:

cd catkin_ws/src

sudo make install


cmake ..

cd build

mkdir build

cd YDLidar-SDK/

sudo apt-get install ros-melodic-joint-state-publisher ros-melodic-joint-state-controller ros-melodic-joint-state-publisher-gui ros-melodic-joint-state-controller-dbgsym ros-melodic-ackermann-steering-controller ros-melodic-ackermann-steering-controller-dbgsym ros-melodic-ackermann-msgs ros-melodic-rqt-virtual-joy ros-melodic-joy ros-melodic-teleop-twist-joy ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan ros-melodic-rosserial-arduino ros-melodic-rosserial-python ros-melodic-rosserial-server ros-melodic-rosserial-client ros-melodic-rosserial-msgs ros-melodic-amcl ros-melodic-map-server ros-melodic-move-base ros-melodic-urdf ros-melodic-xacro ros-melodic-compressed-image-transport ros-melodic-rqt* ros-melodic-gmapping ros-melodic-navigation ros-melodic-interactive-markers ros-melodic-hector-mapping ros-melodic-map-server ros-melodic-slam-gmapping ros-melodic-teb-local-planner ros-melodic-tf2-sensor-msgs ros-melodic-nav-msgs ros-melodic-move-base-msgs

network communication

Install Ros on remote PC


Run Roscore

Run roscore from PC






Example of application

Sequential goal

This python code is essentially sending a series of navigation goals to the robot via the 'move_base' action server and waits for the robot to reach each goal before moving on to the next one. It demonstrates a basic navigation control strategy using ROS.

Run navigation if you haven’t done it already.

$ roslaunch bveeta_navigation bveeta_dwa_local_planner.launch

$ rosrun map_server map_server yourmap.yaml


$ rosrun teleop_twist_keyboard teleop_twist_keyboard

Step 1:

Position the robot to the goal first goal.

Using published point tools in RVIZ , get the location of the robot (x,y and z).


*Use 2D pose estimate if map is misaligned.


& rostopic echo / clicked_point

Record the X position, Y position and Z position.

Step 2:

Do the same with goal 2,3 and 4

Transfer the position to the

Step 3:

cd to the Pyhton file and run the code

Python sequential

move bveeta mini with python

This code is intended for controlling the motion of the bveeta mini by sending specific commands to make it move forward, backward, turn right, and turn left in a continuous loop, with 2-second delays between each action. It provides a basic example of how you can create a Python script to control a robot or similar hardware via a serial interface.

To use this script, make sure you have the Bveeta Mini connected to your Raspberry Pi via a USB-to-serial adapter or another appropriate interface. Modify the serial port path ('/dev/ttyUSB1') to match your setup. Once everything is set up, running the script will control the Bveeta Mini to perform forward, backward, right, and left movements in a continuous loop.

How to run:

cd to


line follower

This Python code is designed to control bveeta mini to follow a white line using a webcam and image processing techniques.

This code uses computer vision techniques to detect a white line in the camera's field of view and controls bveeta mini to follow the white line by adjusting its movements. It tracks the position of the white line and sends appropriate motor control commands to keep the robot on the line. to run the code, you need to ensure that a USB camera is properly connected to the bveeta mini, and the serial port is available at /dev/ttyUSB2.

How to run:

cd to


ball detects

This Python code uses OpenCV to detect and draw a rectangle around red objects in a video feed from either a webcam or a specified video file.

This code is useful for detecting and tracking red objects, such as a red ball, within the video feed from a webcam or video file. When a red object is detected, a green rectangle is drawn around it.

How to run:

cd to

write servo

This Python script is used to control a servo motor on bveeta mini using ROS (Robot Operating System). It communicates with the "ros_arduino_msgs" package to set the position of the servo motor. It waits for user input to specify the servo pin and desired position, and then it calls the appropriate service to control the servo.

To control the servo motors on the "bveeta mini," connect the servo's signal wire to pin 4 or pin 7, ground (GND) to the ground, and power (5V) to 5V. Then, run the Python script, enter the desired position in radians, and the script will set the servo to that position.

How to run:

cd to


(Graphic user interface)


face detection


face detection motion


bottom of page