在ROS中workspace和Package的创建

ROS古月居学习总结:空间workspace和包创建记录

分块目录

    • ROS古月居学习总结:空间workspace和包创建记录
    • ROS启动总结
    • 创建workspace
          • 1.创建工作空间的方法
          • 2.创建完之后编译
          • 3.在写完程序后`catkin_mak`e之后,还要更新环境
    • 在workspace中创建自己的包
    • 在包中编写属于自己的程序
    • 写完程序之后对程序的编译
          • 1.c++文件的操作:
          • 2.py文件的操作:
    • 记录一下c++代码和py代码的开头格式
          • c++格式:
          • python格式:
    • 总结

ROS启动总结

1,总的来说就是节点与节点之间的通信,节点代表机器人的某种功能,多个节点互相作用来控制机器人
启动流程:
roscore->启动rosmaster
rosrun ->package(找到功能包)->exe(经过编译make后形成的可执行文件)->创造一个节点->想干啥干啥
同理用多个终端开起多个执行文件形成多个节点,节点名字和可执行文件名字没鸟关系

2,py文件不同的是不需要可执行文件,py代码本身就是可执行文件,记得右键属性里更改它的使用权限
rosrun ->package(找到功能包)->name.py->创造一个节点->想干啥干啥

具体该部分的代码演示:

 roscore
 ctrl+alt+T //打开新终端
 rosrun package_name exe_name
 rosrun package_name exe_name.py

创建workspace

1.创建工作空间的方法

catkin就是整个Ros的创作空间,相当于一个project,在安装完Ros之后

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
2.创建完之后编译
cd ~/catkin_ws
catkin_make
3.在写完程序后catkin_make之后,还要更新环境
source devel/setup.bash

在workspace中创建自己的包

在catkin中创建属于自己的包,规定包的名字-name_pkg,后面的都是包的依赖:也就是被人写好的包自己这个包里直接可以用,以下代码就依赖了三个包(以下在catkin_ws/src的终端中操作)

 catkin_create_pkg name_pkg std_msgs rospy roscop

然后包里面会有includesrc,c++文件都放在src里面,需要自己创建一个scripts用来放py文件。

在包中编写属于自己的程序

就记录一下:

C++程序编写: 到包的src文件中打开终端输入 touch xxxx.cpp创建c++文件

Python程序编写: 在包中创建一个stricpt文件夹专门存放py代码,同理touch xxxxx.py

写完程序之后对程序的编译

1.c++文件的操作:

每个包里都有Cmake文件,打开以后在
Declare a C++ library下面,install上面

加入

 add_executable(exe_name src/name.cpp)
 target_link_libraries(exe_name ${catkin_LIBRARIES})

差不多意思就是把你写的cpp文件在cmake后编成可执行文件
然后老规矩catkin_make source

2.py文件的操作:

在stricpt里面,右键py属性权限变成可执行文件,然后出去cmake,直接用

记录一下c++代码和py代码的开头格式

c++格式:
#include 
int main(int argc,char **argv)
{
	return 0;
}


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

import rospy

def function_name():
	while not rospy.is_shutdown():
		rate.sleep()

if __name__ == '__main__'
	try:
	function_name()
	except rospy.ROSinterruptException():
	pass

总结

以上就是整个workspace的搭建,完全写给自己看,以后可以快速回忆。强烈推荐古月居老师,看完21讲帮助巨大
附上b站链接:[古月居21讲](https://www.bilibili.com/video/BV1zt411G7Vn?from=search&seid=3098893974219152868)

你可能感兴趣的:(在ROS中workspace和Package的创建)