发现汽车网
首页 >> 自动驾驶 >> 正文

如何实现一个汽车自动驾驶系统,如何做好自动驾驶智能车控制决策系统开发

日期:2019-08-24 11:22:42 来源:互联网 编辑:小道 阅读人数:670

1,如何做好自动驾驶智能车控制决策系统开发

如何做好自动驾驶智能车控制决策系统开发

智能汽车与一般所说的自动驾驶有所不同,它指的是利用多种传感器和智能公路技术实现的汽车自动驾驶。智能汽车首先有一套导航信息资料库,存有全国高速公路、普通公路、城市道路以及各种服务设施(餐饮、旅馆、加油站、景点、停车场)的信息资料;其次是GPS定位系统,利用这个系统精确定位车辆所在的位置,与道路资料库中的数据相比较,确定以后的行驶方向;道路状况信息系统,由交通管理中心提供实时的前方道路状况信息,如堵车、事故等,必要时及时改变行驶路线;车辆防碰系统,包括探测雷达、信息处理系统、驾驶控制系统 ,控制与其他车辆的距离,在探测到障碍物时及时减速或刹车,并把信息传给指挥中心和其他车辆;紧急报警系统,如果出了事故,自动报告指挥中心进行救援;无线通信系统,用于汽车与指挥中心的联络;自动驾驶系统,用于控制汽车的点火、改变速度和转向等。

智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。目前对智能车辆的研究主要致力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面。近年来,智能车辆己经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到各自重点发展的智能交通系统当中。

多输入

通常对车辆的操作实质上可视为对一个多输入、多输出、输入输出关系复杂多变、不确定多干扰源的复杂非线性系统的控制过程。驾驶员既要接受环境如道路、拥挤、方向、行人等的信息,还要感受汽车如车速、侧向偏移、横摆角速度等的信息,然后经过判断、分析和决策,并与自己的驾驶经验相比较,确定出应该做的操纵动作,最后由身体、手、脚等来完成操纵车辆的动作。因此在整个驾驶过程中,驾驶员的人为因素占了很大的比重。一旦出现驾驶员长时间驾车、疲劳驾车、判断失误的情况,很容易造成交通事故。

通过对车辆智能化技术的研究和开发,可以提高车辆的控制与驾驶水平,保障车辆行驶的安全畅通、高效。对智能化的车辆控制系统的不断研究完善,相当于延伸扩展了驾驶员的控制、视觉和感官功能,能极大地促进道路交通的安全性。智能车辆的主要特点是以技术弥补人为因素的缺陷,使得即便在很复杂的道路情况下,也能自动地操纵和驾驶车辆绕开障碍物,沿着预定的道路轨迹行驶。

编辑本段

特点

高科技

智能汽车是一种正在研制的新型高科技汽车,这种汽车不需要人去驾驶,人只舒服地坐在车上享受这高科技的成果就行了。因为这种汽车上装有相当于汽车的“眼睛”、“大脑”和“脚”的电视摄像机、电子计算机和自动操纵系统之类的装置,这些装置都装有非常复杂的电脑程序,所以这种汽车能和人一样会“思考”、“判断”、“行走”,可以自动启动、加速、刹车,可以自动绕过地面障碍物。在复杂多变的情况下,它的“大脑”能随机应变,自动选择最佳方案,指挥汽车正常、顺利地行驶。

智能汽车的“眼睛”是装在汽车右前方、上下相隔50厘米处的两台电视摄像机,摄像机内有一个发光装置,可同时发出一条光束,交汇于一定距离,物体的图像只有在这个距离才能被摄取而重叠。“眼睛”能识别车前5~20米之间的台形平面、高度为10厘米以上的障碍物。如果前方有障碍物,“眼睛” 就会向“大脑”发出信号,“大脑”根据信号和当时当地的实际情况,判断是否通过、绕道、减速或紧急制动和停车,并选择最佳方案,然后以电信号的方式,指令汽车的“脚”进行停车、后退或减速。智能汽车的“脚”就是控制汽车行驶的转向器、制动器。

重要标志

无人驾驶的智能汽车将是新世纪汽车技术飞跃发展的重要标志。可喜的是,智能汽车已从设想走向实践。随着科技的飞速发展,相信不久的将来,我们都可以领略到智能汽车的风采。

