m05 Robotperception Lidar Resume

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Robot perception

with LIDAR sweep example


Robot perception
• Acquiring knowledge from sensor data
• Making sense of the unstructured real world
• Incomplete knowledge of objects and scene
• Imperfect actions may lead to failure
• Environment dynamics and other agents
• Learn the proper representation of the unstructured world
• “Solving a problem simply means representing it so as to make the solution transparent”
Herbert A. Simon, Sciences of the Artificial
• UABotet
• Lidar sensor + encoders

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 50
Robotic sensors
• Cameras
• Stereo cameras
• IR cameras
• Lidar scanner
• Sonar/radar
• Inertial measurement units
• Force/torque sensors
• Specific-application sensors
• Temperature, humidity, chemical, flow, et cetera

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 51
Sensor fusion
• Sensor fusion is the process of combining sensor data or data derived
from disparate sources such that the resulting information has less
uncertainty than would be possible when these sources were used
individually. -- Wikipedia
• UABotet
• Combine encoder data with lidar to improve accuracy in forward movement

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 52
Knowledge extraction
• Extracting knowledge (structured data) from data (raw sensory data)
• Filters
• Neural networks
• UABotet
• Linear movement estimation from encoders and lidar

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 53
Perception example
• Lidar sweep to get a 2D view of obstacles at front
• Only obstacles at the lidar height are detected

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 54
Adding perception instructions to UABotet
• L0 Level with two controllers

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 55
Sensor controller
• L0Lidar
• Asynchronous communication mode with L0Main (get-request/update-acknowledgement)
• Open-loop control w.r.t. servomotor

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 56
LIDAR instruction
• Burst mode
• Sends a full set of data after being requested
• Example
• Uses half of lidar rotor speed
from characterization, W
• Reply with distances to obstacles
at -45, 0 and 45 degrees
• Distance to obstacles
are available at every step

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 57
LIDAR + RESUME instructions
• Data blocks with reception acknowledgement
• Lidar sweep waits for RESUME to resume sending data blocks
• Vector of angles to which cast signals
C = { c1, c2, c3, … 360 } and index, J
• C is a constant vector,
e.g. C = { ─45, 0, 45, 360 }

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 58
Exercise 5: Implementation of
LIDAR and RESUME
• Synthesize software for LIDAR+RESUME add-ons into L0Main
• Use L0Main_LIDAR_RESUME_student.lua
• In this case, L0Main is a table (object), which concurrently works with Lidar
L0Main.step = function(self)
if not sim and self.I[1]==nil then -- standalone version
self.state.next = "STOP"; self.state.curr = "STOP"
end -- if
if self.state.curr=="LISTEN" then
-- TO COMPLETE!!! **************************************
if self.I[1]==2 then
self.J.next = 1; self.M.next = nil ; self.state.next = "LIDAR"
else
self.M.next = nil
end -- if..elseif
elseif self.state.curr=="LIDAR" then
self.M.next = "W LIDAR not implemented"
self.state.next = "LISTEN"
else -- Error
self.state.next = "STOP"
end -- if..ifelse
end -- L0Main.step()

© 2023 Lluís Ribas i Xirgo, Universitat Autònoma de Barcelona 106589 Intelligent Robots, 59

You might also like