ROS创建工作空间与功能包

创建用终端进行创建,创建完成后可以在vscode上使用

环境配置:ubunto20.04

工作空间下会产生以下四个文件夹,其中src是需要我们创建。

  • src:放置代码(代码空间)
  • bulid:编译中产生的中间文件(编译空间)
  • devel:编译出来的文件(开发空间)
  • install:(安装空间)

  1 创建工作空间

mkdir -p ~/catkin_ws/src  #catkin_ws文件夹名字(可随意)
cd ~/catkin_ws/src #进入src文件夹
catkin_init_workspace #将src定义为ros工作空间

  2 编译工作空间

cd ~/catkin_ws/ #进入主文件夹
catkin_make    #编译

注意:此时可能只产生三个文件夹,没有上述的install文件夹,在主文件夹下运行下面代码即可。

catkin_make install

  3 设置环境变量

source devel/step.bash

  4 检查环境变量

echo $ROS_PACKAGE_PATH

这里会出现你创建的src文件夹的路径,这说明环境变量配置成功

~$ echo $ROS_PACKAGE_PATH
/home/user/catkin_ws/src:/opt/ros/noetic/shar #出现src文件夹路径

5 创建功能包(小乌龟画圆为例子,C++为例)

cd ~/catkin_ws/src #进入src文件夹
catkin_create_pkg learning_topic roscpp rospy std_mags geometry_msgs turtlesim
#learning_topic 功能包名 后面的是依赖包比如c++.python等

 

6 创建小乌龟划圆圈代码

cd ~/catkin_ws/src/learning_topic/src #进入文件夹
touch velocity_publisher.cpp  # 创建cpp文件

打开cpp文件,输入划圆圈代码

#include <ros/ros.h>
#include <geometry_msgs/Twist.h>

int main(int argc, char **argv)

{
   ros::init(argc, argv, "velocity_publisher");
   
   ros::NodeHandle n;
   
   ros::Publisher turtle_vel_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel",10);
   
   ros::Rate loop_rate(10);
   
   int count = 0;
   while (ros::ok())
   {
     geometry_msgs::Twist vel_msg;
     vel_msg.linear.x = 0.5;
     vel_msg.angular.z = 0.2;
     
     turtle_vel_pub.publish(vel_msg);
     ROS_INFO("Publish trutlr velocity command[%0.2f m/s rad/s]",vel_msg.linear.x,vel_msg.angular.z);
     
     loop_rate.sleep();
   }
   
   return 0;
}

 

7 配置CMakeLists.txt文件

文件路径:/catkin_ws/src/learning_topic

打开文件添加以下代码

#############
## Install ##          将以下代码加在这个东西上面
#############

add_executable(velocity_publisher src/velocity_publisher.cpp)
#将cpp文件 编译成velocity_publisher可执行文件
target_link_libraries(velocity_publisher ${catkin_LIBRARIES})
#将可执行文件与ros库做连接,比如就这里用到c++库

8 编译写好的文件

cd ~/catkin_ws #进入文件夹
catkin_make #编译

9 设置环境变量

source devel/setup.bash

可以提前配置好以后就不用配置了

在主目录中有一个隐藏文件.bashrc,点击进入,在最下面添加

source /home/电脑用户名/catkin_ws/devel/setup.bash

10 运行(也可以在vscode上面运行)

10.1 打开一个终端:运行ros

roscore

10.2 打开第二个终端:运行海龟仿真器(这里按tab,不是回车)

rosrun turtlesim

10.3 选择下面这个

rosrun turtlesim turtlesim_node

10.4 打开第三个终端

rosrun learning_topic

完成

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值