P5:环境配置
简单安装了vscode,然后安装了好多插件
这里没有什么问题就跟着教程来就好
P6:工作空间与功能包
工作空间
工作空间是一个存放项目开发相关文件的文件夹
src:代码空间/install:安装空间/build:编译空间/log:日志空间
建一个工作空间文件夹:dev_ws,然后再创建src子文件夹
把课程源码复制到src下面,然后做一些配置
sudo pip install rosdepc
sudo rosdepc init
rosdepc update
cd ..
rosdepc install -i --from-path src --rosdistro foxy -y
但是我这里又出问题了,根据弹幕先把问题解决了再install成功了,解决方法如下:
rosdepc update --include-eol-distros
继续编译环境
sudo apt install python3-colcon-ros
colcon build
结果又是Bug一堆,环境问题,安装了很多包,基本和下面的文章一样。
https://blog.csdn.net/qq_57633442/article/details/137858606、
之后仍然出现很多Bug,看起来像是源码本身的问题,所以我选择换教程!
鱼香ROS 第三章
ROS2节点
节点就是不同的单独功能模块,通过以下方法互相通信
- 话题-topics
- 服务-services
- 动作-Action
- 参数-parameters
命令行启动节点
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle
#重映射节点
工作空间与功能包
工作空间定义如上所述
功能包获取的两种方式
安装一般使用
sudo apt install ros-<version>-package_name
安装获取会自动放置到系统目录,不用再次手动source。
手动编译相对麻烦一些,需要下载源码然后进行编译生成相关文件。
什么时候需要手动编译呢?一般我们能安装的功能包都是作者编译好程序将可执行文件上传到仓库中,然后我们才能够通过apt进行安装,如果作者还没来得及测试上传,或者忘记了测试上传,就会找不到对应的包,这时候就需要手动编译安装了。
另外一种就是我们需要对包的源码进行修改,这个时候也需要自己编译修改。
手动编译之后,需要手动source工作空间的install目录。
功能包相关指令
1.创建功能包
ros2 pkg create <package-name> --build-type {cmake,ament_cmake,ament_python} --dependencies <依赖名字>
2.列出可执行文件
列出所有
ros2 pkg executables
列出turtlesim
功能包的所有可执行文件
ros2 pkg executables turtlesim
3.列出所有的包
ros2 pkg list
4.输出某个包所在路径的前缀
ros2 pkg prefix <package-name>
比如小乌龟
ros2 pkg prefix turtlesim
5.列出包的清单描述文件
每一个功能包都有一个标配的manifest.xml文件,用于记录这个包的名字,构建工具,编译信息,拥有者,干啥用的等信息。
通过这个信息,就可以自动为该功能包安装依赖,构建时确定编译顺序等
查看小乌龟模拟器功能包的信息。
ros2 pkg xml turtlesim
Colcon
这一节有一些特别的指令可能会比较重要
https://fishros.com/d2lros2foxy/#/chapt3/3.3ROS2%E7%9A%84%E7%BC%96%E8%AF%91%E5%99%A8Colcon