所以,智能汽车实际上是智能汽车和智能公路组成的系统,目前主要是智能公路的条件还不具备,而在技术上已经可以解决。在智能汽车的目标实现之前,实际上已经出现许多辅助驾驶系统,已经广泛应用在汽车上,如智能雨刷,可以自动感应雨水及雨量,自动开启和停止;自动前照灯,在黄昏光线不足时可以自动打开;智能空调,通过检测人皮肤的温度来控制空调风量和温度;智能悬架,也称主动悬架,自动根据路面情况来控制悬架行程,减少颠簸;防打瞌睡系统,用监测驾驶员的眨眼情况,来确定是否很疲劳,必要时停车报警……计算机技术的广泛应用,为汽车的智能化提供了广阔的前景。

2,自动驾驶汽车的技术原理

自动驾驶汽车的技术原理

一般来说,自动变速器的挡位分为P、R、N、D、2、1或L等。P(Parking):用作停车之用,它是利用机械装置去锁紧汽车的。转动部分,使汽车不能移动。当汽车需要在一固定位置上停留一段较长时间,或在停靠之后离开车辆前,应该拉好手制动及将拨杆推进“P”的位置上。要注意的是:车辆一定要在完全停止时才可使用P挡,要不然自动变速器的机械部分会受到损坏。另外,自动变速轿车上装置空挡启动开关,使得汽车只能在“P”或“N”挡才能启动发动机,以避免在其他挡位上误启动时使汽车突然前窜。R(Reverse):倒挡,车辆倒后之用。通常要按下拨杆上的保险按钮,才可将拨杆移至“R”挡。要注意的是:当车辆尚未完全停定时,绝对不可以强行转至“R”挡,否则变速器会受到严重损坏。N(Neutral):空挡。将拨杆置于“N”挡上,发动机与变速器之间的动力已经切断分离。如短暂停留可将拨杆置于此挡并拉出手制动杆,右脚可移离刹车踏板稍作休息。D(Drive):前进挡,用在一般道路行驶。由于各国车型有不同的设计;所以“D”挡一般包括从1挡至高挡或者2挡至高挡,并会因车速及负荷的变化而自动换挡。将拨杆放置在“D”挡上,驾车者控制车速快慢只要控制好油门踏板就可以了。

一、需要的条件:

1、交通标志规范化、统一化,电脑可以清晰识别。现在全国交通标志是完全统一的,圈圈叉叉,蓝底白底,各代表什么意思都清晰简单,任何司机一看就能识别。但问题是,这些标志十分不规范,同一个简单的“单行道”交通标志,有的画的硕大无比,有的又画得十分苗条,有的蓝色近乎墨黑,有的蓝色则又近乎银白。作为人,一眼看去就知道是单行道,但是电脑哪里能清楚区分,要是把“单行道”误认为“直行”标志,那麻烦就大了。而几乎任何一个标志都存在这类问题。要让汽车完全自动驾驶,对这个问题就不能有任何含糊。问题的解决之道有二,一是对全国的交通标志进行彻底的清理,使之规范、统一,二是对汽车电脑的识别系统进行超级优化,使之能够准确识别而不出错误。还有一种特殊的交通标志即交警指挥,他们左右手和手臂都是标志,每个交警都不一样,他们的指挥也自然各各不同。要想让电脑可以清晰识别其指挥,最佳的办法是交警指挥时,手中有一些特殊但统一的标志,或者干脆掌握着一个微型模拟电脑。

2、GPS导航的极度精确。现在GPS导航不是什么新鲜东西,但是其精确度非常糟糕,往往走过路口十几米了,导航仪才说,“前方50米路口左转”。对于人来说,马上就能判断导航不准确,跟实际情况不符。但作为自动驾驶中的汽车,它必须完全按照导航仪行进,即令有1米的判断误差,也极可能酿成重大的交通事故。其导航精度,误差只能允许在1厘米之内。这只能有赖于新一代卫星技术的提高,在未来50年内,实现平民化的精确的导航应该不是什么大难题,毕竟,几年之前,从地球上发射一枚导弹击中轨道上的卫星就已不是问题,从美国发射一枚洲际导弹打到印度某人家里也不是什么难题。现在只是需要把这种技术降低成本,实现普及。而卫星的精确导航,实际上不过是依赖计算机的高速运算罢了。

