Table of Contents

Outdoor Mobile Robot

Outdoor mobile robot UKU is a mid-sized self-driving vehicle for educational and research purposes. A Gazebo simulator model has been created to experiment with the UKU robot. This allows anyone, no matter where they are, to program the robot, and if the program runs correctly in the simulator, it can simply be run on a real robot.

Sensors

LiDAR

The UKU's main sensor is Lidar. Lidars are very good sensors to sense the surroundings, but they are also relatively expensive. The use of capable lidars because of their price limits their use on personal robots. UKU uses a 3D Lidar Velodyne VLP-16. Lidar has 16 channels and a 360 ° viewing angle. This means that Lidar emits 16 rays vertically in each direction. This Lidar is also used by most self-driving vehicles and other sophisticated self-driving robot systems.

Velodyne VLP-16 Specification
Spec. Value
Channels 16 vlp.jpg
Measurement Range 100 m
Range Accuracy Up to ±3 cm (Typical)
Field of View (Vertical) +15.0° to -15.0° (30°)
Angular Resolution (Vertical) 2.0°
Angular Resolution (Horizontal/Azimuth) 0.1° – 0.4°
Rotation Rate 5 Hz – 20 Hz

Lidar allows laser beams to obtain a point cloud from the surroundings, which is very useful for autonomous navigation. The more channels the Lidar has and the higher its resolution, the more accurate the point cloud will be.

The Velodyne VLP-16 Lidar on top of the UKU robot is expensive and simpler and cheaper Lidars can also be used in simpler applications. One of the most popular cheaper Lidar is RPlidar. RPlidar A1 costs around 100 € and RPlidar A3 600 €. Lidars differ mainly in the resolution and measurement frequency.

RPlidar has a 360 ° field of view but has only one channel. Therefore, the output of the Lidar is two-dimensional. Such Lidars are a good choice for navigating indoors-where walls and other vertical objects are obstructed.

In the Gazebo simulator, it is also possible to simulate Lidars. Many Lidar manufacturers have published Lidar models (URDF) on the Internet, which makes adding a Lidar to their robot model much easier. The official Velodyne VLP-16 URDF model is also used in the UKU robot simulation.

UKU Simulation

The necessary models and libraries for experimenting with the robot have been created to simulate the robot in Gazebo. For convenience, the entire ROS workspace has been uploaded to a git repository. Simply download the working environment and install the necessary libraries to use the simulation.

Let's start by cloning the repository:

 $ sudo apt install git
 $ git clone http://gitlab.robolabor.ee/ingmar05/uku_simulation_ws.git
 

Install the required libraries and compile:

 $ cd uku_simulation_ws
 $ rosdep install --from-paths src --ignore-src -r -y
 $ catkin_make
 $ source devel / setup.bash

So that we don't have to get a working environment every time we open a new terminal window, we can add the following line to the .bashrc file:

 $ echo "source ~/uku_simulation_ws/devel/setup.bash" >> ~/.bashrc

    To avoid having to manually launch multiple nodes each time with the correct parameters, launch files (.launch) have been created. Using these, you can execute roscore with one command and several different nodes with the correct parameters. To run all the necessary nodes to simulate the robot, a startup file called uku_vehicle.launch has been created.

Run simulation:

 $ roslaunch uku_vehicle_gazebo uku_vehicle.launch

The Gazebo simulator and Rviz should now open. The UKU robot should be visible in the Gazebo virtual world. Using the Gazebo interface, we can add objects to the virtual world.

A robot remote control unit is also included with the workspace. Launch Remote Control Node in another window:

 $ rosrun ackermann_drive_teleop keyop.py

Now we should be able to control the robot with the keyboard.

    The startup file also launched the Rviz visualization tool. When we open the Rviz window, we see a 3D Lidar image and a robot model.