Repo symbol

car_competition repository

Repo symbol

car_competition repository

Repo symbol

car_competition repository

Repo symbol

car_competition repository

Repository Summary

Description 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码
Checkout URI https://github.com/ht-hlf/car_competition.git
VCS Type git
VCS Version master
Last Updated 2023-01-27
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
aruco 2.1.1
aruco_msgs 2.1.1
aruco_ros 2.1.1
fdilink_ahrs 0.0.1
game_start 0.0.0
eigen_conversions 1.12.0
geometry 1.12.0
kdl_conversions 1.12.0
tf 1.12.0
tf_conversions 1.12.0
geometry2 0.6.5
test_tf2 0.6.5
tf2 0.6.5
tf2_bullet 0.6.5
tf2_eigen 0.6.5
tf2_geometry_msgs 0.6.5
tf2_kdl 0.6.5
tf2_msgs 0.6.5
tf2_py 0.6.5
tf2_ros 0.6.5
tf2_sensor_msgs 0.6.5
tf2_tools 0.6.5
ht_cv_bridge 0.0.0
ht_image 0.0.0
ht_laser 0.0.0
ht_msg 0.0.0
ht_yolov5_1 0.0.0
huanyu_joy 0.0.0
robot_pose_ekf 1.14.5
robot_vision 0.0.0
ucar_cam 0.0.0
ucar_controller 1.1.0
ucar_map 0.0.0
ucar_nav 0.0.0
xf_mic_asr_offline 0.0.0
xf_mic_tts_offline 0.0.0
ydlidar 1.3.1
yocs_cmd_vel_mux 0.12.1
yocs_velocity_smoother 0.12.1

README

智能驾驶小车ros示例代码介绍

获奖

image

指引:

yolov5在ros上的部署

基于单线激光的人物模型位姿计算

ht_code

ht_detect_control

ht_msg

简介

该示例代码包含整个ROS的workspace。用catkin_make编译即可使用。 建议放在 ~/ 目录下。

前提条件:本工作空间需要已经完成ROS的安装、OpenCV的编译。

以在 ~/ 为例:

cd ~/ucar_ws
catkin_make

文件结构

本workspace目录结构如下:

.
├── startup_scripts     # 设备权限设施脚本,用于在`/etc/udev/rules.d/`中添加ucar.rules
├── ucar_controller     # 智能驾驶小车的底盘控制ros包(mini版本集成了imu)
├── fdilink_ahrs        # imu示例ros包(晓版本用imu需要单独调用本包)
├── ydlidar             # 激光雷达示例ros包
├── ucar_map            # 建图示例ros包
├── ucar_nav            # 导航示例ros包
├── car_race            # 智能车比赛示例代码包
├── xf_mic_asr_offline  # 麦克风阵列示例ros包
├── geometry            # tf2相关包
├── geometry2           # tf2相关包
└── CMakeLists.txt

  1. startup_scripts:文件夹存放了快速配置小车外设权限的脚本。两个脚本分别对应两个版本小车。
  2. ucar_controller:是控制小车底盘的驱动包,实现了对4个电机、彩色LED、IMU的控制。
  3. ydlidar:激光雷达的驱动包。
  4. ucar_map:基于Cartographer算法的SLAM建图的配置示例ros包。
  5. ucar_nav:基于ROS move_base的导航配置示例ros包。
  6. ucar_race:智能车竞赛参考代码。
  7. xf_mic_asr_offline:麦克风阵列驱动包。
  8. geometrygeometry2 tf2相关包。 具体使用见下文以及相应包中的README.md文件。

    没有包含的usb摄像头可以参考usb_cam包来使用。下面提到的startup_scripts已经将摄像头设备链接为/dev/ucar_video

各包说明

1. startup_scripts

initdev_mini.shinitdev_xiao.sh 分别对应晓mini版本的智能驾驶小车和晓版本的智能驾驶小车。

cd ./ucar_ws/src/startup_scripts/
sudo chmod 777 ./initdev*.sh
sudo ./initdev_mini.sh # 对应晓mini版本,晓版本勿执行这句
sudo ./initdev_xiao.sh # 对应晓版本,晓mini版本勿执行这句
sudo reboot # 可选,最好完成一次重启

这个脚本完成了/etc/udev/rules.d/ucar.rules文件的创建与udev服务重启。 以及,在~/.bashrc中添加了对ucar_ws的ROS环境的source。

2. ucar_controller

2.1 简介

ucar_controller作为与下位机mcu通讯的ROS包实现了电机控制、灯光控制、mcu板载imu数据读取等功能。我们可以通过发布/cmd_vel(geometry_msgs/Twist)速度控制话题,指定xy方向的平移速度以及yaw角的旋转速度来控制小车运动。同时发布里程计话题/odom(nav_msgs/Odometry)实时发布小车里程计记录的速度、位置。其他功能阅读ucar_controller包中的readme.md文档。

2.2 所需安装依赖

sudo apt update
sudo apt install ros-melodic-serial libeigen3-dev
sudo pip3 uninstall em
sudo pip3 install empy -i https://pypi.tuna.tsinghua.edu.cn/simple

编译:

cd ~/ROS/ucar_ws
catkin_make

2.3 简单验证

1、启动节点:

roslaunch ucar_controller base_driver.launch

2、发布话题控制: base_driver节点订阅/cmd_vel话题,msg类型为geometry_msgs/Twist。 我们可以通过发布/cmd_vel话题来控制小车移动,比如: Ctrl + Alt + T重新开启一个终端。 用rostopic工具发布话题。(注意用Tab键自动补全来填写geometry_msgs/Twist数据,不然手动输入容易出错)

```bash rostopic pub -r 20 /cmd_vel geometry_msgs/Twist “linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0

File truncated at 100 lines see the full file

Repo symbol

car_competition repository

Repo symbol

car_competition repository

Repo symbol

car_competition repository

Repo symbol

car_competition repository