ros创建功能包和编译过程问题处理
文章目录
- 1. 创建工作空间和功能包
- 2.新建cpp文件
- 3.修改CMakeLists.txt
- 4.编译问题
- 4.1 Could NOT find rospy (missing: rospy_DIR)
- 5. 运行可执行文件
- 5.1 运行roscore的Resource not found: roslaunch的解决方法
- 5.2 Command 'rosrun' not found问题
- 5.3 执行可执行文件
1. 创建工作空间和功能包
参考添加链接描述
2.新建cpp文件
在创建的功能包helloworld/src下创建helloworld.cpp文件,内容如下:
//1.包含ros的头文件
#include "ros/ros.h"//2.编写main函数
int main(int argc, char * argv[]){//3.初始化ros节点ros::init(argc,argv,"hello_node");//4.输出日志ROS_INFO("hello wordld!");return 0;
}
3.修改CMakeLists.txt
修改helloworld/CMakeLists.txt文件,修改前后的对比图如下
总结修改有几点,在build部分
(1) 找到add_executable()去掉前面的注释,并把此函数第1个参数(节点名)改为hw(可根据需要修改),第2个参数改为新建的cpp文件,比如helloworld.cpp。
(2) 找到target_link_libraries(),并去掉注释,并把此函数第1个参数改为hw,和add_executable()第1个参数名字保持一样。
下面就开始编译
4.编译问题
在catkin_ws下用catkin_make命令编译
4.1 Could NOT find rospy (missing: rospy_DIR)
解决方案:find_package()函数注释掉第3个参数rospy的引用
5. 运行可执行文件
5.1 运行roscore的Resource not found: roslaunch的解决方法
具体信息:
... logging to /home/kandi/.ros/log/8e9b6ac4-b602-11ec-96b9-7fb5732bd610/roslaunch-ubuntu-2120.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.Resource not found: roslaunch
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/kandi/catkin_ws/src
ROS path [2]=/opt/ros/noetic/share
The traceback for the exception was written to the log file
根据回忆,之前运行roscore是没问题的,中间在处理编译问题的时候按照了下面的软件:sudo apt-get install python3-roslaunch
解决方法:
sudo apt-get install ros-noetic-roslaunch
换成noetic对应的版本即可。
5.2 Command ‘rosrun’ not found问题
具体报错信息:
Command 'rosrun' not found, but can be installed with:sudo apt install rosbash
解决方法:重新安装ros版本
sudo apt install ros-noetic-desktop-full
5.3 执行可执行文件
命令行终端先运行roscore启动master阶段,再在另一个终端执行可执行文件,生成的可执行文件在~/catkin_ws/devel/lib/helloworld目录下
有两种运行方法,到可行性文件所在目录:
(1) rosrun命令:rosrun helloworld hw,其中helloworld是功能包名,hw是节点名(也就是可执行文件名)
(2) 直接执行:./hw。
ros创建功能包和编译过程问题处理相关推荐
- 相机标定原理 用ROS camera_calibration 功能包 在gazebo中进行 相机校准
在gazebo中进行相机标定 相机标定原理 相机标定意义 相机标定原理 相机标定参数 相关坐标系 世界坐标系 相机坐标系 像素坐标系.图像坐标系 相机坐标系转换为世界坐标系 像素坐标系转换为图像坐标系 ...
- ROS rviz_satellite功能包可视化GNSS轨迹,卫星地图的使用
安装步骤 mkdir -p catkin_ws/src cd catkin_ws/src git clone https://github.com/nobleo/rviz_satellite # cl ...
- ROS机器人操作系统——创建工作空间与功能包(四)
ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...
- ROS知识【11-1】:建立用户自己的工作空间、功能包
一.关于功能包 的操作指令 围绕功能包的操作指令,这些指令存在的必要性,就是直接对某个包进行操作,尤其是如果有上百个功能包,直接从linux进行操作是低效的: 二.乌龟案例分析 当ros安装好后,用下 ...
- ROS2入门教程—创建ROS2功能包(C++版)
ROS2入门教程-创建ROS2功能包(C++版) 1 ROS2中的功能包 2 创建功能包 3 编译功能包 4 设置环境变量 5 运行功能包 6 功能包中的内容 7 修改package.xml文件 ...
- ROS2——功能包(六)
ROS2机器人操作系统 文章目录 ROS2机器人操作系统 前言 一.功能包是什么 二.功能包的具体使用 1.创建功能包 2.编译功能包 3.功能包的结构 C++功能包 Python功能包 前言 每个机 ...
- ROS: catkin和rosmake创建和编译功能包、执行节点
ROS: catkin和rosmake创建和编译功能包 1.编译功能包 在工作空间的根目录下执行编译才行,比如我工作空间根目录是/home/kandi/catkin_ws 2.编译生成目标文件 这里以 ...
- ROS(1)创建工作空间和功能包过程
1.创建工作空间 (1)创建 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace (2)编译 cd ~/catkin_w ...
- ROS入门-7.创建工作空间与功能包
一.工作空间 概述:是一个存放工程开发相关文件的文件夹 包括四个主要文件夹 src(代码空间):用来放置功能包,功能包的代码,配置文件,launch文件等 build(编译空间):放置编译过程当中产生 ...
最新文章
- XP,2003下使用route命令增加永久路由(静态路由)
- 磁盘被占满 系统出现 no space left on 报错(block被占满/inode被占满)
- owc_绘图区(PlotArea)背景显示多种颜色
- 关于Debug和Release之本质区别的讨论
- 静态方法+工厂方法(静态方法用途)
- 云+X案例展 | 传播类:南方报业数据中台建设,助力“智媒”飞跃发展
- 5G 是安全漏洞的“救世主”吗?
- fatal error LNK _X
- 数据分析师的前世今生
- atitit.DD dragdrop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
- c语言怎样设计程序界面,「分享」C语言如何编写图形界面
- 软件供应链安全威胁:从“奥创纪元”到“无限战争”
- superview透明问题
- StringRedisTemplate、opsForValue、setIfAbsent、setIfPresent、getAndSet、increment、decrement用法
- ps3能装linux上网,上百度聊QQ 装Linux让你的PS3无所不能
- Linux线程同步与Windows线程同步
- flutter的Toast
- Android端实现多人音视频聊天应用(二):多人视频通话
- VM虚拟机故障安装不了虚拟网卡解决办法
- 云中数据_免费备份和共享云中数据的最佳网站
热门文章
- java groovy jar包_如何将jar包包含在groovy脚本中?
- android html 换行_Android中Strings资源加空格,换行符,@等方法示例
- linux杀dmol3进程,linux下运行Gaussian09进程被killed - 量子化学 - 小木虫 - 学术 科研 互动社区...
- 拖链电缆 机器人电缆_尼龙拖链在机器中起着电缆的作用
- jvm中有哪些内存区域会发生内存溢出
- python3.5.3下载安装教程_在Python3.5下安装和测试
- php cms 插件开发,phpcms编辑器插件最新版——ckeditor4.5
- Java高并发编程:使用JDK5中同步技术的3个面试题
- abap 给用户分配事物代码权限_【第五篇】SAP ABAP7.50 之用户接口
- 相机内参_鱼眼相机标定模型