Turtlebot3 datasheet

Page 1

turtlebot3 Documentation Release 0.1.1

ROBOTIS

Aug 03, 2017



Contents:

1

Overview 1.1 Turtlebot3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 5 5

2

Features 2.1 WORLD’S MOST POPULAR ROS PLATFORM 2.2 AFFORDABLE COST . . . . . . . . . . . . . . . 2.3 SMALL SIZE . . . . . . . . . . . . . . . . . . . 2.4 ROS STANDARD . . . . . . . . . . . . . . . . . 2.5 EXTENSIBILITY . . . . . . . . . . . . . . . . . 2.6 MODULAR ACTUATOR FOR MOBILE ROBOT 2.7 OPEN CONTROL BOARD FOR ROS . . . . . . 2.8 STRONG SENSOR LINEUPS . . . . . . . . . . 2.9 OPEN SOURCE . . . . . . . . . . . . . . . . . .

. . . . . . . . .

7 7 7 8 8 8 8 8 8 9

3

Specifications 3.1 Hardware Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Dimension and mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 11 13 14

4

Hardware Setup 4.1 Main Components . . . 4.2 Part List . . . . . . . . 4.3 Assembly Manual . . . 4.4 Assembly Video . . . . 4.5 Basic Operation . . . . 4.6 Open Source Hardware .

5

6

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

17 18 19 20 20 21 21

PC Software Setup 5.1 Install Ubuntu on Remote PC (Desktop or Laptop PC) 5.2 Install ROS on Remote PC . . . . . . . . . . . . . . . 5.3 Install dependent packages . . . . . . . . . . . . . . . 5.4 Network Configuration . . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

23 23 24 24 25

SBC Software Setup 6.1 Install Linux on TurtleBot3 Burger (Raspberry Pi 3) . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Install Linux on TurtleBot3 Waffle (Intel® Joule™) . . . . . . . . . . . . . . . . . . . . . . . . . .

29 29 31

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

i


6.3 6.4 6.5

