它来了!无人车穿梭在深圳的“宇宙最强街道”
粤海街道,被网友戏称为“宇宙最强街道”,这里是腾讯、中兴、华为、大疆的诞生地。这一街道拥有上百家上市公司,仅2018年就创造了2509亿元的GDP。同时,这片约14平方公里的街道,在2019年被深圳市综合交通运行指挥中心评为“深圳十大拥堵街道”。
即使到了夜晚9点,这里也依旧车水马龙。
地铁的施工建设,也让各种奇形怪状的泥头车成为这里的常客。
网约车司机也常感慨:“虽然这里的订单多,但路却不好走。”
这样的街道,自动驾驶汽车能走吗?
当然。
面对临时出现的管道修理工作人员,它能够流畅绕行。
即使骑电动自行车的外卖小哥突然出现,也能及时刹停,确保安全。
面对拥堵的车流,它也懂得变换车道。
当前方停车挡住了去路,它便找准时机,迅速绕行。
即使在夜间拥堵的情况下,自动驾驶汽车也能够轻松应对滚滚车流。
这是深圳元戎启行科技有限公司的自动驾驶汽车,在粤海街道,已测试了将近一年的时间。
以上几类路况是目前城市中最常见的复杂路况,也是检验L4级自动驾驶能力的挑战性项目。
自动驾驶汽车要在这几类路况中像人类一样驾驶自如,需要对环境和与交通参与者的交互进行建模,建立对环境的高维度认知,从而通过语义信息来进行驾驶决策。
简单来说,就是需要自动驾驶系统在获得了周围交通参与者的类型、速度、加速度、运动轨迹等信息的基础上,还需要判断整个环境中交通参与者的运动行为是否正常,并且判断当自动驾驶汽车发生速度或方向上的改变时,周围的车辆将会产生何种行为变化,最后再进行决策。
对于汽车来说,道路上的主要交通参与者是汽车。但在国内城市道路中,常见的还有行人、电动自行车等交通参与者。通常情况下,他们不会在非机动车道出现,但根据世界卫生组织的报告,在全球范围内,行人和骑自行车者占所有道路交通死亡人数的26%。因此,行人和自行车,也是车辆行驶过程中需要谨慎关注的交通参与者。
城市路段的车速相对较高,自动驾驶系统需要能够对汽车、行人、电动自行车等交通参与者进行精准、高效的感知,并通过环境和交互模型快速全面分析路况,才能在短时间内进行驾驶决策。
对在城市的道路中,也常常会出现一些“异常”的车辆。例如在行驶过程中突然减速停车的车辆,以及在路边停车、随时可能启动的车辆。自动驾驶系统需要识别出车辆的“异常”,在车与车进行交互的过程中,需要通过交互模型,来判断该周围车辆的状态,从而保持车距,适时绕行。
△ 元戎启行自动驾驶汽车在交通流密集的路段灵活行驶
在前方多条车道都有大量汽车停下或缓慢行驶时,自动驾驶系统就需要判断出当前场景是否属于交通流密度较高的场景,并判断出在可行的车道中,哪条车道的车辆更少。如果要换道,系统还需要先判断后侧来车的车速是否会随本车发生变化、车与车之间能否保持安全距离。在迅速分析判断后,自动驾驶系统还须迅速执行。
元戎启行副总裁刘念邱表示:“我们采用数据驱动的方式进行建模。通过大量的实际路测和模拟测试,让自动驾驶汽车能够灵活地处理城市中各类复杂的交通状况。”
粤海街道是深圳科技企业的集中区域,每天有大量年轻人往返此地。他们对效率的追求,也转换为了大量的出行订单。
刘念邱说:“城市中的写字楼聚集区相对其他区域,有更多的出行订单,是具备高经济价值的Robo-Taxi运营区域。而这些区域的出行,对效率有更高的要求。从运营Robo-Taxi的角度出发,在确保安全的基础上,还需要考虑自动驾驶的运行效率、经济效益。因此我们在技术上进行了许多优化。”
“我们通过自研的深度学习推理引擎,让系统具备高效的执行效率的同时,也降低了对计算资源的需求。目前整套自动驾驶系统,可在功耗仅45瓦的计算平台上稳定运行。我们的传感器套件也通过良好的空气动力学设计,将风阻对汽车行驶里程的影响降低到了7%。相较传统方案有了大幅降低。”
根据元戎启行的测试,原里程约320公里的电动车,在采用了元戎启行的自动驾驶解决方案后,仍可行驶超过300公里。而使用传统高功率工控机、未经过空气动力学改良的传感器套件的方案,整车的行驶里程不到200公里。
目前,元戎启行已分别与曹操出行和东风公司合作,在杭州和武汉进行Robo-Taxi测试运营。其中,在与曹操出行的合作中,双方合作的自动驾驶车队数量将扩大到10辆,并且接入曹操出行APP,预计在2021年面向公众提供自动驾驶试乘服务。在2022年亚运会举办期间,将车队规模扩大到数百辆级别。而元戎启行等企业与东风公司合作的自动驾驶领航项目,将在两年内推出不少于200辆Robo-Taxi。随着合作的推进,Robo-Taxi将逐渐进入人们的生活。
道翰天琼CiGril机器人API
道翰天琼CiGril认知智能机器人API用户需要按步骤获取基本信息:
- 在平台注册账号
- 登录平台,进入后台管理页面,创建应用,然后查看应用,查看应用相关信息。
- 在应用信息页面,找到appid,appkey秘钥等信息,然后写接口代码接入机器人应用。
开始接入
请求地址:http://www.weilaitec.com/cigirlrobot.cgr
请求方式:post
请求参数:
参数 | 类型 | 默认值 | 描述 |
userid | String | 无 | 平台注册账号 |
appid | String | 无 | 平台创建的应用id |
key | String | 无 | 平台应用生成的秘钥 |
msg | String | "" | 用户端消息内容 |
接口连接示例:http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552
注意事项:参数名称都要小写,五个参数不能遗漏,参数名称都要写对,且各个参数的值不能为空字符串。否则无法请求成功。userid,appid,key三个参数要到平台注册登录创建应用之后,然后查看应用详情就可以看到。userid就是平台注册账号。
示例代码JAVA:
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class apitest {
/**
* Get请求,获得返回数据
* @param urlStr
* @return
*/
private static String opUrl(String urlStr)
{
URL url = null;
HttpURLConnection conn = null;
InputStream is = null;
ByteArrayOutputStream baos = null;
try
{
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(5 * 10000);
conn.setConnectTimeout(5 * 10000);
conn.setRequestMethod("POST");
if (conn.getResponseCode() == 200)
{
is = conn.getInputStream();
baos = new ByteArrayOutputStream();
int len = -1;
byte[] buf = new byte[128];
while ((len = is.read(buf)) != -1)
{
baos.write(buf, 0, len);
}
baos.flush();
String result = baos.toString();
return result;
} else
{
throw new Exception("服务器连接错误!");
}
} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (is != null)
is.close();
} catch (IOException e)
{
e.printStackTrace();
}
try
{
if (baos != null)
baos.close();
} catch (IOException e)
{
e.printStackTrace();
}
conn.disconnect();
}
return "";
}
public static void main(String args []){
//msg参数就是传输过去的对话内容。
System.out.println(opUrl("http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552"));
}
}