松灵机器人scout mini小车 自主导航(1)
松灵机器人scout mini小车 自主导航
最近实验室来了个松灵机器人scout mini的底座。本着学习的目的对其进行了研究,从最基础的连接开始。
1.硬件连接准备
松灵scout mini提供了航空插头用于can串口转USB的操作。
将通讯航空插头连接到小车对应插口。然后将CAN线引出,将CAN线中的CAN_H和CAN_L分别与CAN_TO_USB适配器相连。然后打开scout mini移动机器人底盘开关,将CAN_TO_USB连接到笔记本的usb口。
具体连接方式如下图所示:

注意:一根usb to can线300 money,用的时候要小心保护
2.测试硬件与CAN通讯
设置CAN_TO_USB对应适配器,检测是否连接成功
1.启动gs_usb 内核模块
sudo modprobe gs_usb
2.设置500k波特率适配
sudo ip link set can0 up type can bitrate 500000
3.如果前面没有出现错误,可以使用命令ifconfig -a查看can设备
ifconfig -a
4.安装并使用can-utils来测试硬件
sudo apt install can-utils
5。使用命令监听小车底盘数据
candump can0
如果前面都没有错,且小车打开状态,执行完candump can0后会源源不断收到小车底盘反馈的数据。
如果出现错误,拔插一下重新运行命令。
3. ROS功能包测试
松灵机器人提供了对应的ROS功能包用于二次开发。可以通过ROS依赖包直接对小车底盘进行控制。
3.1.下载ROS相关依赖
首先需要根据自己的ROS版本安装对应的依赖,我的是ubuntu18,对应的ROS为melodic
#根据自己ROS版本更改命令
sudo apt install ros-melodic-controller-manager
sudo apt install ros-melodic-joint-state-publisher-gui
sudo apt install -y libasio-dev
3.2. 新建工作空间
新建工作空间,将代码包复制到新建工作空间下的src目录。然后进行编译
mkdir -p scout_ws/src
cd scout_ws/src
git clone --recursive https://github.com/agilexrobotics/ugv_sdk.git
git clone https://github.com/agilexrobotics/scout_ros.git
cd ..
catkin_make
3.3 键盘控制小车移动
在测试完硬件与CAN连接成功后,松灵官方提供了键盘控制小车移动指令
连接电脑usb和小车后,打开电源,运行下面命令:
#1)连接设备
sudo ip link set can0 up type can bitrate 500000
#2)测试接受数据
candump can0
#3)运行小车底盘的ros节点 base
cd scout_ws/
source devel/setup.bash
roslaunch scout_bringup scout_mini_robot_base.launch
#4)运行键盘控制节点
source devel/setup.bahs
roslaunch scout_bringup scout_teleop_keyboard.launch
注意:建议先用z将小车速度降低到可控范围内,并打开遥控器确保随时接手控制防止发生碰撞。再运行节点命令
终端的控制界面如下所示:

松灵机器人scout mini小车 自主导航(1)的更多相关文章
- QT--图灵机器人
QT--图灵机器人 1.登陆图灵机器人官网注册一个图灵机器人 2.获取apikey 3.pro文件添加 QT += core gui network 4.头文件 #include < ...
- weiphp---------图灵机器人存在的bug。
1.很多人下载下来weiphp源码以后,配置好了图灵机器人却不能使用.原因是因为他源码里面存在一个小bug 上图红色框框内是他的源码,问题就出在这里. 修改方法: if($result ['code' ...
- ROS::message_filters中的一个报错(mt::TimeStamp……)
『方便检索』 ros::Time msg_time = mt::TimeStamp<typename mpl::at_c<Messages, i>::type>::value( ...
- Android智能聊天机器人
http://www.tuling123.com/ 注册一个账号,申请一个KEY值.此网站也有文档,可以查看. package com.tulingdemo; import java.te ...
- ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation
ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...
- ROS探索总结(十七)——构建完整的机器人应用系统
上一篇博客介绍了HRMRP机器人平台的设计,基于该平台,可以完成丰富的机器人应用,以较为典型的机器人导航为例,如何使用HRMRP来完成相应的功能?本篇博客将详细介绍如何将HRMRP应用到 ...
- java最简单的方式实现httpget和httppost请求
java实现httpget和httppost请求的方式多种多样,个人总结了一种最简单的方式,仅仅需几行代码,就能够完美的实现. 此处须要用到两个jar包,httpclient-4.3.1.jar.ht ...
- 入门ROS教程与视频汇总(kinetic)
参考网址: Richard Wang 3 Shawn Chen 部分视频网址: http://v.youku.com/v_show/id_XMjUxMTc5MzE5Mg http://i.you ...
- ROS系统的安装以及卸载
ROS系统的安装 ROS系统的安装方式有两种,通过软件源和源码编译安装.软件源安装只需要通过简单的命令,因此,我们使用软件源来安装ROS 配置系统软件源 打开Ubuntu软件中心的软件源配置界面,勾选 ...
- 加快你ROS安装的一篇文章
前言: 首先ROS大家应该比较熟悉了哈,如果需要补充一下请看我之前的这篇文章 <嵌入式的我们为什么要学ROS>,对于嵌入式来说ROS是一个很好的进阶方向,所以如何快速的安装一个ROS到我们 ...
随机推荐
- 纯JavaScript制作动态增加的网页数字
看到别的网页上打开,会显示一个动态的数字,感觉这个效果增加了网页的灵动感.就尝试着写代码,最终实现的方法: 会从0增加到一个数值,实现的代码: <!-- html 部分 --> <d ...
- cesium教程9-加载倾斜摄影并解决高度问题
无人机航拍的倾斜摄影,用照片和视频处理生成三维模型,一般照片都带有坐标信息,所以一般都能定位的比较准确,但是经常会出现高度偏差,这个时候就需要特殊处理了. 今天航拍建模的效果如下: 这个建模没有裁剪, ...
- 一键自动化博客发布工具,用过的人都说好(infoq篇)
infoq的博客发布界面也是非常简洁的.首页就只有基本的标题,内容和封面图片,所以infoq的实现也相对比较简单. 一起来看看吧. 前提条件 前提条件当然是先下载 blog-auto-publishi ...
- 工作流Activiti 迁移 Camunda
后端操作 意思就是: ①更改maven②改包名.类名③改bpmn model中语法④检查迁移后有哪些功能缺失了 1.更改maven 改为 2.换包名.类名 意思就是将 org.activiti.* ...
- Android 13 - Media框架(24)- OMXNodeInstance(一)
关注公众号免费阅读全文,进入音视频开发技术分享群! 为了了解 ACodec 是如何与 OpenMAX 组件进行 buffer 流转的,我们有必要先来学习 OMXNodeInstance,在前面的章节中 ...
- 一款功能强大的Python工具,一键打包神器,一次编写、多平台运行!
1.项目介绍 Briefcase是一个功能强大的工具,主要用于将Python项目转化为多种平台的独立本地应用.它支持多种安装格式,使得Python项目能够轻松打包并部署到不同的操作系统和设备上,如ma ...
- k8s——pod的资源配置文件详解(manifest)
pod的资源配置文件(manifest) 详细介绍pod的资源配置文件(mannifest)的各个字段的含义 元数据 字段 是否必须 类型 含义 由用户提供 备注 name 必须 str pod的名称 ...
- golang 的 net/http 和 net/rpc 的区别, rpc 效率比 http 高?
在Go语言中,net/http 和 net/rpc 是两个不同的包,它们分别用于实现不同的网络通信模式: net/http: net/http 包主要用于构建Web服务和客户端,它实现了HTTP协议, ...
- kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法
kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务. 一.shell脚本调用python脚本 1.下面是一段简单的无参python脚本 import o ...
- C#.NET 循环字符串 V20231123
C#.NET 循环字符串 V20231123 public static bool IsIllegalOutTradeNo(string OutTradeNo) { foreach (char ite ...