ROS简介

ROS是一个面向机器人的次级操作系统。

工作空间

Workspace是一个存放工程开发相关文件的文件夹。
src:代码空间(Source Space)
build:编译空间(Build Space)
devel:开发空间(Development Space)
install:安装空间(Install Space)

创建工作空间:
mkdir -p ~/catkin_ws/src #创建目录,-p用于判定该文件夹是否存在
cd ~/catkin_wa/src
catkin_init_workspace

工作空间src文件夹中执行catkin_init_worksapce进行工作空间初始化时,会在src文件夹下创建一个名为CMakeLists.txt的指向/opt/ros/melodic/share/catkin/cmake/toplevel.cmake的软链接,因此,打开CMakeLists.txt时,实际上相当于打开了toplevel.cmake,此时对它进行修改的话,所有工作空间由catkin_init_worksapce创建的CMakeList.txt都会受到影响。

编译工作空间:
cd ~/catkin_ws
catkin_make #开始编译
设置环境变量:
source ~/catkin_ws/devel/setup.bash
检查环境变量:
echo $ROS_PACKAGE_PATH # echo用于显示环境变量

搭建VSCode开发环境

创建ROS工作空间

创建工作空间:
mkdir -p ~/catkin_ws/src #创建目录,-p用于判定该文件夹是否存在
cd ~/catkin_ws/src
catkin_init_workspace

可以看到catkin_ws目录下由catkin_tools自动创建的一个配置相关的目录.catkin_tools,则成功初始化ROS工作空间。

若产生Could not start process"catkin_make" --cmake -args -G'CodeBlocks' -Unix Makefiles错误提醒,则是因为没有安装catkin tools工具。

采用如下命令安装:
sudo apt install python3-catkin-tools python3-osrf-pycommon

编译工作空间

编译工作空间:
cd ~/catkin_ws
catkin_make #开始编译

在catkin_ws目录下生成出build、devel、logs等目录。

之后,通过code .与vscode进行关联。

可以看到VSCode在catkin_ws目录下创建了一个名为.vscode的文件夹,内有c_cpp_properties.jsonsetting.json两个文件,其中,前者是关于C++相关的ROS配置,后者是关于python相关的ROS配置。

开发ROS

创建程序包

  1. 右键src,点击Create Catkin Package,输入Project名称;
  2. 添加依赖:roscpp,std_msgs,rospy,依赖用空格隔开;

自此,默认会生成一系列文件夹/文件:

在这里插入图片描述
package.xml为该程序包的基本信息。

  1. 实现代码:在demo_1的文件夹下添加脚本。
  2. 编译配置:加载当前工程的setup.bash,source devel/setup.bash;用catkin_make进行编译。结束后,采用roscore启动master,通过rosrun运行。

VIN-Fusion

git clone [website]一般把下载内容存放在系统所打开的文件夹下。

可以通过将仓库地址前缀http改成git来实现加速。

VIN Fusion GIthub

克隆代码+编译代码+激活环境。

    cd ~/catkin_ws/src
    git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

下载测试数据集(EURoC MAV)

wget http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.bag

单目相机+IMU测试

    roslaunch vins vins_rviz.launch
    rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml 
    (optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml 
    rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右边是我女神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值