机器人信息发布

1、程序功能说明

小车连接上代理后,会发布雷达、imu等传感器数据,可以在配套的主板中运行命令去查询这些信息,也可以发布速度、蜂鸣器等传感器的控制数据。

2、查询小车信息

2.1、启动并连接代理

RISC-V小车成功开机后,需要临时关闭掉自启动程序防止冲突(详情查看《0.开机自启动和临时关闭》),打开终端输入以下指令打开代理,连接成功如下图所示,

image-20240430175715667

注:如果卡在前面两条log,可以按一下小车上的复位按键,这是因为第二次连代理需要重置一下。

2.2、查询小车节点

然后输入以下指令查询该节点发布/订阅了哪些话题,

image-20240430180423855

可以看出订阅的话题有,

/beep:蜂鸣器控制

/cmd_vel:小车速度控制

/servo_s1:s1舵机云台控制

/servo_s2:s1舵机云台控制

发布的话题有,

/imu:imu模块数据

/odom:里程计模块数据

/scan:雷达模块数据

我们也可以通过查询话题命令,终端输入,

image-20240430180457890

2.3、查询话题数据

查询雷达数据,

image-20240506174056822

查询imu数据,

image-20240430181540002

查询odom数据,

image-20240430181622112

3、发布小车控制信息

3.1、控制蜂鸣器

首先查询以下蜂鸣器话题的相关信息,终端输入,

image-20240430181649799

得知数据类型是std_msgs/msg/UInt16。然后输入以下指令打开蜂鸣器,终端输入,

image-20240430181754931

输入以下指令关闭蜂鸣器,终端输入,

image-20240430181815897

3.2、发布速度控制信息

我们假设发布小车以线速度0.5的速度,角速度0.2运动,终端输入,

image-20240430181907254

停车则输入,

image-20240430181940324

3.3、控制云台舵机

这里需要注意的是s1舵机的范围是[-90,90],s2舵机的范围是[-90,20],超过范围的值,舵机不转动。

我们假设控制s1舵机转动30度,则终端输入,

image-20240430182015363

同理,控制s2舵机转动-30度则终端输入,

image-20240430182100902