第三讲 ubuntu 命令
pwd 显示当前绝对路径(挺常用)
cd 切换路径
mkdir 创建文件夹
ls 显示文件夹内容
cd .. 回到上一级
cd ~ 返回主文件夹,相当于 cd /home/w
touch 文件名 创建一个文件(txt)
mv 源文件路径 目标路径 剪切移动
cp 源文件路径 目标路径/(重命名) 复制
rm 文件路径 删除
rm 文件名 删除一个文件
rm -r 文件夹名 删除一个文件夹
sudo apt-get update 获取应用程序,更新软件原列表
第四讲 C++/Python 编译
g++ c++_for.cpp -o c++_for 编译成可执行文件
./c++_for 执行可执行文件
python python_for.py
#################### Git分支 ######################################
git config --global credential.helper store #git不用每次推送都登陆(在当前工作空间下执行)
git checkout [分支名] 切换分支
git branch 查看当前分支(*号表示当前分支) git branch -a 查看所有本地分支
git checkout -b localbranch 新建一个分支,并切换到该分支(本地)localbranch为新建的分支名
git branch -D localbranch 删除分支(本地)
git push origin localbranch:localbranch 把新建的本地分支push到远程服务器,远程分支与本地分支同名
git push origin :localbranch 删除远程分支,推送一个空分支到远程分支(或者 git push origin --delete localbranch)
指定编译编译单个功能包:
catkin_make -DCATKIN_WHITELIST_PACKAGES="功能包名"
解除指定功能包编译:
catkin_make -DCATKIN_WHITELIST_PACKAGES=""
查看消息类型:
ip -a ros 本地IP地址
第五讲 安装ROS系统
按照教程 https://blog.csdn.net/takedachia/category_11584500.html
sudo apt-get install -f -y ./ukylin-wine_70.6.3.25_amd64.deb 安装微信(https://blog.csdn.net/dhdt1/article/details/119929494)
shift + prt sc键 截图
第八讲 ROS命令行工具
1、roscore命令用来打开节点管理器ROS master,是我们在运行ROS系统时必须要首先运行的指令
2、 rosrun命令用来运行某个功能包里的某个结点,后面跟两个参数,第一个参数是功能包名,第二个参数是结点名,在输入功能包名后,按tab键,可以显示该功能包内的节点名。 如:rosrun turtlesim turtlesim_node
3、turtlesim中的turtle_teleop_key是键盘控制节点
4、ROS里面有一些rqt开头的工具,这都是一些可视化工具,比如rqt_graph是一个用来显示系统计算图的一个工具,通过这张图我们可以很快的了解这个系统的全貌
5、turtlesim是仿真器节点
6、rosnode工具用来显示系统中所有节点的相关信息
7、rosnode ping指令 测试连接节点
8、rosnode list指令用来把系统中所有的节点都列出来
9、rosnode info指令用来查看某一个节点具体的信息是什么(发布/订阅哪些话题,提供的服务),如rosnode info /turtlesim (/turtlesim是节点名)
10、rosnode kill指令
11、rosnode cleanup指令
12、rosout是ros一个默认 的话题,用来采集ros节点的运动信息,给上面的界面进行显示
13、rostopic list命令可以查看当前系统所有话题的列表 rostopic echo /topic name 查看话题内容 ; rostopic info /topic name 查看话题数据类型; rosmsg show 数据类型名 ,查看数据具体结构
14、rostopic pub命令可以用来发布话题,后面跟的第一个参数是话题名,比如/turtle1/cmd_vel 这个时候双击两下tab键可以自动把后面的内容补全,按左右键可以设置输入位置,twist是我们发布的消息结构(数据结构),
这个数据结构里包含两个部分一个是线速度linear,单位是m/s ,另一个是角速度angular,单位是rad/s,每个速度都分为xyz三个方向上的分量,若我们将linear的x设为1,则海龟将以1m/s的速度向前运行一次,这是因为
rostopic pub命令只会发布一次,若在pub后面加上-r 10 ,-r表示设定频率 ,-r 10 就是每秒运行10次循环 ,可以不断的发布,z轴是垂直于屏幕向外的,若将angular的z参数设为1,它就可以按圆的轨迹行走.
15、rosmsg show 显示消息数据包结构 例如:rosmsg show geometry_msgs/Twist
16、rosservice list 显示所有仿真器提供的服务内容,rosservice call /spawn 加两下tab键自动补全调用服务的参数
17、rosbag record -a -O cmd_record(压缩包名),记录当前系统的所有数据,rosbag play cmd_record 复现记录的数据
第九讲 创建工作空间和功能包
工作空间:存放工程开发相关文件的文件夹
18、创建工作空间 $ mkdir -p ~/test1/src $ cd ~/test1/src $ catkin_init_workspace (把当前文件夹变成ros工作空间的属性)
19、编译工作空间 $ cd ~/test1/ $ catkin_make $ catkin_make install
20、设置环境变量 $ source devel/setup.bash
21、检查环境变量 $ echo $ROS_PACKAGE_PATH
最终会有四个文件夹!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:
src(代码空间,放功能包的源码) install(安装空间,放置最终编译生成的可执行文件)
devel(开发空间,放置开发过程中的一些可执行文件和库,与install功能类似) build(编译空间,编译过程中的可执行文件,基本上用不到)
22、创建功能包 (放置ros源码的最小单元,所有源码必须放到功能包里面,不能直接放到src下面,同一个工作空间下,不允许存在同名功能包,不同工作空间下允许)
$ cd ~/test1/src
$ (格式:catkin_create_pkg <package_name> [depend1] [depend2] [depend3])depend..这些依赖是ros编译的时候需要依赖其他的哪些功能包)
例如:$ catkin_create_pkg test_pkg std_msgs rospy roscpp (test_pkg:功能宝名,std_msgs:ROS中标准信息结构 )
23、$ cd ~/test1 $ catkin_make $ source devel/setup.bash
24、创建的功能包文件夹test_pkg里面文件必须存在的两个文件
package.xml 通过xml语言描述的一些跟功能包相关的信息,比如 功能包名、版本号、功能包描述信息、功能包维护者email、功能包编译运行的依赖信息
CMakeLists.txt 描述功能包里面的编译规则,编译之前先要找到哪些功能包等