ROS learning Notes: The preparation

    ROS is because linux, you need to install ubuntu-based system, so first should prepare the PC environment.

    Because not familiar with the Linux operating even ubuntu graphical interface, but also could not get to use them. So plan to install ubuntu virtual machine in win10, the switch between windows by as downloads, access to tool data, transfer files shared folder, after all, more tools under windows, the key is I'm only familiar with these.

    In order to avoid virtual machine is running too slow, the first optimized PC hardware environment, the installation of a 240G SSD's (Solid State Disk catch up with recent price cuts, get 200 yuan), used to install the virtual machine. 8G to expand the memory from 16G, I think this should be, I do not know whether it can meet ROS hardware requirements?

    Hardware ready, began to install ROS software environment.

    Because linux too unfamiliar, the basic concept of fuzzy, so always feel a little "Gone with the Wind" when watching ROS data, not thoroughly understood, looking for an entry-level data as a guide to get started: "Robot Operating System (ROS) Analysis" from Baidu library : in looking
https://wenku.baidu.com/view/a0d3d1ebf12d2af90342e616?pn=1 
    begin to install the software later spent several days browsing the book again, generally have a complete picture.

    I tend to determine the learning content according to specific needs.

    Currently my car demand is mainly hoping to PC-based embedded (SCM) made car access to the ROS system, by means of ROS abundant resources, I do not sound familiar, not good control, the navigation-based SLAM, image recognition and the like. Through this process, digestive ROS distributed control philosophy, and see if we can learn from embedded applications in other scenarios, such as smart home, whether it would be a family of all as a robot control system, smart devices will be arranged as a node ROS , thereby reducing the difficulty of integration of the system, for quick increase function.

    Browse over "Robot Operating System (ROS) Analysis", a little half-comprehended, decided to follow the examples in the book operating again, expect by perceptual deepen understanding. Thus, according to the book, the first step in the installation ubuntu 14.04, version and a corresponding ROS indigo. Fairly well, during which the control ROS official website an aid to understanding some of the operations, the successful completion of the installation ROS software environment, and by example in the book of the practice, and experience a bit of work mode ROS program, a bit mean. 

    This book can only go so far.

    Start looking for the follow-up books, continue to explore!

    Online search again and found that too much, no choice, reminds Top give me some information does exist on disk, so access to the inside for a moment, attracted by this: "ROS_ROBOTICS_PROJECTS":

 


    Because you see the following two paragraphs from the directory you are interested in:
 


