Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Minik Robots User’s Manual
Manual Version 1.2 / Minik Robots Version 4.0
Department of Electrical and Electronic Engineering
Bogazici University
Bebek, Istanbul 34342
30.012.2019
Contents
1 Introduction 11.0.1 About Minik II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.0.2 Quick Start Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Turning Minik On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 How to Develop Code on Minik? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 How to Compile Code? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.4 How to Run Code on Minik? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5 How to Run detectColor.cpp? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
-1
List of Figures
1.1 Back side of the robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Main screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Writing ”roscore” to terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Writing ”rosrun minik row wrapper minik ros wrapper node” to terminal . . . . . . 61.5 Writing rosrun robot localization deneme robot localization deneme node to terminal 71.6 Writing ”rosrun minik keyop minik keyop node” to terminal . . . . . . . . . . . . . . 81.7 Writing rostopic echo odom” to terminal . . . . . . . . . . . . . . . . . . . . . . . . . 91.8 Write ”roscd” to terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.9 Writing ”cd ..” to terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.10 Directory of project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.11 Directory of project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.12 Writing ”roscore” to terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.13 Writing ”rosrun camera2ros camera2ros node” to terminal. . . . . . . . . . . . . . . 151.14 Writing ”rosrun test project talker2” to terminal. . . . . . . . . . . . . . . . . . . . . 161.15 Running ”talker2.cpp”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.16 Writing ”roscore” to terminal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.17 Writing ”rosrun test project detectColor” to terminal. . . . . . . . . . . . . . . . . . 191.18 Running ”detectColor.cpp”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
0
List of Tables
1
ACKNOWLEDGEMENTS
Minik robots have been completely designed and built within ISL at EEE Department. Students whocontibuted to this project: Berkay Gumus (2018), Ahmet Melih Aydogdu, Utku Can Guven, BeyazitAnt Ilhan, Kadir Turksoy, Halil Samed Cildir, Hakan Karaoguz, Mahmut Demir(2011), BaharIrfan(2011), Ozgur Erkent, Haluk Bayram, Furkan Gurpinar(2011), Alp Burak Pehlivan(2010), IrfanYildiz(2010), Oguz(2009), Ahmet Unutulmaz
Manual: Umit Develer & Kadir Turksoy
Project Advisor: H. Is.ıl Bozma
Chapter 1
Introduction
• This manual should answer all your questions. We suggest you read and understand all of itbefore using Minik II.
• For fast start, read the precautions section then go directly to the Quick Start Guide whichwill get you up and running in the shortest possible time.
• Minik II is designed to be a stand-alone robot. It has remote operation capabilities throughROS.
1.0.1 About Minik II
1.0.2 Quick Start Guide
This section is designed for those who just can’t wait to get their Minik II running. Follow the stepsas outlined then, after having some fun, take some time to read the rest of this manual. Completelyunderstanding Minik II is the key to getting maximum usefulness and performance.
• Step 1 - Getting everything together: The Minik II package includes the robot, software,accessories and this manual. Make sure you have everything and give us a call if somethingdoesn’t look right. Remove any packaging material that may be attached or lodged in theMinik II. Save all packaging material.
• Step 2 - Installing batteries
• Step 3 - Power on
• Step 4 - Display the status screen
• Step 5 - Learn about the Minik II
1
1.1 Turning Minik On
Set switches as shown on Figure 1.1.
Figure 1.1: Back side of the robot
Configuration of switches should be follows:
• Turn 1st switch left
• Turn 2st switch right
• Turn 3st switch left
• Turn 4st switch left
2
Power up robot using battery or power supply.
! Warning: Power supply voltage level should be between 12-15 V. Do not forget tomonitor battery voltage. Keep battery voltage monitor connected all time while working on therobot. Disconnect it if you are done working on robot. If battery is running out, shutdown thecomputer and change it.
Robot is ready to code.
1.2 How to Develop Code on Minik?
The Minik robot and the host computer which will be used for coding must be connected tothe same network. For this, use VNC client to connect robot to computer. You can use Real VNCviewer program. Download VNCViewer from internet (https://www.realvnc.com/en/connect/download/viewer/).Use robot IP addresses to access robot. The following steps need to be taken
• Connect the host computer you will be using to connect to the ISL-Network. Password:misl3434
• Go to the network settings of the host computer. Do the following:
– Set IP address to 10.42.0.5* where * corresponds to your group number.
– Set IP mask to 255.255.255.0
– Set gateway to 10.42.0.1
– Set DNS1 8.8.8.8
– Set DNS2 8.8.4.4
• Now from the VNC viewer, set the IP address to connect: 10.42.0.4* where * is the robot id(as shown on your robot’s body).
• Input the password: ubuntu
• Once this is done, you are now connected to your robot.
You will see a screen as in Figure 1.2.
3
Figure 1.2: Main screen
4
Open LXTerminal and write roscore command as in Figure 1.3. ”roscore” is a collectionof nodes and programs that are pre-requisites of a ROS-based system. You must have a roscorerunning in order for ROS nodes to communicate.
Figure 1.3: Writing ”roscore” to terminal
5
Open new tab using ”Ctrl+Shift+T”.Write ”rosrun minik_ros_wrapper minik_ros_wrapper_node” to the terminal as in Fig-
ure 1.4.
Figure 1.4: Writing ”rosrun minik row wrapper minik ros wrapper node” to terminal
6
Open new tab using ”Ctrl+Shift+T”.Write rosrun robot_localization_deneme robot_localization_deneme_node to the ter-
minal as in Figure 1.5.
Figure 1.5: Writing rosrun robot localization deneme robot localization deneme node to terminal
7
Open new tab using ”Ctrl+Shift+T”.Write ”rosrun minik_keyop minik_keyop_node” to the terminal as in Figure 1.6. This
command allows you to control robot using keyboard.
Figure 1.6: Writing ”rosrun minik keyop minik keyop node” to terminal
8
Open new window.Write ”rostopic echo odom” to the terminal as in Figure 1.7. This command allows you
to receive position and orientation information of robot.
Figure 1.7: Writing rostopic echo odom” to terminal
9
1.3 How to Compile Code?
Open LXTerminal.Write ”roscd” to the terminal as in Figure 1.8.
Figure 1.8: Write ”roscd” to terminal
10
Write ”cd ..” to the terminal as in Figure 1.9.
Figure 1.9: Writing ”cd ..” to terminal
11
Finally, write "catkin_make --pkg test_project -DCMAKE_BUILD_TYPE=Release" to theterminal to build your code 1.10.
Figure 1.10: Directory of project
12
There will be 3 main scripts on your project. You should write code in a filen named”rosThread.cpp”. This file is in a directory as shown in left of Figure 1.11. ”ISL workspace ⇒ src⇒ test project ⇒ src”
Figure 1.11: Directory of project
You may run your code by writing "rosrun test_project test_project_node" into anew terminal window.
13
1.4 How to Run Code on Minik?
Open LXTerminal and write ”roscore” command as in Figure 1.12
Figure 1.12: Writing ”roscore” to terminal
14
Open new tab using ”Ctrl+Shift+T”.Write "rosrun camera2ros camera2ros_node" to the terminal as in Figure 1.13. After
that, if you see zeros on the terminal, this means that cameras are on.
Figure 1.13: Writing ”rosrun camera2ros camera2ros node” to terminal.
15
Write "rosrun test_project talker2" to the terminal as in Figure 1.14.
Figure 1.14: Writing ”rosrun test project talker2” to terminal.
16
4 windows will appear on the screen. These windows show the filtered version of the targetand obstacle and you can see the distance of the target and obstacle on the terminal. In Figure1.15, there is a target but no obstacle. When there is an obstacle in sight, the information of theobstacle can be seen on the terminal, too.
Figure 1.15: Running ”talker2.cpp”.
17
1.5 How to Run detectColor.cpp?
Open LXTerminal and write ”roscore” command as in Figure 1.16.
Figure 1.16: Writing ”roscore” to terminal.
18
Open new tab using ”Ctrl+Shift+T”.Write "rosrun test_project detectColor" to the terminal as in Figure 1.17.
Figure 1.17: Writing ”rosrun test project detectColor” to terminal.
19
3 windows will appear on the screen. One of them is the original image, one of them isthe thresholded image and the other one consists of the trackbars of H, S and V. These are hue,saturation and value. By adjusting these values, best thresholded image for the target and obstaclecan be found. In Figure 1.18, green object?s HSV values are determined by using detectColor.cpp.
Figure 1.18: Running ”detectColor.cpp”.
20