首页 技术 正文
技术 2022年11月17日
0 收藏 660 点赞 4,987 浏览 3494 个字

可以利用Eclipse集成开发环境进行ROS开发,从而提高研发效率。以色列巴尔伊兰大学的Mr. Roi Yehoshua开设了一门ROS课程,课程2( Lesson 2)讲解了如何利用Eclipse在ROS上进行开发。这里走下总结整理。安装步骤如下:

1. 安装Java8

我们采用Eclipse Neon版本的IDE,所以需要Java8的运行环境,下面为安装Java8的命令,如下所示:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

2. 安装Eclipse Neon

  • 确保Java虚拟机JVM已经安装,如果没有安装,在终端执行以下的命令:
$sudo apt-get install default-jre
  • 下载Eclipse IDE for C/C++开发平台:

    —-下载地址:http://www.eclipse.org/downloads/

    —-最新的Eclipse Neon版本为:eclipse-cpp-neon-1a-linux-gtk-x86_64.tar.gz

  • 解压Eclipse到你指定的文件夹中。
  • 在终端中,将Eclipse移到系统的目录 /opt,执行如下命令:
$sudo mv eclipse /opt
  • 创建一个链接,以给所有的用户可以使用,执行如下命令:
$sudo ln -s /opt/eclipse/eclipse /usr/bin/eclipse 
  • 为了方便,弄个Eclipse的快捷方式到桌面
$sudo gedit /usr/share/applications/eclipse.desktop

添加如下内容:

[Desktop Entry]
Name=Eclipse
Type=Application
Exec=bash -i -c "/opt/eclipse/eclipse"
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE
Name[en]=eclipse.desktop

–The bash –i – c command will cause your IDE’s launcher icon to load your ROS-sourced shell environment before launching eclipse

3. 生成Eclipse项目文件

  • 创建工作空间,执行如下代码:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws
$ catkin_make
  • 创建一个包first_pkg,执行如下代码:
$ cd ~/catkin_ws/src
$ catkin_create_pkg first_pkg std_msgs rospy roscpp
  • 到catkin的工作空间,利用catkin_make命令,建立一个eclipse的项目,命令如下:
$ cd ~/catkin_ws
$ catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles"
  • 项目的文件声称在目录 ~/catkin_ws/build里。

4. 导入项目

  • 启动 Eclipse
  • 选择catkin_ws 文件夹作为工作空间文件夹:

 ROS知识(6)—-基于Eclipse开发 

  • 选择File –> Import –> General –> Existing Projects into Workspace

ROS知识(6)—-基于Eclipse开发

  • 从文件夹~/catkin_ws/build中导入项目

ROS知识(6)—-基于Eclipse开发

  • 剔除没必要的目录。如果项目比较大,整个项目浏览器会比较的繁杂,为了让项目浏览更简洁,我们做些设置。右击项目build,选择Properties -> Resource,添加一个资源过滤器,如下图所示进行填写。然后选择ok,并应用即可。

ROS知识(6)—-基于Eclipse开发

ROS知识(6)—-基于Eclipse开发

5. 添加预编译头文件的路径

  • 默认情况下,Eclipse是不会只能识别到ROS的头文件信息的,为了修复它,作如下操作进行设置:

    –到 Project Properties –> C/C++ General –> Preprocessor Include Paths, Macros, etc. –> Providers tab    –检查CDT GCC Built-in Compiler Settings [Shared]ROS知识(6)—-基于Eclipse开发   6. 项目结构

  • 项目的源文件在文件夹 “Source directory”中,开发者可以在这个目录下添加源代码。

ROS知识(6)—-基于Eclipse开发7. 添加项目文件

  • 右击src,然后选择New –> Source File, 创建文件 hello.cpp,如下图所示:

ROS知识(6)—-基于Eclipse开发  小技巧,Eclipse自动补齐代码快捷键:Ctrl+Space   编写如下代码:

#include "ros/ros.h"
 
int main(int argc, char **argv)
{
ros::init(argc, argv, "hello");
 
ros::NodeHandle nh;
ros::Rate loop_rate();
 
int count = ;
while (ros::ok()) // Keep spinning loop until user presses Ctrl+C
{
ROS_INFO_STREAM("hello world" << count);
 
ros::spinOnce(); // Allow ROS to process incoming messages
loop_rate.sleep(); // Sleep for the rest of the cycle
count++;
}
 
return ;
}

8. 编译节点

  • 在编译前,需要在包的CMakeLists.txt文件中添加新的编译内容(红色部分),如下所示:
cmake_minimum_required(VERSION 2.8.)
project(first_pkg)## Find catkin macros and libraries
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs)## Declare ROS messages and services
# add_message_files(FILES Message1.msg Message2.msg)
# add_service_files(FILES Service1.srv Service2.srv)## Generate added messages and services
# generate_messages(DEPENDENCIES std_msgs)## Declare catkin package
catkin_package()## Specify additional locations of header files
include_directories(${catkin_INCLUDE_DIRS})## Declare a cpp executable
add_executable(hello src/hello.cpp)## Specify libraries to link a library or executable target against
target_link_libraries(hello ${catkin_LIBRARIES})
  • 按快捷键 Ctrl-B,编译项目

 9. 在Eclipse中运行节点

  • 创建新的启动配置,点击 Run –> Run configurations… –> C/C++ Application (double click or click on New)。
  • 选择相应的二进制执行程序 (use the Browse… button),如本例程的执行程序为:~/catkin_ws/devel/lib/first_pkg/hello。

ROS知识(6)—-基于Eclipse开发

  • 确保roscore已经在终端中运行。
  • 点击Run,结果如下图所示:

ROS知识(6)—-基于Eclipse开发当然也可以在终端中运行。 10. 在Eclipse中调试

  • 为了调试,你需要将编译器设置为调试模式,终端中,到catkin_ws/build目录执行如下代码:
$ cmake ../src -DCMAKE_BUILD_TYPE=Debug
  • 重启Eclipse
  • 这样就可以利用Eclipse的调试工具进行调试了,进入调试界面,如下图所示:

ROS知识(6)—-基于Eclipse开发 参考资料:[1].89-685: Introduction to Robotics[2].Lesson 2

上一篇: python开发_linecache
下一篇: Django 中文显示
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,071
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,549
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,397
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,174
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,809
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,889