Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

RBE205TC Mobile Robot Design

Resit

(100% of Final Mark)

Laboratory Manual for Experiment

Semester 2 Academic Year 2022-2023

Experiment

Path Planning & SLAM and Navigation based on a real TurtleBot3Task &

Example:

This assignment relies on the Robotics System Toolbox and Navigation Toolbox in MATLAB, and TurtleBot3 Gazebo package in ROS. There are two tasks in this assignment. In the first task, please perform dynamic path planning on a given map with a range finder and an A* path planner. In the second task, please first establish  the  hardware  platform  TurtleBot3  with  OpenManipulator’ .  Then establish a map of the current indoor scenario with SLAM by TurtleBot3 and complete the navigation task with TurtleBot3 from the current position to another specified position in the current indoor scenario. Meanwhile, please indicate important screenshots and commands step by step in your lab report, along with some necessary descriptions of the results.

Below please find an example which refers to materials in the Learning Mall. This example will first demonstrate how to drive the simulated differential drive robot to follow the desired trajectory based on the Pure Pursuit controller along with PRM. Following with this part, the example will introduce how to establish a TurtleBot3 hardware platform and how to run the SLAM and navigation node in ROS for the specific tasks in this assignment.

Assessed Learning Outcomes:

1) Know basic concepts and techniques used within the field of mobile robotics;

2) Demonstrate  understanding   of  the  knowledge   on  kinematics,   sensors, actuators in mobile robots.

3)  Show knowledge of the fundamentals of vehicle localization and map building

4) Design and construct simple mobile robot systems.

   Guidelines of Submission:

Every student is required to submit one .zip file which includes theprogram code and the lab report that clearly clarifies the simulation results along with necessary descriptions. Please make sure that your name and student ID are written on the cover page of your lab report; The maximum length of the report should be 30 pages. No late submission of this assessed coursework is accepted.

Here is an example.

I.   Path Following for a Differential Drive Robot

This example demonstrates how to control a robot to follow a desired path using a Robot Simulator. The example uses the Pure Pursuit path following controller to drive a simulated robot along a predetermined path. A desired path is a set of waypoints defined explicitly or computed using a path planner. The Pure Pursuit path following controller for a simulated differential drive robot is created and computes the control commands to follow a given path. The computed control commands are used to drive the simulated robot along the desired trajectory to follow the desired path based on the Pure Pursuit controller.

   Open the example

Open MATLAB and type in the following command:

openExample('robotics/PathFollowingControllerExample')

 

Figure 1

   Run the example

Click on the button Run Sectionin the menu above and run the example project section by section.

 

Figure 2

Create a kinematic model.

 

Figure 3

Define the path following controller.

 

Figure 4

Use the path following controller along with PRM. In this example, the simpleMap in the exampleMaps is firstly loaded and visualized. Here the default resolution is 1 cell per meter.

 

Figure 5

You can compute the path between the specified start (4,2) and end(24,20)

location using the PRM path planning algorithm.

 

Figure 6

The probabilistic road map and the computed path are both visualized.

 

Figure 7

Initialize a robot and set the goal of the robot as defined by the computed

path.

 

Figure 8

Drive the robot using the controller output on the given map until it reaches the goal.

 

Figure 9

II.  Data Conversion: Bag2mat

This  example  demonstrates  how  to  convert  .bag  file  into  .mat  file.  The instructions are shown as follows. A Bag2mat example can be downloaded

from the following link or from the Learning Mall:

https://drive.google.com/file/d/1xGVKe5wyhtPdIL6SydhV1SH7ISXVeSdm/view?usp=sha ring

When running the code, please adjust it according to your memory capacity. For more details, please refer to the uploaded materials in the Learning Mall.

1)  Open  MATLAB  and  type  in  the  following  command  to  install  ROS

Toolbox:

help rosbag

 

Figure 10

2)  Type in the above command again to read the guidance for utilization:

 