Install ROS and Packages (Burger and Waffle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . USB Settings (Burger and Waffle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Network Configuration (Burger and Waffle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52 54 54

7

OpenCR Software Setup 7.1 ArduinoIDE Settings for OpenCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 OpenCR Firmware Settings for ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57 58 71

8

Bringup 8.1 Bringup TurtleBot3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75 76

9

Teleoperation 9.1 Keyboard . . . . . . 9.2 RC100 . . . . . . . 9.3 PS3 Joystick . . . . 9.4 XBOX 360 Joystick 9.5 Wii Remote . . . . . 9.6 Nunchuk . . . . . . 9.7 Android App . . . . 9.8 LEAP Motion . . . 9.9 Myo . . . . . . . . .

. . . . . . . . .

79 80 80 80 80 81 81 81 81 82

10 SLAM 10.1 Create a Map with Teleoperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Save the Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83 84 84

11 Navigation 11.1 Perform Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85 85

12 Simulation 12.1 TurtleBot3 Fake Node Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Stage (2D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Gazebo (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87 87 88 88

13 Manipulation 13.1 Gazebo (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3 TurtleBot3 Waffle with Open-Manipulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91 91 96 99

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

14 Autonomous Driving

101

15 Applications 103 15.1 TurtleBot Follower Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 15.2 TurtleBot Panorama Demo Using Raspberry Pi Camera Module . . . . . . . . . . . . . . . . . . . . 105 15.3 Automatic Docking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 16 Friends 16.1 TurtleBot3 Friends: 16.2 TurtleBot3 Friends: 16.3 TurtleBot3 Friends: 16.4 TurtleBot3 Friends: 16.5 TurtleBot3 Friends: 16.6 TurtleBot3 Friends: 16.7 TurtleBot3 Friends: 16.8 TurtleBot3 Friends: 16.9 TurtleBot3 Friends: ii

Car . . . . . . . . . . . OpenManipulator Chain Segway . . . . . . . . . Conveyor . . . . . . . . Monster . . . . . . . . . Tank . . . . . . . . . . Omni . . . . . . . . . . Mecanum . . . . . . . . Bike . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

107 110 110 112 113 114 115 116 117 118


16.10 TurtleBot3 Friends: Road Train . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 16.11 TurtleBot3 Friends: Real TurtleBot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 16.12 TurtleBot3 Friends: Carrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 17 Appendix #OpenCR 17.1 Overview . . . . . . . . . . . . 17.2 Specification . . . . . . . . . . 17.3 User Guide . . . . . . . . . . . 17.4 Open Source Software . . . . . 17.5 Open Source Hardware . . . . . 17.6 Wiki Site for More Information

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

123 123 124 125 125 125 126

18 Appendix #DYNAMIXEL 127 18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 18.2 Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 19 Appendix #LDS 19.1 Overview . . . . . . . . . . . 19.2 Specifications . . . . . . . . . 19.3 Detail Specification Document 19.4 LDS for TurtleBot3 . . . . . . 19.5 Introduction Video . . . . . . 19.6 User guide . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

129 129 130 130 130 131 131

20 Appendix #RealSense™ 20.1 Overview . . . . . . . . . . . . . . . . . 20.2 Specifications . . . . . . . . . . . . . . . 20.3 Intel® RealSense™ R200 for TurtleBot3 20.4 Introduction Video . . . . . . . . . . . . 20.5 User Guide . . . . . . . . . . . . . . . . 20.6 References . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

133 133 134 134 135 135 136

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

21 Appendix #OpenSource 137 21.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 21.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 22 License 139 22.1 Software License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 22.2 Hardware License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 22.3 Documents License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 23 FAQ

141

24 Contact US 145 24.1 ABOUT Open Robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 24.2 ABOUT ROBOTIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 24.3 ABOUT OST (Open Source Team) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

iii


iv


turtlebot3 Documentation, Release 0.1.1

Contents:

1


turtlebot3 Documentation, Release 0.1.1

2

Contents:


3


turtlebot3 Documentation, Release 0.1.1

CHAPTER

1

Overview

4

Chapter 1. Overview


turtlebot3 Documentation, Release 0.1.1

Turtlebot3

TurtleBot3 is a new generation mobile robot that is modular, compact and customizable. Let’s explore ROS and create exciting applications for education, research and product development. The goal of TurtleBot3 is to drastically reduce the size and lower the price of the platform without sacrificing capability, functionality, and quality. Optional parts such as chassis, computers and sensors are available, and TurtleBot3 can be customized in various ways. TurtleBot3 is willing to be in the center of the maker movement by applying the latest technical advances of the SBC(Single Board Computer), the Depth sensor and 3D printing technology. TurtleBot3 is a collaboration project among Open Robotics, ROBOTIS, and more partners like Intel, Onshape, OROCA. The Open Robotics is in charge of software and community activities, while ROBOTIS is in charge of manufacturing and global distribution. We need more partners who can provide technology, educational service or distribution in each country.

News • 06/16/2017 Turtlebot3, the Open Source Ubuntu/ROS-Based Robot Kit, Open Electronics • 06/14/2017 Open Source TurtleBot 3 Robot Kit Runs Ubuntu and ROS on Raspberry Pi, Linux.com • 06/09/2017 Ubuntu-driven TurtleBot gets a major rev with a Pi or Joule in the driver’s seat, LinuxGizmos.com • 05/31/2017 The Turtlebot 3 has launched, Ubuntu • 05/29/2017 All the Latest, Most Exciting Robotics Research From ICRA 2017, IEEE Spectrum • 05/17/2017 The Silicon Valley Startup Creating Robot DNA, Bloomberg • 05/02/2017 Hands-on With TurtleBot 3, a Powerful Little Robot for Learning ROS, IEEE Spectrum • 12/28/2016 Celebrating 9 Years of ROS, ROBOHUB • 10/13/2016 Advances in robotics made easier by forthcoming 3D printed TurtleBot, 3D Printing Industry • 10/12/2016 Robotis and OSRF Announce TurtleBot 3: Smaller, Cheaper, and Modular, IEEE Spectrum • 09/21/2016 “Introducing the Turtlebot3” on ROSCon2016, PDF, Video • 03/26/2013 TurtleBot Inventors Tell Us Everything About the Robot, IEEE Spectrum

1.1. Turtlebot3

5


turtlebot3 Documentation, Release 0.1.1

6

Chapter 1. Overview


CHAPTER

2

Features

WORLD’S MOST POPULAR ROS PLATFORM TurtleBot is the most popular open source robot for education and research. The new generation ‘TurtleBot3’ is a small, low cost, fully programmable, ROS based mobile robot. It is intended to be used for education, research, hobby and product prototyping.

AFFORDABLE COST TurtleBot was developed to meet the cost-conscious needs of schools, laboratories and companies. TurtleBot3 is the most affordable robot among the SLAM-able mobile robots equipped with a general 360-degree LiDAR.

7


turtlebot3 Documentation, Release 0.1.1

SMALL SIZE The dimension of TurtleBot3 Burger is only 138mm x 178mm x 192mm (L x W x H). Its size is about 1/4 of the size of the predecessor. Imagine keeping TurtleBot3 in your backpack and develop your program and test it anywhere you go.

ROS STANDARD The TurtleBot brand is managed by Open Robotics, which develops and maintains ROS. Nowadays, ROS has become the go-to platform for all the roboticists around the world. TurtleBot can be integrated with existing ROS-based robot components, but TurtleBot3 can be an affordable platform for whom want to get started learning ROS.

EXTENSIBILITY TurtleBot3 encourages users to customize its mechanical structure with some alternative options: open source embedded board (as a control board), computer and sensors. Turtlebot3 Burger is a two-wheeled differential drive type platform but it is able to be structurally and mechanically customized in many ways: Cars, Bikes, Trailers and so on. Extend your ideas beyond imagination with various SBC, sensors and motors on a scalable structure.

MODULAR ACTUATOR FOR MOBILE ROBOT TurtleBot3 is able to get a precise spatial data by using 2 DYNAMIXELs in the wheel joints. DYNAMIXEL XM series can be operated by one of 6 operating modes(XL series: 4 operating modes): Velocity control mode for wheels, Torque control mode or Position control mode for joint, etc. DYNAMIXEL can be used even to make a mobile manipulator which is light but can be precisely controlled with velocity, torque and position control. DYNAMIXEL is a core component that makes TurtleBot3 perfect. It is easy to assemble, maintain, replace and reconfigure.

OPEN CONTROL BOARD FOR ROS The control board is open-sourced in hardware wise and in software wise for ROS communication. The open source control board OpenCR is powerful enough to control not only DYNAMIXELs but also ROBOTIS sensors that are frequently being used for basic recognition tasks in cost effective way. Various sensors such as Touch sensor, Infrared sensor, Color sensor and a handful more are available. The OpenCR has an IMU sensor inside the board so that it can enhance precise control for countless applications. The board has 3.3V, 5V, 12V power supplies to reinforce the available computer device lineups.

STRONG SENSOR LINEUPS TurtleBot3 Burger uses enhanced 360° LiDAR, 9-Axis Inertial Measurement Unit and precise encoder for your research and development. TurtleBot3 Waffle is equipped with an identical 360° LiDAR as well but additionally proposes a powerful Intel® RealSense™ with the recognition SDK. This will be the best hardware solution for making a mobile robot.

8

Chapter 2. Features


turtlebot3 Documentation, Release 0.1.1

OPEN SOURCE The hardware, firmware and software of TurtleBot3 are open source which means that users are welcomed to download, modify and share source codes. All components of TurtleBot3 are manufactured with injection molded plastic to achieve low cost, however, the 3D CAD data is also available for 3D printing. The 3D CAD data is released via Onshape which is a full-cloud 3D CAD editor. Users can get an access with a web browser on desktop PC, laptop and even portable devices. Onshape allows to draw 3D models and to assemble them with colleagues. Besides, for the users who want to make OpenCR board by themselves, all details of the OpenCR board such as schematics, PCB gerber files, BOM and firmware source code are fully opened under the open-source licenses for users and ROS community. You can modify downloaded source code and hardware to share it with your friends.

2.9. OPEN SOURCE

9


turtlebot3 Documentation, Release 0.1.1

10

Chapter 2. Features


CHAPTER

3

Specifications

Hardware Specifications Items Maximum translational velocity Maximum rotational velocity Maximum payload Size (L x W x H) Weight (+ SBC + Battery + Sensors)

Burger 0.22 m/s 2.84 rad/s (162.72 deg/s) 15kg 138mm x 178mm x 192mm 1kg

Waffle 0.26 m/s 1.82 rad/s (104.27 deg/s) 30kg 281mm x 306mm x 141mm 1.8kg Continued on next page 11


turtlebot3 Documentation, Release 0.1.1

Items Threshold of climbing Expected operating time Expected charging time MCU IMU

Power connectors Expansion pins Peripheral Dynamixel ports Audio Programmable LEDs Status LEDs Buttons and Switches Battery PC connection Firmware upgrade Power adapter (SMPS)

12

Table 3.1 – continued from previous page Burger Waffle 10 mm or lower 2h 30m 2h 2h 30m 32-bit ARM Cortex®-M7 with FPU (216 MHz, 462 DMIPS) Gyroscope 3 Axis Accelerometer 3 Axis Magnetometer 3 Axis 3.3V / 800mA 5V / 4A 12V / 1A GPIO 18 pins Arduino 32 pin UART x3, CAN x1, SPI x1, I2C x1, ADC x5, 5pin OLLO x4 RS485 x 3, TTL x 3 Several programmable beep sequences User LED x 4 Board status LED x 1 Arduino LED x 1 Power LED x 1 Push buttons x 2, Reset button x 1, Dip switch x 2 Lithium polymer 11.1V 1800mAh / 19.98Wh 5C USB via USB / via JTAG Input : 100-240V, AC 50/60Hz, 1.5A @max Output : 12V DC, 5A

Chapter 3. Specifications


turtlebot3 Documentation, Release 0.1.1

Dimension and mass Data of TurtleBot3 Burger

3.2. Dimension and mass

13


turtlebot3 Documentation, Release 0.1.1

Data of TurtleBot3 Waffle

Components SBC Raspberry Pi 3 Model B : https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Intel® Joule™ : http://ark.intel.com/products/96414/Intel-Joule-570x-Developer-Kit

Sensor Laser Distance Sensor : http://turtlebot3.robotis.com/en/latest/appendix_lds.html Intel® Realsense™ R200 : https://software.intel.com/en-us/RealSense/R200Camera

Control board OpenCR : http://turtlebot3.robotis.com/en/latest/appendix_opencr.html

14

Chapter 3. Specifications


turtlebot3 Documentation, Release 0.1.1

Actuator Dynamixel X series : http://en.robotis.com/index/product.php?cate_code=10121110

3.3. Components

15


turtlebot3 Documentation, Release 0.1.1

16

Chapter 3. Specifications


CHAPTER

4

Hardware Setup

17


turtlebot3 Documentation, Release 0.1.1

Main Components

18

Chapter 4. Hardware Setup


turtlebot3 Documentation, Release 0.1.1

Part List TurtleBot3 has two different models: Burger and Waffle. The following list shows their components. The big differences between two models are the Motor, the SBC(Single Board Computer) and the Sensors. The number of the parts of each model Burger Waffle Waffle-Plate 8 24 Plate Support M3x35mm 4 12 Plate Support M3x45mm 10 10 Chasis PCB Support 12 12 Wheel 2 2 Tire 2 2 Ball Caster 1 2 DYNAMIXEL (XL430-W250-T) 2 0 Motor DYNAMIXEL (XM430-W210-T) 0 2 OpenCR 1 1 Raspberry Pi 3 1 0 Board Intel® Joule™ 0 1 USB2LDS 1 1 LDS (HLS-LFCD2) 1 1 Sensor Intel® Realsense™ R200 0 1 Memory MicroSD Card 1 0 Raspberry Pi 3 Power Cable 1 0 Intel® Joule™ Power Cable 0 1 Cable Li-Po Battery Extension Cable 1 1 DYNAMIXEL to OpenCR Cable 2 2 USB Cable 2 2 Continued on next page

4.2. Part List

19


turtlebot3 Documentation, Release 0.1.1

Table 4.1 – continued from previous page The number of the parts of each model Burger Waffle SMPS 12V5A 1 1 Power A/C Code 1 1 LIPO Battery 11.1V 1800mAh 1 1 Screw driver 1 1 Rivet tool 1 1 Tool USB3.0 HUB 0 1 LIPO Battery charger 1 1 PH_M2x4mm_K 8 8 PH_T2x6mm_K 4 8 PH_M2x12mm_K 0 4 PH_M2.5x8mm_K 16 12 PH_M2.5x12mm_K 0 18 PH_T2.6x12mm_K 16 0 PH_M2.5x16mm_K 4 4 PH_M3x8mm_K 44 140 Part NUT_M2 0 4 NUT_M2.5 20 18 NUT_M3 16 96 Rivet_1 14 20 Spacer 4 4 Bracket 5 8 Adapter Plate 1 1 Rivet_2 2 2

Assembly Manual TurtleBots3 is delivered as unassembled parts in the boxes. Follow the instructions to assemble TurtleBot3.

TurtleBot3 Burger download Assembly manual for TurtleBot3 Burger [PDF]

TurtleBot3 Waffle download Assembly manual for TurtleBot3 Waffle [PDF]

Assembly Video If it is difficult to assemble with the assembly manual, please refer to the following assembly video.

TurtleBot3 Burger

20

Chapter 4. Hardware Setup


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Waffle

Basic Operation

You can use PUSH SW 1 and PUSH SW 2 buttons to see whether your robot has been properly assembled. This process tests the left and right DYNAMIXELs and the OpenCR board. 1. After assembling TurtleBot3, connect the battery to OpenCR and turn on the power switch. You can see that the Power LED of OpenCR turns on. 2. Place the robot on the floor. For the test, safety radius of 1 meter (about 40 inches) is recommended. 3. Press and hold PUSH SW 1 for a few seconds to command the robot to move 30 centimeters (about 12 inches) forward. 4. Press and hold PUSH SW 2 for a few seconds to command the robot to rotate 180 degrees in place.

Open Source Hardware Core components of Turtlebot3 are the followings: Chassis, Motors, Wheels, OpenCR, SBC Computer, Sensor and Battery. The chassis are Waffle Plates that holds other components. The Waffle Plate plays an important role as a chassis although its size is as small as your palm. Waffle plate is manufactured with injection mold method to lower the manufacturing cost. However, the CAD data of waffle plate for 3D printing is also available via Onshape. Turtlebot3 Burger is a Two-wheeled differential drive type platform, but it is customizable structurally and mechanically in many ways: Cars, Bikes, Trailers and so on.

4.5. Basic Operation

21


turtlebot3 Documentation, Release 0.1.1

The CAD data is released to the Onshape, which is a full-cloud 3D CAD editor. Get access through a web browser from your PC or from portable devices. OnShape allows drawing and assemblying parts with co-workers. • TurtleBot3 Burger 3D Model: https://goo.gl/n3bGNr • TurtleBot3 Waffle 3D Model: https://goo.gl/wCDvVI

22

Chapter 4. Hardware Setup


CHAPTER

5

PC Software Setup

Warning: The contents in this chapter corresponds to the Remote PC (your desktop or laptop PC) which will control TurtleBot3. Do NOT apply this instruction to your TurtleBot3.

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame.

Install Ubuntu on Remote PC (Desktop or Laptop PC) [Remote PC] Download Ubuntu 16.04 on the remote PC from the following link. • https://www.ubuntu.com/download/desktop If you need more help for installing Ubuntu, check out the step-by-step guide from the link below. • https://www.ubuntu.com/download/desktop/install-ubuntu-desktop 23


turtlebot3 Documentation, Release 0.1.1

Install ROS on Remote PC

[Remote PC] There are two ways to install ROS. If you prefer manual installation, please take the second method. In order to develop source code from the remote PC, please configure ROS environment after completing ROS installation.

First Method Install ROS by using a simple installation script file Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. sudo apt-get update sudo apt-get upgrade wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_ ˓→kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh

Second Method You can start from “1.2 Setup your sources.list” and keep following the instruction until “1.7 Getting rosinstall” from below ROS installation instruction link. • http://wiki.ros.org/kinetic/Installation/Ubuntu Note: In order to check which packages are installed, please check this link out. https://raw.githubusercontent.com/ ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic.sh

Configure ROS Environment If you are going to modify or develop source code from the remote PC, you’ll have to configure ROS environment. Simple instructions are described in the below link and it will take a couple minutes. • http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

Install dependent packages [Remote PC] The next step is to install dependent packages for TurtleBot3 control. sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop˓→twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic˓→depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ˓→ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial˓→msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ˓→ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view 24 Chapter 5. PC Software Setup ˓→ros-kinetic-gmapping ros-kinetic-navigation


turtlebot3 Documentation, Release 0.1.1

cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone https://github.com/ROBOTIS-GIT/turtlebot3.git cd ~/catkin_ws && catkin_make

If catkin_make command is completed without any errors, the preparation for TurtleBot3 is done.

Network Configuration

ROS requires IP addresses in order to communicate between TurtleBot3 and the remote PC. [Remote PC] Enter the below command on the terminal window of the remote PC to find out the IP address of the remote PC. ifconfig

Text strings in the rectangle is the IP address of the Remote PC.

5.4. Network Configuration

25


turtlebot3 Documentation, Release 0.1.1

[Remote PC] Enter the below command. gedit ~/.bashrc

Modify the address of localhost with the IP address acquired from the above terminal window.

26

Chapter 5. PC Software Setup


turtlebot3 Documentation, Release 0.1.1

[Remote PC] Then, source the bashrc with below command. source ~/.bashrc

5.4. Network Configuration

27


turtlebot3 Documentation, Release 0.1.1

28

Chapter 5. PC Software Setup


CHAPTER

6

SBC Software Setup

Note: An SBC(Single-Board Computer) is a complete computer built on a single circuit board with microprocessor(s), memory, input/output (I/O) and other features required as a fully functional computer. TurtleBot3 uses Raspberry Pi (TB3 Burger) and Intel® Joule™ (TB3 Waffle) as SBC.

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame.

Install Linux on TurtleBot3 Burger (Raspberry Pi 3) Warning: The SDcard should have at least 8 GB of empty space in order to install Linux on TurtleBot3. [Remote PC] Download Ubuntu MATE 16.04 on the Raspberry Pi 3 from the link below. 29


turtlebot3 Documentation, Release 0.1.1

• https://ubuntu-mate.org/download/

[Remote PC] In order to install Ubuntu MATE from an image file, it is recommended using GNOME Disks with Restore Disk Image... option, which natively supports XZ compressed image.

30

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

sudo apt-get install gnome-disk-utility

Tip: It is recommended using GNOME Disks, but other applications such as ddrescue on Linux can be used. sudo apt-get install gddrescue xz-utils unxz ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz sudo ddrescue -D --force ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img /dev/sdx

Tip: It is recommended using GNOME Disks, but other applications such as Win32 Disk Imager on Windows can be used. https://sourceforge.net/projects/win32diskimager/

Install Linux on TurtleBot3 Waffle (Intel® Joule™) In this section, the Alternative Ubuntu Desktop 16.04 LTS will be installed on Intel® Joule™. [Remote PC] Download Ubuntu image Alternative Ubuntu 16.04 for Intel® Joule™ from the below link. • http://people.canonical.com/~platform/snappy/tuchuck/desktop-final/tuchuck-xenial-desktop-iso-20170317-0. iso [Remote PC] In order to make a bootable installation USB drive, please follow the Alternative install(Ubuntu Desktop 16.04 LTS) section from the below link. • https://developer.ubuntu.com/core/get-started/intel-joule [Remote PC] Before getting started, Joule requires a BIOS update to install Ubuntu Image. Download the latest software which contains Joule’s new BIOS and flash the BIOS into the Joule by following instructions below. • https://software.intel.com/en-us/flashing-the-bios-on-joule Warning: Intel® Joule™ comes with passive heatsink in the package. It is recommended to use the heatsink. In order to operate Joule without the heatsink, please follow the extra instruction: https://software.intel. com/en-us/node/721471 [Intel® Joule™] Connect micro HDMI to HDMI cable, power connector supplied by OpenCR, USB devices including Bootable USB drive, mouse and keyboard. You might need a USB hub to plug multiple USB devices into Joule. [Intel® Joule™] Installation will be proceeded as shown in below images. When Joule is turned on, monitor will blink about 3 times after 5 seconds, and print menu screen. Press F7 to go to Boot Manager.

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

31


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] Select USB Device.

32

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

33


turtlebot3 Documentation, Release 0.1.1

34

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

35


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] Select Erase disk and install Ubuntu then continue.

36

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] Intel® Joule™ has two different disk drives: 16GB micro SD Card and 16GB eMMC. In this instruction, it is highly recommended to install Alternarive Ubuntu for Joule on the 16GB eMMC. Select MMC/SD card #2 (mmcblk1) - 15.7 GB MMC 016G32 then continue.

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

37


turtlebot3 Documentation, Release 0.1.1

38

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] Installation will take about 10 minutes.

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

39


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] When installation is completed, click Restart Now.

40

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] Remove bootable USB drive from Joule.

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

