多年以后,面对RoboWare Studio,汤尼机器人的研发工程师将会回想起2015年的那个遥远的秋天。
那时候,公司计划用ROS开发一款机器人底盘

然而,当时并没有特别顺手的开发工具,整个开发流程很原始:先用编辑器编辑代码,然后打开命令行窗口构建,查看变量只能通过窗口打印输出… …
下图是利用VIM编辑器进行代码编辑的界面,虽然配置了NERDTree、YCM、CtrlP、EasyMotion等豪华插件阵容,但面对ROS开发仍然不够专业和便捷。
开发过程中,我们强烈的感受到了几个“痛点”:
痛点1
用过ROS的都会知道,创建工作空间、创建包、加入代码,需要在命令行一步一步执行,最后还需要手动去修改CMakeLists.txt。其中任意一个环节操作不当,就会发生一些莫名其妙的错误。而且大多数错误都是由很低级的失误造成的,排查起来会消耗大量的时间,对于刚刚接触ROS的初学者来说更是如此。


痛点2
用编辑器编辑代码,无法进行定义跳转、语法错误检查、自动补全,严重地降低了开发效率。
这个是很难容忍的!--
dajianli表示。。。

痛点3
代码调试非常麻烦。命令行GDB调试使用起来很不直观,不是所有的开发者都能适应这种“古老”的调试方式。很多时候,只能用打印输出的方式查看运行时变量。


一开始,我们查找了ROS现有的IDE——Eclipse、Qt、CodeBlocks ……,发现都有各自的问题:要么安装、配置麻烦,要么使用不便,要么功能欠缺。面对这种情况,“带头大哥”老汤坐不住了:“我们的痛点,其它ROS开发者肯定也会遇到,我们为什么不开发一个ROS专用的IDE呢,既方便自己,又方便他人。”
说干就干!我们立即在功能需求、技术可行性、路线方案等方面进行了讨论。这是最初构思ROS IDE时,在玻璃墙上留下的草图:
据我推测这个是他们BOSS的办公室的玻璃---dajianli
讨论过程中,公司全栈大牛薄校长推荐了Github的亲儿子——Electron。经过一番研究和比较发现,我们逐步确定了在开源编辑器基础上进行开发的基本路线。随后,曾经写过自己的操作系统并在里面模拟了银河系恒星运转的——大亮哥,和NodeJS业界大牛——大同哥,相继加入了研发团队中,用NodeJS开发RoboWare Studio。
2016年的9月底,RoboWare Studio 0.1.0版问世。10月初的韩国ROSCon 2016会议上,我们向全球发布了RoboWare Studio:
老汤与开源机器人基金会(OSRF) CEO Brian Gerkey、Ubuntu Core工作人员、ROS-Industrial工作人员讨论RoboWare Studio
之后,RoboWare Studio进入了产品的快速迭代期:每周内部发布一个版本,每个月对外发布一个版本。
2016年12月,RoboWare Studio迎来了重要更新,升级到了0.3.1版本,可支持远程部署、构建和调试。这个功能是我们期待已久的!以后调试Odroid XU4、Raspberry PI和Jetson TK1等板卡时,再也不用专门接个显示器鼠标、或者SSH登录的方式进行调试了。现在只需在RoboWare Studio配置好板卡的IP地址信息,就可以在PC机上远程开发了!
最近,我们在RoboWare Studio的帮助下开发了新一代底盘,其中的代码编辑和调试(包括远程调试)全部用RoboWare Studio完成。
接下来,我们会整理大家在使用过程中遇到的问题,并征集广大ROS开发者们的意见,在细节上进行优化,改进使用体验,为大家提供一款真正好用的ROS开发专用IDE 。
▌联系我们:
RoboWare Studio官方网址:
RoboWare Studio文档:
邮箱:info@tonyrobotics.com
RoboWare Studio官方交流群:
110726446 (点我加群)





