ROS学习笔记(一)学习准备,参考古月居视频-整理文字


第三讲  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 描述功能包里面的编译规则,编译之前先要找到哪些功能包等


       
   
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值