SCOUT底盘测试 通过CAN总线和RS232控制松灵地盘

本文详细介绍了如何通过松灵SCOUT2.0的开源SDK进行控制,包括硬件准备、环境设置、SDK功能及使用示例,旨在帮助开发者快速掌握并缩短开发时间。
摘要由CSDN通过智能技术生成

本文链接:https://blog.csdn.net/AgileX/article/details/106730024

如何通过开源SDK控制松灵机器人SCOUT底盘?

松灵课堂开课啦!为了更方便的解答大家在使用我们移动底盘进行开发调试的时候出现的问题,使二次研发更加得心应手,我们开设了松灵课堂,主要为小伙伴们讲解松灵机器人开发过程中一些需要注意的问题,同时也会将具有代表性的用户问题(隐去商业秘密后)详解发布出来,欢迎各位小伙伴随时与我们交流。

松灵课堂系列 SCOUT 专题分为三篇文章,第一个专题我们采用松灵最具代表性的SCOUT 2.0机器人移动平台,作为本系列的第一篇文章,我们先简单的教大家如何通过开源SDK控制SCOUT?接下来的两篇文章分别给大家讲解ros_package 解析和scout_ros代码分析教学。

https://www.bilibili.com/video/BV1fA411q76x?t=206.8

松灵机器人SCOUT2.0开源SDK控制教程

前期准备

准备

■ 硬件准备
● CANlight can通讯模块 X1
● Thinkpad E490 笔记本电脑 X1
​ ● AGILEX SCOUT 2.0 移动机器人底盘 X1
● AGILEX SCOUT 2.0 配套遥控器FS-i6s X1
● AGILEX SCOUT 2.0 顶部航空插座 X1

在这里插入图片描述

■使用示例环境说明
● Ubuntu 16.04 LTS(此为测试版本,在Ubuntu 18.04 LTS测试过)
● Git

该软件包提供了一个 C++ 的接口,可与松灵机器人的移动平台进行通讯,用以将命令发送给机器人并获得机器人的最新状态。该SDK可在x86和ARM平台上使用。
通常情况下,你只需要定义一个机器人的基类(例如ScoutBase),然后使用该对象编辑控制机器人。

从内部讲,基类管理两个后台线程,一个用于处理机器人的CAN/UART信息状态,并相应的在机器人状态数据结构中更新状态,另一个维护一个20Hz循环并给机器人发送最新指令。用户可以在主线程中迭代执行任务,并检查机器人状态或设置控制指令。

相关示例,请参考“src/apps”。

硬件接口

设置CAN转USB适配器

1、启用gs_usb内核模块(本指令需要搭配相应的硬件设备才可以使用,需要Linux内部版本>4.5)

$ sudo modprobe gs_usb

2、设置can设备参数

 $ sudo ip link set can0 up type can bitrate 500000

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

$ ifconfig -a

4、按装和使用can-utils来测试硬件

$ sudo apt install can-utils

5、测试指令

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

提供了 "./scripts"文件夹里的两个脚本以便于设置。您可以在首次安装时运行“ ./setup_can2usb.bash”,并在每次拔出和重新插入适配器时运行“ ./bringup_can2usb.bash”以启动设备。

在这里插入图片描述

设置UART
通常您的UART2USB电缆应自动识别为“ / dev / ttyUSB0”或类似名称即可使用。如果在尝试打开端口是收到错误"… permission denied …" ,则需要授予用户账号访问权限:

$ sudo usermod -a -G dialout $USER

您需要重新登录才能使更改生效。

构建SDK
安装编译工具
$ sudo apt install build-essential cmake
在这里插入图片描述

如果您想要构建TUI监控工具,需安装libncurses

$ sudo apt install libncurses5-dev

2、配置和构建

$ cd scout_sdk 
$ mkdir build
$ cd build
$ cmake ..
$ make

运行演示应用
演示代码需要一个用于CAN总线模式的参数

$ ./app_scout_demo can0

使用RS232接口时,必须提供端口名称和波特率

$./app_scout_demo /dev/ttyUSB0 115200

如果您已安装“ libncurses5-dev”并构建了“ app_scout_monitor”,则可以通过相似的方式来运行:

$ ./app_scout_monitor can0

或者

$./app_scout_monitor /dev/ttyUSB0 115200

在这里插入图片描述

通过开源SDK,客户可以快速通过指令的形式与小车底盘进行控制,省去客户自主适配协议的过程,做到拿来即用的状态,省去客户开发的过程,缩短开发时间。本节内容基本结束,下一节我们主要讲解ros_package 解析。

代表性问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值