3、无所不在的数字自动化。现在的数字自动化已处处可见,很多手机都有语音识别功能,你只需要喊一声“阿玲”,手机就开始自动拨打“阿玲”的号码,这是微不足道的技术。在50年后,数字自动化也许无处不在,你喊一声“开门”,房门识别出你的声音便自动打开;你说一声“开灯”,灯打开了;你说“开电脑”,电脑开了。而你说“开车”,房间内部的通讯装置就将指令传达到车库里的汽车——无论车库有多远都无所谓了。汽车开到车库闸口,自动停下来刷缴费卡,然后再开到你的面前。它识别出你之后并打开车门。这种细枝末节的技术,如果有工厂愿意投入资金研发生产,2010年就可以变成现实。

4、汽车对道路上的人和物体的识别与判断。我们不能指望几十年之后人人遵守交通规则,马路上干净得只剩下来往的汽车,这种景象再过五百年可能也实现不了。路上有一只猫经过,或者有一只死鱼躺在那里,或者一个塑料娃娃被遗弃在路边,或者一个小孩骑自行车准备横穿马路。对于人来说,上面的情况或者直接开过去,或者停车,或者慢行,都能在一秒之内做出判断,但对于电脑来说,上面四件事物是非常难以区分的。小孩过不过来,猫过不过去,电脑都不好判断。但这也并非难题,汽车可以通过数学函数进行计算,算出汽车以何种速度行进不会撞上上述任何有着一定速度的事物。这需要设计极其准确的函数,还需要计算机反应极其敏捷,在几微妙里就可以判断形势、纳入计算,并得出汽车速度、方向的结论。

5、自动驾驶汽车大规模进入市场。所有条件都具备时,还必须有自动驾驶汽车出现。这种汽车的本质是一台会行走的电脑。现在的自动档汽车,档位、离合实现了自动化,对于自动驾驶汽车,还需要方向盘自动化、刹车自动化、油门自动化。五者都实现自动化时,就是一部全自动汽车。方向盘可以由GPS导航仪控制,一直行驶在规定路线即可。刹车、油门是同样的加减速技术,与汽车对道路上情况判断能力,属于同样的技术。目前飞机实现了自动驾驶,因为空中基本没有障碍物,这和陆地不同。火星着陆器也实现了完全自动驾驶,但其行动速度极其缓慢,判断一个普通的石块,也需要耗费它十几分钟的运算。汽车自动驾驶,需要电脑运行速度、智能水平起码比现在提高两倍。

3,求一段unity3D汽车自动驾驶的脚本代码

求一段unity3D汽车自动驾驶的脚本代码

1、把脚本直接连到汽车车身网格上,车身要有Rigidbody Component,要有四个轮子网格做子物体。 要想有声音的话还要有AudioSource Component。

2、打开Inspector,选择汽车脚本,把四个轮子连接到相对应的Transform参数上。设置wheelRadius参数为你轮子网格的大小。WheelCollider是自动生成的,所以无需手动添加。这样就能保证运行了,其他的声音和灰尘可以再添加。

脚本源代码如下:*/

#pragma strict

//maximal corner and braking acceleration capabilities

var maxCornerAccel=10.0;

var maxBrakeAccel=10.0;

//center of gravity height - effects tilting in corners

var cogY = 0.0;

//engine powerband

var minRPM = 700;

var maxRPM = 6000;

//maximum Engine Torque

var maxTorque = 400;

//automatic transmission shift points

var shiftDownRPM = 2500;

var shiftUpRPM = 5500;

//gear ratios

var gearRatios = [-2.66, 2.66, 1.78, 1.30, 1.00];

var finalDriveRatio = 3.4;

//a basic handling modifier:

//1.0 understeer

//0.0 oversteer

var handlingTendency = 0.7;

//graphical wheel objects

var wheelFR : Transform;

var wheelFL : Transform;

var wheelBR : Transform;

var wheelBL : Transform;

//suspension setup

var suspensionDistance = 0.3;

var springs = 1000;

var dampers = 200;

var wheelRadius = 0.45;

//particle effect for ground dust

var groundDustEffect : Transform;

private var queryUserInput = true;

private var engineRPM : float;

private var steerVelo = 0.0;

private var brake = 0.0;

private var handbrake = 0.0;

private var steer = 0.0;

private var motor = 0.0;

//private var skidTime = 0.0;

private var onGround = false;

private var cornerSlip = 0.0;

private var driveSlip = 0.0;

