ROS概述与环境搭建

1.创作工作空间并初始化

mkdir -p 自定义空间名称/src
cd 自定义空间名称/
catkin_make

2.进入src创建ros包并添加依赖

cd src
catkin_create_pkg 自定义ros包名 roscpp rospy std_msgs

上述命令,在工作空间下会生成一个功能包,功能包依赖于roscpp、rospy和std_msgs

helloworld实现(cpp)

1.进入ros包的src目录编辑源文件
cpp源码

//1.包含ros头文件
#include "ros/ros.h"

//2.编写main函数
int main(int argc , char *argv[])
{

	//3.初始化ros节点
	ros::init(argc , argv , "hello_node");
	//创建ros节点句柄(非必须)
	ros::NodeHandle n;
	//4.输出日志
	ROS_INFO("hello world!");
	
	return 0;
	
}

2.编辑ros包下的Cmakelist.txt文件

add_executable(C++节名 src/源文件名称.cpp)

target_link_libraries(C++节名
   ${catkin_LIBRARIES}
 )

3.进入工作空间目录并且编译

cd 自定义空间名称
catkin_make

4.执行
先启动命令行1:

 roscore

再启动命令行2:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 C++节名

PS:

echo "source ~/工作空间/devle/setup.bash" >> ~/.bashrc

helloworld实现(py)

1.进入ros包的添加scripts目录编辑源文件

cd ros包
mkdir scripts

py源码

#! /usr/bin/env python
##指定解释器

#1. 导包
import rospy

#2. 编写主入口
if __name__ == "__main__":
	#3.初始化 ROS 节点
	rospy.init_node("hello_p");
	#4.输出日志
	rospy.loginfo("hello world! by python");

2.为python文件添加可执行权限

chmod +x 自定义文件名.py

3.编辑ros包下的Cmakelist.txt文件

