minik robots user’s manualisl.ee.boun.edu.tr/courses/ee451/projects/minikmanualpr.pdf ·...

25
Minik Robots User’s Manual Manual Version 1.2 / Minik Robots Version 4.0 Department of Electrical and Electronic Engineering Bo˘ gazi¸ciUniversity Bebek, Istanbul 34342 30.012.2019

Upload: others

Post on 01-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 2: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 3: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 4: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

List of Tables

1

Page 5: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 6: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 7: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 8: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 9: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

Figure 1.2: Main screen

4

Page 10: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 11: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 12: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 13: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 14: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 15: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 16: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

Write ”cd ..” to the terminal as in Figure 1.9.

Figure 1.9: Writing ”cd ..” to terminal

11

Page 17: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 18: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 19: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 20: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 21: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

Write "rosrun test_project talker2" to the terminal as in Figure 1.14.

Figure 1.14: Writing ”rosrun test project talker2” to terminal.

16

Page 22: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 23: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 24: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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

Page 25: Minik Robots User’s Manualisl.ee.boun.edu.tr/courses/ee451/projects/MinikManualPr.pdf · Yildiz(2010), Oguz(2009), Ahmet Unutulmaz Manual: Umit Develer & Kadir Tu rksoy Project

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