系列文章背景介绍
X3派的官方文档虽然非常的详细,但是基本都是以简单的单一示例进行相关的介绍和说明,不是特别的系统,当我们了解文档的内容、尝试了示例的运行后仍然需要系统化的去掌握相关的知识,特别是新手小白用户,会非常迷茫且无从下手。
该系列文章的相关知识来源于官方文档,以从零开始的视角将文档中所有的示例整合到自己的ROS应用包中变得更加系统化,也方便后续配合自己的业务进行优化和迭代。
一、开发环境的搭建
请根据自己的情况完成X3派系统的安装、网络的配置以及TROS的部署,相关资料可以查阅官方文档,相信大家也都比较熟悉了。
1、以【root】身份SSH登录到X3派
登录密码为:root,IP地址替换为自己的实际IP地址。
ssh root@192.168.31.1922、在X3派中执行下面的命令脚本进行系统的更新以及ROS2编译环境依赖安装
apt -y update && apt -y full-upgrade && apt-get install -y python3-catkin-pkg && pip install empy && pip install -U colcon-common-extensions二、创建ROS2工作空间
知识点:在ROS中,一个工作空间可以包含很多的功能包。
1、通过下面的命令脚本创建工作空间,比如我希望把工作空间放到/opt/workspace/geek_tros路径
mkdir -p /opt/workspace/geek_tros2、进入到刚刚创建好的工作空间中
cd /opt/workspace/geek_tros3、加载启动ROS2环境
知识点:该命令的目的是将ROS2环境加入到bash中,可以理解为配置ROS2环境变量的过程,这样我们才能在后面正常使用ros2的相关命令。值得注意的是这个方式只在当前登录的命令行终端生效,当我们每次退出登录或者关闭命令行终端再次进入时都需要重新执行这条命令脚本。
source /opt/tros/setup.bash三、创建一个ROS2功能包
1、通过下面命令创建名为example_package的功能包,通过这个功能包实现简单的人体检测功能
知识点:ros2 pkg create是创建功能包的命令,example_package为功能包的名称(可以自己取名),命令中的--build-type参数为功能包的编译方式,--dependencies参数为功能包关联的相关依赖库,其中rclcpp和sensor_msgs均为ROS2官方提供库,dnn_node为地平线的AI推理库。
ros2 pkg create example_package --build-type ament_cmake --dependencies rclcpp sensor_msgs dnn_node2、通过下面的命令脚本创建功能包的程序文件:example.cpp,也可以自己取名
touch /opt/workspace/geek_tros/example_package/src/example.cpp四、开发工具
接下来就是代码的编写工作了,这里使用CLion作为我们的后续的开发工具,我们将借助CLion的远程开发方式进行功能包的程序开发。
1、下载并安装Clion
下载地址:https://www.jetbrains.com/clion/2、再本地电脑中找一个位置用于存放功能包的源码,例如我的是【D:\GeekROS\geek_tros\】,使用Clion打开这个目录

3、点击Clion的【File】->【Settings】

4、在弹出的窗口中依次选择【Toolchains】->【+】->【Remote Host】

5、选择【Remote Host】后的界面如下,其中【Name】自己取一个,然后点击【齿轮】按钮

6、再弹出的窗口中选择【+】,根据图示填写X3派的远程主机连接相关配置信息,点击【OK】

7、配置成功后会看到如下图所示的信息,点击【OK】

8、根据下图所示,打开远程主机的文件游览器

9、在弹出的界面中,通过下拉菜单选择刚刚配置的远程主机

10、选择后你会看到X3派远程主机上的文件资源

11、点击Clion的【File】->【Settings】,在弹出的窗口按照下图所示选择X3派中的ROS2工作空间


12、到这里我就完成了远程开发的相关配置,在项目名上右键可以看到相关的操作菜单,每次修改完代码,我们进行本地程序和X3派远程程序的上传和下载操作

13、按照上图的三步操作可以将X3派的程序下载到本地电脑进行代码编写

14、你也可以使用CLion中的命令行工具直连X3派进行命令行的调试

五、本章节概述
通过本章节的阅读,你将掌握TROS的部署、开发环境的搭建、工作空间及功能包的创建、开发工具及远程开发方式配置。
下一节我们将进行example_package功能包的开发,实现完整的人体检测应用。
原作者:MakerYang
-
嵌入式
+关注
关注
5211文章
20737浏览量
338338 -
AIoT
+关注
关注
9文章
1699浏览量
34330
发布评论请先 登录
BNC连接器规格尺寸避雷指南:手把手教你避开选型常见坑
射频头坏了只能扔?手把手教你维修排查TNC插头,干货值得收藏!
开发必看,RK3576基于Ubuntu22.04安装 测试ROS2机器人系统
ROS2 SLAM建图与导航实战--基于米尔RK3576开发板
RK平台ROS2适配全指南:从编译到运行,手把手搞定嵌入式机器人开发
初识ros2 功能包建立与可执行文件的配置
米尔RK3576成功上车!ROS2 Humble生态系统体验
从0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)
【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—ROS2系统使用说明
RT-Thread Nano硬核移植指南:手把手实现VGLite图形驱动适配 | 技术集结
【精选直播】手把手教你做PC第十二课:WIFI 驱动框架适配
【新手扫盲】手把手教你创建自己的ROS2应用(一)
评论