jetson nano常用命令笔记&ROS学习

纯小白入坑jetson nano和ubuntu系统,时长找不到想用的命令,写个笔记记录在这儿了!记得可能不那么易于阅读,同时可配合B站良心教程一同学习!

ROS快速入门 - 机器人工匠阿杰

git clone + 网址时,有时候github的博主的库是引用的,需要修改为:

git clone --recursive +网址,则可以把引用的库发出来;

有时github较慢,在地址前增加gitclone.com,速度就变快了

开文件夹权限 sudo chmod 777 -R 文件夹名/ls = list 查看当前目录

chmod = change mode
mkdir = make directory 创建目录

pwd = print working directory,用于显示当前工作目录的绝对路径

history 显示历史操作

dpkg -i+包名.deb 安装软件

sudo apt update更新软件包库到最新
echo 我走了
echo 我又来了

echo是显示的意思

source command.sh - 会加载.sh文件里的代码

.bashrc 终端程序启动脚本

echo 哥哥我闪亮登场~
source ~/command.sh - 每次打开终端时会运行.bashrc中的命令
sudo = 以管理员权限执行本条指令

查看tf tree

rosrun rqt_tf_tree rqt_tf_tree        //在ROS里面查看tf变换关系
roswtf                                //roswtf可以检查tf的配置并发现常见问题

rosrun  rivz rivz                     //同时可以配合rviz直观查看各个坐标系之间的关系

rosrun tf tf_echo /world /turtle1     //查看turtle1在world在world中的坐标
https://blog.csdn.net/qq_39779233/article/details/108215144

ROS环境搭建 – 阿波的博客


6. ROS应用商店APT源

index.ros.org -ros商店

sudo apt install ros-melodic-rqt-robot-steering -安装ros软件包
roscore -运行ros核心
rosrun rqt-robot-steering rqt-robot-steering

sudo apt install ros-melodic-turtlesim -安装仿真小乌龟
rosrun turtlesim turtlesim_node -运行仿真小乌龟
界面中输入turtle1

7. 开源自由市场Github
github上的都是源代码,要先建立工作空间编译源代码

mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
sudo apt install git

github上搜索 wpr_simulation,复制其下载链接
在src目录下输入 git clone https://github.com/6-robot/wpr_simulation.git(这个是noetic的网址)

scripts目录用于防止脚本文件和Python程序,完成一些使用频率不高的操作
在scripts目录下输入 ./install_for_melodic.sh -会安装程序所需的依赖包
回到工作空间入口 cd ~/catkin_ws/ 在这个目录下catkin_make
然后 source ~/catkin_ws/devel/setup.bash      -source指令载入工作空间的环境变量
然后 roslaunch wpr_simulation wpb_simple.launch     -roslaunch运行编译好的ROS程序
rosrun rqt_robot_steering rqt_robot_steering   -打开之前的demo,可以用之前的代码控制仿真转向

- 将source指令添加到.bashrc脚本中,不用每次都重复操作
gedit ~/.bashrc 在文件末尾新增一行 source ~/catkin_ws/devel/setup.bash 保存关闭

ROS软件包源代码
cd catkin_ws/src/
git clone https://github.com/ros/ros_tutorials.git
cd ~/catkin_ws/
catkin_make
roscore
rosrun turtlesim turtlesim_node
(一系列迷惑操作,结论是可以修改C++代码)

11. 初学ROS

节点需要依托于包存在

cd catkin_ws/src

catkin_create_pkg ssr_pkg rospy roscpp std_msgs -catkin_create_pkg <包名><依赖项列表>

依赖项:rospy roscpp std_msgs,前两个是ROS与python和C++,后面是通用消息提示

            依赖项本来是节点,但是因为调用得过于频繁,因此被单独拿出来当做依赖项

查看新建的CMakeLists.txt文件,双#是对文件中指令内容的说明 单 #是与注释对应的指令示例

roscd roscpp -直接跳转到依赖项的目录

code package.xml -用VScode打开xml文件,其结构与之前建立的package一致,这就是一个开源软件包

/opt/ros/<ROS版本>/share 这个目录下都是软件包,其来源:

sudo apt-get install ros-<ROS版本>-desktop-full 基础包

sudo apt-get install ros-<ROS版本>-xxx 独立扩展包

这些通过APT下载的包都是现成的可执行文件,catkin工作空间里的包都是源码文件,需要编译成可执行程序才能运行

Vscode如果无法运行,可直接在catkin_ws目录下catkin_cmake进行编译,同样可以编译成功

打开ros核心 roscore

运行ROS节点:rosrun<包名><节点文件名>

rosrun ssr_pkg chao_node

如果找不到的话:source ~/catkin_ws/devel/setup.bash

如果之前有把这句写入.bashrc文件就不会有这个问题

总结

12. ROS的沟通方式:TOPIC与Message

1) 话题Topic是节点间进行持续通讯的一种形式;

2) 话题通讯的两个节点通过话题的名称建立起话题通讯连接;

3) 话题中通讯的数据,叫做消息Message

4) 消息Message通常会按照一定的频率持续不断地发送,以保证消息数据的实时性

5) 消息的发送方叫做话题的发布者Publisher

6) 消息的接收方叫做话题的订阅者Subscriber

IMU传感器:实时发布机器人的旋转倾斜这些姿态信息的单元模块

Actuator:n. 执行器(电机,机械臂等等这些)

多发布者状况:

外延补充

  1. 一个ROS节点网络中,可以同时存在多个话题;
  2. 一个话题可以有多个发布者,也可以有多个订阅者;
  3. 一个节点可以对多个话题进行订阅,也可以发布多个话题;
  4. 不同的传感器消息通常会拥有各自独立话题名称,每个话题只有一个发布者。
  5. 机器人速度指令话题通常会有多个发布者,但是同一时间只能有一个发言人。

可通过ROS index网站查看melodic的std_msgs的消息类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值