背景:拿到了一架有机载电脑的全部开源的无人机,机载电脑安装了ubuntu20.04,ROS1,上面已经在运行了一些程序。我以前只是听过linux,根本不知道ROS。那么现在需要快速熟悉环境,linux和ROS,在此处列出我常用的一些命令。
注释:
-r 代表递归的含义,例如rm -r xxx代表递归地删除文件夹以及底下的所有文件
~/ 是/home/USER_NAME/的简写形式
咱们用的是ROS1版本,ROS1和ROS2的区别参见ROS官方Wiki:http://wiki.ros.org/
sudo 用来提高权限,例如sudo vim 可用于编辑只读文件
获取root权限:
sudo passwd
su root
-------------------------------
# ssh连接机载电脑,但是目前我们的无人机暂不支持ssh远程开发
ssh servername@192.168.2.20
-------------------------------
# 设置PC为ROBOT_MASTER
#第一条写在服务器终端,第二条写在PC终端
export ROS_IP=192.168.2.20
export ROS_MASTER_URI=http://192.168.2.20:11311
# 传输文件夹,从远程保存到本地,写在PC终端
scp -r khadas@192.168.2.20:~/test ~/下载/test
# 传输文件夹,从本地保存到远程,写在PC终端
scp -r ~/下载/test khadas@192.168.2.20:~/test
-------------------------------
#写在PC端的ros命令
#启动计算图(可视化显示节点之间通信)
rqt_graph
#监听并显示话题内容
rosrun rviz rviz
-------------------------------
#服务器端ros命令
rostopic list
rostopic info
rosmsg info
-------------------------------
#常用
cd ..
ls -a
#显示当前路径
pwd
-------------------------------
#vim:用来小改文件
vim test.txt
按i键进入编辑模式,esc退出编辑模式
依次按下面三个键并敲下回车保存修改并退出
:wq
直接退出
:q
-------------------------------
# 在服务器终端直接新建新的ros包
cd src
catkin_create_pkg pkgname roscpp rospy std_msgs
#编译工作空间下的指定功能包 方法1
cd ~/ros_ws
catkin_make --pkg pkgname
#编译工作空间下的指定功能包 方法2
cd ~/ros_ws
catkin_make -DCATKIN_WHITELIST_PACKAGES=“package1;package2”
#运行节点
rosrun 功能包名 节点名
#运行调试,给订阅者发送消息
rostopic pub Topic_name Topic_type msg
-------------------------------
#删除文件夹
rm -r ~/test
#移动文件夹
mv -r source_dir direction_dir