Ubuntu18.04下ROS环境的Rviz可视化及传感器数据采集和提取

一、配置ROS环境

1、设置安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

2、设置密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

3、更新Ubuntu 18.04 LTS的最新可用软件包列表

sudo apt update

若报错
在这里插入图片描述
则执行

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
sudo apt update

4、安装ROS Melodic

sudo apt-get install ros-melodic-desktop-full

避免后面出现sudo rosdep:找不到命令提示,执行如下命令

sudo apt install python-rosdep

5、初始化rosdep

sudo rosdep init

6、rosdep update更新

rosdep update

重要小tips:若5、6两步报错,通用的解决方案如下
sudo apt-get install python-pip
sudo pip install rosdepc
sudo rosdepc init
rosdepc update

7、添加ros环境变量

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

8、构建和管理开发者自己的ROS工作空间,还需安装rosinstall

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

第一次启动ROS时,需要进行环境变量配置,执行如下命令

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

9、启动运行小海龟检查是否安装成功

1.执行如下命令

roscore

若报错

sudo mkdir -p /home/liu/.ros/
sudo chown -R liu:liu /home/liu/.ros/

记得把上面的liu换成你的用户账号

2.打开第二个终端,也可以利用 Ctrl+Shift+T 快捷键打开一个新的终端,运行如下命令,这时你会看见一只静止的小海龟

rosrun turtlesim turtlesim_node

3.如果希望小海龟能够移动,打开第三个终端,利用Ctrl+Shift+T快捷键再打开一个新的终端,启动turtlesim的键盘控制节点turtle_teleop_key,运行如下命令

rosrun turtlesim turtle_teleop_key

至此ROS环境就已经搭建好了

二、以TI毫米波雷达iwr1642为例

1、添加用户权限

我们在使用ros driver这个demo时需要控制电脑的两个端口,分别用来发送命令和传输数据。
这需要我们的用户在dialout这个组中,首先使用:

groups

此时当前用户并不处于dialout用户组,使用

sudo adduser <your name> dialout

添加进入用户组

重启虚拟机更新权限!!!!!!!

2、创建ROS工作空间

所有 ROS 实验室的软件包都保存在 git.ti.com 上,不再通过工具箱托管。要下载软件包,请首先确保计算机上安装了 git

sudo apt-get install git

创建src文件,放置功能包源码:

mkdir -p ~/catkin_ws/src

进入src文件夹:

cd ~/catkin_ws/src

初始化文件夹:

 catkin_init_workspace

3、克隆存储库和 ROS 串行

将此存储库和 ROS 串行克隆到您的 :< workspace dir >/src
即 cd ~/catkin_ws/src 这个路径

git clone https://github.com/radar-lab/ti_mmwave_rospkg.git
git clone https://github.com/wjwwood/serial.git

返回 :< workspace dir >
即上一级目录catkin_ws

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

打开新的终端

如果提示错误: bash: /devel/setup.bash: 没有那个文件或目录,一般是上一步的环境变量设置错误

nano  ~/.bashrc
#到最后一行查看环境变量是否有误

在 Linux 上启用命令和数据端口:

sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1

注意:如果使用多个传感器,请启用其他端口和 等。与此步骤相同。/dev/ttyACM2/dev/ttyACM3

启动 AWR1642 短程配置:

roslaunch ti_mmwave_rospkg 1642es2_short_range.launch

若报错,或不显示点云,怎关闭终端重新打开再输入一次

4、记录点云数据

创建一个存储数据的目录
重新打开终端,进入到这个目录下
输入以下指令开始采集,按ctrl+c终止,会在这个路径下生成.bag文件

rosbag record -a

我们需要/ti_mmwave/radar_scan的数据,则将刚生成的bag文件提取topicname为/ti_mmwave/radar_scan的txt文件

rostopic echo -b file_name.bag -p /ti_mmwave/radar_scan > txt_name.txt

在这里插入图片描述

三、添加相机

1、配置摄像头

设置虚拟机,在USB控制器中把USB兼容性改为3.0或3.1
在这里插入图片描述

2、检查摄像头的使用

cheese

若显示cheese not found

sudo apt install cheese

3、下载相关功能包

uvc camera

sudo apt-get install ros-melodic-uvc-camera

image

sudo apt-get install ros-melodic-image-* 
sudo apt-get install ros-melodic-rqt-image-view

4、启动ROS

roscore

5、另开终端,运行camera节点

可以先查看外接相机设备

ls /dev/video*
rosrun uvc_camera uvc_camera_node _device:=/dev/video2

video2是外接相机,可以先用cheese命令查看能否打开,如果打不开,修改一下权限

cheese -d /dev/video2
sudo chmod 777 /dev/video2

6、再打开一个终端,查看消息话题

rostopic list

查看摄像头话题帧率

rostopic hz /image_raw

7、添加相机

在Rviz中 点击Add,点击Image,设置Imege Topic即可显示相机
在这里插入图片描述

8、记录相机数据

同上
创建一个存储数据的目录
重新打开终端,进入到这个目录下
输入以下指令开始采集,按ctrl+c终止,会在这个路径下生成.bag文件

rosbag record -a

9、提取相机数据为.jpg图像

1、安装图像处理的工具包

sudo apt-get install mjepgtools
sudo apt-get install ffmpeg

在安装mjepgtools可能会提示:E: 无法定位软件包 mjepgtools
解决办法如下:

  1. 更新清华源,在下面这个网址找到对应的源地址
    Ubuntu 软件仓库镜像使用帮助
  2. 更新Sourceslist里面的地址
    sudo gedit /etc/apt/sources.list
  3. 更新库文件
    sudo apt update -y
  4. 选择mjepgtools安装
    sudo apt install mjpegtools

2、在终端打开roscore

roscore

3、监听指定的图像话题

在存储.bag文件的目录下打开终端

rosrun image_view extract_images _sec_per_frame:=0.03 image:=/image_raw

其中,/image_topic替换为你的图像话题,可通过_sec_per_frame设置图像截取间隔

4、播放rosbag

在这个目录下继续打开新的终端

rosbag play /BAG_PATH/BAG_NAME.bag

这样你的图像文件就会保存当前目录下了

附:

1、查看bag文件包含了哪些话题

进入包含 .bag 文件的目录,打开终端
运行以下命令,使用 rosbag info 查看话题列表:

rosbag info <bag_file_name>.bag

2、若记录后的文件为.bag.active

rosbag reindex xxx.bag.active
rosbag fix xxx.bag.active xxx.bag

使用以上指令可将.bag.active转换为.bag文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LW++

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

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

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

打赏作者

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

抵扣说明:

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

余额充值