catkin_install_python(PROGRAMS
  scripts/自定义文件名
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

4.进入工作空间目录并且编译

cd 自定义空间名称
catkin_make

5.执行
先启动命令行1:

 roscore

再启动命令行2:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 自定义文件名.py

3.vscode 实现helloworld

1.创建ros工作空间

mkdir -p xxx_ws/src
cd xxx_ws/
catkin_make

2.启动Vscode

进入 xxx_ws 工作空间启动 Vscode

cd xxx_ws
code . 

3. 创建ROS功能包

选定src-》create catkin package
设置包名 添加依赖 (roscpp rospy std_msgs)

4.代码实现

1.c++实现:在功能包的src下新建cpp文件

//1.包含ros头文件
#include "ros/ros.h"

//2.编写main函数
int main(int argc , char *argv[])
{
    setlocale(LC_ALL,"");  //解决中文乱码问题
	//3.初始化ros节点
	ros::init(argc , argv , "hello_node");
	
	//4.输出日志
	ROS_INFO("hello,嘻嘻嘻");
	return 0;
	
}
  1. python实现:在功能包下新建scripts
#! /usr/bin/env python
##指定解释器

#1. 导包
import rospy

#2. 编写主入口
if __name__ == "__main__":
	#3.初始化 ROS 节点
	rospy.init_node("hello_p");
	#4.输出日志
	rospy.loginfo("hello vscode!这是python");

5. 配置CMakeLists.txt

c++配置

add_executable(C++节名 src/源文件名称.cpp)

target_link_libraries(C++节名
   ${catkin_LIBRARIES}
 )

python配置

catkin_install_python(PROGRAMS
  scripts/自定义文件名
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

并为python文件添加权限
scripts打开终端添加:chmod +x 自定义文件名.py

6. 编译执行

1.cpp
可使用快捷键ctrl + shift +B 调用编译
执行,可以vscode 中添加终端(TERMINAL)
先启动命令行1:

 roscore

再启动命令行2:

cd 工作空间
source ./devel/setup.bash
rosrun c++包名 C++节名

2.python
先启动命令行1:

 roscore

再启动命令行2:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 自定义文件名.py
<think>好的,我现在需要处理用户关于ROS框架介绍和环境搭建的请求。首先,用户明确要求了解ROS概述以及环境配置教程,所以我得先整理ROS的基本信息,包括定义、主要特点和版本情况。然后,环境搭建部分需要分步骤说明,可能涉及安装前的准备、安装过程、环境配置以及验证步骤。 用户提供的三个引用中,引用[1]提到了ROS2的安装流程和helloworld程序,引用[2]介绍了Qt配置ROS环境的插件,引用[3]强调了source setup文件的重要性。这些都需要整合到回答中。特别是环境配置部分,必须包含source命令,这是关键步骤,用户可能容易忽略,所以需要详细说明。 接下来要考虑用户可能的背景。他们可能是刚接触ROS开发者,所以步骤要详细,避免使用过多专业术语,或者至少解释清楚。例如,在安装依赖项时,列出具体的命令,并说明每个步骤的作用,比如更新软件源、安装ROS包等。 关于ROS版本的选择,用户可能不清楚该用哪个版本。我需要指出不同Ubuntu版本对应的ROS发行版,比如Noetic适用于Ubuntu 20.04,而Humble适用于Ubuntu 22.04。同时提醒用户根据自身需求选择,如果是新项目可能更适合ROS2。 在环境配置部分,除了基本的source命令,还要提到如何将其添加到bashrc中,这样每次启动终端时自动配置环境。此外,用户可能对开发工具有需求,引用[2]提到的Qt插件和引用[1]中的VSCode配置都是有用的信息,可以补充到开发环境搭建中,提供更多选择。 验证安装是否成功的部分,可以指导用户运行roscore和一个小海龟仿真器,这样直观地确认ROS是否正常工作。如果出现问题,可能需要检查安装步骤或环境变量设置。 最后,生成的相关问题需要围绕用户可能遇到的后续步骤,比如创建工作空间、编写节点、调试工具等,以及ROS2和ROS1的区别,帮助用户进一步学习。 需要确保回答结构清晰,分点说明,代码块和命令用正确的格式,比如安装命令使用sudo apt install,环境配置使用source命令。同时,引用标记要正确对应,比如引用[3]关于source的重要性,引用[1]关于VSCode配置等。 现在,整理这些内容,确保符合用户的要求:使用中文,数学公式正确,独立公式用$$,但这个问题中可能涉及较少数学内容。主要注意代码块和命令的正确格式,以及引用标记的位置。例如,在提到必须source setup文件时,添加引用[3],在提到开发环境时引用[1]和[2]。 最后检查是否有遗漏的步骤,比如依赖安装、密钥设置、环境变量配置,以及验证步骤。确保用户按照步骤操作后能够成功搭建ROS环境。同时,相关问题要引导用户深入学习,覆盖他们可能感兴趣的下一个主题。</think>### ROS框架介绍及开发环境配置教程 --- #### 一、ROS框架概述 **ROS(Robot Operating System)** 是一个开源的机器人元操作系统,提供硬件抽象、设备驱动、通信机制、软件包管理等工具链,帮助开发者快速构建机器人应用。其核心特性包括: - **分布式架构**:基于节点(Node)的通信模型,支持多进程协同工作。 - **消息传递机制**:通过话题(Topic)、服务(Service)和动作(Action)实现模块间通信。 - **软件包管理**:以功能包(Package)为单位组织代码,支持依赖管理和版本控制[^1]。 - **工具生态**:提供可视化工具(如Rviz、Gazebo)和调试工具(如rqt、roslaunch)。 --- #### 二、开发环境搭建步骤(以Ubuntu系统为例) ##### 1. 安装前准备 - **系统要求**:ROS 1(如Noetic)支持Ubuntu 20.04,ROS 2(如Humble)支持Ubuntu 22.04。 - **配置软件源**: ```bash sudo apt update && sudo apt upgrade -y ``` ##### 2. 安装ROS - **添加ROS仓库**: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` - **安装完整版ROS**(以ROS Noetic为例): ```bash sudo apt update sudo apt install ros-noetic-desktop-full ``` ##### 3. 环境配置 - **初始化依赖**: ```bash sudo rosdep init rosdep update ``` - **配置环境变量**(每次终端启动需执行): ```bash echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 此步骤确保ROS命令(如`roscore`)可全局调用[^3]。 ##### 4. 验证安装 - **启动ROS核心服务**: ```bash roscore ``` - **运行示例程序**(新终端中执行): ```bash rosrun turtlesim turtlesim_node ``` 若出现小海龟仿真界面,则安装成功。 --- #### 三、开发环境优化 1. **使用VSCode集成环境** - 安装ROS插件(如`ROS`、`Catkin Tools`)[^1]。 - 配置编译任务(`Ctrl+Shift+B`调用`catkin_make`)。 2. **Qt Creator插件配置** 通过`ros_qtc_plugin`实现ROS工作空间和功能包管理[^2]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值