松灵机器人——ROS下的CAN通讯调试(内含所需调用包,都是操作步骤)

2023-11-14

1 代码包地址

在这里插入图片描述

2 硬件准备

2.1 SCOUT MINI 小白车 + 尾部航空插头 + CAN_TO_USB适配器

在这里插入图片描述请添加图片描述

2.2 接线

如上图,带有四根颜色线的为航空插头线:
红线—VCC 电池正极
黑线—GDN 电池负极
黄线—CAN_H
蓝线—CAN_L
CAN_TO_USB适配器一端接小车CAN口(即黄蓝线),
另一端USB口接入电脑即可

3 具体操作

在主目录下新建 catkin_sl文件夹,在文件夹下新建src,将下载的包放在此文件夹下

3.1 ROS安装和环境设置

此步自行按照如下官网链接进行

3.2 配置 CAN-TO-USB 适配器

**注意:**每次拔查硬件后重新通过电脑控制小车前,都需要重新运行步骤 3.2.1 和 3.2.2 以启用内核模块。

3.2.1 设置CAN转USB适配器

启用gs_usb 内核模块(本指令在进行2中硬件准备工作后才可以使用)

sudo modprobe gs_usb

3.2.2 设置can设备参数

sudo ip link set can0 up type can bitrate 500000

在这里插入图片描述

3.2.3 查看can设备

如果在前面的步骤中没有发生错误,使用以下指令查看can设备

ifconfig -a

在这里插入图片描述

3.2.4 安装和使用can-utils来测试硬件

sudo apt install can-utils

在这里插入图片描述

3.2.5 测试指令

candump can0  //receiving data from can0
cansend can0 001#1122334455667788 //send data to can0

接收成功如下,不成功报错请返回执行 3.2.1 和 3.2.2
在这里插入图片描述

3.3 ROS Package 的使用

3.3.1 安装 ROS packages 依赖

sudo apt install ros-melodic-teleop-twist-keyboard

如果是 Kinetic版本,把上述指令中的“melodic” 改成 “kinetic” 即可

3.3.2 编译

将scout_ros package 下载至的您的catkin 工作空间,并进行编译(我的catkin编译工作空间在: ~/catkin_sl/src 目录下)

cd ~/catkin_sl/src
git clone https://github.com/westonrobot/scout_ros.git
cd ..
catkin_make

(!请保证网络通畅极好!
此处我已下载过,所以显示已经存在,正常下载会显示正在克隆…接收5%…直至完成)
在这里插入图片描述

