ROS IDE —— RoboWare Studio

article/2025/10/3 22:46:06

RoboWare Studio是ROS的一款IDE,但是它的功能又比较强大,使得开发更加快速、简单。

要安装RoboWare Studio,首先确保你的Ubuntu版本是14.04或者16.04版本,目前只支持这两个版本,并且完成了ROS的安装和配置,可以通过catkin_make来构建ROS包,然后就可以去RoboWare的官网去下载对应的安装包安装便可。

安装好后运行RoboWare,点击左侧的资源管理器(快捷键ctrl+shift+E),创建一个工作区。

图1  Roboware Studio界面

创建好后右键工作区下SRC文件夹,新建ROS包。输入test std_msgs roscpp,第一个是package的名字,后面两个是依赖项。

建好ROS包后,右键该ROS包可以添加msg、srv等文件夹,这些以后会用到,这里就在src文件夹下新建一个cpp文件,取名后选择加入新的可执行文件中

图2  添加新的可执行文件


粘贴如下代码以便测试

#include "ros/ros.h"
#include "std_msgs/String.h"
#include <sstream>
int main(int argc, char **argv)
{ros::init(argc,argv,"example");ros::NodeHandle n;ros::Publisher chatter_pub = n.advertise<std_msgs::String>("message",1000);ros::Rate loop_rate(10);while(ros::ok()){std_msgs::String msg;std::stringstream ss;ss << "Here is an example!";msg.data=ss.str();chatter_pub.publish(msg);ros::spinOnce();loop_rate.sleep();}return 0;
}
点击左上角的锤子运行选定构建任务或者ctrl+shift+B,编译完点击上方菜单栏ROS,运行roscore,当然你要在终端中运行也是可以的,然后rosrun test example,根据自己命名更改参数,tab没有结果的记得重新source一下该工作区的setup.bash,看过我“ROS工作空间的创建”那篇文章的应该都知道要怎么做。

然后再另一个终端中输入rostopic list,就可以看到这个节点跑起来了。另外,不想开这么多终端的话,也可以用rosrun test example& 的方法

图3  运行节点后话题列表

图4  单终端的方法

用RoboWare很方便,添加cpp源文件、srv等文件会自动在CMakeLists.txt中生成对应代码,不用自己添加,对于一些不是很懂CMake的朋友来说无疑帮了大忙,最近博主在学习关于opencv的内容,也是要用cmake,又想把代码、图片等分文件夹放,写CMakeLists.txt真的是头都大了。

最后,RoboWare Studio还集成了很多别的功能,比如远程调试、git等,在它的官网都有介绍,大家可以花点时间看一看,试一下,最好把git用起来,说不定你可能就手抖,像我一样不小心删了一个ROS包,所有代码丢失的悲剧。


http://chatgpt.dhexx.cn/article/xC6tnFre.shtml

相关文章

RoboWare Studio的安装

RoboWare是什么&#xff1f; RoboWare Studio是国人开发的一个ROS系统IDE&#xff08;集成开发环境&#xff09;&#xff0c;基于微软开源的VSCode内核开发&#xff08;因此这个界面跟VSCode非常像&#xff09;&#xff0c;功能比较强大&#xff0c;使得开发更加快…

RoboWare Studio安装教程

RoboWare官网&#xff1a;http://www.roboware.me/#/home 选择合适的版本下载&#xff0c;注意32位与64位之分。下载完以后先不要着急安装&#xff0c;为了更好地使用RoboWare Studio&#xff0c;我们需要事先安装两个比较常用的插件。 1、为了支持Python调试功能&#xff0c;…

Roboware Studio教程 (ROS kinetic)

RoboWare Studio是一个ROS集成开发环境。它使 ROS开发更加直观、简单、并且易于操作。可进行ROS工作区及包的管理、代码编辑、构建及调试。 下载链接&#xff1a;https://pan.baidu.com/s/1D169dFyf2OD3SFBZVZy3pQ 密码&#xff1a;3iuk 准备 安装前&#xff0c;请查看系统…

roboware的使用

安装 roboware相当于一个专门适配ROS的vscode&#xff0c;功能性十分强大&#xff0c;几乎所有与ROS相关的操作都可以在IDE中完成。目前官网已经挂掉&#xff0c;可以选择百度云安装&#xff1a; https://pan.baidu.com/s/1D169dFyf2OD3SFBZVZy3pQ 密码&#xff1a;3iuk 或者去…

RoboWare Studio 安装教程与可能问题解决

一、下载RoboWare源码 途径1&#xff1a;官方GitHub连接&#xff1a;https://github.com/TonyRobotics/RoboWare 途径2&#xff1a;RoboWare官网&#xff1a;http://www.roboware.me/#/home &#xff08;我选择了途径1&#xff09; 下载完后解压&#xff0c;我们可以看到文…

round() 函数