41


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] Don’t press any key. It will boot from 16GB eMMC which is a default boot device.

42

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

43


turtlebot3 Documentation, Release 0.1.1

44

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

[Intel® Joule™] Finish the rest of settings.

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

45


turtlebot3 Documentation, Release 0.1.1

46

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

47


turtlebot3 Documentation, Release 0.1.1

48

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

49


turtlebot3 Documentation, Release 0.1.1

50

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

6.2. Install Linux on TurtleBot3 Waffle (Intel® Joule™)

51


turtlebot3 Documentation, Release 0.1.1

Install ROS and Packages (Burger and Waffle) Warning: The contents in this chapter corresponds to the SBC of TurtleBot3 (Raspberry Pi 3 or IntelŽ Joule™) which will be the main computer of TurtleBot3. Do NOT apply this instruction to your Remote PC (your desktop PC or laptop).

Note: This instruction takes about 2 hours to install ROS and TurtleBot3 related packages. Elapsed time may vary depending on network environment.

[TurtleBot] There are two ways to install ROS. If you prefer manual installation, please take the second method.

52

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

First Method [TurtleBot] Install ROS by using a simple installation script file. Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. [TurtleBot Burger] sudo apt-get update sudo apt-get upgrade wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_ ˓→kinetic_rp3.sh && chmod 755 ./install_ros_kinetic_rp3.sh && bash ./install_ros_ ˓→kinetic_rp3.sh

[TurtleBot Waffle] sudo apt-get update sudo apt-get upgrade wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_ ˓→kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh

Note: After install ROS, please reboot Raspberry Pi or Intel® Joule™.

Second Method [TurtleBot] You can start from “1.2 Setup your sources.list” and keep following the instruction until “1.7 Getting rosinstall” from below ROS installation instruction link. • http://wiki.ros.org/kinetic/Installation/Ubuntu Note: In order to see which packages are installed, please check this link out. https://raw.githubusercontent.com/ oroca/oroca-ros-pkg/kinetic/ros_install.sh

Install Dependent Packages [TurtleBot] The next step is to install dependent packages for TurtleBot3 control. sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop˓→twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic˓→depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ˓→ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial˓→msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ˓→ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ˓→ros-kinetic-gmapping ros-kinetic-navigation cd ~/catkin_ws/src git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git

6.3. Install ROS and Packages (Burger and Waffle)

53


turtlebot3 Documentation, Release 0.1.1

git clone https://github.com/ROBOTIS-GIT/turtlebot3.git cd ~/catkin_ws && catkin_make

If catkin_make command is completed without any errors, the preparation for TurtleBot3 is done.

USB Settings (Burger and Waffle) [TurtleBot] The following commands allow to use USB port for OpenCR without acquiring root permission. cd ~/catkin_ws/src/turtlebot3 sudo cp ./99-turtlebot3-cdc.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger

Network Configuration (Burger and Waffle)

ROS requires IP addresses in order to communicate between TurtleBot3 and remote PC. [TurtleBot] Enter the below command on the terminal window of the SBC in TurtleBot3 to find out the IP address of TurtleBot3. ifconfig

Texts in the rectangle is the IP address of the TurtleBot.

54

Chapter 6. SBC Software Setup


turtlebot3 Documentation, Release 0.1.1

[TurtleBot] Enter the following command. gedit ~/.bashrc

[TurtleBot] Replace the localhost in the ROS_MASTER_URI address with the IP address acquired from Remote PC Network Configuration. Also replace the localhost in the ROS_HOSTNAME address with the IP address acquired from the above terminal window, which is the IP address of TurtleBot3.

6.5. Network Configuration (Burger and Waffle)

55


turtlebot3 Documentation, Release 0.1.1

[TurtleBot] Then, source the bashrc with below command. source ~/.bashrc

56

Chapter 6. SBC Software Setup


CHAPTER

7

OpenCR Software Setup

Warning: The contents in this chapter corresponds to the Remote PC (your desktop or laptop PC) which will control TurtleBot3. Do NOT apply this instruction to your TurtleBot3.

Note: OpenCR is pre-loaded with the software needed to run your specific TurtleBot3 model(Burger or Waffle). Refer to the information below only if you want to modify the existing software or write new software for OpenCR.

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame and OpenCR software setup can be done from Intel® Joule™. OpenCR controls DYNAMIXELs with instructions from the SBC. To be able to control DYNAMIXELs, a specific firmware should be installed on the board. See the descriptions and configure the settings.

57


turtlebot3 Documentation, Release 0.1.1

ArduinoIDE Settings for OpenCR Following instructions will setup OpenCR Arduino development environment on the Remote PC.

USB Port Settings Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. [Remote PC] The following commands allow to use OpenCR USB port for uploading Arduino IDE program without acquiring root permission. wget sudo sudo sudo

https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/99-opencr-cdc.rules cp ./99-opencr-cdc.rules /etc/udev/rules.d/ udevadm control --reload-rules udevadm trigger

