松灵机器人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)的更多相关文章

  1. QT--图灵机器人

    QT--图灵机器人 1.登陆图灵机器人官网注册一个图灵机器人 2.获取apikey 3.pro文件添加 QT       += core gui network 4.头文件 #include < ...

  2. weiphp---------图灵机器人存在的bug。

    1.很多人下载下来weiphp源码以后,配置好了图灵机器人却不能使用.原因是因为他源码里面存在一个小bug 上图红色框框内是他的源码,问题就出在这里. 修改方法: if($result ['code' ...

  3. ROS::message_filters中的一个报错(mt::TimeStamp……)

    『方便检索』 ros::Time msg_time = mt::TimeStamp<typename mpl::at_c<Messages, i>::type>::value( ...

  4. Android智能聊天机器人

    http://www.tuling123.com/       注册一个账号,申请一个KEY值.此网站也有文档,可以查看. package com.tulingdemo; import java.te ...

  5. ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation

    ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...

  6. ROS探索总结(十七)——构建完整的机器人应用系统

           上一篇博客介绍了HRMRP机器人平台的设计,基于该平台,可以完成丰富的机器人应用,以较为典型的机器人导航为例,如何使用HRMRP来完成相应的功能?本篇博客将详细介绍如何将HRMRP应用到 ...

  7. java最简单的方式实现httpget和httppost请求

    java实现httpget和httppost请求的方式多种多样,个人总结了一种最简单的方式,仅仅需几行代码,就能够完美的实现. 此处须要用到两个jar包,httpclient-4.3.1.jar.ht ...

  8. 入门ROS教程与视频汇总(kinetic)

    参考网址: Richard Wang    3 Shawn Chen 部分视频网址: http://v.youku.com/v_show/id_XMjUxMTc5MzE5Mg http://i.you ...

  9. ROS系统的安装以及卸载

    ROS系统的安装 ROS系统的安装方式有两种,通过软件源和源码编译安装.软件源安装只需要通过简单的命令,因此,我们使用软件源来安装ROS 配置系统软件源 打开Ubuntu软件中心的软件源配置界面,勾选 ...

  10. 加快你ROS安装的一篇文章

    前言: 首先ROS大家应该比较熟悉了哈,如果需要补充一下请看我之前的这篇文章 <嵌入式的我们为什么要学ROS>,对于嵌入式来说ROS是一个很好的进阶方向,所以如何快速的安装一个ROS到我们 ...

随机推荐

  1. SpringBoot连接redis报错:exception is io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接

    一.解决思路 (1).检查redis的配置是否正确 spring redis: host: localhost port: 6379 password: 123456 database: 0 time ...

  2. PPO近端策略优化玩cartpole游戏

    这个难度有些大,有两个policy,一个负责更新策略,另一个负责提供数据,实际这两个policy是一个东西,用policy1跑出一组数据给新的policy2训练,然后policy2跑数据给新的poli ...

  3. OpenNESS & OpenVINO Demo 部署

    目录 文章目录 目录 部署架构 部署 Edge Controller 基础配置 配置 Proxy 配置防火墙 Install necessary package Install MySQL Insta ...

  4. Vue3:Cannot read properties of null (reading 'isCE')

    Cannot read properties of null (reading 'isCE')   这个问题是在vue3中引入elementui的列表框时出现的.经过网上查询,有说是装了两个vue版本 ...

  5. ProxyKit服务器http反向代理应用

    方法一:这个方法很漂亮,但是,有问题,不知道什么原因,cookie偶尔会收不到,而造成验证错误,提交内容也会错误 扩展类: public class MyTypedHandler : IProxyHa ...

  6. this,构造器,static,final,单例模式

    this关键字 在java中this是一个引用变量,即指向当前对象地址的引用(指针),→可以把this当作当前对象,便于更好的索引. this() 实际是调用了当前对象的构造器 1. 引用当前对象的属 ...

  7. 快速生成树协议(RSTP)基本知识及实验(使用eNSP)

    关于生成树协议的知识可参考我的另一个博客:https://www.cnblogs.com/mrlayfolk/p/12242627.html 这篇博文主要介绍快速生成树协议(RSTP)的基本知识.-- ...

  8. LeetCode 682. Baseball Game 棒球比赛(C++/Java)

    题目: You're now a baseball game point recorder. Given a list of strings, each string can be one of th ...

  9. nginx resolver 指定多个DNS (2个DNS)

    nginx resolver 指定多个DNS (2个DNS) 直接在 resolver 后边填2个DNS,中间用空格 location / { resolver 223.5.5.5 114.114.1 ...

  10. go.mod file not found in current directory or any parent directory; see 'go help modules' (exit status 1)

    go.mod file not found in current directory or any parent directory; see 'go help modules' (exit stat ...