3.3.3 配置 Webots simulation 环境

  1. 下载安装 webots-R2021b-x86-64_ubuntu-18.04.tar.bz2 (download from https://cyberbotics.com/ )
  2. 安装 Webots ROS package
sudo apt install ros-melodic-webots-ros

在这里插入图片描述
3. 设置 WEBOTS_HOME 变量,把下面这行代码加入到 "~/.bashrc"中

export WEBOTS_HOME=/home/flycar/catkin_sl/src/webots

在这里插入图片描述
4. 确保将所有所需文件夹放置在此路径下 /home/flycar/catkin_ls/src ,在catkin_ls下打开终端编译ROS工作空间下的所有功能包

cd ~/catkin_ls
catkin_make

在这里插入图片描述

3.4 启动 ROS nodes

3.4.1 开始 the base node

roslaunch scout_bringup scout_minimal.launch

问题
出现如下问题一般是网络问题或查看IP是否一致:在/.bashrc
下改为一致保存
在这里插入图片描述在这里插入图片描述然后运行如下两个命令

source /.bashrc
roscore

在这里插入图片描述再重新运行 roslaunch scout_bringup scout_minimal.launch即可
在这里插入图片描述

3.4.2 开启键盘控制

Start the keyboard tele - op node

roslaunch scout_bringup scout_teleop_keyboard.launch

在这里插入图片描述

4 结果

键盘控制 小车运动情况
I 前进
K/其它任意键 停止
< 后退
U 左转
O 右转
J 左自转
L 右自转

简要列举几个控制,具体自行实验
注意!一定要先清楚停止键是哪个或者先把遥控手柄打开再进行键盘控制!!不然它就乱撞去了!根本停不下来哈哈哈哈!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

松灵机器人——ROS下的CAN通讯调试(内含所需调用包,都是操作步骤) 的相关文章

  • CATIA二次开发CAA安装

    安装资料在网盘里 Win7 64位 以下软件均已管理员身份运行 xff1a 1 安装vs2008 gt 自定义安装 gt 选择要安装的功能 gt Visual C 43 gt x64编译器和工具 1 2安装SP1 2 安装CATIA V5
  • SOLIDWORKS 二次开发 VC++

    需要理解的知识 com组件原理及应用 1 IUnknown IDiapatch 2 接口的指针指向接口这个结构 xff0c 接口里面保存一个虚函数表指针 xff0c 指向接口里的函数 3 接口的使用 43 通过queryInterface
  • 基于Python语言的Abaqus二次开发-求最大Mises应力

    利用python访问Odb文件 xff0c 求Mises应力的最大值 下面说明了如何从系统提示符运行示例脚本 该脚本将在输出数据库中搜索元素集 ALL ELEMENTS xff0c 以查找冯米塞斯应力的最大值 xff1a from odbA
  • 酷Q 二次开发 C++SDK 加python混合编程

    酷Q 源代码 xff1a https github com richardchien coolq cpp sdk 不用问我这个怎么用啊 xff0c 去酷Q社区去看看 xff0c 会C 43 43 开发的应该很简单 xff0c 实在不会留言我
  • NX二次开发-BlockUI树列表快速插入多个节点

    适用版本 xff1a NX 7 5及以上版本 一 概述 在NX二次开发中 xff0c 我们经常使用BlockUI来设计界面 xff0c 树列表控件 xff08 Tree List xff09 是非常常用的控件之一 xff0c 可以创建表示节
  • jupyter-notebook二次开发

    背景 公司内部提供给算法人员用于模型训练的平台开发需求中提出了嵌入Jupyter Notebook模块 xff0c 而Jupyter Notebook是开源的 xff0c 方便后续对部分细节进行功能定制和优化 xff0c 需要对其进行调研
  • 【PX4 二次开发 初级】 03 飞控调试以及地面站使用

    PX4 二次开发 初级 03 飞控调试以及地面站使用 前言IMU三轴稳定性内部构成陀螺仪加速度计磁力计 误差加速度 amp 陀螺仪 磁力计干扰测试 标题 xff1a PX4二次开发教程 xff1a 起源 xff1a 根据阿木实验室讲解课程整
  • PX4:二次开发:流程

    1 程序编写 xff08 用模板简单实现一个程序 xff09 gt 进阶 xff1a 不同项目下的程序规范 xff1b 调用子模块的流程 2 在Nuttx系统中注册应用并编译 为了使该程序能够编译进固件 xff0c 需要在系统的cmake文
  • MAVROS二次开发(一)MAVROS的安装

    MAVROS二次开发 一 MAVROS的安装 1 参考网址 https dev px4 io v1 10 en ros mavros installation html https github com mavlink mavros tre
  • MAVROS二次开发(二)(三)添加自定义消息

    MAVROS二次开发 二 MAVROS消息添加 1 自定义rostopic消息 路径 xff1a catkin ws src mavros mavros msgs msg 自定义消息文件名称 xff1a CrawlControlStatus
  • MAVROS二次开发(四)添加消息处理插件

    MAVROS二次开发 四 添加消息处理插件 mavros插件所在路径 xff1a catkin ws src mavros mavros src plugins 1 自定义消息处理插件的编写 参考代码 xff1a catkin ws src
  • MAVROS二次开发(五)进行测试

    MAVROS二次开发 五 进行测试 1 测试环境 PX4 xff1a v1 10 1 xff08 含自定义mavlink消息收发 xff09 ROS xff1a KineticUbuntu xff1a 16 04LTSQGC xff1a S
  • 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(二)

    本文接上次的博客海康威视工业相机SDK二次开发 xff08 VS 43 Opencv 43 QT 43 海康SDK 43 C 43 43 xff09 xff08 一 xff09 xff0c 上个博客中并未用到QT xff0c 本文介绍项目内
  • PX4二次开发(一:PX4架构)

    概念 本节包含有关PX4系统架构和其他核心概念的主题 目录 PX4架构 PX4飞行栈架构 事件接口 飞行模式 飞行任务 控制分配 xff08 混控Mixing xff09 PWM限制状态机 系统启动 PX4 SD卡布局 PX4系统架构 以下
  • QGC二次开发---自定义MAVLink消息

    MAVLink库下载 下载网站https github com mavlink mavlink 可以通过git工具 xff0c 在存放文件夹下打开git工具 xff0c 输入命令 xff1a git clone https github c
  • QGC4.1.2二次开发(2)QGC连接与数据收发

    文章目录 前言一 连接原理二 连接过程与数据收发1 连接过程 xff08 以串口为例 xff09 2 数据发送 总结 前言 QGC连接无人机飞控时支持多种连接方式 xff0c 并且可以自动连接 xff0c 不由让人好奇它的实现原理 xff0
  • 关于OpenAI的Gym中的step方法

    文章目录 导读 Gym的step方法 最后的话 导读 本文就只是关于step方法的参数与返回值的一个小小的学习笔记 这也是没有第一时间查官方文档而造成的时间消耗 所以 这篇博客就是逼自己查一下 Gym的step方法 既然都已经用pip下载了
  • ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

    1 问题描述 ubuntu系统中安装好anaconda后 又继而安装了ROS 并通过命令 pip install opencv python 安装opencv的情况下 此时安装的opencv python包是存放在anaconda下的 而在
  • 基于vspd DLL二次开发的虚拟串口工具

    最近项目需要 早期使用com0com做虚拟串口工具的二次开发 但是发现在系统兼容性上存在很多的问题 后来改用vspd 的免费dll做开发 在稳定性和兼容性上确实提升了很多 功能调用非常简单 可以参照如下的demo 库文件的话自行下载和链接
  • 松灵机器人——ROS下的CAN通讯调试(内含所需调用包,都是操作步骤)

    松灵机器人 ROS下的CAN通讯调试 1 代码包地址 2 硬件准备 2 1 SCOUT MINI 小白车 尾部航空插头 CAN TO USB适配器 2 2 接线 3 具体操作 3 1 ROS安装和环境设置 3 2 配置 CAN TO USB

随机推荐

  • 【疑难】以指针赋值,形成数组形式

    include
  • Python项目开发:Flask基于Python的天气数据可视化平台

    目录 步骤一 数据获取 步骤二 设置Flask应用程序 步骤三 处理用户输入和数据可视化 步骤四 渲染HTML模板 总结 在这个数字化时代 数据可视化已经成为我们理解和解释信息的重要手段 在这个项目中 我们将使用Python语言来开发一个基
  • Anaconda的下载步骤

    输入网站 https www anaconda com 进去之后 点击 get started 然后点击如下图所示的 Install Anaconda Individual Edition 然后点击 Download 选择Windows下面
  • AI图片生成Stable Diffusion环境搭建与运行

    Stable Diffusion是一种基于扩散过程的生成模型 由Ge et al 在2021年提出 该模型利用了随机变量的稳定分布 通过递归地应用扩散过程来生成高质量的图像 与其他生成模型相比 Stable Diffusion在生成高质量的
  • c++中别名的定义 using、#define、typedef、typename、namespace的使用

    typedef typename define namespace using区别 1 关键字typedef定义别名 2 typename 3 文本替换宏define 4 using 5 namespace 使用在命名空间上 1 关键字ty
  • k8s初级实战09--Secret

    k8s初级实战09 Secret 1 基础概念 2 常见用法 2 1 创建 secret 2 2 使用 secret 2 3 imagePullSecret 控制镜像访问权限 3 注意事项 4 说明 1 基础概念 Secret 对象类型用来
  • HP惠普服务器做RAID

    安装Raid 10 综合考虑后 使用四块sas硬盘配置Raid10 1 按开电源 废话 2 进入raid配置 3 创建raid raid 阵列 4 保存raid F8保存配置 回车下一步 5 查看raid 查看Raid 4 怎么安装系统 1
  • [LeetCode-202]-Happy Number-LeetCode 30天挑战赛-2

    文章目录 题目相关 Solution 题目相关 题目解读 给定一个正数 判断该数是否是快乐数 快乐数定义 将该数进行拆分 拆分后的各个数值的平方求和 求和的结果进行如下判断 该数是否为1 或者该数包含在一个循环中无休止地循环 如果数值是1就
  • android获取string.xml的值

    为什么需要把应用中出现的文字单独存放在string xml文件中呢 一 是为了国际化 当需要国际化时 只需要再提供一个string xml文件 把里面的汉子信息都修改为对应的语言 如 English 再运行程序时 android操作系统会根
  • 6、hilens-only 手势识别控制 竞速小车

    hilens only 手势识别控制 竞速小车 hilens only 手势识别控制竞速小车 1 网络配置 2 hilens 手势识别 3 hilens控制台代码 hilens only 手势识别控制竞速小车 1 网络配置 Address
  • Valid Palindrome问题及解法

    问题描述 Given a string determine if it is a palindrome considering only alphanumeric characters and ignoring cases 示例 A man
  • 2021-02-22

    MFC GDI对象累计问题 我遇到的情况是 运行MFC程序一段时间后 发现界面出现变白 卡死情况 通过查看 任务管理器 详细信息 在状态栏任意处单击右键 选择 选择列 gt GDI对象 如果GDI对象值一直在增加 则说明你的界面窗口中GDI
  • 【华为OD机试】最长公共后缀(Java & JS & Python)

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • win10下,安装Qt5.9.7(一)

    工作需要 用Qt代替mfc 所以记录一下安装过程 1 下载安装包 http download qt io archive qt 找到自己需要的版本 2 安装 选中的那个是需要安装的 双击 next skip 即可 东西很大 放哪个盘 看自己
  • 直观的获得MATLAB训练得到的深度学习网络参数与结构

    在MATLAB当中可以通过在 命令行窗口 输出help trainNetwork获得简单的深度学习网络的搭建的代码 为了获得经过训练得到的深度学习模型的结构与学习参数个数 而不用动手分析和计算 可以使用MATLAB中的函数实现对深度学习模型
  • 不能打开localhost 但是能打开127.0.0.1 ; 可以访问127.0.0.1,不能访问localhost

    可以访问127 0 0 1 不能访问localhost 1 确定C WINDOWS system32 drivers etc hosts文件中是不是存在 127 0 0 1 localhost 且这一行没有被 注释掉 如果没有则添加 试验能
  • 论文精读:YOLOv4: Optimal Speed and Accuracy of Object Detection

    Abstract 大量的特征据说可以提高卷积神经网络 CNN 的精度 需要在大数据集上对这些特征的组合进行实际测试 并对结果进行理论证明 有些特性只适用于某些模型 只适用于某些问题 或仅适用于小规模数据集 而一些特性 如批处理标准化和残差连
  • vue中如何使用ueditor?

    1 首先进入gitee gitee网址快 中拉代码 git clone https gitee com msea ueditor 2 在下载的文件中打开终端 检查是否安装grunt 如果没有 则运行 npm install g grunt
  • ImportError: cannot import name ‘XXX‘ 问题最全解最根本决方案 [循环引用]

    0 前言 导入的实质是什么 以下是我从简书收到的一篇文章 https www jianshu com p a1e91cc53b07 我截了一个片段 python中 每个py文件被称之为模块 每个具有 init py文件的目录被称为包 只要模
  • 松灵机器人——ROS下的CAN通讯调试(内含所需调用包,都是操作步骤)

    松灵机器人 ROS下的CAN通讯调试 1 代码包地址 2 硬件准备 2 1 SCOUT MINI 小白车 尾部航空插头 CAN TO USB适配器 2 2 接线 3 具体操作 3 1 ROS安装和环境设置 3 2 配置 CAN TO USB