Bveeta Mini mobile robot by Bizbot Technology Malaysia

BveetaFamily.jpg

Latest version: Bveeta Mini type R007

Bveeta Mini is a ROS educational mobile robot and was created in year 2021. Bveeta mini is based on two wheeled mobile robot, and can be program with the computer programming language such as python and C programming. Bveeta mini, which originated from the two wheeled mobile robot, is designed to teach people to use ROS through Bveeta mini and its platform as well as to teach people in computer programming language. There are 3 versions of the Bveeta mini. The first version was Bveeta mini, the second version is Bveeta mini type R and the latest is Bveeta mini Type R007. These versions have the same capabilities and function. Bveeta mini were developed by Bizbot Technology, a start-up tech company from Malaysia who has more than 16 years experience in developing mobile robot platform for education and research purpose and has wide experience in electronics control, programming, and mechanical design of mobile robot platform. With the demanding of the open-source platform, thus Bveeta Mini starts to revolute its own technology to meet the market needs. In research area, Bveeta mini helps many researchers to accelerate their product design by making this Bveeta mini as an example of product of the shelf and ready to be deploy.

Tutorials

Connecting Bveeta mini with SSH (ROS MASTER)

ROS is designed with distributed computing in mind. A well-written node makes no assumptions about where in the network it runs, allowing computation to be relocated at run-time to match the available resources (there are exceptions; for example, a driver node that communicate with a piece of hardware must run on the machine to which the hardware is physically connected). Deploying a ROS system across multiple machines is easy. Keep the following things in mind:

You only need one master. Select one machine to run it on. All nodes must be configured to use the same master, via ROS_MASTER_URI. There must be complete, bi-directional connectivity between all pairs of machines, on all ports (see http://wiki.ros.org/ROS/NetworkSetup). Each machine must advertise itself by a name that all other machines can resolve (see ROS/NetworkSetup). Bveeta mini has been tested with full performance based on the SSH connections. Therefore, it is recommended for user to connect the robot with SSH method. To get started please follow steps below:

  • On user computer, make sure it has been installed with ROS. It is recommended to use ROS MELODIC (Ubuntu 18.04) as Bveeta mini has been program based on ROS MELODIC. For installation on ROS MELODIC, user need to have Ubuntu 18.04 on their computer. Another version of ROS also can be use but has not been tested yet.
  • Once your ROS is ready on your PC, now you can follow the next steps
  • Connect your wifi connection to "bveeta-mini" ssid and password: bveeta2021
  • On your computer, open new terminal
  • With the same terminal type the following:
  • export ROS_MASTER_URI=http://10.42.0.1:11311

  • export ROS_IP=10.42.0.1.123
  • Next, open another terminal and enter SSH below:
  • Enter the password: bveeta2021
  • Now you are log in the Bveeta mini through SSH.
  • In the Bveeta mini, the ROS_MASTER configuration default is written in ~/.bashrc.

To edit this file, simply enter “$sudo nano ~/.bashrc” in the terminal and add these 2 lines below (Please change the ip address according to your access point ip address)

Simultaneous localization and Mapping (SLAM) with Bveeta mini

By default, there are two methods used by Bveeta mini to do SLAM.

  • 1. Hector SLAM
  • 2. Gmapping SLAM

Bveeta mini with Hector SLAM

  • To run Hector SLAM on Bveeta mini, please follow steps below:
  • 1. Open new 4 terminals
  • 2. In the first terminal, enter "roscore"
  • 3. Second terminal enter "roslaunch hectormapping bveeta_hector_slam.launch"
  • 4. Third terminal enter "rviz"
  • 5. 4th terminal enter "rosrun teleop_twist_keyboard teleop_twist_keyboard.py"
  • 6. In the Rviz window, open the config files name in "Home directory > “bveeta_rviz_config.rviz”"

  • 7. The Rviz layout should appear like Figure below:
    • rviz_bveeta.jpg

  • 8. Set your robot angular and linear speed to low by pressing X or Z key few times. The reason is when doing SLAM, it requires high capacity of the SBC RAM which will slow down the calculation and processing power.
  • 9. Runs your robot until it creates enough map features for your requirement.
  • 10. Once the map is satisfied, save the map created so that it can be use for navigation later. To save the map, open new terminal, and enter the following:
    • "rosrun map_server map_saver -f myMap"

That's it. Youre done SLAM with Bveeta mini. For other methods of SLAM, please refer the link provided in the Documentation and support 😊

Video Bveeta Mini doing Sequential Goal navigation. The Sequential goal codeo is written based on python program:

Video Bveeta Mini doing DWA local planner for autonomous navigation:

Video Bveeta Mini doing Hector SLAM:

Video Bveeta Mini doing Gmapping SLAM + TEB local planner for autonomous navigation:

Hardware

Bveeta mini is an open source, mobile robot platform containing:

  • Arduino Mega 2560 controller with smart drive duo driver dedicated for Bveeta mini
  • Raspberry Pi single board computer with SD card pre-loaded with Bveeta image
  • Laser scanner - up to 8m range, 360° (YDLidar X2)
  • Rigid aluminum plate platform with powder coated
  • 2 DC motors with encoders
  • 1 x 2000 mAh Li-Ion batteries with protection circuits

Controller

Bveeta mini is based on the Arduino Mega 2560 controller, which consists of 2 boards:

  • a low-level controller (Arduino Mega 2560), with Smart Drive DuO (SDD) motor driver which drive the motor encoders and interrupts for motionn controls.
  • a single board computer (SBC) Raspberry Pi running with Ubuntu 18.04 and preloaded with ROS Melodic.

Documentation and support

If you need more support, please contact us: c4robotic@gmail.com

Wiki: Robots/bveetaMini (last edited 2022-04-13 02:02:25 by skj84)