首页 > 编程语言 >ros2与Python入门教程-新建ros2工作空间

ros2与Python入门教程-新建ros2工作空间

时间:2023-02-26 22:07:52浏览次数:34  
标签:Python 入门教程 dev 工作 ws 空间 turtlesim ros2


ROS2与Python入门教程-新建ros2工作空间

说明:

  • 介绍如何创建ros2工作空间

概念:

  • 工作空间是包含ROS2软件包的目录。
  • 在使用ROS2之前,有必要在计划使用的终端中提供ROS2安装工作区。
  • 这使ROS2的软件包可供您在该终端中使用。
  • 您还可以选择“覆盖”资源–一个辅助工作空间,您可以在其中添加新软件包而不会干扰正在扩展的现有ROS2工作空间或“底层”。
  • 参考底层必须包含覆盖层中所有软件包的依赖项。
  • 叠加中的包将覆盖底层中的包。
  • 也可以有多个参考底层和覆盖层,每个后续的覆盖层都使用其父参考底层的包。

步骤:

  • 要加载ros2工作空间
  • 如果是apt安装的ros2,假设安装为foxy版本
source /opt/ros/foxy/setup.bash
  • 如果是源码安装的ros2,假设安装在~/ros2_ws/目录下
source ~/ros2_ws/install/local_setup.bash
  • 创建新的工作空间
mkdir -p ~/dev_ws/src
cd ~/dev_ws/src
  • 克隆一个例子软件包
~/dev_ws/src$ git clone https://github.com/ros/ros_tutorials.git -b foxy-devel
  • 查看包结构:
~/dev_ws/src$ ls ros_tutorials/
roscpp_tutorials rospy_tutorials ros_tutorials turtlesim
  • 解决包的依赖
rosdep install -i --from-path src --rosdistro foxy -y
  • colcon 编译
~/dev_ws$ colcon build --symlink-install
Starting >>> turtlesim
Finished <<< turtlesim [21.0s]

Summary: 1 package finished [21.2s]
  • 编译后目录结构
~/dev_ws$ ls
build install log src

测试新工作空间

  • 新开终端,ros2底层工作空间
source /opt/ros/foxy/setup.bash
  • 加载dev工作空间
cd ~/dev_ws
. install/setup.bash
  • 这样新的dev工作空间下的相关包会覆盖ros2底层的相关包

验证新工作空间的是否会覆盖

  • ros2底层本身带有turtlesim包,dev工作空间也带有turtlesim包
  • 那么我们通过修改dev工作空间的包来确认是否运行的是dev下工作空间下的turtlesim包
  • 修改​​turtle_frame.cpp​​,位于​​~/dev_ws/src/ros_tutorials/turtlesim/src​​下
  • 修改​​setWindowTitle("TurtleSim")​​为​​etWindowTitle("MyTurtleSim");​
  • 重新编译下工作空间
cd ~/dev_ws/
colcon build --symlink-install
  • 运行turtlesim_node
ros2 run turtlesim turtlesim_node
  • 如图:

ros2与Python入门教程-新建ros2工作空间_机器学习

  • 图片上的标题已经变更为MyTurtleSim,说明新工作空间下同名包,已经覆盖了底层工作空间的同名包


标签:Python,入门教程,dev,工作,ws,空间,turtlesim,ros2
From: https://blog.51cto.com/u_1790502/6086938

相关文章

  • [oeasy]python0094_视频游戏_双人网球_pong_atari_mos_6502_雅达利_米洛华
    编码进化回忆上次内容上次我们回顾了微软之前的比尔盖茨和保罗艾伦mits迎来的是帮手还是隐患?intel-8080遇到了mos-6502底层硬件驱动游戏行业进化不光是扑克牌和柏......
  • Python学习笔记之环境搭建
    (Python学习笔记之环境搭建)Python是一种编程语言,可以让您更快地工作并更有效地集成系统。您可以学习使用Python,并立即看到生产力的提高和维护成本的降低。Python是荷......
  • 简单用Python画各种图分析数据
                                  以上这些只是作为初学者运用绘图功能来对数据进行分析,过程中有遇到一......
  • python数据挖掘绘图
                                                         ......
  • python绘图
    1.用python第三方库绘制sinx函数图像importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False#plt.pl......
  • python 正则表达式
    importreprint("*"*20)#re.match在字符串开头进行匹配pattern="(\d+)(@)"string="[email protected]"result=re.match(pattern,string)print(result.group())#......
  • Python实现负数的“反转”
    如何实现“负数”的反转呢?比如:-123转成-321,首先提供一个思路,首先使用一个标记来判断传入的实参是正数还是负数?然后将得出的判断的结果先取绝对值,最后转成字符串进行切片反......
  • python的排序问题
    python的排序方法有两个1nums.sort()#原数组上排序,没有返回值,nums变为有序2#或者3nums=sorted(nums)#原数组不变,会返回一个排好序的新数组 那么如何......
  • 第一周 python数据分析与挖掘技术实战 第三章
    总结 ............. 图3-1 importpandasaspdcatering_sale='catering_sale.xls'data=pd.read_excel(catering_sale,index_col=u'日期')print(data.descri......
  • python数据分析画图
    importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltpath='./data/catering_sale.xls'data=pd.read_excel(path,index_col=u'日期')#读取......