Compiler Settings [Remote PC] OpenCR libraries are designed for 32-bit platform, therefore, 64-bit PC requires 32-bit compiler for Arduino IDE. sudo apt-get install libncurses5-dev:i386

58

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

Install Arduino IDE [Remote PC] Download the latest version of Arduino IDE from official Arduino homepage and install the program. OpenCR supports Arduino IDE 1.6.12 or later (OpenCR has also been tested with Arduino IDE 1.8.1.). https://www.arduino.cc/en/Main/Software [Remote PC] Extract downloaded file to desired folder and execute the install file in the folder from the terminal. The below example uses tools folder in the root directory (~/). This folder will act as Arduino IDE folder. cd ~/tools/arduino-1.8.1 ./install.sh

7.1. ArduinoIDE Settings for OpenCR

59


turtlebot3 Documentation, Release 0.1.1

[Remote PC] Open the script file with below command. gedit ~/.bashrc

[Remote PC] Append below Arduino IDE path information at the end of the bashrc file. It is recommended to use gedit editor. (Use another editor if necessary) export PATH=$PATH:$HOME/tools/arduino-1.8.1

[Remote PC] Last but not least, source the bashrc file to apply changes. source ~/.bashrc

Run Arduino IDE [Remote PC] In order to run Arduino IDE on Linux platform, enter below command on the terminal. arduino

[Remote PC] If the program is installed and configured correctly, you’ll be able to see GUI program as below.

60

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

Porting OpenCR to Arduino IDE Preferences [Remote PC] When Arduino IDE is running, go to File → Preferences from the menu of the program. 7.1. ArduinoIDE Settings for OpenCR

61


turtlebot3 Documentation, Release 0.1.1

When the Preferences window appears, copy and paste following link to the Additional Boards Manager URLs textbox. (This step may take about 20 min.) https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/ ˓→package_opencr_index.json

Install OpenCR Package from Boards Manager [Remote PC] Go to Tools → Board → Boards Manager.

62

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

[Remote PC] Type OpenCR into the textbox to find the OpenCR by ROBOTIS package. If the package is found, click Install.

7.1. ArduinoIDE Settings for OpenCR

63


turtlebot3 Documentation, Release 0.1.1

[Remote PC] When the package installation is completed, “INSTALLED” text will be appeared next to the package name.

[Remote PC] See if OpenCR Board is now in the list of Tools → Board. Select OpenCR Board to import OpenCR Board source.

64

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

Port Setting [Remote PC] This section shows how to setup the USB port for program upload. OpenCR should be connected to the PC with the USB port. [Remote PC] Select Tools → Port → /dev/ttyACM0. Warning: The last digit value 0 in the string /dev/ttyACM0 might be different depend on the USB connection environment.

7.1. ArduinoIDE Settings for OpenCR

65


turtlebot3 Documentation, Release 0.1.1

Writing Bootloader (can be skipped) Note: This section is not necessary until there is new updates in the OpenCR bootloader. Once the bootloader is burned on the board, IT DOESN’T NEED EXTRA BURNING. The STM32F7xx, which is used for the main MCU of OpenCR, supports DFU(Device Firmware Upgrade). This enables built-in bootloader of the MCU to boot with the DFU protocol by using USB, primarily for the bootloader initialization, the recovery mode and the bootloader update. The biggest advantage of using bootloader with USB is 66

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

that JTAG equipment is not required. Therefore, writing the new firmware by using the DFU mode which is embedded in the MCU will not require writing / debugging equipment such as STLink. Programmer Setting [Remote PC] Go to Tools → DFU-UTIL

Entering the DFU Mode [Remote PC] Press Reset button while Boot button is pressed. This enables user to activate the DFU mode.

7.1. ArduinoIDE Settings for OpenCR

67


turtlebot3 Documentation, Release 0.1.1

[Remote PC] If you successfully entered to DFU mode, you will be able to find STMicroelectronics STM Device in DFU Mode text string when lsusb is entered in the terminal.

68

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

Download the Bootloader [Remote PC] Go to Tools → Burn Bootloader to download the bootloader.

7.1. ArduinoIDE Settings for OpenCR

69


turtlebot3 Documentation, Release 0.1.1

70

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

[Remote PC] When download is completed, press Reset button again.

OpenCR Firmware Settings for ROS Add TurtleBot3 Firmware to OpenCR OpenCR firmware (or the source) for ROS is to control DYNAMIXEL and sensors in the ROS. The firmware is located in OpenCR example which is downloaded by the board manager. If you have TurtleBot3 Burger, [Remote PC] Go to File → Examples → turtlebot3 → turtlebot3_burger → turtlebot3_core. If you have TurtleBot3 Waffle, [Remote PC] Go to File → Examples → turtlebot3 → turtlebot3_waffle → turtlebot3_core.

7.2. OpenCR Firmware Settings for ROS

71


turtlebot3 Documentation, Release 0.1.1

[Remote PC] Click Upload button to upload the firmware to OpenCR.

72

Chapter 7. OpenCR Software Setup


turtlebot3 Documentation, Release 0.1.1

7.2. OpenCR Firmware Settings for ROS

73


turtlebot3 Documentation, Release 0.1.1

Note: If error occurs while uploading firmware, go to Tools → Port and check if correct port is selected. Press Reset button on the OpenCR and try to upload the firmware again. [Remote PC] When firmware upload is completed, jump_to_fw text string will be printed on the screen.

74

Chapter 7. OpenCR Software Setup


CHAPTER

8

Bringup

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame.

Warning: This instruction is intended to be run on the remote PC. If you are following the instruction on TurtleBot, please do NOT run roscore command.

Warning: Make sure that IP address on each device is set correctly.

Warning: When the battery voltage is lower than 11V, the buzzer alarm will continuously sound and actuators will be disabled. The battery must be recharged when the buzzer alarm sounds.

75


turtlebot3 Documentation, Release 0.1.1

Tip: Before start bringup TurtleBot3, We recommend you add export command to bashrc depend on your TurtleBot3(burger or waffle) getdit ~/.bashrc

source ~/.bashrc

Bringup TurtleBot3 Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. [Remote PC] Run roscore. roscore

76

Chapter 8. Bringup


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Burger [TurtleBot] Bring up basic packages to start TurtleBot3 applications. roslaunch turtlebot3_bringup turtlebot3_robot.launch

Tip: If you want to launch Lidar sensor and core separately, please use below commands. roslaunch turtlebot3_bringup turtlebot3_lidar.launch roslaunch turtlebot3_bringup turtlebot3_core.launch

Note: If lost sync with device error message is displayed on the terminal window, the sensor device of TurtleBot3 might not be securely connected. [Remote PC] Run RViz export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_bringup turtlebot3_model.launch

TurtleBot3 Waffle [TurtleBot] Bring up basic packages to start TurtleBot3 applications. roslaunch turtlebot3_bringup turtlebot3_robot.launch

Tip: If you want to launch Lidar sensor, IntelŽ RealSense™ R200 and core separately, please use below commands.

8.1. Bringup TurtleBot3

77


turtlebot3 Documentation, Release 0.1.1

roslaunch turtlebot3_bringup turtlebot3_lidar.launch roslaunch turtlebot3_bringup turtlebot3_realsense.launch roslaunch turtlebot3_bringup turtlebot3_core.launch

Note: If lost sync with device error message is displayed on the terminal window, sensor devices of the TurtleBot3 might not be securely connected. [Remote PC] Run RViz export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_bringup turtlebot3_model.launch

In the next chapter, you will be able to test TurtleBot3 with various teleoperation methods.

78

Chapter 8. Bringup


CHAPTER

9

Teleoperation

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame.

Warning: Make sure to run the [Bringup] instruction before performing Teleoperation.

Warning: Be careful when testing the robot on the table as the robot might fall.

Tip: The teleoperation is supposed to be running on the remote PC. Follow the instruction on your Remote PC. TurtleBot3 can be teleoperated by various devices. It is tested with several wireless devices such as PS3, XBOX 360, ROBOTIS RC100 and etc. Examples shown here(except the LEAP Motion) can be launched by ROS on Ubuntu mate 16.04 with Raspberry Pi 3 and OpenCR which controls DYNAMIXEL.

79


turtlebot3 Documentation, Release 0.1.1

Keyboard Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. [Remote PC] Launch the file for simple teleoperation test. roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

[Remote PC] If the program is successfully launched, the following instruction will be appeared to the terminal window. Control Your Turtlebot3! --------------------------Moving around: w a s d x w/x : increase/decrease linear velocity a/d : increase/decrease angular velocity space key, s : force stop CTRL-C to quit

RC100 The settings for ROBOTIS RC100 controller is included in the OpenCR firmware.

PS3 Joystick [Remote PC] Connect PS3 Joystick to the remote PC via Bluetooth or with USB cable. [Remote PC] Install packages for teleoperation using PS3 joystick. sudo apt-get install ros-kinetic-joy ros-kinetic-joystick-drivers ros-kinetic-teleop˓→twist-joy

[Remote PC] Launch teleoperation packages for PS3 joystick. roslaunch teleop_twist_joy teleop.launch

XBOX 360 Joystick [Remote PC] Connect XBOX 360 Joystick to the remote PC with Wireless Adapter or USB cable.

80

Chapter 9. Teleoperation


turtlebot3 Documentation, Release 0.1.1

[Remote PC] Install packages for teleoperation using XBOX 360 joystick. sudo apt-get install xboxdrv ros-kinetic-joy ros-kinetic-joystick-drivers ros-kinetic˓→teleop-twist-joy

[Remote PC] Launch teleoperation packages for XBOX 360 joystick. xboxdrv --silent roslaunch teleop_twist_joy teleop.launch

Wii Remote [Remote PC] Connect Wii remote to the remote PC via Bluetooth. [Remote PC] Install packages for teleoperation using Wii remote. sudo apt-get install ros-kinetic-wiimote libbluetooth-dev libcwiid-dev cd ~/catkin_ws/src git clone https://github.com/ros-drivers/joystick_drivers.git cd ~/catkin_ws && catkin_make