查看更多 https://www.yuque.com/docs/share/50c54ca6-17b5-4a09-959b-d8be30a16520

RowBounds 的使用

generator 添加 查询的写法 offset偏移量 size 每页的大小

row_number() over (partition by order by desc)用法

转自https://www.cnblogs.com/linJie1930906722/p/6036053.html 分区函数Partition By的与row_number()的用法以及与排序rank()的用法详解(获取分组(分区)中前几条记录) partition by关键字是分析性函数的一部分&#xff0c;它和聚合函数不同的地方在于它能返回一个分组中的多…

row_number 语法

ROW_NUMBER()函数将针对SELECT语句返回的每一行&#xff0c;从1开始编号&#xff0c;赋予其连续的编号。在查询时应用了一个排序标准后&#xff0c;只有通过编号才能够保证其顺序是一致的&#xff0c;当使用ROW_NUMBER函数时&#xff0c;也需要专门一列用于预先排序以便于进行编…

row_number()函数

语法格式&#xff1a;row_number() over(partition by 分组列 order by 排序列 desc) SELECTROW_NUMBER() OVER(PARTITION BY sh.BUSMAIINFID ORDER BY nvl(sh.TIMESTAMP, sh.CREATEDATE) DESC)AS RN,sh.ORGID,sh.BUSMAIINFID,sh.TIMESTAMP,sh.CREATEDATE FROMREG_NETREGINFOA…

MyBatis中的RowBounds

如何分页查询 Mybatis如何分页查询&#xff1f;Mysql中可以使用limit语句&#xff0c;但limit并不是标准SQL中的&#xff0c;如果是其它的数据库&#xff0c;则需要使用其它语句。MyBatis提供了RowBounds类&#xff0c;用于实现分页查询。RowBounds中有两个数字&#xff0c;off…

row_number() over(partition by)整理

row_number() over(partition by)&#xff0c;作为oracle常用的分析函数&#xff0c;身为数据开发时必须要掌握的。不过一段时间不用&#xff0c;难免会有些忘记&#xff0c;今天整理一下一些场景下的用法。 现有表&#xff08;test_rownumber&#xff09;有如下数据&#xff…

Mybatis分页之RowBounds

Mybatis可以使用RowBounds进行分页 dao层 sql的xml文件&#xff0c;因为是java层面的分页&#xff0c;所以sql不需要分页 单元测试 因为参数是第几个开始&#xff0c;这样很不友好&#xff0c;我们一般情况分页是第几页开始&#xff0c;页大小是多少&#xff0c;所以这就需要我…

MySQL–ROW_NUMBER

MySQL–ROW_NUMBER 一、窗口函数 ​ 要讲row_number&#xff0c;首先得讲一下窗口函数。窗口函数&#xff0c;也叫OLAP函数&#xff08;Online Anallytical Processing&#xff0c;联机分析处理&#xff09;&#xff0c;可以对数据库数据进行实时分析处理。 ​ 窗口函数的基…

row_number() OVER(PARTITION BY)函数介绍

OVER(PARTITION BY)函数介绍 开窗函数 Oracle从8.1.6开始提供分析函数&#xff0c;分析函数用于计算基于组的某种聚合值&#xff0c;它和聚合函数的不同之处是&#xff1a;对于每个组返回多行&#xff0c;而聚合函数对于每个组只返回一行。 开窗函数指定了分析函…

巧用ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING

背景 数据如上&#xff0c;按id和ssny分组&#xff0c;求最大的开票时间&#xff0c;若为空&#xff0c;取非空的上一期组内最大开票时间 解 SELECT id, ssny, kpsj, max(kpsj) OVER(PARTITION BY id ORDER BY ssny desc ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) …

mybatis RowBounds 分页

在 mybatis 中&#xff0c;使用 RowBounds 进行分页&#xff0c;非常方便&#xff0c;不需要在 sql 语句中写 limit&#xff0c;即可完成分页功能。但是由于它是在 sql 查询出所有结果的基础上截取数据的&#xff0c;所以在数据量大的sql中并不适用&#xff0c;它更适合在返回数…

RowBounds分页

不再使用SQL实现分页 1.接口 //分页List<User> getUserByRowBounds(); 2.mapper.xml <!-- 分页--><select id"getUserByRowBounds" resultType"UserMap">select * from mybatis.user</select> 3.测试 Testpublic void getUserByRo…

row_number() OVER(PARTITION BY)

日萌社 人工智能AI&#xff1a;Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战&#xff08;不定时更新&#xff09; row_number()排序函数 统计每个部门薪资最高的员工信息&#xff08;同一个部门的员工按照薪资进行降序排序&#xff09;第一种写法&#xff1a;ro…

在VS中安装nuget离线包nupkg文件

1、打开或者新建任意一个项目 2、项目-管理NuGet程序包 3、设置 4、设置好以后如下图&#xff0c;点击确定 5、安装