ROS2放弃指南5:创建ros2的topic

ROS2放弃指南5:创建ros2的topic,第1张

ros2的相关知识
  • 相关知识
  • 实践创建文件
    • 创建文件
    • 查看信息的命令
  • 实际的topic代码
  • 编程思想

相关知识
ros2 pkg class="superseo">create <package-name>  --build-type  {cmake,ament_cmake,ament_python}  --dependencies <依赖名字>
功能包类型用法
ament_python适用于python程序
cmake适用于C++
ament_cmake适用于C++程序,是cmake的增强版 是默认的创建类型
功能包相关指令含义
create创建一个新的 ROS2 包
executables输出包特定可执行文件的列表
list输出可用包的列表
prefix输出包的前缀路径
xml输出包清单或特定标签的 XML dashing版本沒有此功能
ros2 pkg executables    // 列出所有功能包的可执行文件
ros2 pkg executables turtlesim  // 列出某个功能包的可执行文件

rosdep install --from-paths src --ignore-src  -rosdistro=dashing -y 
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

// 只编译一个包
colcon build --packages-select YOUR_PKG_NAME 
// 不编译测试单元
colcon build --packages-select YOUR_PKG_NAME  --cmake-args -DBUILD_TESTING=0
// 每次调整 python 脚本时都不必重新build了
colcon build --symlink-install

在ROS的API的实现层级中,最下面的是第三方的DDS,rmw(中间件接口)层是对各家DDS的抽象层,基于rmw实现了rclc,有了rclc,我们就可以实现各个语言的库,大家都知道C语言是各个语言的鼻祖(汇编除外)所以基于rclc,ROS2官方实现了rclpy和rclcpp

实践创建文件 创建文件
// 建立工作空间和功能包
mkdir -p ~/test-ros2-launch/src
cd ~/test-ros2-launch/src
ros2 pkg create fishbot_description --build-type ament_python
// 建立URDF文件
cd fishbot_description && mkdir urdf 
cd urdf
touch fishbot_base.urdf

cd ../
mkdir launch
cd launch
touch display_rviz2.launch.py

colcon build
source install/setup.bash
ros2 launch fishbot_description display_rviz2.launch.py                                
查看信息的命令
// | grep 过滤命令
ros2 pkg list | grep vill*    
// 打印节点的发布与接受信息
ros2 node info /li4
实际的topic代码



编程思想

OOP编程就是面向对象编程
非OOP就是面向过程的编程方法 也就是POP
函数式思想,是FP
对象 = 属性+行为

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/725261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存