This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:ros:simulations:uku [2021/03/30 17:05] – momala | en:ros:simulations:uku [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== 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, | ||
| + | |||
| + | ^ Velodyne VLP-16 Specification | ||
| + | ^ Spec. ^ Value || | ||
| + | | **Channels** | ||
| + | | **Measurement Range** | ||
| + | | **Range Accuracy** | ||
| + | | **Field of View (Vertical)** | ||
| + | | **Angular Resolution (Vertical)** | ||
| + | | **Angular Resolution (Horizontal/ | ||
| + | | **Rotation Rate** | ||
| + | |||
| + | Lidar allows laser beams to obtain a point cloud from the surroundings, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | 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 [[https:// | ||
| + | //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, | ||
| + | |||
| + | Let's start by cloning the repository: | ||
| + | |||
| + | $ sudo apt install git | ||
| + | $ git clone http:// | ||
| + | |||
| + | 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 " | ||
| + | |||
| + | To avoid having to manually launch multiple nodes each time with the correct parameters, launch files (// | ||
| + | |||
| + | 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. | ||
| + | |||
| + | {{ : | ||
| + | |||