[Remote PC] Run teleoperation packages for Wii remote. rosrun wiimote wiimote_node rosrun wiimote teleop_wiimote

Nunchuk (TODO)

Android App Download ROS Teleop and run the application.

LEAP Motion [Remote PC] Connect LEAP motion to the remote PC via Bluetooth. [Remote PC] Install packages for teleoperation using LEAP motion. • https://www.leapmotion.com/setup • https://developer.leapmotion.com/downloads/sdk-preview leapd LeapCommandPanel git clone git@github.com:warp1337/rosleapmotion.git

[Remote PC] Run teleoperation package for LEAP motion.

9.5. Wii Remote

81


turtlebot3 Documentation, Release 0.1.1

rosrun leap_motion sender.py

Myo (TODO)

82

Chapter 9. Teleoperation


CHAPTER

10

SLAM

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame.

Warning: Make sure to run the [Bringup] instruction before performing SLAM.

Tip: It is recommended to use a joystick pad instead of the keyboard for easier control. The Simultaneous Localization and Mapping, or SLAM, is a technique to draw a map by estimating current location in an arbitrary space. The SLAM is a well-known feature of TurtleBot from its predecessors. The video here shows you how accurately TurtleBot3 can draw a map with its compact and affordable platform.

Date 2016.11.29 Robot TurtleBot3 Burger Sensor Laser Distance Sensor Packages Gmapping / Cartographer Place ROBOTIS Labs & HQ, 15th-floor corridor Duration 55 minutes Distance Total 351 meters

83


turtlebot3 Documentation, Release 0.1.1

Date 2017.04.20 Robot TurtleBot3 Burger and Waffle Sensor Laser Distance Sensor Packages Gmapping Place ROBOTIS HQ Education Room Duration About 4 minutes Distance Total 15 meters

Create a Map with Teleoperation Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. [Remote PC] Open a new terminal and launch the SLAM file. If you have TurtleBot3 Burger, export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_slam turtlebot3_slam.launch

If you have TurtleBot3 Waffle, export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_slam turtlebot3_slam.launch

[Remote PC] Visualize the model in 3D with RViz. rosrun rviz rviz -d `rospack find turtlebot3_slam`/rviz/turtlebot3_slam.rviz

[Remote PC] Teleoperation with Keyboard roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Save the Map [Remote PC] Open a new terminal and run the map saver node. rosrun map_server map_saver -f ~/map

map.pgm and map.yaml files will be created in the ~/ directory ($HOME directory, /home/<username>).

84

Chapter 10. SLAM


CHAPTER

11

Navigation

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame version.

Warning: Make sure to run the [Bringup] instruction before performing Navigation.

Warning: The navigation uses the a data created in [SLAM]. Please make sure to have a map data.

Warning: Be careful when testing the robot on the table as the robot might fall. The Navigation locates TurtleBot3 to the calculated position in the map by combining actual sensor data and anticipated position data.

Perform Navigation Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. [Remote PC] Launch the navigation file. If you have TurtleBot3 Burger, export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

If you have TurtleBot3 Waffle,

85


turtlebot3 Documentation, Release 0.1.1

export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

[Remote PC] Launch the Rviz. rosrun rviz rviz -d `rospack find turtlebot3_navigation`/rviz/turtlebot3_nav.rviz

[Remote PC] Before starting the navigation, RViz should be updated with initial location and pose of TurtleBot3. To upate the initial data, follow the instruction below. • Click the 2D Pose Estimate button. • Click on the approxtimate point in the map where the TurtleBot3 is located and drag the cursor to indicate the direction where TurtleBot3 faces. Every green arrow stands for an expected position of TurtleBot3. The laser scanner will draw approximate figures of wall on the map. If the drawing doesn’t show the figures incorrectly, repeat localizing the TurtleBot3 from clicking 2D Pose Estimate button above. [Remote PC] If TurtleBot3 is localized, it will automatically create the path to the target position. In order to set a goal position, follow the instruction below. • Click the 2D Nav Goal button. • Click on a specific point in the map to set a goal position and drag the cursor to the direction where TurtleBot should be facing at the end. Setting a goal position might fail if the path to the goal position cannot be created. If you wish to stop the robot before it reaches to the goal position, set the current position of TurtleBot3 as a goal position.

Reference doc: 20known%20map

86

http://wiki.ros.org/turtlebot_navigation/Tutorials/Autonomously%20navigate%20in%20a%

Chapter 11. Navigation


CHAPTER

12

Simulation

Warning: The contents in this chapter corresponds to the Remote PC (your desktop or laptop PC) which will control TurtleBot3. Do NOT apply this instruction to your TurtleBot3.

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame.

TurtleBot3 Fake Node Implementation Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. Install dependent packages for TurtleBot3 Simulation. 87


turtlebot3 Documentation, Release 0.1.1

Note: turtlebot3_simulation package requires TurtleBot3 (http://turtlebot3.robotis.com/en/latest/pc_software.html# install-dependent-packages) package as a prerequisite. cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git cd ~/catkin_ws && catkin_make

TurtleBot3 fake node is a very simple simulation node that can be run without having an actual robot. You can even control the virtual TurtleBot3 in RViz with a teleop node. export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_fake turtlebot3_fake.launch roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Stage (2D) (TODO)

Gazebo (3D)

Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T.

Warning: If you are running Gazebo for the first time on your Remote PC, it takes a bit longer than usual. You should set Turtlebot3 model parameter. Select either burger or waffle for the model parameter in the below command. export TURTLEBOT3_MODEL=burger

Below command will load TurtleBot3 on the default Gazebo environment TurtleBot3 empty world. roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

88

Chapter 12. Simulation


turtlebot3 Documentation, Release 0.1.1

If you wish to load more interesting map, please use below command instead of above command. TurtleBot3 world is a map consists of simple objects that makes up the shape of TurtleBot3 symbol. export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_world.launch

12.3. Gazebo (3D)

89


turtlebot3 Documentation, Release 0.1.1

In order to control TurtleBot3 with a keyboard, please launch teleoperation feature with below command in a new terminal window. roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

In order to run TurtleBot3 simulation that autonomously navigates around the map, open a new terminal window and enter below command. export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_simulation.launch

RViz visualizes published topics while simulation is running. You can launch RViz in a new terminal window by entering below command. export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

90

Chapter 12. Simulation


CHAPTER

13

Manipulation

Note: This instruction was tested on Ubuntu 16.04, Linux Mint 18.1 and ROS Kinetic Kame.

Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. Install dependent packages for the Open-Manipulator. sudo apt-get install ros-kinetic-moveit* ros-kinetic-dynamixel-sdk ros-kinetic˓→dynamixel-workbench-toolbox ros-kinetic-robotis-math ros-kinetic-industrial-core cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/open_manipulator.git cd ~/catkin_ws && catkin_make

If catkin_make command is completed without any errors, the preparation for Open-Manipulator is done.

Gazebo (3D) Below command will load the Open-Manipulator on Gazebo environment.

91


turtlebot3 Documentation, Release 0.1.1

roslaunch open_manipulator_gazebo open_manipulator_gazebo.launch

In order to control Open-Manipulator, please use topic publish with below command in a new terminal window. rostopic pub /open_manipulator_chain/joint2_position/command std_msgs/Float64 "data: ˓→1.0" --once

92

Chapter 13. Manipulation


turtlebot3 Documentation, Release 0.1.1

In order to run Open-Manipulator simulation with MoveIt!, open a new terminal window and enter below command. roslaunch open_manipulator_moveit open_manipulator_demo.launch use_gazebo:=true

13.1. Gazebo (3D)

93


turtlebot3 Documentation, Release 0.1.1

94

Chapter 13. Manipulation


turtlebot3 Documentation, Release 0.1.1

In order to control gripper, please use topic publish with below command in a new terminal window. rostopic pub /robotis/open_manipulator/gripper std_msgs/String "data: 'grip_on'" -˓→once

13.1. Gazebo (3D)

95


turtlebot3 Documentation, Release 0.1.1

Platform Below command will load the Open-Manipulator with DYNAMIXEL X-series. roslaunch open_manipulator_dynamixel_ctrl dynamixel_controller.launch

In order to run Open-Manipulator simulation with MoveIt!, open a new terminal window and enter below command. roslaunch open_manipulator_moveit open_manipulator_demo.launch

96

Chapter 13. Manipulation


turtlebot3 Documentation, Release 0.1.1

13.2. Platform

97


turtlebot3 Documentation, Release 0.1.1

98

Chapter 13. Manipulation


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Waffle with Open-Manipulator Install dependent packages for the Open-Manipulator. 13.3. TurtleBot3 Waffle with Open-Manipulator

99


turtlebot3 Documentation, Release 0.1.1

cd ~/catkin_ws/src git clone https://github.com/ROBOTIS-GIT/turtlebot3.git cd ~/catkin_ws && catkin_make

Below command will load the TurtleBot3 Waffle with Open-Manipulator on Rviz. roslaunch open_manipulator_with_tb3 open_manipulator_chain_with_tb3_rviz.launch

100

Chapter 13. Manipulation


CHAPTER

14

Autonomous Driving

Note: This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame. We are going to start TurtleBot3 Auto project for Autonomous Driving with TurtleBot3. In the video, TurtleBot3 gets its eye by attaching a $40 Raspberry Pi Camera and adopts open source from MIT DuckieTown engineering to track the lane.

101


turtlebot3 Documentation, Release 0.1.1

102

Chapter 14. Autonomous Driving


CHAPTER

15

Applications

This chapter shows some demos using Turtlebot3. In order to implement these demos, you have to install the turtlebot3_applications package. Note: Turtlebot3 has been tested on Ubuntu 16.04 and ROS Kinetic Kame.

Tip: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T. [Remote PC] Go to ROS source directory (/home/<user_name>/catkin_ws/src) and clone the turtlebot3_applications repository. cd ~/catkin_ws/src git clone https://github.com/ROBOTIS-GIT/turtlebot3_applications.git

[Remote PC] catkin_make to install the new package. cd ~/catkin_ws && catkin_make

TurtleBot Follower Demo Note: The follower demo was implemented only using HLS-LFCD LDS. a classification algorithm is used based on previous fitting with samples of person and obstacles positions to take actions. It follows someone in front of the robot within a 50 centimeter range and 140 degrees.

Note: Running the follower demo in an area with obstacles may not work well. Therefore, it is recommended to run

103


turtlebot3 Documentation, Release 0.1.1

the demo in an open area without obstacles. [TurtleBot] In order to run the demo, parameter in LIDAR launch file has to be modified. In the below example, Pluma is used to edit the launch file. In the param tag with frame_id as a name, replace base_scan to odom and save the file as shown in the below images. pluma ~/catkin_ws/src/turtlebot3/turtlebot3_bringup/launch/turtlebot3_lidar.launch

Note: Turtlebot Follower Demo requires scikit-learn, NumPy and ScyPy packages. [Remote PC] Install scikit-learn, NumPy and ScyPy packages with below commands. sudo apt-get install python-pip sudo pip install -U scikit-learn numpy scipy sudo pip install --upgrade pip

[Remote PC] When installation is completed, run roscore on the remote pc with below command.

104

Chapter 15. Applications


turtlebot3 Documentation, Release 0.1.1

roscore

[TurtleBot] Launch the Turtlebot3_bringup roslaunch turtlebot3_bringup turtlebot3_robot.launch

[Remote PC] Move to turtlebot3_follower source directory cd ~/catkin_ws/src/turtlebot3_applications/turtlebot3_follower/src

[Remote PC] Launch turtlebot3_follow_filter with below command. roslaunch turtlebot3_follow_filter turtlebot3_follow_filter.launch

[Remote PC] Launch turtlebot3_follower with below command. rosrun turtlebot3_follower follower.py

TurtleBot Panorama Demo Using Raspberry Pi Camera Module Note: The turtlebot3_panorama demo uses pano_ros for taking snapshots and stitching them together to create panoramic image.

Note: Panorama demo requires to install Raspicam package. Instructions for installing this package can be found at https://github.com/UbiquityRobotics/raspicam_node

Note: Panorama demo requires to install OpenCV and cvbridge packages. Instructions for installing OpenCV can be found at http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html [TurtleBot] Launch the Raspberry Pi cam V2 roslaunch raspicam_node camerav2_1280x960.launch

[Remote PC] Launch Panorama with below command. roslaunch turtlebot3_panorama panorama.launch

[Remote PC] To start the panorama demo, please enter below command. rosservice call turtlebot3_panorama/take_pano 0 360.0 30.0 0.3

Parameters that can be sent to the rosservice to get a panoramic image are: • mode for taking the pictures. 0 : snap&rotate (i.e. rotate, stop, snapshot, rotate, stop, snapshot, ...) 1 : continuous (i.e. keep rotating while taking snapshots) 2 : stop taking pictures and create panoramic image • total angle of panoramic image, in degrees • angle interval (in degrees) when creating the panoramic image in snap&rotate mode, time interval (in seconds) otherwise

15.2. TurtleBot Panorama Demo Using Raspberry Pi Camera Module

105


turtlebot3 Documentation, Release 0.1.1

• rotating velocity (in radians/s) [Remote PC] To view the result image, please enter below command. rqt_image_view image:=/turtlebot3_panorama/panorama

Automatic Docking (TODO)

106

Chapter 15. Applications


CHAPTER

16

Friends

In the video, watch how TurtleBot3 can be assembled and reassembled with a few additional parts. The waffle plate which is the biggest part among TurtleBot3 components can be assembled in various sizes and shapes, thanks to its diverse holes for bolts and nuts.

With this extendible component, handful of TurtleBot3 friends with various characteristics could be built. You can create a totally new robot that is never seen before. TurtleBot3 Friends List: • TurtleBot3 Friends: Car • TurtleBot3 Friends: OpenManipulator Chain • TurtleBot3 Friends: Segway • TurtleBot3 Friends: Conveyor • TurtleBot3 Friends: Monster • TurtleBot3 Friends: Tank • TurtleBot3 Friends: Omni • TurtleBot3 Friends: Mecanum • TurtleBot3 Friends: Bike • TurtleBot3 Friends: Road Train • TurtleBot3 Friends: Real TurtleBot • TurtleBot3 Friends: Carrier

107


turtlebot3 Documentation, Release 0.1.1

Get source codes and make friends! Go to Examples → turtlebot3 → turtlebot3_friends.

108

Chapter 16. Friends


turtlebot3 Documentation, Release 0.1.1

Note: Any suggestions and ideas for TurtleBot3 Friends Project are always welcomed. Tell us about your creative TurtleBot3 Friends. We can introduce your friend to the world through this wiki page! :) E-Mail ost@robotis.com

