# dachuang **Repository Path**: wwt_panache/dachuang ## Basic Information - **Project Name**: dachuang - **Description**: ucas 18 小车联网大创(已摆烂) - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2021-04-10 - **Last Updated**: 2025-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dachuang #### 介绍 ucas 18 小车联网大创 #### 架构 小车的树莓派自带ros,操作单车直接ssh就可以,操作多车需要一个装有ros的linux环境作为master,并处于同一网络环境下 具体操作详见zm发给大家的资料手册《NanoRobot 机器人套件用户手册》、《多机器人系统使用手册》 ## 注意!!! 1. 如果要操作单车,可以使用windows自带的移动热点功能让小车连接。 2. 如果要操作多车,移动热点虽然可以连接多辆小车,但是不能把linux虚拟机也连进去。建议使用路由器。 3. 如果使用路由器,一定一定一定要把路由器的信道设置在11以下!!!!!否则树莓派连不上wifi!!! 4. 网络频带不要设置为5Ghz,设置为2.4Ghz #### 安装教程 要使用提供的.py文件,必须在小车的工作空间中创建功能包再运行,工作空间已经自带创建好了,功能包创建方法如下: 1. 在小车主文件夹下 `cd catkin_ws/src` 2. `catkin_create_pkg name rospy roscpp std_msgs` name可以自己起一个 3. 将提供的.py文件放入`catkin_ws/src/name/src`中 4. 使用命令`rosrun name xxx.py`即可运行提供的.py文件,注意要给.py文件可执行权限 5. 如果使用c++编写程序,需要编译功能包并设置相关的环境变量,参见BV1zt411G7Vn(古月·ROS入门21讲中的9,10,11讲) #### 程序说明 三个程序均是在多车互联环境下使用的。 多车互联环境相比于单车环境,区别在于命名空间,详见zm发给大家的《多机器人系统使用手册》以及相关视频教程。 1. follow_r0.py 本程序实现了robot_1直线同速度跟随robot_0,由robot_1执行该程序,使用键盘等方法手动控制robot_0移动。由于robot_0速度获取于话题robot_0/odom,而robot_1速度发布于话题robot_1/cmd_vel,是两个不同的话题,速度数值相等时仍会存在一定的误差。 2. pose_get.py 监听并打印车的坐标与速度信息,来自于话题/odom,监听robot_0或robot_1都可。 3. vel_control.py 向cmd_vel话题发布本车速度,依次来控制车的移动,只能控制本车。 4. follow_r0_with_acceleration.py 本程序在follow_r0.py的基础上,加入了加速度的计算,根据跟驰模型,利用两车距离差和速度差计算加速度,按照50HZ的频率计算当前速度变化量,更新并发布速度。运行程序时需要手动输入两车初始间距(m)和模型参数lambda。 #### 一些想法 odom话题提供的坐标是相对坐标,即车在哪儿启动哪儿就是零点,坐标值是通过电机转动积分得到的。。。因此无法通过不同车的Odom坐标做差来得到两车之间的距离差。。可能需要使用激光/摄像头??