今天第一次接触ros系统,先从ros1入手,学习读取imu数据,相关代码可去维特智能官网搜索
ubuntu系统:18.04
ros:melodic
1、串口连接
查看usb设备
ls /dev
如果没有其他usb设备连接,就是这个ttyUSB0
2、安装ROS IMU依赖
根据自己的系统选择和是的命令,
#
sudo apt-get install ros-melodic-imu-tools ros-melodic-rviz-imu-plugin
3、建立工作空间
这里与官方案例相同
下载示例程序,将文件放到home根目录,右击提取到此处。
打开命令终端,运行下面指令:
cd ~/wit/wit_ros_ws/
catkin_make
cd ~/wit/wit_ros_ws/src/scripts/
sudo chmod 777 *.py
echo "source ~/wit/wit_ros_ws/devel/setup.sh" >> ~/.bashrc
source ~/.bashrc
4、驱动可视化
这里以我的SINDT485为例
4.1 修改launch文件
一共有三个.launch文件,修改方式均一样
4.2 安装mobus依赖库
pip install modbus_tk
ps:
上述错误就是没有安装modbus库。
4.3给串口管理员权限
sudo chmod 777 /dev/ttyUSB0
ps:
Erro:Failed to open the serial port
我一开始就是忘了给管理员权限,导致最后能打开rviz并检测到USB串口但是打开失败
4.4运行rviz可视化
roslaunch wit_ros_imu display_and_imu.launch
注:这里可能会报如下错误
Error:unindent does not match any outer indentation level
这应该是用python编成时空格和Tab键混用导致的错误,打开错误提示的文件,如下图的wit_normal_ros.py文件。
找到有Tab缩进的地方,如下图的print开头的一段,将缩进删除,最后保存文件,之后有相同报错的文件都按此方法修改
若没有报错即出现如下提示
同时出现可视化窗口
新开一个终端,输入如下指令可输出imu信息
rostopic echo /wit/imu