109


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Car Type RC Car Features About 1:2 gear ratio, differential gears want to make Car be in the Formula E! Components Two Dynamixel X 430 Series (One for steering, one for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, OLLO plastic frames. Hardware (coming soon) Software Examples → turtlebot3 → turtlebot3_friends → turtlebot3_car Video

TurtleBot3 Friends: OpenManipulator Chain

Type Manipulator 4 DOF + 1 Gripper

110

Chapter 16. Friends


turtlebot3 Documentation, Release 0.1.1

Features Compatible with TurtleBot3 Waffle and it has linear gripper for pick and place. Components Four Dynamixel X 430 Series (Four for joints, one for gripper), an OpenCR Board, 3D printed chassis. Hardware https://goo.gl/xgxh2G (TB3 Waffle + OpenManipulator Chain) Hardware https://goo.gl/Wv3KON (OpenManipulator Chain) Software https://github.com/ROBOTIS-GIT/open_manipulator (We are preparing for OpenCR Example) Video

16.2. TurtleBot3 Friends: OpenManipulator Chain

111


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Segway

Type Segway robot Features Balancing with only two DYNAMIXEL by applying PID controller. Components Two Dynamixel X 430 Series (All for balancing), an OpenCR Board, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/DsQXaR Software Examples → turtlebot3 → turtlebot3_friends → turtlebot3_segway

112

Chapter 16. Friends


turtlebot3 Documentation, Release 0.1.1

Video

TurtleBot3 Friends: Conveyor

Type 4 Wheel parallel translation vehicle Features 4 Joints and 4 wheels will become a futuristic technology on transportation society by overcoming fuel-consuming mechanics. Components Eight Dynamixel X 430 Series (Four for steering, four for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/cym7dX Software Examples → turtlebot3_conveyor

turtlebot3

turtlebot3_friends

Video

16.4. TurtleBot3 Friends: Conveyor

113


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Monster

Type 4WD Car Features 4 Big wheels let it be strong in the rough terrain or even a big difference of elevation. Components Four Dynamixel X 430 Series (All for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/YnUrEo Software Examples → turtlebot3 → turtlebot3_friends → turtlebot3_monster Video

114

Chapter 16. Friends


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Tank

Type Caterpillar Features Caterpillar units which are connected and assembled on sprocket wheels make it be strong in the rough terrain. Components Two Dynamixel X 430 Series (All for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, Caterpillar Unit, 3D printed chassis. Hardware https://goo.gl/IUPwd9 Software Examples → turtlebot3 → turtlebot3_friends → turtlebot3_tank Video

16.6. TurtleBot3 Friends: Tank

115


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Omni

Type Omni wheel Features Omni wheels have additional discs around the circumference make it laterally driveable. Components Three Dynamixel X 430 Series (All for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/WB8u3r Software Examples → turtlebot3 → turtlebot3_friends → turtlebot3_omni Video

116

Chapter 16. Friends


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Mecanum

Type Mecanum wheel Features Mecanum wheels have additional discs around the circumference make it laterally driveable. Components Four Dynamixel X 430 Series (All for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/Nz1VE0 Software Examples → turtlebot3_mechanum

turtlebot3

turtlebot3_friends

Video See in the video Friends-Omni above.

16.8. TurtleBot3 Friends: Mecanum

117


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Bike

Type 3-DOF Motorcycle Features Cute 3-wheeled bikey reveals its existence on the “Car” film as a brother of the “Car”. Components Three Dynamixel X 430 Series (One for steering, two for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/9UuCJn Software Examples → turtlebot3 → turtlebot3_friends → turtlebot3_bike Video See in the videos Friends-Auto and Friends-Monster above.

118

Chapter 16. Friends


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Road Train

Type Road train Features Road train can connect vehicles and it can serve various things! Components Two Dynamixel XM-430 Series (two for driving), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/aXX06O Software Examples → turtlebot3_road_train

turtlebot3

turtlebot3_friends

Video

16.10. TurtleBot3 Friends: Road Train

119


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Real TurtleBot

Type 8-DOF legged robot (a.k.a. Real TurtleBot) Features A real TurtleBot will make most of the fanpics in the turtlebot society!. Components Ten Dynamixel X 430 Series (Four for leg joint, another four for shoulder joint, two for head), an OpenCR Board, a RC100 Remote Controller with BT410 master-slave Bluetooth modules, TurtleBot3 Chassis and Battery, 3D printed chassis. Hardware https://goo.gl/GAIXLI Software Examples → turtlebot3 turtlebot3_realturtlebot

turtlebot3_friends

Video

120

Chapter 16. Friends


turtlebot3 Documentation, Release 0.1.1

TurtleBot3 Friends: Carrier

16.12. TurtleBot3 Friends: Carrier

121


turtlebot3 Documentation, Release 0.1.1

Type 2 Wheel mobile based platform as service robot Features 2 wheeled mobile platform will serve whatever you wants. Components A TurtleBot3 Waffle, 6 supports for 4th layer, another 6 supports for 5th layer construction, extra Waffle Plates in each layers, customized 3D printed wheel and ball caster. Hardware https://goo.gl/5LKFxs Software Examples → turtlebot3 → turtlebot3_waffle → turtlebot3_waffle Video

122

Chapter 16. Friends


CHAPTER

17

Appendix #OpenCR

Overview OpenCR is a main controller board of the TurtleBot3. OpenCR; Open-source Control module for ROS, is developed for ROS embedded systems to provide completely open-source hardware and software. Everything about the board; Schematics, PCB Gerber, BOM and the firmware source code for the TurtleBot3 are free to distribute under opensource licenses for users and the ROS community. 123


turtlebot3 Documentation, Release 0.1.1

The STM32F7 series is a main chip inside the OpenCR board which is based on a very powerful ARM Cortex-M7 with floating point unit. The development environment for OpenCR is wide open from Arduino IDE and Scratch for young students to traditional firmware development for the expert. OpenCR provides digital and analog input/output pins that can interface with extension board or various sensors. Also, OpenCR features various communication interfaces: USB for connecting to PC, UART, SPI, I2C, CAN for other embedded devices. OpenCR can provide a best solution when using with a SBC. It supports 12V, 5V, 3.3V power outputs for SBCs and sensors. It also supports hot swap power inputs between battery and SMPS. OpenCR will be the best solution for implementing your embedded control design.

Specification Items Microcontroller Sensors Programmer

Extension pins

Communication circuits

LEDs and buttons

Powers

Dimensions Mass

Specifications STM32F746ZGT6 / 32-bit ARM Cortex®-M7 with FPU (216MHz, 462DMIPS) Gyroscope 3Axis, Accelerometer 3Axis, Magnetometer 3Axis (MPU9250) ARM Cortex 10pin JTAG/SWD connector USB Device Firmware Upgrade (DFU) Serial 32 pins (L 14, R 18) *Arduino connectivity Sensor module x 4 pins Extension connector x 18 pins USB (Micro-B USB connector/USB 2.0/Host/Peripehral/OTG) TTL (JST 3pin / Dynamixel) RS485 (JST 4pin / Dynamixel) UART x 2 CAN LD2 (red/green) : USB communication User LED x 4 : LD3 (red), LD4 (green), LD5 (blue) User button x 2 External input source 5 V (USB VBUS), 7-24 V (Battery or SMPS) Default battery : LI-PO 11.1V 1,800mAh 19.98Wh Default SMPS: 12V 5A External output source 12V@1A, 5V@4A, 3.3V@800mA External battery connect for RTC (Real Time Clock) Power LED: LD1 (red, 3.3 V power on) Reset button x 1 (for power reset of board) Power on/off switch x 1 105(W) X 75(D) mm 60g

• Hot swap power switch between “shore power”(12V, 5A SMPS) and “mobile power”(battery) from OpenCR board enables UPS(Uninterrupted Power Supply) feature.

124

Chapter 17. Appendix #OpenCR


turtlebot3 Documentation, Release 0.1.1

User Guide Run serial_node package rosrun rosserial_python serial_node.py __name:=turtlebot3_core _port:=/dev/ttyACM0 _ ˓→baud:=115200

Testing rostopic echo /imu header: seq: 179 stamp: secs: 1486448047 nsecs: 147523921 frame_id: imu_link orientation: x: 0.0165222994983 y: -0.0212152898312 z: 0.276503056288 w: 0.960632443428 orientation_covariance: [0.0024999999441206455, 0.0, 0.0, 0.0, 0.0024999999441206455, ˓→0.0, 0.0, 0.0, 0.0024999999441206455] angular_velocity: x: 2.0 y: 1.0 z: -1.0 angular_velocity_covariance: [0.019999999552965164, 0.0, 0.0, 0.0, 0. ˓→019999999552965164, 0.0, 0.0, 0.0, 0.019999999552965164] linear_acceleration: x: 528.0 y: 295.0 z: 16648.0 linear_acceleration_covariance: [0.03999999910593033, 0.0, 0.0, 0.0, 0. ˓→03999999910593033, 0.0, 0.0, 0.0, 0.03999999910593033] ---

Open Source Software You can modify the downloaded source code and share it with your friends. • OpenCR Software: https://github.com/ROBOTIS-GIT/OpenCR

Open Source Hardware If you want to manufacture your own OpenCR, you can download necessary files such as PCB Gerber, BOM. When the board is ready firmware source code can be burned into the MCU. • OpenCR Hardware: https://github.com/ROBOTIS-GIT/OpenCR-Hardware

17.3. User Guide

125


turtlebot3 Documentation, Release 0.1.1

Wiki Site for More Information • OpenCR Wiki: https://github.com/ROBOTIS-GIT/OpenCR/wiki

126

Chapter 17. Appendix #OpenCR


CHAPTER

18

Appendix #DYNAMIXEL

Overview DYNAMIXEL X-Series is a new line-up of high performance networked actuator module, which has been widely used for building various types of robots with reliability and expandability. Two different types of DYNAMIXEL is adopted in TurtleBot3 Burger and Waffle as they have different requirements. DYNAMIXEL X-Series shares its design, therefore, users can replace actuators depend on applications. Basic Feature • Improved Torque with Compact Size • Enhanced Durability and Expandability • Hollow Back Case Minimizes Cable Stress (3-way-routing) • Direct Screw Assembly to the Case (without Nut Insert) • Improved Heat Sink Featuring Aluminum Case Various Control Functions • 6 Operating Modes • Current-Based Torque Control (4096 steps, 2.69mA/step) • Profile Control for Smooth Motion Planning • Trajectory Data and Moving Status (In-Position, Following Error, etc.) • Energy Saving (Reduced Current from 100mA to 40mA) Note: Control Functions may vary by models.

127


turtlebot3 Documentation, Release 0.1.1

Specifications Items Microcontroller Position Sensor Motor Baud Rate Control Modes Gear Ratio Stall Torque

No Load Speed Communication Material Standby Current

XL430-W250 (for Burger) XM430-W210 (for Waffle) ST CORTEX-M3 (STM32F103C8 @ 72Mhz, 32bit) Contactless Absolute Encoder (12bit, 360°) Cored Motor Coreless Motor 9600 bps ~ 4.5 Mbps Velocity, Position, Extended Position, PWM (+Current, Current-base Position : XM430-W210 only) 258.5 : 1 212.6 : 1 1.0 N.m (@ 9V, 1A) 2.7 N.m (@ 11.1V, 2.1A) 1.4 N.m (@ 11.1V, 1.3A) 3.0 N.m (@ 12V, 2.3A) 1.5 N.m (@ 12V, 1.4A) 3.7 N.m (@ 14.8V, 2.7A) 47rpm (@ 9V) 70rpm (@ 11.1V) 57rpm (@ 11.1V) 77rpm (@ 12V) 61rpm (@ 12V) 95rpm (@ 14.8V) TTL Level Multi Drop Bus TTL Level / RS485 Multi Drop Bus Engineering Plastic Full Metal Gear, Metal Body, Engineering Plastic 52mA 40mA

More information for actuators can be found at below ROBOTIS e-Manual links. • XL430-W250 • XM430-W210

128

Chapter 18. Appendix #DYNAMIXEL


CHAPTER

19

Appendix #LDS

Overview LDS (HLS-LFCD2) is used for both TurtleBot3 Burger and TurtleBot3 Waffle. The LDS(LASER Distance Sensor) is a sensor which collects a set of distance data and send them to the host for the Simultaneous Localization and Mapping (SLAM) technique.

129


turtlebot3 Documentation, Release 0.1.1

Specifications General Specifications Items Operating supply voltage Light source LASER safety Current consumption Detection distance Interface Ambient Light Resistance Sampling Rate Dimensions Mass

Specifications 5V DC Âą5% Semiconductor Laser Diode(đ?œ†=785nm) IEC60825-1 Class 1 400mA or less (Rush current 1A) 120mm ~ 3,500mm 3.3V USART (230,400 bps) 42bytes per 6 degrees, Full Duplex option 10,000 lux or less 1.8kHz 69.5(W) X 95.5(D) X 39.5(H)mm Under 125g

Measurement Performance Specifications Items Distance Range Distance Accuracy (120mm ~ 499mm) Distance Accuracy(500mm ~ 3,500mm) Distance Precision(120mm ~ 499mm) Distance Precision(500mm ~ 3,500mm) Scan Rate Angular Range Angular Resolution

Specifications 120 ~ 3,500mm ¹15mm ¹5.0% ¹10mm ¹3.5% 300¹10 rpm 360° 1°

Detail Specification Document The following link contains information about basic performance, measurement performance, mechanism layout, optical path, data information, pin description and commands. Here is the detail specification document pdf Note: The LDS for TurtleBot3 uses molex 51021-0800 and 53048-0810 instead of the basic housing and connector. • [for LDS] Molex 51021-0800 (http://www.molex.com/pdm_docs/sd/510210800_sd.pdf) • [for USB2LDS] Molex 53048-0810 (http://www.molex.com/pdm_docs/sd/530480810_sd.pdf)

LDS for TurtleBot3 The LDS (HLS-LFCD2) is used for both TurtleBot3 Burger and TurtleBot3 Waffle.

130

Chapter 19. Appendix #LDS


turtlebot3 Documentation, Release 0.1.1

Introduction Video ROS Hector SLAM demo using only a LDS (HLS-LFCD2) made by HLDS (Hitachi-LG Data Storage).

ROS Gmapping and Cartographer SLAM demo using TurtleBot3 and the LDS (HLS-LFCD2).

User guide We are offering ROS package for LSD. The hls_lfcd_lds_driver package provides a driver for “HLS(Hitachi-LG Sensor) LFCD LDS(Laser Distance Sensor)”.

Installation sudo apt-get install ros-kinetic-hls-lfcd-lds-driver

Set Permission for HLS-LFCD LDS sudo chmod a+rw /dev/ttyUSB0

19.5. Introduction Video

131


turtlebot3 Documentation, Release 0.1.1

Run hlds_laser_publisher Node roslaunch hls_lfcd_lds_driver hlds_laser.launch

Run hlds_laser_publisher Node with RViz roslaunch hls_lfcd_lds_driver view_hlds_laser.launch

132

Chapter 19. Appendix #LDS


CHAPTER

20

Appendix #RealSense™

Overview Intel® RealSense™ is a platform for implementing gesture-based human-computer interaction techniques. It consists of series of consumer grade 3D cameras together with an easy to use machine perception library. The Intel® RealSense™ R200 camera is a USB 3.0 device that can provide color, depth, and infrared video streams. The TurtleBot3 Waffle model adopts Intel® RealSense™ R200 to enable 3D SLAM and navigation, and it is possible to apply various applications such as gesture recognition, object recognition and scene recognition based on 3D depth information obtained using RealSense™’s innovative Active Stereo Technology.

133


turtlebot3 Documentation, Release 0.1.1

Specifications Technical Specifications Items RGB Video Resolution IR Depth Resolution Laser Projector Frame Rate FOV (Field-of-View) Range Operating Supply Voltage USB Port Dimensions Mass

Specifications 1920 x 1280, 2M 640 x 480, VGA Class 1 IR Laser Projector (IEC 60825-1:2007 Edition 2) 30 fps (RGB), 60 fps (IR depth) 77° (RGB), 70° (IR depth), Diagonal Field of View 0.3m ~ 4.0m 5V (via USB port) USB 3.0 101.56mm length x 9.55mm height x 3.8mm width Under 35g

Minimum System Requirements Items Processors Disk Storage Memory Interface Operating System for SDK

Specifications 4th Generation and future Intel® Core™ processors 1GB 2GB USB 3.0 Ubuntu 14.04 and 16.04 LTS (GCC 4.9 toolchain) Windows 8.1 and Windows 10 (Visual Studio 2015 Update 2) Mac OS X 10.7+ (Clang toolchain) Ostro

Here is the detail specification document: Intel® RealSense™ Datasheet

Intel® RealSense™ R200 for TurtleBot3 The Intel® RealSense™ R200 is applied on TurtleBot3 Waffle.

134

Chapter 20. Appendix #RealSense™


turtlebot3 Documentation, Release 0.1.1

Introduction Video The TurtleBot3 Waffle uses Intel® RealSense™ Camera R200 as a default vision sensor. Check this video out that shows how Intel® RealSense™ Camera R200 can be used in TurtleBot3 Waffle.

User Guide Intel® RealSense™ packages enable the use of Intel® RealSense™ R200, F200, SR300 and ZR300 cameras with ROS. Below table describes packages required to operate Intel® RealSense™. You will be guided to install these packaged in the next section. Package librealsense realsense_camera

Description Underlying library driver for communicating with Intel® RealSense™ camera ROS Intel® RealSense™ camera node for publishing camera

Installation Warning: There are installation prerequisites for the Intel® RealSense™ package installation in http://wiki.ros. org/librealsense The following commands will install relevant Intel® RealSense™ packages on your ROS system. sudo apt-get install ros-kinetic-librealsense sudo apt-get install ros-kinetic-realsense-camera

20.4. Introduction Video

135


turtlebot3 Documentation, Release 0.1.1

Run realsense_camera node roslaunch realsense_camera r200_nodelet_default.launch

While the realsense_camera node is running, you can view various data from Intel® RealSense™ by launching rqt_image_view. rqt_image_view

Once the gui application is appeared on the screen, you can select data topic name related to Intel® RealSense™ from drop down menu at the top of the application.

References • Intel® RealSense™ Datasheet realsense-camera-r200-product-datasheet.pdf

https://software.intel.com/sites/default/files/managed/d7/a9/

• Data ranges https://software.intel.com/en-us/articles/intel-realsense-data-ranges • Intel® RealSense™ SDK https://software.intel.com/en-us/intel-realsense-sdk • Purchase https://click.intel.com/realsense.html

136

Chapter 20. Appendix #RealSense™


CHAPTER

21

Appendix #OpenSource

Software • [TurtleBot3 Software] • https://github.com/ROBOTIS-GIT/turtlebot3 • https://github.com/ROBOTIS-GIT/turtlebot3_simulations • https://github.com/ROBOTIS-GIT/turtlebot3_applications • https://github.com/ROBOTIS-GIT/turtlebot3_msgs • [OpenCR Firmware] • TurtleBot3 Burger, Waffle and Friends • https://github.com/ROBOTIS-GIT/OpenCR • [Reference Software for TurtleBot3] • https://github.com/turtlebot • https://github.com/ROBOTIS-GIT/DynamixelSDK • https://github.com/ROBOTIS-GIT/dynamixel-workbench • https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver

Hardware • [Circuit and PCB Gerber of OpenCR] • https://github.com/ROBOTIS-GIT/OpenCR-Hardware • [TurtleBot3 Hardware] • TurtleBot3 Burger Model: https://goo.gl/SZRdMd

137


turtlebot3 Documentation, Release 0.1.1

• TurtleBot3 Waffle Model: https://goo.gl/wCDvVI • TurtleBot3 OpenManipulator Chain Model: https://goo.gl/xgxh2G • TurtleBot3 Segway Model: https://goo.gl/DsQXaR • TurtleBot3 Conveyor Model: https://goo.gl/cym7dX • TurtleBot3 Monster Model: https://goo.gl/YnUrEo • TurtleBot3 Tank Model: https://goo.gl/IUPwd9 • TurtleBot3 Omni Model: https://goo.gl/WB8u3r • TurtleBot3 Mecanum Model: https://goo.gl/Nz1VE0 • TurtleBot3 Bike Model: https://goo.gl/9UuCJn • TurtleBot3 Road Train Model: https://goo.gl/aXX06O • TurtleBot3 Real TurtleBot Model: https://goo.gl/GAIXLI • TurtleBot3 Carrier Model: https://goo.gl/5LKFxs • [OpenManiapulator Hardware] • OpenManiapulator Chain Model: https://goo.gl/NsqJMu • OpenManiapulator SCARA Model: https://goo.gl/oVsK8m

138

Chapter 21. Appendix #OpenSource


CHAPTER

22

License

Software License Main software is released under the Apache 2.0 license. However, some of the sources are under the licenses 3-Clause BSD License or GPLv3.

Hardware License TurtleBot3 is an open source hardware project as described by the Open Source Hardware Statement of Principles and Definition v1.0.

Documents License Documents are released under the CC BY 4.0.

139


turtlebot3 Documentation, Release 0.1.1

140

Chapter 22. License


CHAPTER

23

FAQ

Q1) How to download the STL files of TurtleBot3. A1) You can download it in the following way. We released the TurtleBot3 Friends hardware design file at the link below. http://turtlebot3.robotis.com/en/latest/friends.html So, you can download the STL files directly from each Onshape address as shown in the following figures. 1. Sign in. (If you do not have an ID, you have to create one.) 2. Click the “toggle tab manager” (A menu will appear on the left side of the browser.) 3. Click the “Parts folder” 4. Right-click on the icon of the file you want to download. 5. Click the “Export...” 6. Finally, you can download the output file type you want.

141


turtlebot3 Documentation, Release 0.1.1

142

Chapter 23. FAQ


turtlebot3 Documentation, Release 0.1.1

Q2) IntelŽ Joule™ USB-C port is not recognized on Windows 10. A2) Some users have reported that the USB-C port is not recognized on Windows 10 when they were trying to update BIOS. Please check below link that describes the solution that worked out(Thanks for rknlhrqy and VRAORESEARCH). 1. https://discourse.ros.org/t/turtlebot-3-successfully-upload-alternative-ubuntu-desktop-16-04-to-joule/2224 2. https://communities.intel.com/thread/109766

143


turtlebot3 Documentation, Release 0.1.1

144

Chapter 23. FAQ


CHAPTER

24

Contact US

ABOUT Open Robotics

Open Robotics is an independent non-profit organization founded by members of the global robotics community. The mission of Open Robotics is to support the development, distribution, and adoption of open source software for use in robotics research, education, and product development. Address 170 S Whisman Rd, Building D, Suite A, Mountain View, CA 94041, USA E-Mail turtlebot@osrfoundation.org

ABOUT ROBOTIS

145


turtlebot3 Documentation, Release 0.1.1

ROBOTIS was derived from a simple response to the question, “What is a Robot?”. Thus, ROBOTIS = “ROBOT IS...“ There are many answers to this question, but we strive to develop and apply products that would impact our daily lives and make robots more personal rather than an intelligent appliance. Imaginations can become reality through personal robots. US Office Address 26228 Enterprise Ct Lake Forest, CA 92630, USA Tel +1-949-377-0377 Fax +1-949-242-5112 Web http://en.robotis.com/ E-Mail america@robotis.com China Office Address Room 1103, Building B, Jiajing Tiancheng, Chaoyang District, (100102) Beijing, China Tel +86-10-5726-7179 Web http://cn.robotis.com/ E-Mail china@robotis.com Japan Office Address BIZ SMART 8F,1 Chome-10-6 Kajich¯o, Chiyoda-ku, T¯oky¯o-to Tel +81-3-4330-3660 Web http://jp.robotis.com/ E-Mail japan@robotis.com Korea Office Address #1505, Gasan Digital-1ro 145 (Ace High End Tower 3), Geumchungu, Seoul, South Korea Tel +82-70-8671-2609 Fax +82-70-8230-1336 Web http://wwww.robotis.com/ E-Mail ost@robotis.com

146

Chapter 24. Contact US


turtlebot3 Documentation, Release 0.1.1

ABOUT OST (Open Source Team)

Members Ashe Kim, Daniel Seon, Darby Lim, Hancheol Cho, Jason Jin, Leon Jung, M. Y, Will Son, Yoonseok Pyo Alumni Christopher Tatsch, Yoshihiro Shibata Supporter JangHo Kim, Jinwook Kim, Woosik Yang, OROCA Collaboration Team Open Robotics, Intel, OROCA, Onshape, OSU We are Open Source Team in ROBOTIS HQ. With open source hardwares and softwares, our robot friends are hoping to enrich our lives. We mainly develop and support Dynamixel SDK, OpenManipulator, OpenCM, OpenCR and OpenAutonomousCar. Our favorite platform is ROS! :) We are delighted to be in charge of developing TurtleBot3, the official reference platform for ROS, and in the future we will be the team that can support you to get closer to your robot dreams. GutHub https://github.com/ROBOTIS-GIT E-Mail ost@robotis.com

Except where otherwise noted, these design documents are licensed under Creative Commons Attribution 4.0 International License.

24.3. ABOUT OST (Open Source Team)

147


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.