ROS操作笔记

入门学习ros,练习代码,教学代码包的操作笔记(中科院ros视频的教学代码包)

:q      #退出
cd ..   #上层目录
rosnode list  #查看在运行的node
roslaunch 包名  

把source ~/xxx放到.bashrc文件中:

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

在.bashrc中查看:

gedit .bashrc

ROS-Academy-for-Beginners

roboware-studio_1.2.0-1524709819_amd64

**ubuntu(gcc,make,cmake,catkin_ws)

获得管理员权限:$sudo su
查看目录:$ls
查看当前路径:$pwd
创建目录:$sudo mkdir -p 父目录名/子目录名/孙目录名
删除目录:$sudo rmdir 目录名
网络设置: $ifconfig
绿色文件:可执行文件
红色文件:压缩文件或包文件
蓝色文件:目录
白色文件:普通文件,文本文件,配置文件,源码文件
黄色文件:设备文件
灰色文件:其他文件

cat 文件名 #显示文本文件内容

**建立工作空间
$mkdir -p ~/catkin_ws/src   #必须要有src这个目录
$cd ~/catkin_ws/
$catkin_make

**编译
$cd ~/catkin_ws  #catkin_make之前一定要回到工作空间
$catkin_make
$source ~/catkin_ws/devel/setup.bash  #把编译完成的workspace刷新到环境空间,让系统知道ros可执行文件的位置

**robot_sim_demo
$roslaunch robot_sim_demo robot_spawn.launch
$rosrun robot_sim_demo robot_keyboard_teleop.py
$rosrun image_view image_view image:=/camera/rgb/image_raw
$rosrun image_view image_view image:=/camera/depth/image_raw
#深度信息和rgb信息融合会有点云point cloud数据,用于定位,建图,识别


**rosrun [pkg_name] [node_name]

**小海龟
$roscore
$rosrun turtlesim turtlesim_node
$rosrun turtlesim turtle_teleop.key
$rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear #写到话题名+空格+双击tab补全内容
$rosservice call /spawn+双击tab  #多一只海龟
$rosbag record -a -O xxx #话题记录
$rosbag play xxx.bag  #话题复现


**topic
$rostopic list
$rostopic info /xxx  #显示属性信息
$rostopic echo /xxx  #显示内容
$rostopic pub+话题名+话题类型+需要改的参数以及值

**msg
$rosmsg list
$rosmsg show /xxx #显示内容


**service
$rosservice list
$rosservice info service_name #显示属性信息
$rosservice call service_name args #调用service  #双击tab补充完整

**srv
$rossrv list
$rossrv show srv_name #显示srv内容

**parameter server (可以用命令行,launch文件和node读写)
$rosparam list
$rosparam get param_key #显示某参数值
$rosparam set param_key param_value #设置某参数值
$rosparam dump file_name  #保存参数到文件
$rosparam load file_name  #从文件读取参数
$rosparam delete param_key  #删除参数

**gazebo #仿真
官网仿真建模,建立基本模型,设置传感器,设置gazebo插件
insert插入模型


**rviz #可视化
$roscore
$rviz
add,remove,fixed frame,laserscan,camera,pointcloud,map,robotmodel
插件均为subscriber,接受了topic的信息并显示出来


**rqt #可视化,显示更高级
rqt_graph:显示通信架构,计算图  #圆圈表示节点,箭头上是传输的topic
rqt_plot:绘制曲线  #topic /odom/twist/twist/angular
rqt_console:查看日志
rosrun rqt_按tab,查看所有rqt工具

**启动master
$roscore
$rosmaster


**rosnode
$rosnode list
$rosnode info /xxx  #显示属性信息

**vim编辑器
vim 新建文件
i 切换到编辑模式
: 切换到底线命令模式
esc 切换到命令模式
命令模式:
x 删除光标处所在的字符
dd 删除光标所在行的一整行字符

编辑模式:
del 删除光标处的字符
backspace 删除光标前的字符

底线命令模式:
w 保存文件
q 退出程序
wq 保存并退出程序
q 强制退出

**rosbag #记录和回放数据流
记录某些topic到bag中
$rosbag record <topic-names>
记录所有topic到bag中
$rosbag record -a
回放bag
$rosbag play <bag-files>
停止录制 Ctrl+Shift+C 得到.bag文件

eg:
$rosbag record /camera/rgb/image_raw
$rosbag play 2022-03-06-21-31-54.bag
回放前需要roscore
在回放的时候,
$rostopic list #查看topic
$rostopic info /camera/rgb/image_raw  #查看topic属性信息
查看topic中的内容,本例子是camera
$rosrun image_view image_view image:=/camera/rgb/image_raw  

rosbag出现bag.active文件解决方法:
$rosbag reindex xxx.bag.active
$rosbag fix xxx.bag.active yyy.bag  #yyy为设置的.bag文件的文件名

**tf(transform)坐标变换(位置和姿态)
根据当前的tf树创建一个pdf图
$rosrun tf view_frames  #订阅5s
查看当前的tf树
$rosrun rqt_tf_tree rqt_tf_tree  #动态的
查看两个frame之间的变换关系
$rosrun tf tf_echo [reference_frame][target_frame]

Ctrl+z停止


**urdf
<link> inertial,visual,collision
<joint> origin parent
安装检查urdf语法的插件
$sudo apt-get install liburdfdom-tools
$check_urdf my_robot.urdf
$roslaunch urdf_demo display_urdf_link_position.launch
$roslaunch urdf_demo display_gazebo_rviz.launch


**map
查看地图的OccupancyGrid类型如何定义
$rosmsg show  nav_msg/OccupancyGrid


**gmapping
$roslaunch robot_sim_demo robot_spawn.launch
$rosrun robot_sim_demo robot_keyboard_teleop.py
$roslaunch slam_sim_demo gmapping_demo.launch
$roslaunch slam_sim_demo view_slam.launch

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值