Figure 11

 

Figure 12

3) Run the example code in the above link. Get more data from:

https://google-cartographer-ros.readthedocs.io/en/latest/data.html

III.Design Your Dynamic Path Planning Algorithm

Please first run the robot simulator in the above example, and then design your own simulation program meeting the following requirements:

1) Please firstly download the given map from the following link or from the

Learning Mall:

https://drive.google.com/file/d/162c6BLM_QnHZJ8Xx3MV9p2RjkmDW6_9D/view?u sp=sharing

2) Perform the dynamic path planning on the given map. Create a range finder    using    the    rangesensor    object    and    a    planner    using plannerHybridAStar object.

3) Please plan a route based on the range finder readings and avoid the obstacle on the given map. The entrance and the destination are separately defined as [1 40 0] and [63 44 -pi/2] on the given map.


4) Visualize the whole process of dynamic path planning.

IV. Launch the SLAM Simulation and Create Your Map

Please  first  install  and  launch the  environment  of the TurtleBot3  SLAM simulation following the instructions in LMO and lab  sessions, and then create   a  map   of  TurtleBot3  House  with   SLAM,  while  meeting  the requirements as follows:

1)  Please record your key observations when setting up your TurtleBot3 SLAM simulation in ROS.

2)  Launch the simulation world by loading TurtleBot3 House.

3)  Run SLAM node and teleoperation Node

4)  Save the map created by SLAM.

Please remember to record your observations in the whole simulation. You can use Ctrl + PrtScn to copy the screen if you like to.

V.  Set up the TurtleBot3 with OpenMANIPULATOR   

PC Setup

First of all, download and install Ubuntu desktop on your desktop or laptop PC. Please refer to the materials in LMO for more instructions. After that you

could install ROS on your PC with the commands below.

 

Figure 13


Then you could install dependent ROS packages and TurtleBot3 packages

with the instructions shown below.

 

Figure 14

 

Figure 15

You can set the default TurtleBot3_Model name to your model with   the instructions below.

 

Figure 16

Finally, you need to configure the network by completing the following steps.

•   Connect PC to a WiFi device and find the assigned IP address with the command below.

 


 

Figure 17

•   Open the file and update the ROS IP settings with the command below.

 

Figure 18

  Press Ctrl+END or Alt+/ to move the cursor to the end of line.

Modify  the  address  of localhost  in  the  ROS_MASTER_URI  and ROS_HOSTNAME  with  the  IP  address  acquired  from  the  above

terminal window.

 

Figure 19

   Source the bashrc with below command.

 

Figure 20

 

 

 

 

Figure 21

  Hardware Assembly

TurtleBots3 is delivered as unassembled parts in the boxes. Please kindly

access the link below to find the assembly manual to assemble TurtleBot3

