ros1:
录包:
rosbag record -a -O filename.bag 解释:-a是把所有的包都进行录制,-O表示后面需要跟输出的文件名字,-o的话系统会自己添加录制日期为文件名上;
rosbag record -O filename.bag topic1 解释:录制topic1到文件filename.bag中;
ctrl+c停止录包
播放:
rosbag play -l filename.bag 解释:-l表示循环播放filename.bag包
输出包的信息,含包中的topic ,消息类型等
rosbag info -y filename.bag 解释:输出yaml格式信息;
启动ros环境:roscore 解释:这个是运行ros程序的基础;
初始化工作空间 catkin_init_workspace;
编译:
catkin build package 编译指定包;
catkin_make 解释编译工作空间中的所节点;
catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2" 解释编译指定的包;
catkin list可以查看工作空间中有哪些ros包。
catkin clean相当于rm -r ${build} ${devel},但是避免了rm -r这种危险的操作!
运行:
source devel/setup.bash
rosrun packname node 解释:运行包下的节点
命令行中输出topic内容:
如果自定义数据类型,则需要先找到类型目录,source ~/类型目录/devel/setup.bash
rostopic echo /topic
命令行发布topic:
rostopic pub topic type msg 解释topic为主题名,type为发布消息类型,msg为发布消息内容;
ros2:
创建节点和包:
ros2 pkg create --build-type ament_cmake --node-name my_node my_package //在src目录
ros2 pkg create --build-type ament_cmake cpp_pubsub
构建包:
colcon build --packages-select my_package //在dev_ws(src的上一级目录),不加--后面的就把src下所有包构建一遍;
覆盖底层工作空间:
install/local_setup.bash //src目录上一级
运行包:
ros2 run my_package my_node
检查依赖库:
rosdep install -i --from-path src --rosdistro galactic -y