Robotnik Kobuki Turtlebot 2 User manual

Kobuki Turtlebot II. User’s Manual
TURTLEBOT II
User’s Manual
Robotnik Automation, S.L.L.
Kinetic v1
1

Kobuki Turtlebot II. User’s Manual
Index
1. Robot description
1.1 Functional Specification
1.2 Hardware Specification
1.3 Software Specification
2. Components list
2.1 Basic components
2.2 Additional components
3. Assembly instructions
3.1 Assembling the robot
3.2 Connectors
3.3 Swapping batteries
4. Installation and Configuration
4.1 Default User & Password
4.2 Installing from Robotnik’s USB Installer
4.3 ROS package installation
4.4 Upgrading the firmware
4.5 Additional components
4.5.1 RPLIDAR
4.5.2 Hokuyo URG04LX
4.5.3 WidowX Arm
4.5.4 PhantomX Reactor Arm
4.5.5 Hokuyo UST10LX
4.6 Additional WiFi router
5. First steps
5.1 Launching Kobuki
5.2 Testing the hardware
5.3 Launching the RGBD camera
5.3 Controlling the Kobuki robot with a joystick
5.3.1 PS3 gamepad
5.3.2 PS4 gamepad
6. Netbook cable modification
Appendixes
Appendix 1 - Setting up Arbotix board
2

Kobuki Turtlebot II. User’s Manual
1. Robot description
Kobuki Turtlebot 2 is a low-cost mobile research base designed for education and
research on state of art robotics. With continuous operation in mind, Kobuki provides
power supplies for an external computer as well as additional sensors and actuators. Its
highly accurate odometry, amended by our factory calibrated gyroscope, enables precise
navigation.
This robot is a compatible replacement for the iRobot Create. Although most of the
accessories are fully compatible, be careful when plugging any device from the iRobot
version to Kobuki version, because the connectors pin-out could be different.
1.1 Functional Specification
● Maximum translational velocity: 65 cm/s
● Maximum rotational velocity: 3.14 rad/s
● Payload: 5 kg (hard floor), 4 kg (carpet)
● Cliff: will not drive off a cliff with a depth greater than 5 cm
● Threshold Climbing: climbs thresholds of 12 mm or lower
● Rug Climbing: climbs rugs of 12 mm or lower
● Expected Operating Time: 3/7 hours (small/large battery)
● Expected Charging Time: 1.5/2.6 hours (small/large battery)
● Docking: can perform docking within a 2mx5m area in front of the docking station
1.2 Hardware Specification
● PC Connection: usb or via RX/TX pins on the parallel port
● Motor Overload Detection : disables power to motors on detecting high current
● Odometry: 25718.16 ticks/revolution, 11.7 ticks/mm
● Gyro: factory calibrated, 1 axis (100 deg/s)
● Bumpers: left, center, right
● Cliff sensors: left, center, right
● Wheel drop sensor: left, right
● Power connectors: 5V/1A, 12V/1.5A, 12V/5A
● Docking recharging connector: 19V/2.1A- Expansion pins: 3.3V/1A, 5V/1A, 4 x
analog in, 4 x digital in, 4 x digital out
● Audio : several programmable beep sequences
● Programmable LED: 2 x two-coloured LED
● State LED: 1 x two coloured LED [blinking - charging, Green - high level, Orange -
low level]
● Buttons: 3 x touch buttons
● Battery: 14.8 V lithium-Ion 2200 mAh (small) 4400 mAh (large)
3

Kobuki Turtlebot II. User’s Manual
● Firmware upgradeable: via usb
● Sensor Data Rate: 50Hz
● Recharging Adapter: Input: 100-240V AC, 50/60Hz, 1.5A max; Output: 19V DC,
3.16A
● Netbook recharging connector (only enabled when robot is recharging): 19V/2.1A
DC
● Docking IR Receiver: left, centre, right
1.3 Software Specification
● Kobuki drivers for ROS and non-ROS in C++
● Kobuki and Turtlebot simulator (Gazebo)
● Kobuki and Turtlebot apps
4

Kobuki Turtlebot II. User’s Manual
2. Components list
2.1 Basic components
Kobuki base
Mobile base.
Kobuki Hardware
It’s the hardware mounted over the base.
It includes:
○ 16 Poles
○ 3 Disks
○ 2 Dummy pipes
Battery
The 4S1P battery 2200 mAh. It provides 3 hours of operational time.
Kinect cable
5

