ROS学习:智能车室外光电组仿真
一、模型建立
首先先准备我们的开源仿真包mit-racecar,博主已经把资源上传到CSDN上了。需要请自取。
https://download.csdn.net/download/weixin_44606638/12470588
接下来将racecar_gazebo放入工作区间
编译工作区间
catkin_make
设置环境变量
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
这下准备就完成了,可以启动launc文件了。
roslaunch racecar_gazebo racecar.launch
注意,如果出现raise ResourceNotFound(name, ros_paths=self._ros_paths)
ResourceNotFound: racecar说明你没有racecar的模型
还是老样子,博主博主已经把资源上传到CSDN上了。需要请自取。
https://download.csdn.net/download/weixin_44606638/12470596
如果你执行成功,就会启动gazebo,就可以看见小车模型了。
二、准备赛道
目前比赛规则已经渐渐明朗,参考官方,制作标准比赛仿真环境,学习阿克曼小车控制,ROS基础和相关智能车算法(后续会补充)。开启Building Editor,依据下图绘制环境:
这时,我们在gazebo中按Ctrl+B,就会弹出绘图画面。
选择Wall,在白色区域画出你需要的赛道模型。
保存并应用:
效果展示:
当然,如果你还要添加障碍物之类的,可以在Insert中自行选择添加。这里我就不多添加了。
三、控制小车
新建文件racecar.py
Python代码:
#!/usr/bin/env python"""
template_node.py
LCHS RACECAR 2016-17
Written by Braden Oh
This program serves as a template for a working node.
It contains a useful implementation of the drive function,
an outline for the main function, and contains all commands
necessary to initialize a node. It also contains comments
outlining specific documentation.
"""#----------------------------------------------------------
# IMPORTS
#----------------------------------------------------------
import rospy # Import ROS libraries
from sensor_msgs.msg import LaserScan # Import required msg types
from ackermann_msgs.msg import AckermannDriveStamped
# Other imports here...#----------------------------------------------------------
# CONSTANTS
#----------------------------------------------------------
DATA_IN = '/scan' # Read data from this topic
DATA_OUT = 'vesc/ackermann_cmd_mux/input/navigation' # Publish data to this topic
NODE_NAME = 'sampleController' # Name of the node
SPEED = 1.0 # Default speed in m/s
# Other constants here...#----------------------------------------------------------
# Functions
#----------------------------------------------------------
def drive(speed, angle, myPublisher):msg = AckermannDriveStamped() # Initializes msg objectmsg.drive.speed = speed # Sets msg speed to entered speedmsg.drive.acceleration = 0 # Sets msg acceleration to 0msg.drive.jerk = 1 # Sets msg jerk to 1msg.drive.steering_angle = angle # Sets msg steering angle to entered anglemsg.drive.steering_angle_velocity = 1 # Sets msg angle velocity to 1myPublisher.publish(msg) # Publishes the message# def myFunction(parameter_1, parameter_n):# Other functions here#============================
# MAIN
#============================
def main(msg):# Initialize publisher objectmyPublisher = rospy.Publisher(DATA_OUT,AckermannDriveStamped,queue_size=10)# Useful calculations here...# Use the publisher# i.e. to drive straight ahead, call the drive function:# drive(SPEED, 0, myPublisher) #============================rospy.init_node(NODE_NAME) # Initialize node with preset name
rospy.Subscriber(DATA_IN,LaserScan,main) # Create subscriber object# - Reads data from preset topic# - Data of type LaserScan# - Upon new data, execute main
rospy.spin() # Continue running until user stops this node
赋予可执行文件:
chmod 777 *
执行脚本:
python racecar.py
结果显示:
ROS学习:智能车室外光电组仿真相关推荐
- 全国大学生智能车室外光电组补充资料(偏方版本)
关于比赛正式资料参考钢铁侠和智能车竞赛官方网站.之前,博客涉及"偏方"如下: 来龙去脉:https://blog.csdn.net/ZhangRelay/article/detai ...
- 智能车仿真 —— 2020室外光电组仿真指导(一)
前言 今天推出了官方的仿真文件,我也参与了部分仿真模型的设计,提供一个简单的参考思路. 完整文章地址:古月居博客网站 模型下载地址 https://pan.baidu.com/s/1TFBTbCeyQ ...
- 2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车完成定位导航仿真
2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车完成定位导航仿真 一.前言 二.准备工作 1.创建工作空间 2.下载racecar源代码包,并编译工程 三.启动仿真 1. ...
- 2019年大学生智能车大赛室外光电组+在ROS下搭建仿真模拟环境,编程控制小车,按照给定赛道完成比赛
大学生智能车大赛室外光电组,在ROS下搭建仿真模拟环境 一.前言 二.效果图 三.准备工作 [1.在Ubuntu上安装ROS Kinetic](https://blog.csdn.net/qq_425 ...
- 第十五届全国大学生智能车竞赛 室外光电组线上选拔赛比赛流程
第十五届全国大学生智能车竞赛 室外光电组线上选拔赛比赛流程 作者:卓晴博士,清华大学自动化系 更新时间:2020-07-30 Thursday 1.线上选拔赛将采取腾讯会议直播与电脑录屏结合的方式进行 ...
- 第十五届全国大学生智能汽车竞赛室外光电组全国总决赛方案
第十五届全国大学生智能汽车竞赛 室外光电组全国总决赛方案 1. 赛事背景 全国大学生智能汽车竞赛是以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程的实践活动,是教育部倡导的大 ...
- 2021-春季学习-智能车技术创新与实践-Lesson 1
▌01 课程背景 1.课程简介: 具体内容参见: 智能车技术创新与实践(01510422-90)课程简介 上课时间地点: 星期六第1节(前八周),六教6A211: 星期六第2节(前八周),六教6A21 ...
- 第十六届全国大学生智能车竞赛创意组-讯飞智慧餐厅
竞赛正式文档可以在全国大学生智能车竞赛网站下载:https://smartcar.cdstm.cn 第十六届全国大学生智能车创意组包括有三个组别: 第十六届全国大学生智能汽车竞赛创意组-百度智慧交通 ...
- 2021-春季学习-智能车技术创新与实践(90)
▌01 课程的基本信息 1.课程基本信息 课程简介: 智能车技术创新与实践(01510422-90)课程简介 上课时间地点: 星期六第1节(前八周),六教6A211: 星期六第2节(前八周),六教6A ...
最新文章
- hdu 2141 Can you find it?
- 基于Kmeans聚类算法的图像分割(色彩分割)实战
- pytorch IntermediateLayerGetter
- 【DirectX12龙书机翻整理】第8章 光照
- ibernate ID生成策略 小知识
- 面向对象之三大特性:继承,封装,多态
- python3.5安装pip_win10上python3.5.2第三方库安装(运用pip)
- 分布式系统:SrpingBoot整合Zookeeper和Dubbo的版本匹配问题
- java ora 28040_Oracle 11g与112c中ORA-28040 错误解决
- 暑期英语学习(词组积累)【持续更新中】
- 面临重重挑战 华为造车之路任重道远
- goland gorm分组查询统计_golang gorm 计算字段和获取sum()值的实现
- linux服务器启用光口,Ubuntu中启用ssh服务
- 服务器操作记录21/11/19
- 吴恩达深度学习笔记(Dropout正则化)
- 3D数学基础 简要归纳
- 【蓝桥杯真题】走迷宫算法
- SEO的日常主要工作做哪些
- 闲鱼卖货,月入1.5w的小众类目分享。
- “爱什么,来什么”,本地生活饿了么
热门文章
- 温度湿度传感器流程图_为什么温湿度传感器用一段时间就会漂移?
- python通信原理_python入门第三十三天--网络通信原理(补充)
- mysql 外键详解_mysql 中的外键key值的详解
- 软件测试从业 3 年+了,怎么兼顾 管理 与 自身成长?
- Python零基础入门(三)——函数[学习笔记]
- 《高频交易》读书笔记
- Python操作ElasticSearch条件查询
- 21天Jenkins打卡Day10-自动触发项目构建
- python编程资料包_强力推荐,非常全的Python编程400集学习资料(今日限免)
- 学计算机辐射,离散数学对计算机专业系统知识辐射作用.doc