【ROS机器人学习】--------1ROS工作空间和功能包创建

虚拟机工具和镜像链接: https://pan.baidu.com/s/1HDmpbMESiUA2nj3qFVyFcw?pwd=8686
提取码: 8686


ROS工作空间是一个用于组织和管理ROS(机器人操作系统)包的目录结构,它通常包含多个子目录,用于存放源码、构建文件和安装文件。工作空间的典型结构包括 src、build、devel 和 install 目录,通过这些目录,用户可以方便地进行代码开发、编译和部署。

ROS功能包是ROS工作空间中的基本构建单元,每个功能包包含一组相关的ROS节点、库、配置文件、启动文件和其他资源,用于实现特定的功能或任务。功能包之间可以相互依赖和协作,用户可以通过定义包的依赖关系和接口来构建复杂的机器人系统


(1)c++

#!/bin/bash

#工作空间创建
sudo mkdir -p "ros_workspace_test/src"
sudo chmod -R 777 "ros_workspace_test"

#编译和架构ROS工作空间
cd "ros_workspace_test"
#编译工作空间构建
catkin_make
#添加到系统环境变量
echo " source ~/ros_workspace_test/devel/setup.bash" >> ~/.bashrc

#创建ROS功能包
cd "src"
#创建包名为“ros_pkg”的ROS功能包
catkin_create_pkg ros_pkg roscpp rospy std_msgs

cd "ros_pkg/src"
#创建源文件
gedit "ros_cpp.cpp"

#刷新环境
source ./devel/setup.bash

# 返回上级目录
cd ..

# 输出成功消息
echo "文件夹 '已成功创建,并在其中创建了文件,并设置了文件权限为777。"

在这里插入图片描述
在这里插入图片描述

#文件加权
sudo chmod 777 ros_workspace_test_cpp.sh
#执行脚本
./ros_workspace_test_cpp.sh

在这里插入图片描述
编写c++源文件并ctrl+s保存编辑

#include "ros/ros.h"            //包含ros头文件
int main(int argc, char *argv[])   //编写ros的main函数
{
ros::init(argc, argv, "node_name_demo1"); //初始化ros节点
ROS_INFO("hello world!");             //输出日志
return 0;
}

在这里插入图片描述
打开工作空间在构建过程中正确链接所需的依赖项
在这里插入图片描述
在这里插入图片描述

#添加编译规则
add_executable(ros_cpp_node src/ros_cpp.cpp)
#添加目标链接库
target_link_libraries(ros_cpp_node ${catkin_LIBRARIES})

在这里插入图片描述
终端跳转到工作空间内编译脚本

catkin_make

#刷新环境
source ./devel/setup.bash

在这里插入图片描述
在这里插入图片描述
执行节点,右键鼠标垂直分割打开另一个终端
roscore:ROS 系统的中央节点

#开启节点
roscore 
#查看功能节点

#跳转到工作空间
cd ros_workspace_test
#运行节点
rosrun ros_pkg ros_cpp_node

在这里插入图片描述
(2)python

#!/bin/bash

#工作空间创建
sudo mkdir -p "ros_workspace_test_py/src"
sudo chmod -R 777 "ros_workspace_test_py"

#编译和架构ROS工作空间
cd "ros_workspace_test_py"
#编译工作空间构建
catkin_make 
#添加到系统环境变量
echo " source ~/ros_workspace_test_py/devel/setup.bash" >> ~/.bashrc

#创建ROS功能包
cd "src"
#创建包名为“ros_pkg”的ROS功能包
catkin_create_pkg ros_pkg1 roscpp rospy std_msgs

#创建py脚本
cd "ros_pkg1"
sudo mkdir "scripts"
sudo chmod -R 777 "scripts"
cd "scripts"
#创建源文件
gedit "ros_py.py"
sudo chmod 777 "ros_py.py"
#刷新环境
source ./devel/setup.bash

# 返回上级目录
cd ..

# 输出成功消息
echo "文件夹 '已成功创建,并在其中创建了文件,并设置了文件权限为777。"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ctrl+s保存shell文件
打开终端加权shell脚本,并运行脚本

#加权
sudo chmod 777 ros_workspace_test_py.sh
#运行脚本
./ros_workspace_test_py.sh

在这里插入图片描述
编写python脚本文件

#! /usr/bin/env python
# -*- coding: utf-8 -*-

"""
    Python 版 HelloWorld

"""
import rospy

if __name__ == "__main__":
    rospy.init_node("Hello")
    rospy.loginfo("Hello World!!!!")

在这里插入图片描述
编写完成后,strl+s保存文件,并关闭文件
打开工程
在这里插入图片描述
在这里插入图片描述
功能包添加所需依赖项

catkin_install_python(PROGRAMS scripts/ros_py.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

在这里插入图片描述
跳转到工作空间内编译工程

catkin_make

#刷新环境
source ./devel/setup.bash

在这里插入图片描述
在这里插入图片描述
执行节点

#开启节点
roscore 
#运行节点
rosrun ros_pkg ros_py.py

在这里插入图片描述

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值