Kobuki Turtlebot II. User’s Manual
Cable to power the Kinect sensor directly from the robot’s battery.
Usb communication cable
Cable to control the Kobuki base from a PC.
Recharging adapter
Standard adapter to charge the battery manually.
2.2 Additional components
3D sensor
The Turtlebot 2 is intended to use a 3D sensor in order to navigate autonomously and
map. By default, the Kinect sensor is provided with the robot, but any other sensor can be
attached.
Docking station
Battery charger intended to carry out an autonomous battery charge.
Large battery
The 4S2P battery 4400 mAh. It provides 7 hours of operational time.
Netbook
Netbook installed and configured to control the robot and all of its accessories.
It is also possible to use other controllers or pcs.
6

Kobuki Turtlebot II. User’s Manual
Turtlebot’s USB stick
USB stick that contains all the manuals, and a recovery image of the provided netbook.
7

Kobuki Turtlebot II. User’s Manual
3. Assembly instructions
In this section will be described how to assembly the robot and some other useful
information. This guide is based on the information available on the official site
http://kobuki.yujinrobot.com.
3.1 Assembling the robot
Please refer to the provided assembly guide.
3.2 Connectors
Power
5V@1A Molex PN : 43650-0218 - for custom boards
12V@5A : Molex PN : 5566-02B2 - for high powered accessories (e.g. robotic arm)
19V@2A : Molex PN : 3928-9048 - for recharging netbooks
WARNING: This pin-out can differ from the Turtlebot 1. Please be careful when
connecting accessories.
WARNING: Please verify the pinout or the provided connector before connecting
any external device.
Cable
Note, if you click on the preceding links for the power connectors, under the heading
Mates with Part(s) you can find the compatible connector to use with each power source.
The most important one being of course:
8

Kobuki Turtlebot II. User’s Manual
Battery
●4S1P, 2200 mAh. Default Battery Pack Connector
●4S2P, 4400 mAh. Extra Battery Pack Connector
IO Port
DB25 pin D-SUB Female connector that provides the following functionality.
4 x Digital Input
4 x Digital Output
4 x Analog Input
RX/TX
3.3V
5V
3.3 Swapping batteries
Parts
1 x 4S1P Lithium-Ion battery - default
1 x 4S2P Lithium-Ion battery - optional (longer life)
Default - 4S1P Battery Pack
By default, Kobuki comes with a 4S1P battery pack that is stored underneath robot behind
a cover at the middle of the base.
Optional - 4s2p Battery Pack
For longer life, the 4S2P pack can be used.
You cannot use 4S1P and 4S2P packs at the same time!
Remove the 4S1P battery from the base compartment.
Optional - 2x4s2p Battery Pack in parallel
For configurations working with NUC controllers, it is recommended the use of a custom
battery pack made from two standard 4S2P batteries.
9

Kobuki Turtlebot II. User’s Manual
10

Kobuki Turtlebot II. User’s Manual
Plug the 4S2P battery into the connector.
11

Kobuki Turtlebot II. User’s Manual
12

Kobuki Turtlebot II. User’s Manual
Offline Charging
There is also an accessory for those who'd like to offline charge the robot (a pseudo
continuous operation mode). Just directly connect... For both online/offline charging, it
should take approximately 2 hours to recharge the 4s1p battery fully, and over 3 hours for
the 4s2p one.
13

