瞬馳 Dash D1開發手冊 超聲波使用說明

2021-07-12 02:40:39 字數 1977 閱讀 2012

瞬馳(dash)d1底盤有四個超聲波(前面三個後面乙個),通過如下兩種方式獲取超聲波的值。

通過usb串列埠方式連線下位機。通過如下命令讀取下位機的值。

輸入:p\r

輸出:179 340 10 240\r

輸出距離單位: 厘公尺(cm)

前面3個超聲波,後面1個超聲波。輸出的值順序是:前面左邊、前面中間、前面右邊、後面中間。

注意:該型號的超聲波的測量距離為 0.02m ~ 4 m , 如果返回值不再該範圍,請忽略。

在ros_arduino_bridge/ros_arduino_python/src/ros_arduino_python目錄下,修改兩個檔案。

def

ping

(self, pin):

''' the srf05/ping command queries an srf05/ping sonar sensor

connected to the general purpose i/o line pinid for a distance,

and returns the range in cm. sonar distance resolution is integer based.

'''return self.execute('p %d' %pin);

修改為如下內容:

def

ping

(self):

values = self.execute_array('p')

if len(values) != 4:

print

"ping count was not 4"

raise serialexception

return

none

else:

return values

from tf.broadcaster import transformbroadcaster
後面增加如下一行

from std_msgs.msg import string
在definit(self, arduino, base_frame)函式中

# set up the odometry broadcaster

self.odompub = rospy.publisher('odom', odometry)

self.odombroadcaster = transformbroadcaster()

後面增加

self

.ultrasonicpub = rospy.publisher('ultrasonic', string)

3.在def poll(self)函式中

now = rospy.time.now()

ifnow > self.t_next:

try:

後面增加

try:

u1, u2,u3,u4 = self.arduino.ping()

self.ultrasonicpub.publish(str(u1)+" "+str(u2)+" "+str(u3)+" "+str(u4))

except:

rospy.logerr("ping exception")

重新執行

roslaunch ros_arduino_python  arduino.launch
在另乙個終端,就可以獲取到超聲波的值。

rostopic echo /ultrasonic
返回資料格式:乙個字串,四個超聲波的值以空格分割, 單位厘公尺。 四個超聲波的值依次是前面左一,前面中間,前面右一, 後面中間。

合上More Exceptional C 的瞬間

與大師面對面 譯序 小提琴家穆特錄製過一張唱片,收錄的是貝多芬最偉大的兩部小提琴作品 聆聽那張唱片,你彷彿聽見貝多芬在向你傾訴他對 藝術的理解和感悟,為你解答小提琴 創作的每乙個疑問和困惑。為了向 愛好者推薦貝多芬的那兩部名作,穆特為她的那張名碟加上了乙個恰如其分的標題 與貝多芬面對面 是的,本書奉...

恒馳正式發布恒馳7 恒馳8 恒馳9三款純電車型

程式設計客棧 www.cppcns.com 2月10日訊息 今天上午,恆大汽車旗下恒馳品牌官方微信 發布一則短 正式發布分別為轎車中型純電轎車恒馳7 中大型純電轎跑轎車恒馳8 中型純電suv恒馳9三款車型。據了解,在發布了上述三款新車型後,恆大汽車產程式設計客棧品矩陣也擴至9款。目前恆大汽車產品矩陣...

關於dash的基礎學習

詞彙補充 位元速率 就是每秒傳送的位元數,單位時間位元速率越大,精度越好。緩衝區溢位 電腦程式向緩衝區內填充資料,資料位數超過了緩衝區本身的容量。緩衝區下溢 乙個超長的資料進入緩衝區時,超出部分被寫入下級緩衝區,而下級緩衝區存放的是下一條指令的指標或者其他程式輸出的內容,導致下乙個命令執行不正常 緩...