private var wheelRPM : float;

private var gear = 1;

//private var skidmarks : Skidmarks;

private var wheels : WheelData[];

private var wheelY = 0.0;

private var rev = 0.0;

//Functions to be used by external scripts

//controlling the car if required

//===================================================================

//return a status string for the vehicle

function GetStatus(gui : GUIText) {

gui.text="v="+(rigidbody.velocity.magnitude * 3.6).ToString("f1") km/h\ngear= "+gear+"\nrpm= "+engineRPM.ToString("f0");

//return an information string for the vehicle

function GetControlString(gui : GUIText) {

gui.text="Use arrow keys to control the jeep,\nspace for handbrake."; }

//Enable or disable user controls

function SetEnableUserInput(enableInput)

queryUserInput=enableInput;

//Car physics

//===================================================================

//some whee calculation data

class WheelData{ + "

var rotation = 0.0;

var coll : WheelCollider;

var graphic : Transform;

var maxSteerAngle = 0.0;

var lastSkidMark = -1;

var powered = false;

var handbraked = false;

var originalRotation : Quaternion;

};

function Start () {

//setup wheels

wheels=new WheelData[4];

for(i=0;i<4;i++)

wheels[i] = new WheelData();

wheels[0].graphic = wheelFL;

wheels[1].graphic = wheelFR;

wheels[2].graphic = wheelBL;

wheels[3].graphic = wheelBR;

wheels[0].maxSteerAngle=30.0;

wheels[1].maxSteerAngle=30.0;

wheels[2].powered=true;

wheels[3].powered=true;

wheels[2].handbraked=true;

wheels[3].handbraked=true;

for(w in wheels)

if(w.graphic==null)

Debug.Log("You need to assign all four wheels for the car script!"); if(!w.graphic.transform.IsChildOf(transform))

Debug.Log("Wheels need to be children of the Object with the car script");

w.originalRotation = w.graphic.localRotation;

//create collider

colliderObject = new GameObject("WheelCollider");

colliderObject.transform.parent = transform;

colliderObject.transform.position = w.graphic.position;

w.coll = colliderObject.AddComponent(WheelCollider);

w.coll.suspensionDistance = suspensionDistance;

w.coll.suspensionSpring.spring = springs;

w.coll.suspensionSpring.damper = dampers;

//no grip, as we simulate handling ourselves

w.coll.forwardFriction.stiffness = 0;

w.coll.sidewaysFriction.stiffness = 0;

w.coll.radius = wheelRadius;

//get wheel height (height forces are applied on)

wheelY=wheels[0].graphic.localPosition.y;

//setup center of gravity

rigidbody.centerOfMass.y = cogY;

//find skidmark object

// skidmarks = FindObjectOfType(typeof(Skidmarks));

//shift to first

gear=1;

//update wheel status

function UpdateWheels()

//calculate handbrake slip for traction gfx

handbrakeSlip=handbrake*rigidbody.velocity.magnitude*0.1;

if(handbrakeSlip>1)

handbrakeSlip=1;

totalSlip=0.0;

onGround=false;

for(w in wheels)

//rotate wheel

w.rotation += wheelRPM / 60.0 * -rev * 360.0 * Time.fixedDeltaTime; w.rotation = Mathf.Repeat(w.rotation, 360.0);

w.graphic.localRotation= Quaternion.Euler( w.rotation, w.maxSteerAngle*steer, 0.0 ) * w.originalRotation;

//check if wheel is on ground

if(w.coll.isGrounded)

onGround=true;

slip = cornerSlip+(w.powered?driveSlip:0.0)+(w.handbraked?handbrakeSlip:0.0); totalSlip += slip;

var hit : WheelHit;

var c : WheelCollider;

c = w.coll;

if(c.GetGroundHit(hit))

//if the wheel touches the ground, adjust graphical wheel position to reflect springs

w.graphic.localPosition.y-=Vector3.Dot(w.graphic.position-hit.point,transform.up)-w.coll.radius;

//create dust on ground if appropiate

if(slip>0.5 && hit.collider.tag=="Dusty")

groundDustEffect.position=hit.point;

groundDustEffect.particleEmitter.worldVelocity=rigidbody.velocity*0.5; groundDustEffect.particleEmitter.minEmission=(slip-0.5)*3; groundDustEffect.particleEmitter.maxEmission=(slip-0.5)*3;

groundDustEffect.particleEmitter.Emit(); }

//and skid marks

/*if(slip>0.75 && skidmarks != null)

w.lastSkidMark=skidmarks.AddSkidMark(hit.point,hit.normal,(slip-0.75)*2,w.lastSkidMark);

else

w.lastSkidMark=-1; */

// else w.lastSkidMark=-1;

totalSlip/=wheels.length;

//Automatically shift gears

function AutomaticTransmission()

if(gear>0)

if(engineRPM>shiftUpRPM&&gear

gear++;

if(engineRPM1)

gear--;

//Calculate engine acceleration force for current RPM and trottle

function CalcEngine() : float

if(brake+handbrake>0.;motor=0.0;;//ifcarisairborne,justre;if(!onGround);engineRPM+=(motor-0.3)*2;engineRPM=Mathf.Clamp(en;return0.0;;else;AutomaticTransmission();;engineRPM=whee

if(brake+handbrake>0.1)

motor=0.0;

//if car is airborne, just rev engine

if(!onGround)

engineRPM += (motor-0.3)*25000.0*Time.deltaTime;

engineRPM = Mathf.Clamp(engineRPM,minRPM,maxRPM);

return 0.0;

else

AutomaticTransmission();

engineRPM=wheelRPM*gearRatios[gear]*finalDriveRatio;

if(engineRPM

engineRPM=minRPM;

if(engineRPM

//fake a basic torque curve

x = (2*(engineRPM/maxRPM)-1);

torqueCurve = 0.5*(-x*x+2);

torqueToForceRatio = gearRatios[gear]*finalDriveRatio/wheelRadius; return

motor*maxTorque*torqueCurve*torqueToForceRatio;

else

//rpm delimiter

return 0.0;

//Car physics

//The physics of this car are really a trial-and-error based extension of

//basic "Asteriods" physics -- so you will get a pretty arcade-like feel. //This

may or may not be what you want, for a more physical approach research //the

wheel colliders

function HandlePhysics () {

var velo=rigidbody.velocity;

wheelRPM=velo.magnitude*60.0*0.5;

rigidbody.angularVelocity=new

Vector3(rigidbody.angularVelocity.x,0.0,rigidbody.angularVelocity.z);

dir=transform.TransformDirection(Vector3.forward);

flatDir=Vector3.Normalize(new Vector3(dir.x,0,dir.z));

flatVelo=new Vector3(velo.x,0,velo.z);

rev=Mathf.Sign(Vector3.Dot(flatVelo,flatDir));

//when moving backwards or standing and brake is pressed, switch to

reverse

if((rev<0||flatVelo.sqrMagnitude<0.5)&&brake>0.1)

gear=0;

if(gear==0)

//when in reverse, flip brake and gas

tmp=brake;

brake=motor;

motor=tmp;

//when moving forward or standing and gas is pressed, switch to drive

if((rev>0||flatVelo.sqrMagnitude<0.5)&&brake>0.1)

gear=1;

engineForce=flatDir*CalcEngine();

totalbrake=brake+handbrake*0.5;

if(totalbrake>1.0)totalbrake=1.0;

brakeForce=-flatVelo.normalized*totalbrake*rigidbody.mass*maxBrakeAccel;

flatDir*=flatVelo.magnitude;

flatDir=Quaternion.AngleAxis(steer*30.0,Vector3.up)*flatDir;

flatDir*=rev;

diff=(flatVelo-flatDir).magnitude;

cornerAccel=maxCornerAccel;

if(cornerAccel>diff)cornerAccel=diff;

cornerForce=-(flatVelo-flatDir).normalized*cornerAccel*rigidbody.mass;

cornerSlip=Mathf.Pow(cornerAccel/maxCornerAccel,3);

rigidbody.AddForceAtPosition(brakeForce+engineForce+cornerForce,transform.position+transform.up*wheelY);

handbrakeFactor=1+handbrake*4;

if(rev<0)

handbrakeFactor=1;

veloSteer=((15/(2*velo.magnitude+1))+1)*handbrakeFactor;

steerGrip=(1-handlingTendency*cornerSlip);

if(rev*steer*steerVelo<0)

steerGrip=1;

maxRotSteer=2*Time.fixedDeltaTime*handbrakeFactor*steerGrip;

fVelo=velo.magnitude;

veloFactor=fVelo<1.0?fVelo:Mathf.Pow(velo.magnitude,0.3);

steerVeloInput=rev*steer*veloFactor*0.5*Time.fixedDeltaTime*handbrakeFactor;

if(velo.magnitude<0.1)

steerVeloInput=0;

if(steerVeloInput>steerVelo)

steerVelo+=0.02*Time.fixedDeltaTime*veloSteer;

if(steerVeloInput

steerVelo=steerVeloInput;

else

steerVelo-=0.02*Time.fixedDeltaTime*veloSteer;

if(steerVeloInput>steerVelo)

steerVelo=steerVeloInput;

steerVelo=Mathf.Clamp(steerVelo,-maxRotSteer,maxRotSteer);

transform.Rotate(Vector3.up*steerVelo*57.295788);

function FixedUpdate () {

//query input axes if necessarry

if(queryUserInput)

brake = Mathf.Clamp01(-Input.GetAxis("Vertical"));

handbrake = Input.GetButton("Jump")?1.0:0.0;

steer = Input.GetAxis("Horizontal");

motor = Mathf.Clamp01(Input.GetAxis("Vertical"));

else

motor = 0;

steer = 0;

brake = 0;

handbrake = 0;

//if car is on ground calculate handling, otherwise just rev the engine

if(onGround)

HandlePhysics();

else

CalcEngine();

//wheel GFX

UpdateWheels();

//engine sounds

audio.pitch=0.5+0.2*motor+0.8*engineRPM/maxRPM;

audio.volume=0.5+0.8*motor+0.2*engineRPM/maxRPM;

//Called by DamageReceiver if boat destroyed

function Detonate()

//destroy wheels

for( w in wheels )

w.coll.gameObject.active=false; //no more car physics

enabled=false;

4,汽车自动驾驶系统PPT 大家有吗?帮忙提供一下.

汽车自动驾驶系统PPT 大家有吗?帮忙提供一下.

一般来说,自动档汽车的自动变速器的档位分为P、R、N、D等。下面分别详细介绍如下: P (Parking) 停车档,或称泊车档: P用作停车之用,它是利用机械装置去锁紧汽车的转动部分,使汽车不能移动。发动机运转时只要选档杆在行驶位置上,自动变速器...

5,大众将如何实现自动驾驶汽车无人充电?

大众将如何实现自动驾驶汽车无人充电?

大众集团旗下从事充电业务的子公司“电气化美国公司”(Electrfy America)周四表示,该公司已与电动车充电服务公司斯泰普汽车公司(Stable Auto)达成合作协议,将在自动驾驶电动汽车上部署使用机器人技术的充电服务。两家公司表示,他们将在加州旧金山启动一个试点项目,并预计该设施可能在明年初投入使用。

根据合作协议,总部位于弗吉尼亚州莱斯顿的电气化美国公司将评估斯泰普公司充电系统的硬件、网络、运营和计费系统

而斯泰普汽车公司将管理整个项目,并将其机器人技术和先进的调度软件与电气化美国公司的充电设备进行匹配。

所有的鸡蛋是不可以放到同一个篮子里的,但是大众进入中国市场很多年,依然没有办法摆脱的对于中国市场的依赖,所以在这种情况下,大众集团只能祈祷中国市场没有发生太大的变化。不然的话,大众的销量肯定会受到很大的影。

6,自动驾驶汽车的介绍

自动驾驶汽车的介绍

自动驾驶汽车(Autonomous vehicles;Self-piloting automobile )又称无人驾驶汽车、电脑驾驶汽车、或轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能汽车。自动驾驶汽车技术的研发,在20世纪也已经有数十年的历史,于21世纪初呈现出接...

本文相关词条概念解析:

汽车

汽车原指以可燃气体作动力的运输车辆,也指有自身装备动力驱动的车辆。“汽车”(automobile)英文原意为“自动车”,在日本也称“自动车”(日本汉字中的汽车则是指我们所说的火车)其他文种也多是“自动车”。美国汽车工程师学会标准SAEJ687C中对汽车的定义是:由本身动力驱动,装有驾驶装置,能在固定轨道以外的道路或地域上运送客货或牵引车辆的车辆。1885年是汽车发明取得决定性突破的一年。当时和戴姆勒在同一工厂的本茨,也在研究汽车。他在1885年几乎与戴姆勒同时制成了汽油发动机。

网友评论