小鱼ros2学习记录一

p8.你说我听小游戏
这里压根没有对所谓的代码程序,单纯处理了,启动了节点而已
p11开始三章内容:
学习节点、空间、编译以及编写节点。
1.ros节点概念:负责某一个功能的成为节点:轮子动、雷达数据、定位。
节点通信有:话题、服务、动作、参数
2.启动节点:命令行指令
ros2 run (包名)(文件)
ros2 node list 查看节点列表
ros2 node info (node名字)查看节点信息
ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle
映射节点,属于同时存在多个节点的情况。
3工作空间p14
工作空间就是目录(大的文件夹)存在很多功能包,一个包中存在多个节点。
cd d2lros2/chapt2/
mkdir -p chapt2_ws/src 建立一个 chapt2_ws的工作空间(文件夹)

功能包:存放节点的地方(根据代码类型分为py、c、cm)

功能包获得:
安装获得(不需要source目录)
sudo apt install ros--包名(放在了opt/ros/foxy)
功能包指令:
create
executable
list
prefix
xml
构建工具:colcon用来编译代码
colcon build只能在工作总空间下进行编译,也就是仅仅在src的上一层文件中
source install/setup.bash
colcon仅仅编译一个包 colcon带着包名称就行。

节点学习

p20 任务:创建工作空间
使用非oop方法编写一个python节点(三种编写方式)
创建发布者对象
创建接受者对象

在工作空间中,创建功能包:(c2_ws/src)利用 code ./进入vscode并进入后端
ros2 pkg create example_cpp(功能包名字) --build-type ament_cmake (ament_python)–dependencies rclcpp 利用此指令构建一个功能包
build-type这里跟着三种类型
dependencies rclcpp指的是依赖哪个包
rclpy 就是ros_client的库
其中里面包含了一个小库NODE

编写程序的基本逻辑:
导入库文件
初始化客户端库 #这里主要是init那一步
新建节点对象 #这里给了节点的名字
spin循环节点
关闭客户端节点
额外两步:1.去setup 将节点位置写入
"li4_node=villiage_li.li:main"li4节点在 viliiage_li目录下li文件的main函数中
2.colcon build #这里必须在工程找src上层文件下面编译
3.source install /setup.bash让系统知道启动文件在哪里
vscode的命令行可以用
ctral+shift+5打开一个新的数据类型

*三种编程方式基本介绍:*按着每一步的方式进行编程,打开冰箱放进大象关门
***OOP:冰箱的组成成分和行为能力;***最常用的方式,对对象的编程
调用冰箱打开门
调用冰箱装东西
调用冰箱关门
主要逻辑:是属于函数的函数嵌套。
OOP概念:类、对象、封装、继承、多肽
类与对象 对应 抽象和具体(水果和苹果)
这样的目的是为了系统每一个沟通是通过和抽象的概念进行沟通,不需要去考虑具体的实现,DDS通讯。
封装:对象是具体的=属性和行为的封装类型。
多肽:这里回头考虑

三种思想的选择:

如果是不需要维护这个系统,并且此系统非常简单,就可以直接面相过程,简单实现就可以

如果是面相对象的,那么就需要面对对象进行系统化操作了

你可能感兴趣的:(学习,机器人,自动驾驶)