Kobuki Turtlebot II. User’s Manual
4. Installation and Configuration
In this section will be described the installation process of the netbook recovery image and
the installation of the Turtlebot packages from the official repository.
4.1 Default User & Password
User: turtlebot
Password: ros
4.2 Installing from Robotnik’s USB Installer
In this section will be described the installation of the system by using the USB installer
provided by Robotnik.
The provided usb contains either a Ubuntu 14.04 Installer with ROS and the Turtlebot 2
packages, or an image of the system provided (netbook or pc).
4.3 ROS package installation
In this section will be described the ROS package installation from scratch. For further
information about this process or about ROS, please refer to www.ros.org.
These packages are supported for Kinetic (current version) version.
Install ROS bases
Install ROS in Ubuntu 16.04 (Trusty):
$> sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu
$(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$> sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80
--recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$> sudo apt-get update
$> sudo apt-get install ros-kinetic-desktop-full
$> sudo apt-get install ros-kinetic-kobuki*
$> sudo apt-get install ros-kinetic-turtlebot*
$> sudo apt-get install ros-kinetic-openni* (if using rgbd compatible
camera
)
14

Kobuki Turtlebot II. User’s Manual
$> sudo apt-get install ros-kinetic-astra* (for the camera astra
)
$> sudo apt-get install ros-kinetic-urg-node (for the hokuyo lasers
)
Rosdep
Install all dependencies of kobuki_node
$> sudo rosdep init
$> rosdep update
ROS environment variables
$> echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$> source ~/.bashrc
Set udev Rule
Copy across a udev rule for /dev/kobuki
and add the user to the dialout group (you may
need to logout and log back in). See kobuki_ftdi
for more details.
$> roscd kobuki_ftdi
$> rosrun kobuki_ftdi create_udev_rules
$> sudo udevadm trigger
For the Astra cameras
It is possible to copy or following the installation instructions at
https://github.com/tfoote/ros_astra_camera.
$> cd /etc/udev/rules.d/
Create a new file as sudo:
$> sudo gedit 56-orbbec.rules
Copy the following lines:
SUBSYSTEM=="usb", ATTR{idProduct}=="0400", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0402", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0403", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0404", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
15

Kobuki Turtlebot II. User’s Manual
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0405", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0406", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0407", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0408", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0409", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="040a", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root",
GROUP:="video"
Restart the udev system service:
$> sudo service udev reload
$> sudo service udev restart
Unplug the camera and plug it again.
Keyboard Teleoperation
If you followed the instruction well with no error pop-up, you should be able to telop your
kobuki around with your keyboard!
$> roslaunch kobuki_node minimal.launch
$> roslaunch kobuki_keyop keyop.launch
Install other useful packages
$> sudo apt-get install ssh
16

Kobuki Turtlebot II. User’s Manual
4.4 Upgrading the firmware
One of the nice features of Kobuki is that the user can update the firmware released by
Yujin themselves. When a new firmware version is uploaded, this can be manually flashed
onto the robot via usb without the need for special equipment like JTAG devices.
Follow the instructions matching the operating system you will connect to the robot for the
flashing operation. For further information, please refer to the official site
http://kobuki.yujinrobot.com.
*All robots are provided with the last firmware by default.
4.5 Additional components
The installation of additional components like 2D lasers, arms, ... requires some additional
configuration efforts.
1. Create a catkin workspace.
2. Installation of Robotnik alternative Turtlebot repository
a. https://github.com/RobotnikAutomation/turtlebot
b. Clone the repository into the workspace (catkin_ws/src) and compile it
c. Add the following into the .bashrc
i. source ~/catkin_ws/devel/setup.bash
3. Other dependencies to install:
a. https://github.com/RobotnikAutomation/widowx_arm
b. https://github.com/RobotnikAutomation/phantomx_reactor_arm
4. catkin_make desde la carpeta ~/catkin_ws.
4.5.1 RPLIDAR
Dependencies:
c d
*ros-kinetic-rplidar-ros
Add the following variable environments into the .bashrc and reload it:
export TURTLEBOT_TOP_PLATE_DEVICE=rplidar
export TURTLEBOT_3D_SENSOR=no3d
1. Create the udev rules:
a. > roscd turtlebot_scripts
2. Run the script contained in the scripts folder:
a. > ./scripts/create_rplidar_udev_rules
b. The device should be linked in /dev/rplidar
17

Kobuki Turtlebot II. User’s Manual
3. To launch the sensor:
a. > roslaunch turtlebot_bringup rplidar.launch
18

Kobuki Turtlebot II. User’s Manual
4.5.2 Hokuyo URG04LX
Dependencies:
*ros-kinetic-urg-node
Set the user permissions:
> sudo usermod -a -G dialout turtlebot
Add the following variable environments into the .bashrc and reload it:
Configuration with the sensor on the top plate:
export TURTLEBOT_TOP_PLATE_DEVICE=urg04lx
export TURTLEBOT_3D_SENSOR=no3d
Configuration with the sensor on the middle plate:
export TURTLEBOT_TOP_PLATE_DEVICE=notop
export TURTLEBOT_3D_SENSOR=urg04lx
1. To launch the sensor:
a. > roslaunch turtlebot_bringup minimal.launch
b. > roslaunch turtlebot_bringup hokuyo_urg04lx.launch
19

Kobuki Turtlebot II. User’s Manual
20
Table of contents
Other Robotnik Robotics manuals