-
Notifications
You must be signed in to change notification settings - Fork 20
实车 贪吃蛇
loren98 edited this page Jul 6, 2022
·
1 revision
本教程将会引导读者完成 单车边界回弹功能 的演示。在使用此功能之前,确保已经完成了安装及编译
提示
启动此Demo前,请关闭所有终端
- 打开终端,输入命令,启动
roscore
:
roscore
- 启动相机驱动。打开终端,输入命令:
rosrun camtoros camtoros
- 启动二维码检测功能包。打开终端,输入命令:
roslaunch apriltag_ros continuous_detection.launch
- 将1 - 6号小车开机,将 1号车放置在场地的原点附近,其余车辆依次摆放在场外 。如图1所示:
图2 小车摆放位置
注意
- 小车 开关方向 为小车正方向
- 图示位置 左下角 为原点,右边为
x
轴正方向,上边为y
轴正方向- 摆放的时候小车 2 - 5 号前后左右间距为
5cm
左右, 太近可能会导致刚启动的时候发生碰撞- 1号车和2号车之间在水平方向 保持一致,但是间隔稍微宽一点,约
10cm
- 启动通信节点。打开终端,输入命令:
rosrun tcp_communication tcpDriverNode
提示
小车连接需要大概10-15s时间
图3 连接成功界面
提示
你也可以双击打开
kk-robot-swarm/kkSwarm state.AppImage
小车状态监视软件,查看小车连接情况。如下图所示:![]()
小车状态检测
注意
connfd
为文件描述符,由系统随机分配。以实际使用为准
-
启动定位系统节点。
首先打开代码
kk-robot-swarm/src/global_vision/include/global_vision/odomPub.hpp
文件,在代码第47行,将car_total_num
的数量改为6
然后打开终端进行编译,输入:
cd ~/kk-robot-swarm catkin_make
接着打开
kk-robot-swarm/src/global_vision/launch/start.launch
文件, 只保留 1 - 6 号车相关的node
,其余全部注释,如下所示:<launch> <node pkg="global_vision" type="odometryPub" respawn="false" name="odometryPub" output="screen"> </node> <!-- tf publisher --> <!-- matrix (1, 0, 0, 0, -1, 0, 0, 0, -1) --> <node pkg="tf" type="static_transform_publisher" name="map_hik_broadcaster" args="0 2 4 1 0 0 0 map hik_camera 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_1" args="0 0 0 0 0 0 map robot_1/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_1" args="0 0 0 1 0 0 0 tag_1 robot_1/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_2" args="0 0 0 0 0 0 map robot_2/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_2" args="0 0 0 1 0 0 0 tag_2 robot_2/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_3" args="0 0 0 0 0 0 map robot_3/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_3" args="0 0 0 1 0 0 0 tag_3 robot_3/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_4" args="0 0 0 0 0 0 map robot_4/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_4" args="0 0 0 1 0 0 0 tag_4 robot_4/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_5" args="0 0 0 0 0 0 map robot_5/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_5" args="0 0 0 1 0 0 0 tag_5 robot_5/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_6" args="0 0 0 0 0 0 map robot_6/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_6" args="0 0 0 1 0 0 0 tag_6 robot_6/base_link 100" /> <!-- <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_7" args="0 0 0 0 0 0 map robot_7/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_7" args="0 0 0 1 0 0 0 tag_7 robot_7/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_8" args="0 0 0 0 0 0 map robot_8/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_8" args="0 0 0 1 0 0 0 tag_8 robot_8/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_9" args="0 0 0 0 0 0 map robot_9/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_9" args="0 0 0 1 0 0 0 tag_9 robot_9/base_link 100" /> <node pkg="tf" type="static_transform_publisher" name="odom_broadcaster_10" args="0 0 0 0 0 0 map robot_10/odom 100" /> <node pkg="tf" type="static_transform_publisher" name="tag_base_broadcaster_10" args="0 0 0 1 0 0 0 tag_10 robot_10/base_link 100" /> --> </launch>
最后启动定位系统。打开终端,输入命令:
roslaunch global_vision start.launch
- 启动贪吃蛇功能。打开终端,输入命令:
rosrun c10_wp_snake c10_wp_snake
- 停车。首先 关闭第7步 的程序,然后打开终端,输入:
rosrun global_vision stop
提示
如果无法播放视频,按下
ctrl
+F5
刷新一下缓存即可