(https://www.robotis.com/service/download.php?no=750).

First,  detach  lidar  sensor  and  shift  it  front  of TurtleBot3  (Red  circle represents position of bolts). Second, attach on the TurtleBot3 (Yellow circle    represents    position    of   bolts).    See    the    Figure    6.    The OpenMANIPULATOR-X is one of the manipulators that support ROS, and has the advantage of being able to easily manufacture at a low cost by using    DYNAMIXEL    actuators    with    3D    printed    parts.    The OpenMANIPULATOR-X has the  advantage  of being  compatible with TurtleBot3  Waffle   and  Waffle   Pi.  Through   this   compatibility   can

compensate for the lack of freedom and can have greater completeness as a service robot with the the SLAM and Navigation capabilities that the TurtleBot3 has. TurtleBot3 and OpenMANIPULATOR-X can be used as

a mobile manipulator. Meanwhile, you could also access the assembly

videoHERE.

 

Figure 22

VI. SLAM and Navigation based on a real TurtleBot3

This section provides the instructions when launch the bringup of TurtleBots3. Please be sure that OpenCR port is properly set up and assigned on PC. Firstly, you need to run roscore from PC. Secondly, open a new terminal from PC with Ctrl + Alt + T and connect to Raspberry Pi with its IP address. The

default password is turtlebot.

$ ssh pi@{IP_ADDRESS_OF_RASPBERRY_PI}

Secondly, please bring up basic packages for TurtleBot3, and start rosserial

and LDS sensor using following command.

$ roslaunch turtlebot3_bringup turtlebot3_robot.launch

You could run SLAM node for updating an unknown map with TurtleBot3.

This node utilizes gmapping package.

$ roslaunch turtlebot3_manipulation_slam slam.launch

You   could   update   the   map   where   TurtleBot3   will   navigate   using

turtlebot3_teleop_key node.

$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Once the map is completely updated, run the map_saver node to save the

updated map.

$ rosrun map_server map_saver -f ~/map

Meanwhile,  you  could  also  run  the  navigation  node  with  the  following command, which  will  call Unified  Robot  Description  Format  (urdf)  and configuration data of RViz to set GUI enviroment, parmeters for Navigation

and updated map.

$ roslaunch turtlebot3_manipulation_navigation navigation.launch

Lab Report Guidelines

The lab report should cover the following parts:

A.  Cover Page

The cover page contains the experimental title, student name and ID number.

B.  Abstract (5%)

The abstract is a short section of 150 to 300 words, which is independent of the rest of the report. This section should briefly summarize:

a)   purpose and scope of the experiment

b)  experimental procedures that were carried out

c)   main conclusions.

This section is possibly the most difficult to write and you are advised to write it last.

C.  Introduction (10%)

The introduction section is a brief section, which describes, in general terms, the scope of the experiment and its relevance to the field of study you are engaged in. A statement of objectives should be given along with general comments about how the experiment will be carried out. The organization of the report should be provided at the end of the introduction section.

D.  Theory of the experiment (5%)

This section gives details of theory of some key technical points. These technical points shall be expanded and clarified based on your original understanding. Novel and insightful views about the experimental theory are appreciated.

E.  Experiment procedure (65%)

This section gives details of how experiments/measurements are carried out. On the premise that your program can meet the  specified requirements  and run successfully, experimental results should be recorded and analyzed properly via figures. The procedure and the report subsections should follow the requirements as shown in the lab script.

1)  Design Your Dynamic Path Planning Algorithm

a)  Download and visualize the given map. (5%)

b)  Create a range finder using the rangesensor object and a planner using plannerHybridAStar object. (5%)

c)  Plan a route based on the range finder readings and avoid the obstacle on the given map. (5%)

d) Visualize the whole process of dynamic path planning. (5%)

2)  Launch the SLAM Simulation and Create Your Map

a)  Setting up the environment of TurtleBot3 SLAM simulation in ROS. (5%)

b) Launch the simulation world by loading TurtleBot3 House. (5%)

c)  Run SLAM node and teleoperation Node. (5%)

d)  Save the map created by SLAM. (5%)

3)  SLAM and Navigation based on a real TurtleBot3

a)  Successfully set up the TurtleBot3 with OpenMANIPULATOR, including PC setup and hardware assembly. (5%)

b)  Given a specific scenario, establish a map with SLAM by TurtleBot3. (5%)

c)  Complete the navigation task with TurtleBot3 from the current position to

another specific position. ( 10%) 

Note: Please display the whole SLAM and navigation process by recording the demos. Please attach the link of video recordings to your report. (5%)

F.  Conclusion (10%)

This section provides a concise statement of what has been learnt or confirmed by  the  experiment.  It  might  include  an  assessment  of the  significance  and reliability  of  the  results,  implications  of  experimental  errors  and  possible alternative experimental approaches. It must be consistent with earlier sections.

G.  Overall Standard of Presentation (5%)

Please obey the good standard of presentation in grammar, figures, cover page, contents, abstract, introduction, main body, conclusion, references, appendices, etc.