Robo Ware Studio Manual 1.2.0 EN
User Manual:
Open the PDF directly: View PDF .
Page Count: 55
Download | ![]() |
Open PDF In Browser | View PDF |
RoboWare Studio Manual(www.roboware.me) RoboWare Studio Manual Version:1.2.0 Date:2018-06-20 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) CONTENTS 1 INTRODUCTION ...........................................................................................................................................1 1.1 PURPOSE ....................................................................................................................................................1 1.2 FEATURES ...................................................................................................................................................1 1.3 UPDATES ....................................................................................................................................................2 2 INSTALLATION ..............................................................................................................................................4 2.1 PREPARATION ............................................................................................................................................4 2.2 INSTALLATION............................................................................................................................................4 2.3 UPGRADE ...................................................................................................................................................4 2.4 UNINSTALLATION ......................................................................................................................................4 2.5 LANUCH .....................................................................................................................................................5 3 TUTORIAL........................................................................................................................................................6 3.1 LOCAL DEVELOPMENT MODE ...................................................................................................................6 3.1.1 CREATE A WORKSPACE......................................................................................................................6 3.1.2 OPEN/CLOSE A WORKSPACE ............................................................................................................6 3.1.3 CREATE A ROS PACKAGE .................................................................................................................7 3.1.4 ADD A NEW LIBRARY OR EXECUTABLE(NODE) ................................................................................8 3.1.5 ADD C++ SOURCE CODE TO LIBRARY OR EXECUTABLE(NODE) ...................................................9 3.1.6 EDIT ROS PACKAGE DEPENDENCIES ............................................................................................. 11 3.1.7 ADD MESSAGE/SERVICE/ACTION .................................................................................................. 12 3.1.8 BUILD WORKSPACE ......................................................................................................................... 13 3.1.9 BUILD MULTIPLE PACKAGES ........................................................................................................... 14 3.1.10 CLEAN BUILD OUTPUTS................................................................................................................ 17 3.1.11 INTEGRATED TERMINAL................................................................................................................ 17 3.1.12 DEBUG C++ SOURCE CODE ....................................................................................................... 18 3.1.13 DEBUG PYTHON SOURCE CODE.................................................................................................. 21 3.1.14 ADD LAUNCH FILE ........................................................................................................................ 22 3.1.15 EDIT ~/.BASHRC........................................................................................................................... 24 3.2 REMOTE DEVELOPMENT ........................................................................................................................ 24 3.2.1 CONFIGURATION OF SSH LOGIN.................................................................................................. 24 3.2.2 EDIT “/ETC/PROFILE” ON REMOTE COMPUTER ....................................................................... 25 3.2.3 REMOTE CONFIGURATION ............................................................................................................. 26 3.2.4 REMOTE DEPLOYMENT ................................................................................................................... 28 3.2.5 REMOTE BUILD ................................................................................................................................ 29 3.2.6 REMOTE CLEAN............................................................................................................................... 31 3.2.7 REMOTE DEBUG .............................................................................................................................. 31 3.2.8 REMOTE DEPLOY MULTIPLE PACKAGES ......................................................................................... 33 3.2.9 LAUNCH REMOTE FILE .................................................................................................................... 33 3.3 WIZARD FOR CREATING C++/PYTHON NODE OR CLASS .................................................................. 34 3.4 PREFERENCES .......................................................................................................................................... 37 3.5 ROS GRAPHICAL TOOLS ........................................................................................................................ 38 3.5.1 RUN ROSCORE, RVIZ, RQT, RQT-RECONFIGURE, RQT-GRAPH ................................................... 38 3.5.2 DISPLAY ACTIVE TOPICS/NODES/SERVICES AND INSTALLED PACKAGES/MESSAGES/SERVICES 39 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 3.5.3 RECORD TO OR PLAY ROSBAG....................................................................................................... 40 3.6 ROS PACKAGES MANAGER .................................................................................................................. 42 3.7 SNIPPETS ................................................................................................................................................. 45 3.8 VIM MODE............................................................................................................................................... 48 4 FAQ ................................................................................................................................................................ 51 4.1 HOW TO IMPORT AN EXISTING ROS WORKSPACE? ............................................................................ 51 4.2 HOW TO UPGRADE ROBOWARE STUDIO?........................................................................................... 51 4.3 HOW TO CHANGE THE INTERFACE LANGUAGE? .................................................................................. 51 4.4 “PATH IS NOT ROS WORKSPACE” WARNING WHILE CREATING NEW WORKSPACE. .................. 51 4.5 “LINTER PYLINT IS NOT INSTALLED” WARNING. .............................................................................. 51 4.6 “GIT VERSION IS TOO LOW” WARNING. .......................................................................................... 52 4.7 ROS NODE NAMED “TEST” CANNOT BE BUILT. .............................................................................. 52 4.8 STUCK WHILE BUIDING WORKSPACE. .................................................................................................... 52 4.9 EXPLORER CANNOT BE REFRESHED AUTOMATICALLY WHILE ADDING OR DELETING FILES ............... 52 4.10 CANNOT EDIT/SELECT/COPY. ............................................................................................................. 52 4.11 HOW TO JUMP BACK/FORWARD WHILE EDITING? HOW TO SET KEYBOARD SHORTCUTS? ........... 52 4.12 CANNOT POSITION CMAKELISTS.TXT ERROR WHEN COMPILING. ................................................... 52 4.13 CANNOT EDIT DEPENDENCIES OR CREATE NEW NODE OF META PACKAGE. ................................... 52 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 1 Introduction 1.1 Purpose The purpose of this manual is to fully describe the function of RoboWare Studio and its operating environment. It helps users understand the scope of RoboWare Studio and how to use it, and provides the necessary information for the maintenance and updating of RoboWare Studio software. 1.2 Features RoboWare is an IDE environment for ROS development. It makes the ROS development visual, simple and manageable. It provides ROS workspace management, code editing, building and debugging. It is an IDE, but it will not be an IDE only! The main features of RoboWare Studio are: (1) Easy installation and configuration With a double-click installation, RoboWare Studio can automatically detect and load ROS environment without any additional configuration. This “out-of-the-box” feature helps developers pick it up and figure it out quickly. (2) ROS-specific assistance, compatible with ROS indigo/jade/kinetic RoboWare Studio is specially designed for ROS (indigo/jade/kinetic), it provides an intuitive graphical interface for developers to create ROS workspaces/packages, add source files, create messages/services/actions, list generated packages/nodes, etc. It can update CMakelists.txt and package.xml automatically. (3) Perfect source-coding experience RoboWare Studio provides important features of a modern IDE, such as syntax highlighting, code completion, go to definition, peek definition, diagnostic display, etc. It supports integrated terminal, you can open multiple terminals simultaneously. It also supports Vim mode. (4) C++ and Python debugger RoboWare Studio support “Release”, “Debug” and “Isolated” build options. It debugs C++ and Python codes right from the editor, with break points, call stacks and an interactive console. It displays ROS packages and nodes in the interface. (5) Remote deploy and debug RoboWare Studio can deploy local codes to remote computers, which can be X86 or ARM architecture, which makes users connect to remote computes, build and debug remote codes. (6) Git built-in RoboWare Studio working with Git has never been easier. It reviews diffs, stage files, and make commits right from the editor, and push and pull from any hosted Git service. (7) Follow ROS conventions RoboWare Studio provides an assistant guide to standardized operation for ROS developers, from creating nodes, defining messages, to putting files in a specific path, etc. RoboWare Studio can help to develop high quality, well organized ROS packages. 1 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 1.3 Updates Version 1.2.0 1.Remove RoboWare Designer module from Studio; Version 1.1.0 1.Add catkin_tools build option; 2.To ensure the normal use of catkin_tools, for the previous version of the ROS workspace, you must first remove the tasks.json file in .vscode folder of workspace root, then close and reopen the workspace; 3.Fixed some bugs; Version 1.0.2 1.In order to guarantee a compile error positioning function, for the previous version of the ROS workspace, you must first remove the tasks.json file in .vscode folder of workspace root, then close and reopen the workspace; 2.Optimize remote deploy speed; 3.Add cmakelists.txt error positioning function; 4.Fix package depends automatic modification problem in package.xml; Version 1.0.1 1.Add dependencies when creating package; 2.Fix catkin package editing problem; Version 1.0.0 1.Integrate with RoboWare Designer; 2.Add code format function using clang-format; 3.Add catkin dependencies edit function for packages; Version 0.7.2 1.Add rosbag loop play function; 2.Fix remote debugging abnormal exit problem; 3.Fix compile error problem under Kinetic; Version 0.7.1 1.Use non-Vim edit mode by default; 2.Add remote .bashrc editing function; 3.Add rqt command to the menu; 4.Update Python syntax plugin; 5.Update debug plugin; 6.Automatically switch debug mode based on build options; Version 0.7.0 1.Adopt a brand new scheme for C++ code completion; 2.Add remote roscore command to the menu; 3.Fixed some bugs; Version 0.6.0 1.Add rosbag tool: record and play function; 2.Using VS Code v1.12.2; 3.Improved C++ code completion experience; 4.Fixed some bugs; 2 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Version 0.5.1 1.Provides Vim edit mode; 2.Add ROS node and C++ class wizard; 3.Synchronization of remote and local build directory; 4.Clean up build results remotely; 5.Fixed some bugs; Version 0.5.0 1.optimize structure, decrease the size of installation package; 2.Using VS Code v1.10.1; 3.Move ROS package tools to left Activity Bar; 4.Can mark un-active ROS package in Explorer; 5.Add C++ and Python snippets; 6.Fixed some bugs; Version 0.4.2 1.Automatically update CMakeLists.txt when add/remove source files; 2.Specify one or more packages to build; 3.Specify one or more packages to remote deploy, build; 4.Start .launch file remotely; 5.Add .bashrc menu, support one-key openning of .bashrc file ; 6.Clean up build results; 7.Fixed some bugs; Version 0.4.1 1.Add 32-bit version of RoboWare Studio; 2.Add package installation function in ROS package manager; 3.Add code completion function with Clang; 4.Using VS Code v1.8.1; 5.Fixed some bugs; Version 0.4.0 1.add ROS commands viewer; 2.add ROS package manager; 3.add language settings menu; 4.Fixed some bugs; Version 0.3.1 1.Using VS Code v1.7.2; 2.Add build options list in the Explorer; 3.Add "isolated" build mode; 4.Achieve remote deployment, build and debug; 5.Increased CMakeLists.txt syntax support; 6.Run ROS commands in the integrated terminal; 7.Add rqt_reconfigure and rqt_graph commands to the menu; 8.Graphical user configuration interface; 9.Fixed some bugs; 3 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 2 Installation 2.1 Preparation Prior to installing, take note of the details of your platform and make sure that: 1. Your operating system is Ubuntu. 2. ROS is configured appropriately (Please refer to ROS official here[http://wiki.ros.org/kinetic/Installation/Ubuntu]). 3. You can build ROS packages using catkin_make. (You may need to run $ sudo apt-get install build-essential to install build tools.) 4. Install “pylint” to support Python debugging. $ sudo apt-get install python-pip $ sudo python -m pip install pylint 5. Install clang-format-3.8 or higher version to support code format function. $ sudo apt-get install clang-format-3.8 2.2 instructions Installation Download the latest version of RoboWare Studio and install it easily by double click the deb file or by the following commands in a terminal: $ cd /path/to/deb/file/ $ sudo dpkg -i roboware-studio__ .deb Replace and with the file information (Tips: after typing “sudo dpkg -i ”, press Tab to automatically complete the file name). After installation, RoboWare Studio automatically detects and loads ROS environment without additional configuration. Figure 2-1 Installation in terminal 2.3 Upgrade Download the latest version of RoboWare Studio installation file and install, the previous version will be replaced automatically. 2.4 Uninstallation Use the following commands to uninstall RoboWare Studio: $ sudo apt-get remove roboware-studio 4 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 2-2 Uninstallation 2.5 Lanuch Way #1 (recommended): Click the Ubuntu logo in the upper-left corner of the screen to activate Dash, search for “roboware studio”, click and launch. Way #2: Start the application from terminal by executing: $ roboware-studio 5 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 3 Tutorial 3.1 Local development mode 3.1.1 Create a workspace In welcome panel, click “New Workspace” button (or select “File” - “New Workspace”), select a directory and type workspace name, for example “catkin_ws”, a catkin workspace named “catkin_ws” will be created and displayed in the explorer window. Figure 3-1 RoboWare Studio welcome panel Figure 3-2 catkin_ws workspace 3.1.2 Open/close a workspace In welcome panel, click the “Open Workspace” button (or select “File” - “Open Workspace”), choose the workspace directory and it will be opened and displayed in the explorer window. Select “File” - “Close Workspace”, RoboWare Studio will close the current workspace and return back to welcome panel. 6 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-3 Close workspace 3.1.3 Create a ROS package Right click on “src” folder of ROS workspace. Select “Add ROS Package”, type package name, for example: “my_package” A ROS package named “my_package” will be created. 7 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-4 Create a package named “my_package” with dependencies “roscpp” and “std_msgs” 3.1.4 Add a new library or executable(Node) Right click on package name (“my_package” here), choose “Add Src Folder” to create an empty “src” directory. Right click on “src” to add a cpp file, or right click on “include/my_package/” to add a header file. After typing the file name, select an item from the list as follows: • Add to New Library • Add to New Executable A library or an executable with the same name of the source file will be created. 8 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-5 Create new CPP source file and add it to an executable(Node) 3.1.5 Add C++ source code to library or executable(Node) Right click on “src” or “include/my_package/”. After typing the file name, select an item from the list as follows: • your_library_name1 9 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) • • • • your_library_name2 your_executable_name1 Add to New Library Add to New Executable The source code will be added to corresponding library or executable. CMakeLists.txt will be updated automatically. Figure 3-6 Create a CPP file and add it to “my_executable1” 10 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-7 CMakeLists.txt is updated automatically 3.1.6 Edit ROS package dependencies Right click on package name (“my_package” here), choose “Edit ROS Package Dependencies”, and type the dependencies of this package, for example: “roscpp std_msgs” Press “Enter”, then “roscpp” and “std_msgs” will be added as dependencies of “my_package”. For more dependencies, just use space to separate them. 11 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-8 Edit ROS package dependencies 3.1.7 Add message/service/action Right click on “my_package” to create msg/srv/action folder. Right click on corresponding folder and add message/service/action file respectively. CMakeLists.txt and package.xml file will be updated automatically. Figure 3-9 Create “msg” folder 12 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-10 Create a message file named “MapInfo” 3.1.8 Build workspace RoboWare Studio support “catkin_make” and “catkin_tools” build mode. Select “File – Preferences - Settings” to open configuration page, click the icon on the left of “ROS - ros.buildTool” item and choose build mode. “catkin make” and “catkin_tools” build mode catkin make catkin_tools Figure 3-11 Build options Click the “Run” icon in the left (or select “ROS” - “Build” in the menu) to build the workspace. Select “View” - “Output” to see build outputs. In output window, “ctrl + click” to track source code errors. Once the workspace is built, the “Node” section at the lower part of Explorer window will 13 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) display all packages/nodes in the current workspace. Way #1: Click “Run” icon Way #2: Select “ROS” - “Build” in the menu Figure 3-12 Build ROS package Figure 3-13 View build outputs 3.1.9 Build multiple packages By default, clicking “Build” button will build all packages in current workspace. If we want to 14 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) build multiple packages, we can right-click package name, select “Activate ROS Package” to set it to activate it. One or more packages can be activated in this way. Now, the inactive packages will be shown as strikethrough, they will not be built when wen click “Build” button. Activate “patrol_msgs” package 15 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Activate “patrol_planner” package Figure 3-14 Activate ROS packages After activating “patrol_msgs” and “patrol_planner”, click “Build” button to build these two packages. Figure 3-15 Deactivate “patrol_msgs” package After deactivating “patrol_msgs” package, then click “Build” button, only “patrol_planner” will be built this time. Right-click any package name, select “Activate All ROS Package”, then all packages will be activated, click “Build” button to build all packages in current workspace. 16 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-16 Activate all packages 3.1.10 Clean build outputs The “Node” section at the lower part of Explorer window will display all nodes, click “Clean ROS Node” icon to clean them. Figure 3-17 Clean ROS nodes 3.1.11 Integrated terminal Select “View – Integrated Terminal” to open it and run your command in it. You can click “+” icon to open new terminal, and choose terminal from the drop-down menu. 17 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-18 Integrated terminal 3.1.12 Debug C++ source code In “Explorer” view, choose “Debug” option, click “Build” button to build. (or select “ROS Build” in the menu.) Then, in “Debug” view, the debugger is set to “C++” automatically. In “Explorer” view, choose a node in “Node” section, a debug panel will be displayed in the right. After setting breakpoint in the source code, select “Debug this file” to debug. You can also configure input arguments by clicking “Configure Args”, and select history arguments by clicking “Select Args”. 18 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-19 Choose “debug” option and build Figure 3-20 Debugger is set to “C++” automatically Figure 3-21 Choose a node 19 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-22 Configure input arguments 20 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-23 Set breakpoint and debug 3.1.13 Debug Python source code Go into “Debug” view by clicking “Debug” icon in the left sidebar, select “Python” debugger. Go into “Explorer” view by clicking “Explorer” icon in the left sidebar, open python source code, set a breakpoint. In “Debug” view, click “Start Debugging” icon or press F5 to debug the source code. Figure 3-24 In debug view, select “Python” debugger 21 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-25 Set breakpoint and debug 3.1.14 Add launch file Right click on package name, select “Add Launch Folder” to create a folder named “launch”. Then right click on “launch” folder, select “Add Launch File” to add a new file. Right click on launch file name, select “Run Launch File”, RoboWare Studio will launch it in an integrated terminal. Use “Ctrl+C” to abort. Figure 3-26 Add launch folder 22 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-27 Add launch file Figure 3-28 Launch the file 23 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-29 Launch file is running in an integrated terminal 3.1.15 Edit ~/.bashrc Select “ROS – Open ~/.bashrc” to open and edit the ~/.bashrc file. Figure 3-30 Open and edit ~/.bashrc There is also a “ROS – Open Remote ~/.bashrc” option to edit the .bashrc file on remote computer, use “Ctrl+S” or select “File – Save” to save it remotely. 3.2 Remote Development 3.2.1 Configuration of SSH login First, generate public key and private key on local PC. Open a terminal and execute: $ ssh-keygen Press “Enter” to accept the default parameters, “id_rsa.pub” and “id_rsa” will be generated in “~/.ssh” folder. Then copy “id_rsa.pub” to remote computer: $ scp ~/.ssh/id_rsa.pub username@ip_address:/home/username Where “username” is the user name of remote computer, “ip_addreee” is the IP address of remote computer. An example is as follows: 24 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-31 Generate public/private keys, and copy public key to remote computer After copy “id_rsa.pub” to remote computer, login on remote computer via SSH: $ ssh username@ip_address After login , append the content of “id_rsa.pub” to “~/.ssh/authorized_keys” on remote computer,and change the permission of “authorized_keys” file: $ cat id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys Figure 3-32 SSH login on remote computer, add authorized keys and change file permission After configuration, you can login on remote computer without a password. 3.2.2 Edit “/etc/profile” on remote computer Login on remote computer: $ ssh username@ip_address Where “username” is the user name of remote computer, “ip_addreee” is the IP address of remote computer. After login, switch to the root user, append ROS configuration scripts to “/etc/profile”. 25 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) $ sudo su $ echo "source /opt/ros/indigo/setup.bash" >> /etc/profile Note: the ROS version here is “indigo”, you should replace that according to your ROS version. Figure 3-33 Login on remote computer and configure 3.2.3 Remote configuration Launch RoboWare Studio, in “Explorer” view, click “Configure Remote Arguments” icon, then type remote IP address, remote user name, local private key file name, remote deploy directory step by step: Click “Configure Remote Arguments” 26 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Type remote IP address Type remote user name Type local private key file name 27 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Type remote deploy path Figure 3-34 Remote configuration 3.2.4 Remote deployment After remote configuration, you can deploy your project to remote computer. In “Explorer” view, select “Remote Deploy” option, press “Run” icon to deploy local codes to the specified directory on remote computer (set in the previous section). During remote deployment, the flag in the lower left corner of the status bar would be spinning. Once deployed, the output window would print successful information (Deploy Finished!). Select “Remote Deploy” option 28 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Run deployment Deploying Deploy finished Figure 3-35 Remote deployment 3.2.5 Remote build After deployment, you can build remote projects. As the local build, you can choose “catkin_make” or “catkin_tools” mode. You must install catkin_tools on remote machine previously if you select catkin_tools. Here we only take catkin_make mode for example. In “Explorer” view, choose “Debug (remote)” option and click “Build” button. RoboWare Studio will send build command to remote computer, and display build information in output window. 29 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Choose “Debug(remote)” option Remote build Remote build information Figure 3-36 Remote build 30 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 3.2.6 Remote clean The “Node” section at the lower part of Explorer window will display all nodes, click “Clean ROS Node” icon to clean them. Note: Remote build outputs will be cleaned only if “remote” options are selected, otherwise, local build outputs will be cleaned. Figure 3-37 Clean remote build outputs 3.2.7 Remote debug Before remote debug, make sure that remote workspace has been built with “Debug(remote)” mode and packages and nodes are displayed in “Node” section. 31 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-38 Nodes built with “Debug (remote)” option In “Debug” view, the debugger is changed to “C++ (remote)” automatically. Select a node in “Node” section, then you can follow the local debug instructions to debug the remote node. Figure 3-39 The debugger is changed to “C++ (remote)” automatically 32 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-40 Remote debug 3.2.8 Remote deploy multiple packages By default, RoboWare Studio would deploy all packages in current workspace. If you want to deploy one or more of these packages to remote computer, you could right click on the package name and select “Activate ROS Package”. Only active packages would be deployed to remote computers when we click deploy button. Figure 3-41 Deploy one or more packages Just like local build, by default, clicking “Build” button will build all packages. If we want to build multiple packages, we can right-click package name, select “Activate ROS Package” to set it to activate it. One or more packages can be activated in this way. Now, the inactive packages will be shown as strikethrough, they will not be built when wen click “Build” button. 3.2.9 Launch remote file Right click on launch file name, select “Run Remote Launch File”, RoboWare Studio will launch remote file in an integrated terminal. Use “Ctrl+C” to abort. Figure 3-42 Launch remote file 33 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-43 Launch file is running Figure 3-44 Use “Ctrl+C” to abort 3.3 Wizard for creating C++/Python node or class RoboWare Studio provide a wizard for creating C++/Python node or class. You can create C++ or Python node by right clicking on package name, select “Add C++ ROS Node” or “Add Python ROS Node”, respectively. You can also create a C++ class by selecting “Add C++ Class”. 34 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-45 Wizard for creating node or class By default, two files(a publisher and a subscriber) will be created at the same time. For example, if you want to create a C++ subscriber named “chatter”, you can right click on package name and select “Add C++ ROS Node”, then type “chatter” in the text editor and press “Enter”, there will be two files named “chatter_pub.cpp” and “chatter_sub.cpp” to be created. Right click on “chatter_pub.cpp” and select “Delete”, “chatter_pub.cpp” will be deleted and “chatter_sub.cpp” will be kept. The CMakeLists.txt file will be updated automatically. Figure 3-46 Create C++ node Similarly, when creating Python node, there will be a “*_sub.py” and a “*_pub.py” too, delete the unwanted one. Creating C++ class is similar to creating node. Here, for example, we will create a C++ class named “animal”. First, right click on package name, choose “Add C++ Class”, type the name “animal” and add it to a library or an executable, then press “Enter”, a header file named “animal.h” in “include/ ” directory and a cpp file named “animal.cpp” in “src” directory will be created. The CMakeLists.txt file will be updated automatically. 35 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Choose “Add C++ Class” Type class name “animal” Select target libraries or executables 36 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Creating “animal”class Contents of “animal” class Figure 3-47 Create a class named “animal” 3.4 Preferences By selecting “File – Preferences”, RoboWare Studio provides a graphical user interface as follows to configure language settings, workspace setting, color themes, etc. 37 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-48 RoboWare Studio preferences 3.5 ROS graphical tools 3.5.1 Run roscore, RViz, rqt, rqt-reconfigure, rqt-graph In the menu bar, you could run commonly used ROS tools by selecting “ROS - Run roscore”, “ROS - Run RViz”, “ROS – Run rqt”, “ROS – Run rqt-reconfigure” and “ROS run rqt-graph”. Moreover, you could run remote roscore by selecting “ROS – Run Remote roscore”. 38 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-49 Run rqt-reconfigure 3.5.2 Display active topics/nodes/services and installed packages/messages/services Go into “ROS” view by clicking ROS icon on left sidebar, the active topics/nodes/services and installed packages/messages/services will be displayed. You can expand and collapse each section to view the contents. Figure 3-50 Go into ROS view You can click the names of topics/nodes/services to check their descriptions, or double click their names to view the real-time data streams. 39 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-51 check topic descriptions Figure 3-52 View real-time data streams of a topic 3.5.3 Record to or play rosbag I.Record As shown in previous section, in the “ROS” view, all active topics are listed. You can use “rosbag” tools to record them by clicking “Record ROS Topic” icon, all active topics will be recorded by default. If you want to record one or more topics, you can press “Ctrl” key, and choose topic names you want to record by clicking them, then click “Record ROS Topic” icon to record them. The recorded bag file will be saved in root directory of current workspace, its name is in a format of “yyyy-MM-dd-HH-mm-ss.bag”. You can stop recording by “Ctrl+C” in the integrated terminal. 40 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-53 Record all active topics Choose one or more topics “Ctrl+C” to stop recording Figure 3-54 Record ROS topics 41 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) II.Play In “Explorer” view, you can play bag file by right clicking on the bag file name and selecting “Play Bag File”. You can also select “Loop Play Bag File” to play it in a loop. Since this task is executed in integrated terminal, you can type “Ctrl+C” in the integrated terminal to stop playing. Figure 3-55 Play bag file 3.6 ROS Packages Manager Go into “ROS Packages Manager” view by clicking “ROS Packages Manager” icon in the left sidebar. RoboWare Studio will detect ROS distro automatically and list all packages of this distro (including installed and uninstalled packages). You can choose “metapackages” and “packages” to view theirs lists. Searching of packages is also supported. You can click the package name to view its wiki page just in RoboWare Studio. All packages can be (un)installed by clicking the (un)install button. 42 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Open ROS Packages Manager Choose ROS packages or meta packages option Type package name to search 43 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) View wiki page of a package Package installation Package uninstallation Figure 3-56 ROS Packages Manager 44 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 3.7 Snippets Snippet is a small region of re-usable source code, which is formally defined by RoboWare Studio. When you are coding, type the prefix and press the “Tab” key to automatically compete the code. Even better, RoboWare Studio supports variable modification of snippets, for example, the “for loop” snippet in C++: Type “for” prefix Press the “Tab” key to automatically compete the “for loop” code 45 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Variable modification in the “for loop” snippet Press the “Tab” key to jump between variables Change value of a variable after press the “Tab” key Figure 3-57 Snippets All the snippets and their prefixes available in C++ and Python are listed below: C++ Structure Prefix #if #i 46 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) #ifdef #ifd #ifndef #ifn #else #e #define #def #undef #und inc inc Inc Inc typedef type enum enum union uni struct stru class class namespace name main main if if else el else if ei for for do do while while switch swi case case try try map map string str vector vect template temp ros::init ros::init ros::Publisher ros::pub ros::Subscriber ros::sub ros while roswhile Python Structure Prefix py py py3 py3 ase ase asne asne asr asr as as fail fail prop prop ifmain ifmain . . 47 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 3.8 if if if/else if/else elif elif else else while while while/else while/else for for for/else for/else try/except try/except try/finally try/finally try/except/else try/except/else try/except/finally try/except/finally try/except/else/finally try/except/else/finally with with def def def(class method) def(class method) def(static class method) def(static class method) def(abstract class method) def(abstract class method) class class lambda lambda if(main) if(main) async/def async/def async/for async/for async/for/else async/for/else async/with async/with pdb pdb rospy.init_node ros.init rospy.Publisher ros.pub rospy.Subscriber ros.sub ros while roswhile Vim mode Select “Edit” - “Toggle Vim Mode” in the menu to switch between normal edit mode and Vim edit mode. 48 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-58 Toggle Vim Mode Features of Vim extension: (1) Modes: normal, insert, command-line, visual, visual line, visual block (2) Command combinations (c3w, daw, 2dd, etc) (3) Highly versatile command remapping (jj to , : to command panel, etc.) (4) Incremental search with / and ? (5) Popular vim plugin features built-in (easymotion, surround, commentary) (6) Vim settings similar to those found in .vimrc Select “File” - “Preferences” - “Settings”, choose “Vim Configuration” to configure custom settings. Figure 3-59 Vim configuration For example, you can set “vim.easymotion” to “true” to enable easymotion function. ( is configurable and is \ by default) 49 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) Figure 3-60 Easymotion in Vim 50 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 4 FAQ 4.1 How to import an existing ROS workspace? There are TWO situations: (1) For normal ROS workspaces which is created with command-line “catkin_init_workspace” command, you can directly import it by clicking “Open Workspace” button in “Explorer” view, or by selecting “File” – “Open Workspac” in the menu. (2) For ROS workspace which is created by previous version of RoboWare Studio, you need to delete the “.vscode” hidden folder first, then import it. 4.2 How to upgrade RoboWare Studio? Download the latest version of RoboWare Studio installation file and install, the previous version will be replaced automatically. 4.3 How to change the interface language? In the menu, select “File” – “Preferences” - “Language Settings” to open the configuration file. Figure 4-1 Language configuration file "locale":"zh-CN" indicates Chinese language, "locale":"en" indicates English language. Use “//” to comment(disable) them. After modification, close and restart RoboWare Studio for the changes to take effect. 4.4 “Path is not ROS Workspace” warning while creating new workspace. One possibility is that ROS environment is not imported correctly, After installation of ROS, you need to add the following scripts in the “~/.bashrc” file: source /opt/ros/indigo/setup.bash (for indigo distro) OR source /opt/ros/kinetic/setup.bash (for kinetic distro) Official tutorials of ROS installation can be found here: http://wiki.ros.org/indigo/Installation/Ubuntu (for indigo distro) http://wiki.ros.org/kinetic/Installation/Ubuntu (for kinetic distro) 4.5 “Linter pylint is not installed” warning. You need to install “pylint” by executing the following commands in a terminal: $ sudo apt-get install python-pip $ sudo python -m pip install pylint 51 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com) RoboWare Studio Manual(www.roboware.me) 4.6 “Git version is too low” warning. You need to upgrade git, open a terminal and execute: $ sudo apt-add-repository ppa:git-core/ppa $ sudo apt-get update $ sudo apt-get install git 4.7 ROS node named “test” cannot be built. Don’t name a ROS node “test”, otherwise it will not be built successfully. 4.8 Stuck while buiding workspace. Memory could be too small and there are too many packages in current workspace. Now, you can choose one or several of them to build with RoboWare Studio. 4.9 Explorer cannot be refreshed automatically while adding or deleting files RoboWare Studio uses “inotify” tool to monitor directories for changes. By default the inotify limit is set to 8192, when this limit is not enough to monitor all files inside a directory, the limit must be increased for RoboWare Studio to work properly. You can set a new limit by editing “/etc/sysctl.conf” file: $ sudo vi /etc/sysctl.conf Find “fs.inotify.max_user_watches” option and set its value to a proper number, like: 100000. Then reboot your system to take effect. 4.10 Cannot edit/select/copy. Probably because it’s in Vim mode, just switch to normal mode by select “Edit” – “Toggle Vim Mode” in the menu. 4.11 How to jump back/forward while editing? How to set keyboard shortcuts? You can press “Ctrl+Shift+-” to jump forward, and “Ctrl+Alt+-” to jump back. Select “File” – “Preferences” - “Keyboard Shortcuts” to set keyboard shotcuts. 4.12 Cannot position CMakelists.txt error when compiling. First, remove the tasks.json file in .vscode folder of workspace root, then close and reopen the workspace. 4.13 Cannot edit dependencies or create new node of meta package. Editing dependencies or creating new node are not supported for meta package currently. You could copy all packages under the meta package to the “src” directory to solve this problem. 52 Jinan Tonyrobotics Co. Ltd.(www.tonyrobotics.com)
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.7 Linearized : No Page Count : 55 Language : zh-CN Tagged PDF : Yes XMP Toolkit : 3.1-701 Producer : Microsoft® Word 2016 Creator : gao Creator Tool : Microsoft® Word 2016 Create Date : 2018:07:31 17:40:55+08:00 Modify Date : 2018:07:31 17:40:55+08:00 Document ID : uuid:1DDC3991-C6BE-4B63-9167-92C032508A10 Instance ID : uuid:1DDC3991-C6BE-4B63-9167-92C032508A10 Author : gaoEXIF Metadata provided by EXIF.tools