Bebot - Software Installation Guide

Bebot - Software Installation Guide

HEINZ NIXDORF INSTITUTE University of Paderborn BeBot - Software Installation Guide Version 1.4 BeBot - Software Installation Guide Markus Koester, Stefan Herbrechtsmeier Copyright c 2009 - 2011 HEINZ NIXDORF INSTITUTE University of Paderborn System and Circuit Technology F"urstenallee 11 D-33102 Paderborn, Germany This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. i Contents 1 BeBot Hardware1 2 Installation of the Software Development Environment3 2.1 Linux Installation................................3 2.1.1 Wubi...................................3 2.1.2 VirtualBox...............................4 2.2 Software Installation.............................. 16 3 Software Development for BeBot 18 3.1 Connecting the BeBot with the Host System................. 18 3.2 Settings for BeBot Programming in Eclipse.................. 19 3.2.1 Download example source code.................... 20 3.2.2 Create new C/C++ project...................... 20 3.2.3 Setup cross compiler.......................... 20 3.2.4 Setup Player framework (optional).................. 22 3.2.5 Import source files........................... 22 3.2.6 Compile project............................. 23 3.2.7 Setup file transfer............................ 24 3.2.8 Remote system exlporer........................ 25 3.2.9 Setup remote debugging........................ 25 3.3 Simulate the BeBot with Player/Stage.................... 26 4 Installation and usage of the Build Environment 28 4.1 Build Environment Installation........................ 28 4.2 Root File System Generation......................... 29 4.3 Cross Compiler Toolchain Generation..................... 29 5 System utilities 30 5.1 BeBot...................................... 30 5.1.1 Obstacle avoidance - avoid....................... 30 5.1.2 Wiimote remote control - wiibot.................... 30 5.2 Player...................................... 30 5.2.1 Object follower - follow......................... 30 5.3 FPGA...................................... 30 5.3.1 Register setup - fpga.......................... 31 5.3.2 Expansion connector - /dev/firmware/fpga.bit............ 31 ii Contents 6 System Update 33 6.1 USB device interface.............................. 33 6.2 Serial line.................................... 33 6.3 Preperations................................... 34 6.4 Flash programming............................... 34 1 1 BeBot Hardware This chapter provides a brief introduction to the hardware of the BeBot. An overview is given over the most important system specifications and the communication and naviga- tion possibilities. The BeBot is based on a powerful ARM processor. The integrated CPU is an Marvell PXA270 at 520 MHz (cf. Figure 1.1). Additionally to the CPU the robot is equipped with run-time reconfigurable hardware in form of an Field Programmable Gate Array (FPGA), which is directly connected to the camera module. Thus complex algorithm such as video processing can be efficiently implemented and executed in hardware. The operating system can be installed in 64MB flash memory (cf. Table 1.1) or alternatively in a external USB memory stick. The whole system offers 64MB of internal RAM. Application int. Name Size Flash Memory Address Range Bootloader uboot 768kB 0x00000000 - 0x000c0000 Bootloader Configuration Data env 256kB 0x000c0000 - 0x00100000 Kernel kernel 3MB 0x00100000 - 0x00400000 Root File System rootfs 40MB 0x00400000 - 0x02c00000 User Data data 20MB 0x02c00000 - 0x04000000 Table 1.1: Address ranges of the flash memory The robot can communicate with the outside world in different ways. In the initial state (without any operating system) the robot offers a serial link (RS232). After installing a bootloader and the standard operating system, the user can access the robot by a console via the RS232 link. Additionally, the robot can be accessed via Bluetooth and SSH (cf. Chapter3) if the operating system is configured accordingly. By using a WLAN USB stick the robot is able to establish a WiFi connection. The drive and position of the robot in space is captured by a gyroscope and a 3-axis accelerometer. In co-operation with the IR sensors and the camera the robot is capable of navigating in its environment. The 12 IR sensors (two on each side, one on each corner of the robot) allow for a 360 object detection and distance measurement. The forward facing camera module enables to process image data of the environment. 2 1 BeBot Hardware Figure 1.1: BeBot-Hardware: CPU (1), RAM (2), Flash (3), Bluetooth Module (4), Zig- Bee Module (5), FPGA (6), RS232 Port (7) 3 2 Installation of the Software Development Environment This chapter descrips the installation of the software development environment. 2.1 Linux Installation The development tools of the BeBot are based on a Linux operating system. There are several different Linux distributions available. For the robot development a Kubuntu 10.04 (http://www.kubuntu.org/) distribution is recommended. If you are familiar with Linux, you can use Ubuntu 10.04 (http://www.ubuntu.com/) as well. Basically, there are two options to install the Linux OS: Dual-boot system: Linux is installed as an additional operating system in a separate partition of the hard disk. When booting the computer the user can select which operating system to boot from a boot manager. This option is also referred to as a dual-boot system. If the original OS of the target computer is Microsoft Windows, the installation of Linux in a separate file of the Windows partition can be realized by the Windows Ubuntu Installer (http://wubi-installer.org/). Virtual machine: Virtualization is a technique that allows for installing multiple oper- ating systems within an existing operating system. This is done by a program, which is referred as a virtual machine. It emulates a computer with all its hard- ware. Although virtual machines do not achieve the performance of a real ma- chine, they offer a great flexibility to the user. There is no need to switch between different operating systems. Free tools for virtual machines are VMware (http: //www.vmware.com) and VirtualBox (http://www.virtualbox.org). The following section provides a step-by-step tutorial for installing Kubuntu Linux using Wubi or VirtualBox. 2.1.1 Wubi Wubi is an officially supported Ubuntu installer for Windows users that can bring you to the Linux world with a single click. Wubi allows you to install and uninstall Ubuntu as any other Windows application, in a simple and safe way. Go to http://wubi-installer.org/ and download the latest version of Wubi. Start Wubi and select your installation size, desktop environment, language, user name and password. The installation size of the Linux partition should be around 30GB to avoid a shortage in disk memory. 4 2 Installation of the Software Development Environment 2.1.2 VirtualBox VirtualBox Installation VirtualBox is a general-purpose virtual machine for x86 hardware offered from Sun Mi- crosystems. Targeted at server, desktop and embedded use, it is the only professional- quality virtualization solution that is Open Source Software. The following steps describe the installation of Kubuntu (Version 9.10) using VirtualBox (version 3.0.2). Basically, the installation can be done using the default settings. If custom settings are required they are explicitly mentioned. 1. Download and install VirtualBox Go to http://www.virtualbox.org/wiki/Downloads and download the latest version of VirtualBox for your target platform. Do a full installation including USB Support and Networking. After the installation is finished start VirtualBox. The following window appears. 2.1 Linux Installation 5 2. Create a new virtual machine Create a new virtual machine by clicking on New followed by Next. Enter the name of the virtual machine, e.g. Kubuntu-10.04-64. Select Linux for the operating system and Ubuntu (64bit) for the version. 3. Specify the virtual memory In the next window you can specify the memory used by the virtual machine. The base memory size should be selected based on the available memory of the host machine. Select an amount, which is equal or larger than 1024 MB. 6 2 Installation of the Software Development Environment 4. Specify the virtual hard disk The following window is used to specify the virtual hard disk used in the virtual machine. This can either be a real hard disk partition, or a large file on an existing partition, which emulates the hard disk. Make sure that Boot Hard Disk (Primary Master) is selected and choose Create new hard disk. 5. Select storage type Click Next to proceed to the Virtual Disk Wizard. You can now select the hard disk storage type. A dynamically expanding storage initially occupies a very small amount of space on your physical hard disk. It will grow dynamically (up to the size specified) as the Guest OS claims disk space. A fixed-size storage does not grow and occupies the amount of memory as the size of the virtual hard disk. Select Dynamically expanding storage. 2.1 Linux Installation 7 6. Specify the location and the size of the virtual disk The size should be around 30 GB. Note that the file size of the virtual disk can grow up to the size that you specify. So the file should be stored on a drive that offers enough space. The next window shows a brief summary of the virtual hard disk. Verify your specification and click on Finish. 8 2 Installation of the Software Development Environment 7. Modify the video memory of the graphics adapter Click on Display in the Details tab of the virtual machine. You can now select the video memory size and 3D acceleration. It is recommended to increase the size to 64 MB to allow for larger video resolutions when working with the virtual machine. Click OK to return to the main window, which shows a summary of the settings of your virtual machine. 2.1 Linux Installation 9 8. Specify a shared folder for file exchange In order to allow for an easy file exchange between your host operating system and the virtual machine, it is possible to add a shared folder.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    38 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us