as well as:
 

 
    First, embedded (SCM) system access ROS is what I most want to know, in the book exactly the appropriate content, and I used involved two hardware platforms: Arduino and STM32.

    Secondly, as I have done one kind of car, the car controller constitute a single chip, using a mobile phone as a small car PC:
 

 
    Because resources are abundant on the phone, a camera, a wireless communication channel, which are required for the car. Processing is when I realized the image capture and upload on an Android phone, but can not afford to do follow-up. Just mentioned in this book may be of ROS Android phone access, as a Node, and a camera capture, an example of image transmission, excited! The book immediately as the second reference books.

    I want to install the entire environment is good, then a step by step learning.

    So first study chapter of embedded control, according to the book to guide the installation of rosserial Arduino and related environmental, went smoothly, according to the book routines to achieve the communication of ROS and Arduino.

    In the Arduino IDE installation process, we discovered a huge Arduino IDE environment improvement. When I contacted the Arduino, can only support the AVR, STM32 time has come, Mega328, STM32F103C8 much stronger relative performance, so there is no in-depth, think Arduino platform usability poor.

    But now discovered, Arduino IDE can already access many of the mainstream of the microcontroller, and even slightly niche nRF52832 have, mainstream support for STM32 is a full range of Nucleo board. I do not know whether in the Arduino environment can play the original performance of these chips, very looking forward to ......

    the STM32 access ROS is based MbedOS, before you tried this re-exposure, easy-to-understand much, but it's compiled online must support the development board connected to work, there is no implementation examples.
    Ready to buy two nucleo board study. Preliminary ready to select a mainstream Nucleo STM32F103RBT6, because I had a car controller is STM32F103RBT6. STM32 intends to select another piece of high-end chip: Nucleo STM32F767ZI, which is the strongest board STM32 Nucleo paragraph. Select it first, because OpenMV V3 and turtleBot3 controllers are used in OpenCR F7 series, want to use this to cover both applications, in order to gradually experience in the late, OpenMV is embedded vision of open source projects, and is a classic OpenCR ROS-based robot control board (OpenCR controller to sell so expensive, like around 1000, nucleo STM32F767ZI as long as about 180, see if you can achieve OpenCR above.).

    To install Arduino IDE environment in ubuntu, it is recommended to download the latest version of himself (now 1.8.8) from the Arduino.cc, extract the installation is not difficult. Only the latest version only supports the development of the management board, other than the introduction of chip AVR. With apt-get install to install the 1.1 version, too old.
    Arduino is estimated to cover more and more content, the installation actually takes up about 550M space.

    When you install Android software according to the book, we met a lot of trouble.
    First, according to the book prompts, no need to install Android studio, just the SDK, the installation is not enough alone find JAVA version, ubuntu 14.04 comes with JAVA 1.7, you need to upgrade to 1.8, toss a half, while the search side loading, finally get the JAVA.
    After a single command line SDK_tools installation, find the new version is no longer supported SDKmanager graphical interface, and can only increase or decrease the command line mode, too much effort, especially for my kind of linux novice, the press had to be prompted to install the Android official website Android studio.

    Get basic Android ROS began installing Android Core, the final step in four steps: catkin_make life and death can not be completed, always prompt an error, speechless!

    Combination previously encountered, I think it should be due to version upgrade, the problem should be out on my chosen ubuntu 14.04 and ROS indigo, the two versions are two generations ago, although the LTS (long term support version), but the share of Android Core belongs, estimated support may not be perfect.

    A stomping, delete all over again!
    Install the latest version of ubuntu 18.04 and ROS melodic!

    In front of the installation process, over-reliance on the contents of the book, I encountered many problems, presumably because the book out earlier, the software are constantly upgraded, so the operation mode when writing a book now estimated wrong. So this time I was all by the official website of the content of ROS operation.

    The successful completion of the installation ubuntu18.04!
    The successful completion of the ROS melodic installation!
    Successfully installed the latest version of Aduino 1.8.8, but in the new version of ubuntu, a serial communication touches a tough one: After connecting the system to recognize the serial ttyUSB0, can not open the Arduino IDE, saying that you want your users on Baidu Group added to the serial port is located, press this operation, serial ports are met, but also communication, you can download unsuccessful!
    And then found that the need to modify the permissions of the serial port, using chmod 777 / dev / ttyUSB0, after the implementation of Click, finally succeeded, it seems linux "pit" A lot of ah :-(

    Next to proceed to install the Android environment, and excitedly open ROS official website Android section, under the pot of cold water poured from the ground: Android core currently only supports ROS kinetic, sad reminders ah still blame me for not fully see the data!.

    and then had to reinstall the system but fortunately is installed on a virtual machine, SSD is also enough! big, and then loaded a retention ubuntu18.04, because the equipment is 64-bit, maybe what software needs.

    reloading can only be installed ubuntu16.04, because ROS kineric only be installed on this version.

    because in front when you install Android, seems to be some need to support 32-bit software library, simply install the 32-bit version of ubuntu.

    in less than a week is the third time I installed ubuntu system, it seems that God let me familiar linux ah this way!

    the more smoothly the installation of ubuntu, with Baidu cloud disk, download a lot faster than a direct download from the official website of ubuntu.
    proceed to install ROS Kinetic after the successful installation It can be considered successful, if a little ring true, is this:
    ! When installing ROS in ubuntu18.04, content can be directly under Windows Chrome page copy directly to the ubuntu terminal, performed directly
    in ubuntu16.04, but to copy only the shining web content keyboarding, some command is very long, I'm not very familiar with, so wrong a few times! I do not know the limitations of this version of ubuntu, or what place I set up wrong?

    Hopefully begin to install the Android environment, this no longer detours, directly installed Android Studio, you can still run into trouble, according to the official website of ROS prompt decompression in the / opt directory, you can run into a permissions problem, this concept not thoroughly understood, so toss a few times, but also in the process of installing the SDK, asked something I do not understand the question, after the random selection SDK to install to the / root / Android / under sdk directory, it is inconvenient. Its attempt to move to / opt / android_sdk directory, twists and turns, finally do so installed.

    Begin installing Android core ROS needed, the result was the final step in catkin_make Difficult to see tips if they did not compile those routines by changing SDK environment many times, have not been eliminated, it appears that according to my current skill is unable to resolve the internet also did not find the answer, experts had known for a long time did not contact, I am sorry to bother hastily, and as I now this level, it is estimated people answered and I did not understand, or shelve it, to concentrate on a given Arduino and STM32!

    This, you can start preparing a learning-based programming ROS.

    But before that, I want to re-implement it: Since the Arduino IDE supports STM32 board, is not supported by the Arduino programming STM32 ROS library board needs to try it, ready to buy a nucleo STM32F03RB try. If there is a master done such attempt, but also look pointing ^ _ ^

Guess you like

Origin blog.csdn.net/embedream/article/details/91817819