turtlebot3-burger_150.png
turtlebot3-waffle-pi_150.png
turtlebot3-arm_150.png
walking-y2_150.png
turbot3-multi_150.png
turbot3-dl-ros1_150.png
turbot3-ai.png
turbot3-dl-ros2_150.png
turbot3-slam_150.png
turbot3-arm_150.png
turtlebot4-lite_150.png
turtlebot4-pro_150.png
turbot4-dl_150.png
turbot4-ai_150.png
aidriving-racebot_150.png
aidriving-autodrive_150.png
turtlebot-arm_150.png
openmanipulator-x_150.png
Home » ROS与C++入门教程 » ROS与C++入门教程-搭建开发环境(Eclipse)

ROS与C++入门教程-搭建开发环境(Eclipse)

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号

ROS与C++入门教程-搭建开发环境(Eclipse)

说明:

  • 介绍如何安装Eclipse
  • 介绍如何制作支持Eclipse的catkin包
  • 介绍如何导入catkin包到Eclipse
  • 介绍如何编译和测试catkin包

Eclipse安装

  • 新版Eclipse已经包含jre,可以忽略安装安装JRE或者JDK
  • 安装JRE或者JDK
apt-get install openjdk-7-jre
  • 设置环境变量, vim ~/.bashrc , 添加如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55       
export JRE_HOME=${JAVA_HOME}/jre      
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib      
export PATH=${JAVA_HOME}/bin:$PATH

请输入图片描述

sudo mv eclipse-SDK-4.2.2-linux-gtk.tar.gz /opt/ 
cd /opt  
sudo tar -xvf eclipse-SDK-4.2.2-linux-gtk.tar.gz
  • 创建新的eclipse.desktop文件,在/usr/share/applications/中
touch eclipse.desktop
vim eclipse.desktop
  • 加入以下行
[Desktop Entry]  
Name=Eclipse  
Type=Application  
Exec=/opt/eclipse/eclipse  
Terminal=false  
Icon=/opt/eclipse/icon.xpm  
Comment=Integrated Development Environment  
NoDisplay=false  
Categories=Development;IDE  
Name[en]=eclipse.desktop
  • 在/usr/share/applications目录中找到eclipse.desktop,并打开eclipse,托至启动栏

请输入图片描述

  • 二进制安装和卸载:也可以apt-get方式进行安装和卸载,只不过安装的版本较低。
#安装
sudo apt-get install eclipse
#卸载
sudo apt-get remove --purge eclipse

安装CDT

  • CDT是让你可以在Eclipse当中可以开发C/C++项目工具箱 (C/C++ Development Tooling)
  • 安装
sudo apt-get install CDT

编写ROS包

  • 建立测试目录和文件
mkdir catkin_ws     #建立工作目录 
mkdir src           #在工作目录下建立src文件夹。
#切到src目录下,我们开始建立包,后面的东东都是依赖项
catkin_create_pkg hello rospy roscpp std_msgs 。
#切到hello 包目录下,此时会多几个文件,切到src目录下
#新建自己的程序。也就是节点程序,开始写你的代码就行。
vim hello.cpp
  • 内容如下:
// a simple "hello" ROS program.
// by taiping.z
// 2016/03/08
#include "ros/ros.h"
#include "std_msgs/String.h"
using namespace ros;
 
int main(int argc, char **argv)
{
  ros::Time::init(); //定时器初始化
 
  ros::init(argc, argv, "hello"); //节点初始化
 
  ros::Rate loop_rate(10); //定时10ms
 
  while (ros::ok()) //节点是否正常工作
  {
 
    ROS_INFO("%s", "hello world !"); //打印节点信息
 
    ros::spinOnce(); //节点只循环一次
 
    loop_rate.sleep(); //不够10ms的补充到10ms为止。
 
  }
  return 0;
}
  • 添加依赖项,在切回来到hello 包底下,在CMakeLists.txt文件中添加依赖项,。
add_executeable(hello src/hello.cpp) #其实会生成hello.exe的名字
Target_link_libraries(hello ${catkin_LIBRARIES}) #添加节点编译需要的库文件。
  • 开始编译整个项目
Catkin_make –force-cmake –G"Eclipse CDT4 – unix makefiles" –dcmake_build_type=debug –dcmake_eclipse_make_arguments=-j8
  • 增加 –-force-cmake之后,表示强制编译,编译工具用的CDT4,且会生成两个文件 .project ,此project 也就是在Eclipse里面要用到的。

  • 编译图示:

请输入图片描述

请输入图片描述

导入ROS包到Eclipse

  • 通过已存在的包导入

请输入图片描述 请输入图片描述 请输入图片描述

配置eclipse里面导入的工程

  • 在导入的项目名称,右击—debug as – debug configurations,配置一下 C/C++ Application 请输入图片描述

  • 下面的库文件都是自动配置好的,假如你的Eclipse里面没有的话,表示没有配置成功。 请输入图片描述

  • 当上面的工作都做好以后,我们就可以进行debug了。

  • 选择下面的debug项进行调试,但是需要先打开roscore 请输入图片描述

  • 运行后的界面 请输入图片描述

参考:

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号


标签: ROS与C++入门教程