Ros方向第一次汇报

1.本方向内学习内容:

1.1.完成了基于ARM64架构下pd虚拟机中Ubuntu Linux的安装:

由于本人使用MacOS,对pd虚拟机操作更加熟悉,于是放弃使用vm虚拟机及配套安装教程,但由此会引发一些问题,如:教程少、学习成本高、适配性较差等。所以花了更多时间去找ARM架构的安装包。但是官方不提供该系列安装包的18.版本而且不提供可视化图形界面,我在下载安装后又去谷歌等搜索引擎上搜索安装图形化操作界面的命令,经过一番操作后终于完成了22.04版本的安装(虽与工程机18版本不同但鉴于学习目的,无伤大雅),并且完成了系统环境参数的配置。请添加图片描述

1.2.学习了Linux基本命令行操作:

命令描述例子
pwd显示当前工作目录的路径pwd
ls列出目录中的文件和子目录ls
cd切换目录cd <目录路径>
cp复制文件或目录cp <源文件/目录> <目标目录>
mv移动文件或目录,也可用于重命名文件mv <源文件/目录> <目标目录/文件>
rm删除文件或目录rm <文件/目录>
mkdir创建新目录mkdir <目录名>
rmdir删除空目录rmdir <目录名>
touch创建空文件或更新文件的时间戳touch <文件名>
cat查看文件内容cat <文件名>
nano在终端中编辑文本文件nano <文件名>
vim在终端中编辑文本文件vim <文件名>
grep在文件中搜索文本模式grep <模式> <文件名>
chmod更改文件或目录的权限chmod <权限> <文件/目录>
chown更改文件或目录的所有者chown <新所有者> <文件/目录>
ps显示当前运行的进程ps
kill终止进程kill <进程ID>

一些重要子命令:
cd命令的子命令:

子命令描述例子
cd ~进入当前用户的主目录cd ~
cd /进入根目录cd /
cd ..进入上级目录cd ..
cd -返回上一个工作目录cd -
cd /path/to/directory进入指定路径的目录cd /path/to/directory
cd ../relative/path进入相对于当前目录的子目录cd ../relative/path
cd -P强制进入物理路径而非符号链接路径cd -P /path/to/symlink
cd -L强制进入符号链接路径而非物理路径cd -L /path/to/symlink

rm命令的子命令:

子命令描述例子
rm -f强制删除文件或目录rm -f <文件/目录>
rm -r递归删除目录及其内容rm -r <目录>
rm -i在删除前进行提示rm -i <文件/目录>
rm -v显示每个被删除的文件rm -v <文件/目录>
rm --指示后续内容不是选项rm -- <文件/目录>
rm -rf强制递归删除目录及其内容rm -rf <目录>
rm -r --preserve-root保护根目录,避免意外删除rm -r --preserve-root /
rm -d删除目录本身而非其内容rm -d <目录>

ls命令的子命令:

子命令描述例子
ls -l以详细列表形式显示文件信息ls -l
ls -a显示所有文件,包括隐藏文件ls -a
ls -lh以人类可读格式显示文件大小ls -lh

mkdir命令的子命令:

子命令描述例子
mkdir <目录名>创建新目录mkdir my_directory
mkdir -p创建多级目录mkdir -p path/to/my_directory
mkdir -m指定权限创建目录mkdir -m 755 my_directory
mkdir --help显示帮助信息mkdir --help
mkdir --version显示版本信息mkdir --version

cp命令的子命令:

子命令描述例子
cp -r复制目录及其内容cp -r <源目录> <目标目录>
cp -i在覆盖文件前进行提示cp -i <源文件> <目标目录>
cp -u仅复制更新的文件cp -u <源文件> <目标目录>

mv命令的子命令:

子命令描述例子
mv -u仅在目标文件更新时移动mv -u <源文件/目录> <目标目录>
mv -i在覆盖文件前进行提示mv -i <源文件/目录> <目标目录>
mv -b在移动前创建备份mv -b <源文件/目录> <目标目录>

chmod命令的子命令:

子命令描述例子
chmod +x赋予文件执行权限chmod +x <文件>
chmod -r递归地更改目录及其子目录的权限chmod -r <权限> <目录>
chmod u+w赋予文件所有者写权限chmod u+w <文件>

ps命令的子命令:

子命令描述例子
ps -ef显示所有进程的详细信息ps -ef
ps aux显示所有用户的进程信息ps aux
ps -e --forest以树形结构显示进程关系ps -e --forest

1.3完成海龟仿真:

运行海龟仿真节点程序:

ros2 run turtlesim turtlesim_node

请添加图片描述
再打开一个终端,获取键盘读取信息:

ros2 run turtlesim turtle_teleop_key

请添加图片描述
打印正在运行的节点信息:

ros2 node list

请添加图片描述

打印某节点具体信息:

ros2 node info <运行的某节点>

请添加图片描述
打印(可获取的)(正在发布订阅的)所有话题信息:

ros2 topic list

请添加图片描述
详细打印某个话题信息:

ros2 topic echo <某话题>

请添加图片描述

1.4.完成了工作空间与功能包的创建:

工作空间(workspace)是一个存放项目开发相关文件的文件夹;是开发过程的大本营。
src:代码空间(Source Space)
install:安装空间(Install Space)
build:编译空间(Build Space)
log:日志空间(Log Space)
在这里插入图片描述

1.4.1.创建工作空间:

在这里插入图片描述

1.4.2.自动安装依赖:

跳转到工作空间根目录后输入以下命令:

sudo apt install python3-pip
sudo pip3 install rosdepc
rosdepc install -i --from-path src --rosdistro humble -y
sudo apt install python3-colcon-ros
colcon build

直到编译成功:
请添加图片描述

1.4.3.配置环境变量:

source install/local_setup.sh

可在.bashrc中添加命令:
请添加图片描述

1.4.4.功能包创建:

ros2 pkg create --build-type ament_cmake <功能包名字>//创建c++功能包
ros2 pkg create --build-type ament_python <功能包名字>//创建py功能包

请添加图片描述

2.本方向外学习内容:

2.1.完成了C语言的学习:

2.1.1.完成了井字棋、扫雷的游戏:

本人于去年寒假完成了两个小游戏,并将详细过程写成了博客,链接如下:
https://editor.csdn.net/md/?articleId=132046946(扫雷)
https://editor.csdn.net/md/?articleId=131962318(井字棋)

请添加图片描述

2.1.2.完成了贪吃蛇小游戏:

本人于本学期运用win32API完成了基于c语言命令行版本的贪吃蛇小游戏,还未来得及写成博客,后续可能会跟进。
在这里插入图片描述 在这里插入图片描述
相关代码我已放在本人giteegithub中:
本人gitee:https://gitee.com/wpcnb
本人github:https://github.com/402308383

2.1.3.完成了校内C语言期末考核:

本人以98分的成绩顺利完成校内期末C语言考核。

2.2.学习了部分数据结构并即将结束JAVA SE的学习:

本人在空闲时间学习JAVA,现在即将完成JAVA SE的学习。
本人亦在空闲时间学习了部分数据结构,包括但不限于顺序表,(单/双)链表等,基于单链表的数据结构完成了简单的通讯录。

本人CSDN:请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

碳酸不酸鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值