摘要:
在AI操控機器人系列第二期的人體跟隨教程中,身為地平線資深程序員的奶爸朱靠,使用地平線發布的機器人開發平臺TogetherROS軟件棧,搭建了人體跟隨機器人。
同為開發者的梁雪,期待AI的世界,想讓自己的生活也AI一把,并且一向是個能動口絕不動手的懶人,于是熱衷于體驗各類AI機器人,尤其是動動口就能操控的機器人,想著有朝一日過上“能只動口絕不動手”的生活,于是乎,就有了下面的這些體驗。
產品A:說說話確實是能跟著走一走,but,我真的不想說完話之后還需要自己向右轉才能引導它右轉呀……
產品B:為什么還是得動動手,遙控來操控……噢,可達不到懶人預期呢。
難道就沒有動動口就能讓機器人運動,達到控制機器人的目的嗎?答案必然是,有!下面地平線AI操控機器人系列——語音控制閃亮登場。
一、功能介紹
大家先看一下最終實現的功能。
從開始語音到機器人依據指令快速且準確的運動,得益于地平線旭日??X3派上5Tops算力的BPU,可以實現低延遲算法推理能力,以及語音算法模塊實現的遠場(3~5米)降噪、回聲消除,高準確率的asr識別功能。開始碼代碼前,先來簡單分析一下人體跟隨機器人需要具備哪些基本模塊。
語音輸入——麥克風
旭日X3派采用的是麥克風陣列硬件拾音,通過麥克風采集到音頻之后交給后面的智能語音分析模塊處理。
智能語音感知
智能語音算法對原始音頻進行處理,對音頻進行降噪并且識別出語音,同時還能輸出語音聲源定位的DOA角度。
交互
識別出語音之后,定義并且實現不同語音對應的不同功能應用,比如“向前走”語音控制機器人向前運動。
控制
根據“交互”模塊輸出的控制指令,實現對機器人的機械控制。
機器人本體
當然還需要一個具備運動能力的機器人本體,接收控制指令并控制電機運動,最終實現通過語音控制機器人運動的效果。
地平線發布的機器人開發平臺TogetherROS軟件棧內置了豐富易用的機器人開發組件,包含搭建一個智能機器人應用(如機器人語音控制)所涉及到的所有功能模塊,完全開源免費,并允許開發者二次開發。
二、準備工作
準備搭建機器人人體跟隨應用案例的硬件設備和軟件包。
硬件
①旭日X3派
②麥克風陣列及轉接板
③機器人
本次使用本末的輪足機器人來介紹,沒有的開發者們也不用擔心,文章后面會介紹自己搭建機器人的方式。
安裝系統
參考旭日X3派的用戶手冊的安裝系統章節,安裝完成(或者已經安裝過)需要更新系統。
系統配置
配置旭日X3派的無線網絡,參考旭日X3派的用戶手冊的無線網絡章節。
安裝TogetherROS
使用apt命令通過DEB包安裝TogetherROS。登錄旭日X3派ssh root@192.168.1.147,執行命令:
root@ubuntu:~# sudo apt install hhp
root@ubuntu:/userdata# ls /opt/
tros
可以看到TogetherROS已安裝在/opt目錄下,說明安裝成功。至此,準備工作結束,下面開始使用這些硬件設備和軟件包搭建機器人人體跟隨App。
三、使用介紹
接下來開始操作各個功能模塊,再一步步組裝起來,分別驗證其功能。
安裝音頻麥克風
首先需要將旭日X3派與音頻轉接板連接起來,安裝好的旭日X3派以及音頻板圖如下:
直接使用TogetherROS中的ROS package測試麥克風陣列的功能,通過腳本加載麥克風陣列驅動,并且啟動智能語音識別模塊。登錄旭日X3派ssh root@192.168.1.147后,在終端(以下默認終端都是通過ssh登錄)中輸入以下命令啟動:
# 配置TogetherROS環境
source /opt/tros/setup.bash
# 從TogetherROS的安裝路徑中拷貝出運行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .
# 加載音頻驅動,設備啟動之后只需要加載一次
bash config/audio.sh
#啟動launch文件
ros2 launch hobot_audio hobot_audio.launch.py
智能語音識別模塊默認發布的智能語音消息話題名為:/audio_smart, 在另一個終端執行使用ros2 topic list命令可以查詢到此topic信息:
$ ros2 topic list
/audio_smart
語音識別和命令詞控制小車運動功能
旭日X3派上打開一個終端,啟動語音識別和控制的腳本
# 配置TogetherROS環境
source /opt/tros/setup.bash
# 從TogetherROS的安裝路徑中拷貝出運行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .
# 加載音頻驅動,設備啟動之后只需要加載一次
bash config/audio.sh
#啟動launch文件
ros2 launch audio_control hobot_audio_control.launch.py
在當前終端執行ros2 topic echo /cmd_vel命令查詢旭日X3派上的話題信息,當語音控制“向前走”,終端輸出如下:
linear:
x: 0.30000001192092896
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
說明智能語音識別算法和交互功能的軟件包已安裝成功,并能夠通過/cmd_vel話題對外發布機器人運動控制消息。
將旭日X3派安裝在機器人上
首先,需要將音頻板安裝在旭日X3派上,其次,將安裝了線性四麥麥克風陣列的旭日X3派直接固定在機器人上,并將機器人的USB控制接口插到旭日X3派上。安裝效果如下圖:
安裝好后,可以通過控制機器人運動查看是否成功安裝。在旭日X3派上啟動本末雙足機器人運行控制Node,打開一個終端,執行如下命令:
# 配置TogetherROS環境
source /opt/tros/setup.bash
#啟動本末機器人運動控制package
ros2 run diablo_sdk ros_bridge_example
旭日X3派上重新打開一個終端,通過發布/cmd_vel話題消息控制機器人以0.3r/s的速度轉動:
# 配置TogetherROS環境
source /opt/tros/setup.bash
ros2 topic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.3}}'
機器人收到控制指令后轉動的效果如下:
四、完整的機器人語音控制效果
旭日X3派上打開一個終端,啟動智能語音識別和語音控制腳本
# 配置TogetherROS環境
source /opt/tros/setup.bash
# 從TogetherROS的安裝路徑中拷貝出運行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .
# 加載音頻驅動,設備啟動只需要加載一次
bash config/audio.sh
#啟動語音控制launch文件
ros2 launch audio_control hobot_audio_control.launch.py
旭日X3派上打開一個終端,啟動機器人運動控制Node
# 配置TogetherROS環境
source /opt/tros/setup.bash
#啟動本末機器人運動控制Node
ros2 run diablo_sdk ros_bridge_example
通過語音控制機器人運動
五、原理分析
對于一個復雜的機器人系統,一般在機器人上配置上位機和下位機兩種處理器。語音控制機器人由兩部分組成,分為上位機和下位機。各部分詳細組成如下圖:
!
六、語音控制進階
智能語音識別Node中,設備喚醒詞和命令詞默認配置/opt/tros/lib/hobot_audio/config/hrsc/cmd_word.json文件下(當然,若用戶將此config文件夾拷貝到了其他路徑,那以實際使用的配置路徑為準):
{
"cmd_word": [
"地平線你好",
"向前走",
"向后退",
"向左轉",
"向右轉",
"停止運動"
]
}
配置文件的第一項為喚醒詞,后面的是命令詞,用戶可以根據需要進行配置,實現語音操作的自定義。
本文轉自地平線開發者社區,完整文章內容詳見:https://developer.horizon.ai/forumDetail/109609560406362625
-
語音識別
+關注
關注
38文章
1742瀏覽量
112811 -
人工智能
+關注
關注
1794文章
47622瀏覽量
239581 -
語音控制
+關注
關注
5文章
484瀏覽量
28277
發布評論請先 登錄
相關推薦
評論