实验2 蓝桥ROS1架构与概念 适用kinetic/melodic/noetic

网友投稿 799 2022-05-30

需要先完成实验1,不要直接看本实验。

要求:

ROS1文件系统级、计算图级、社区级、创建功能包并实现功能等。

环境:

www.lanqiao.cn/courses/854

记录:

下载课程介绍中的案例源程序

wget https://labfile.oss.aliyuncs.com/courses/854/rosdemos_ws.zip

解压缩

unzip -h 不清楚就查帮助文档

unzip rosdemos_ws.zip

文件系统

以turtlesim源码为例:

复制到:

使用catkin_make编译。

生成devel和build:

build:编译

devel:开发

src:源码

src-build-devel。

可执行文件在devel中,需要导入devel/setup.zsh。

计算图级

ROS1程序节点之间的关联性:

分别在不同的终端输入:

第一个(启动主节点):roscore

第二个(可视化小乌龟节点):rosrun turtlesim turtlesim_node

第三个(遥控小乌龟节点):rosrun turtlesim turtle_teleop_key

第四个(图形化工具查看上述节点关系):rqt_graph

社区级

打开网站:  wiki.ros.org

进行详细了解

创建功能包并实现功能。

默认效果

以turtlesim修改为例:

#define DEFAULT_BG_R 0x45

#define DEFAULT_BG_G 0x56

#define DEFAULT_BG_B 0xff

namespace turtlesim

{

TurtleFrame::TurtleFrame(QWidget* parent, Qt::WindowFlags f)

: QFrame(parent, f)

, path_image_(500, 500, QImage::Format_ARGB32)

, path_painter_(&path_image_)

, frame_count_(0)

, id_counter_(0)

{

实验2 蓝桥ROS1架构与概念 适用kinetic/melodic/noetic

setFixedSize(500, 500);

setWindowTitle("TurtleSim");

修改为:

#define DEFAULT_BG_R 0x66

#define DEFAULT_BG_G 0x44

#define DEFAULT_BG_B 0x22

namespace turtlesim

{

TurtleFrame::TurtleFrame(QWidget* parent, Qt::WindowFlags f)

: QFrame(parent, f)

, path_image_(666, 666, QImage::Format_ARGB32)

, path_painter_(&path_image_)

, frame_count_(0)

, id_counter_(0)

{

setFixedSize(666, 666);

setWindowTitle("TurtleSim-ID-666666");

注意:ID需要修改为对应学号!

依据实际操作完成。

思考:

1. 编译后代码,需要更新环境,否则系统不识别

使用 source devel/setup.zsh

2. 修改源码,可以定制化相关功能

阅读开源程序源代码,并能掌握部分代码修改和定制。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:阿里云域名备案之如何填写真实性核验单
下一篇:使用IntelliJ IDEA和Maven构建Java Web并打包
相关文章