RoboWare Studio是一个ROS集成开发环境。它使 ROS开发更加直观、简单、并且易于操作。可进行ROS工作区及包的管理、代码编辑、构建及调试。

下载链接:https://pan.baidu.com/s/1D169dFyf2OD3SFBZVZy3pQ   密码:3iuk

准备

安装前,请查看系统环境并确认:
(1)操作系统 为 Ubuntu。
(2)已完成ROS的安装配置。ROS安装步骤可参照官方网站:
         http://wiki.ros.org/kinetic/Installation/Ubuntu
(3)可使用 catkin_make 构建ROS包。若无法构建,可能需要运行:

$ sudo apt-get install build-essential

(4)为支持 Python 相关功能,需要安装 pylint。

$ sudo apt-get install python-pip
$ sudo python -m pip install pylint

(5)为支持 clang-format 相关功能,需要安装 clang-format-3.8 或更高版本。

$ sudo apt-get install clang-format-3.8

安装

下载Roboware Studio最新版,在下载的文档下,鼠标右键调出终端输入:

$ sudo dpkg -i roboware-studio_<version>_<architecture>.deb

i386为32位版本,amd64为64位版本

输入安装包的名字时,可以tab键自动补全~!

安装过程会弹出 用户协议 可以按 ESC 选择确认!

安装过程会弹出 用户协议 可以按 ESC 选择确认!

安装过程会弹出 用户协议 可以按 ESC 选择确认!(坑了好多人,重要的事说三遍~!)

启动

    图标就是这个

点击图标打开软件:

新建工作区,选择用户目录下 ,名称 :catkin_ws

进来后就是这个样子:

选择Release , 然后在上面菜单栏ROS点击构建:

构建之后:

测试ros是否正常运行,运行roscore :

测试正常~! ctrl + c 取消

新建一个包:

更改 package.xml 信息(随便按键盘字母就能输入了):

左上角 文件--保存

编辑依赖的ROS包列表

CMakeLists.txt 自动更新依赖关系:

ctrl + ` 调出roboware studio终端

在工作空间编译一下lee_package:

创建ROS消息和ROS服务

右键包名,新建Msg文件夹:

保存。

CMakeLists.txt 自动加入一些运行依赖(如果不用这个IDE必须手动添加):

这个软件的强大开始体现~!

先运行roscore再测试下msg:

OK~!

创建一个Srv空文件夹:

srv文件分为请求和响应两部分,由'---'分隔。下面是srv的一个样例:

int64 A

int64 B

---

int64 Sum

其中 A 和 B 是请求, 而Sum 是响应。

同样的CMakeLists.txt 自动添加:

下面通过rossrv show命令,检查ROS是否能够识该服务

重新编译我们的package:

编译完成!

所有在msg路径下的.msg文件都将转换为ROS所支持语言的源代码。

生成的C++头文件将会放置在:

~/catkin_ws/devel/include/lee_package/

Python脚本语言会在:

~/catkin_ws/devel/lib/python2.7/distpackages/lee_package/msg 目录下创建。

lisp文件会出现在:

~/catkin_ws/devel/share/commonlisp/ros/lee_package/msg/ 路径下.

创建消息发布器 talker 和订阅器 listener :

#include "ros/ros.h"
#include "std_msgs/String.h"
#include "sstream"int main(int argc, char **argv)
{ros::init(argc, argv, "talker");ros::NodeHandle n;ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);ros::Rate loop_rate(10);int count=0;while (ros::ok()){std_msgs::String msg;std::stringstream ss;ss << "hello ros~!" << count;msg.data = ss.str();ROS_INFO("%s",msg.data.c_str());chatter_pub.publish(msg);ros::spinOnce();loop_rate.sleep();++count;}return 0;
}

#include "ros/ros.h"
#include "std_msgs/String.h"
void chatterCallback(const std_msgs::String::ConstPtr& msg)
{
ROS_INFO("I heard: [%s]", msg->data.c_str());
}
int main(int argc, char **argv)
{
ros::init(argc, argv, "listener");
ros::NodeHandle n;
ros::Subscriber sub = n.subscribe("chatter", 1000,chatterCallback);
ros::spin();
return 0;
}

现在运行 catkin_make:

成功编译~!

编写发布器和订阅器:

启动发布器

确保roscore可用,并运行:

新终端中:

$ rosrun lee_package talker

启动订阅器

上面我们编写了一个名为"listener"的订阅器节点。现在新终端中运行它:

$ rosrun lee_package listener


编写简单的服务器和客户端:

#include "ros/ros.h"
#include "lee_package/AddTwoInts.h"
bool add(lee_package::AddTwoInts::Request &req,lee_package::AddTwoInts::Response &res)
{res.sum = req.a + req.b;ROS_INFO("request: x=%ld, y=%ld", (long int)req.a, (long int)req.b);ROS_INFO("sending back response: [%ld]", (long int)res.sum);return true;
}
int main(int argc, char **argv)
{ros::init(argc, argv, "add_two_ints_server");ros::NodeHandle n;ros::ServiceServer service = n.advertiseService("add_two_ints",add);ROS_INFO("Ready to add two ints.");ros::spin();return 0;
}

#include "ros/ros.h"
#include "lee_package/AddTwoInts.h"
#include <cstdlib>
int main(int argc, char **argv)
{ros::init(argc, argv, "add_two_ints_client");if (argc != 3){ROS_INFO("usage: add_two_ints_client X Y");return 1;}ros::NodeHandle n;ros::ServiceClient client = n.serviceClient<lee_package::AddTwoInts>("add_two_ints");lee_package::AddTwoInts srv;srv.request.a = atoll(argv[1]);srv.request.b = atoll(argv[2]);if (client.call(srv)){ROS_INFO("Sum: %ld", (long int)srv.response.sum);}else{ROS_ERROR("Failed to call service add_two_ints");return 1;}return 0;
}

现在运行catkin_make命令:

分别在两个终端中运行下面指令:
$ rosrun lee_package add_two_ints_server
$ rosrun lee_package add_two_ints_client 3 5

debug调试

1.首先在程序旁边打一个断点

选择编译的二进制文件 :

选择启动调试:

多了一个调试工具,并且代码执行到黄色高亮处,下面就可以愉快的调试了:

F5一次性执行完,按F11单步调试

参考资料:

ROS官方wiki:http://www.ros.org

roboware官网:http://www.roboware.me

----------------------------------------------------------------

欢迎大家转载我的文章。

转载请注明:转自 抚琴弹出情调零  vx:qiang250571870

Roboware Studio 手册需要的可以下载 https://download.csdn.net/download/qq_41450811/10411256

Roboware Studio教程 (ROS kinetic)相关推荐

  1. ROS学习系列(一):ubuntu16.04下安装 ROS IDE RoboWare Studio 教程

    1.下载RoboWare Studio安装包 不要信从官网下载http://www.roboware.me/#/home 这个网站压根就进不去. 从github上下载安装包,链接https://git ...

  2. ROS笔记(4) RoboWare Studio 的安装

    ROS笔记(4) RoboWare Studio 的安装 1. RoboWare Studio的下载 2. RoboWare Studio的安装 3. RoboWare Studio的开启 4.打开工 ...

  3. ROS IDE —— RoboWare Studio

    RoboWare Studio是ROS的一款IDE,但是它的功能又比较强大,使得开发更加快速.简单. 要安装RoboWare Studio,首先确保你的Ubuntu版本是14.04或者16.04版本, ...

  4. RoboWare Studio的安装

    RoboWare是什么?             RoboWare Studio是国人开发的一个ROS系统IDE(集成开发环境),基于微软开源的VSCode内核开发(因此这个界面跟VSCode非常像) ...

  5. Roboware Studio详细安装教程 (ROS kinetic)以及简单使用

    RoboWare Studio是一个ROS集成开发环境.它使 ROS开发更加直观.简单.并且易于操作.可进行ROS工作区及包的管理.代码编辑.构建及调试. 安装包下载 1 RoboWare官网:htt ...

  6. 在Ubuntu18.04中安装ROS IDE RoboWare Studio 和Visual Studio Code

    安装ROS IDE 前言 一.安装RoboWare Studio 二.安装Visual Studio Code 参考文献 前言 一款好的开发工具可以是开发效率提升,ROS官方推荐了常用的ROS开发环境 ...

  7. ROS kinetic外接Realsense D435i跑ORB_SLAM2教程

    本机环境:window10+vmware+ubuntu16.04+ROS kinetic+Intel Realsense D435i 基本步骤就四步:   1.配置好Realsense的SDK以及ro ...

  8. ROS_Kinetic_01 在 Ubuntu 16.04 安装ROS Kinetic 全教程附资料和镜像 2018.10.20更新

    Exbot易科机器人实验室新站点(测试中):http://server.blackant.org:23452/ 2018 ROS Melodic的迷失与救赎::https://blog.csdn.ne ...

  9. 【Ubuntu16.04】ROS · Kinetic安装 · 图文教程与问题详解

    ROS 安装 1. 设置安装源 在终端输入指令:(同下) sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors ...

最新文章

  1. [JAVA] java仿windows 字体设置选项卡
  2. spring aop 拦截业务方法,实现权限控制
  3. lucene索引文件大小优化小结
  4. postman 以全局变量活用 Token
  5. 天翼云从业认证(2.1)云计算的定义、特点、背景和发展历程
  6. java.lang.NoClassDefFoundError comfasterxmljacksonannotationJsonView
  7. Java排查问题随笔
  8. Juniper基础系列之一---vlan的建立
  9. linux系统python的版本怎么升级,python---linux下升级python的版本
  10. Integer的常用方法和String类型的常用方法
  11. 基于神念TGAM的脑波小车(1)
  12. c语言if的作用,c语言if语句的用法
  13. 云杰恒指:9.3恒指期货早盘资讯
  14. virt-install命令参数
  15. 应用数学是关于计算机,应用数学学科
  16. 你给员工吃肉,你将迎来一群狼!
  17. 地理坐标系和投影坐标系的联系_收藏| 地图投影系列介绍(二)——地理坐标系...
  18. 电子电气架构车载网关系列——网关主要应用场景及相关要求
  19. (转)2008年精典骗术, 2009年你还会上当吗?
  20. 5-06特征变换代码

热门文章

  1. DataHub调研数据血缘
  2. Kafka 消息中间件
  3. c语言——输入一个字符串,将其逆序输出
  4. Windows Shellcode开发[2]
  5. RGB565颜色表,附RGB888转RGB565工具,RGB24转RGB565工具
  6. 机器学习之先验分布,后验分布,共轭先验分布
  7. <Android开发> Android vold - 第四篇 vold 的NetlinkHandler类简介
  8. git恢复修改的文件
  9. JQuery实现图片点击放大
  10. python你好怎么写_python学习之python入门