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
解决办法如下:
- 更新清华源,在下面这个网址找到对应的源地址
Ubuntu 软件仓库镜像使用帮助 - 更新Sourceslist里面的地址
sudo gedit /etc/apt/sources.list - 更新库文件
sudo apt update -y - 选择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文件

17万+

被折叠的 条评论
为什么被折叠?



