Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 ·...
Transcript of Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 ·...
![Page 1: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/1.jpg)
Embedded Linux applications for autonomous UAVs
Flying Penguins
![Page 2: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/2.jpg)
Clay McCluregithub.com/claymation
![Page 3: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/3.jpg)
Roadmap
UAV MAV Link mavros Your
App
ROS
Linux
![Page 4: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/4.jpg)
![Page 5: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/5.jpg)
autopilot
![Page 6: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/6.jpg)
autopilots
![Page 7: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/7.jpg)
autopilots
![Page 8: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/8.jpg)
RC input motor mixing stabilization
telemetry missions failsafes
![Page 9: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/9.jpg)
![Page 10: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/10.jpg)
≠AUTO PILOT
AUTO NOMOUS
![Page 11: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/11.jpg)
where to gohow to get therewhat to do next
“system finds its own goal positions”
![Page 12: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/12.jpg)
SO MANY
ALGORITHMS,
SO LITTLE
COMPUTERhttp://ra3ndy.deviantart.com/art/Sad-Panda-69204875
![Page 13: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/13.jpg)
+
![Page 14: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/14.jpg)
Autopilot runs on Linux
![Page 15: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/15.jpg)
Autopilot talks to Linux
![Page 16: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/16.jpg)
ODROID-XU3 Lite
• Samsung Exynos5422 octa core
• 4x Cortex™-A15 2.0GHz
• 4x Cortex™-A7 1.4GHz
• 2 GB RAM
• 32+ GB flash
• 4x USB 2.0 + 1x USB 3.0
![Page 17: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/17.jpg)
Roadmap (so far)
UAV Your App
Linux
?
![Page 18: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/18.jpg)
Roadmap (so far)
UAV MAV Link
Your App
Linux
![Page 19: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/19.jpg)
MAVLink is the HTTP of drones
![Page 20: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/20.jpg)
(it’s also the libcurl)
![Page 21: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/21.jpg)
MAVLink
![Page 22: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/22.jpg)
status configuration
position / attitude setpoints missions
![Page 23: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/23.jpg)
Roadmap (so far)
UAV MAV Link
Your App
Linux
?
![Page 24: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/24.jpg)
Roadmap (so far)
UAV MAV Link
Your App
Linux
Middle ware
![Page 25: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/25.jpg)
MiddlewareDroneAPI
• Python
• Go to Kevin Hester’s talk tomorrow
mavros
• Python, C++, Lisp (really)
• Access to a wealth of robotics research and tools
![Page 26: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/26.jpg)
Roadmap (so far)
UAV MAV Link mavros Your
App
Linux
?
![Page 27: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/27.jpg)
Roadmap (so far)
UAV MAV Link mavros Your
App
ROS
Linux
![Page 28: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/28.jpg)
ROS Crash
Course
![Page 29: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/29.jpg)
Robot Operating System
“ROS is an open-source, meta-operating system for
your robot.”
![Page 30: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/30.jpg)
“ROS is an open-source, meta-operating system for
your robot.”
Robot Operating System
![Page 31: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/31.jpg)
![Page 32: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/32.jpg)
Nodes
NodeNodeNode
NodeNodeNode
NodeNodeNode
![Page 33: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/33.jpg)
Topics
NodeNodeNode
Node
Topic
![Page 34: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/34.jpg)
Services
Node
Node
![Page 35: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/35.jpg)
but wait, that’s not all…
parameters dynamic reconfig coordinate frames transformations record/playback visualization logging
![Page 36: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/36.jpg)
Roadmap
UAV MAV Link mavros Your
App
ROS
Linux
![Page 37: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/37.jpg)
mavros is the Babel fish of drones
![Page 38: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/38.jpg)
Topics
/mavros/state /mavros/imu/data /mavros/global_position/global /mavros/local_position/local /mavros/setpoint_position/local_position /mavros/setpoint_velocity/cmd_vel
![Page 39: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/39.jpg)
Services
/mavros/cmd/arming /mavros/cmd/land /mavros/cmd/takeoff /mavros/set_mode /mavros/set_stream_rate
![Page 40: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/40.jpg)
• FCU
• MAVLink
• mavros
• ROS
• Application nodes
PX4 + ROS
Credit: Kabir Mohammed
![Page 41: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/41.jpg)
Roadmap
UAV MAV Link mavros Your
App
ROS
Linux
![Page 42: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/42.jpg)
YAPLYet Another Precision Lander
![Page 43: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/43.jpg)
Event-driven programming• “Don’t call me, I’ll call you”
• Your application code responds to events
• Message arrival
• “my position is (x, y, z)”
• Timer expiry
• “it’s time to run the control loop”
![Page 44: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/44.jpg)
Nodes• Tracker
• Processes video stream, looks for landing pad
• Publishes target position/velocity messages
• Commander
• Subscribes to vehicle state and position messages
• Subscribes to target tracker messages
• Controls vehicle velocity
![Page 45: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/45.jpg)
![Page 46: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/46.jpg)
![Page 47: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/47.jpg)
class TrackerNode(object): ! def __init__(self): rospy.init_node("tracker") ! use_sim = rospy.get_param("~use_sim", False) camera_matrix = rospy.get_param("~camera_matrix") ! # ... ! self.image_publisher = \ rospy.Publisher("tracker/image", sensor_msgs.msg.Image, queue_size=1) ! self.track_publisher = \ rospy.Publisher("tracker/track", Track, queue_size=1)
![Page 48: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/48.jpg)
class TrackerNode(object): ! def __init__(self): rospy.init_node("tracker") ! use_sim = rospy.get_param("~use_sim", False) camera_matrix = rospy.get_param("~camera_matrix") ! # ... ! self.image_publisher = \ rospy.Publisher("tracker/image", sensor_msgs.msg.Image, queue_size=1) ! self.track_publisher = \ rospy.Publisher("tracker/track", Track, queue_size=1)
![Page 49: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/49.jpg)
$ cat msg/Track.msg # Whether we're tracking an object std_msgs/Bool is_tracking !# Relative position and velocity of the tracked object geometry_msgs/Vector3 position geometry_msgs/Vector3 velocity
![Page 50: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/50.jpg)
def publish_track(self, position, velocity): msg = TrackStamped() msg.track.is_tracking.data = self.is_tracking ! if self.is_tracking: msg.track.position.x = position[0] msg.track.position.y = position[1] msg.track.position.z = position[2] msg.track.velocity.x = velocity[0] msg.track.velocity.y = velocity[1] msg.track.velocity.z = velocity[2] ! self.track_publisher.publish(msg)
![Page 51: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/51.jpg)
def publish_image(self, image): msg = self.image_bridge.cv2_to_imgmsg(image, "bgr8") self.image_publisher.publish(msg)
![Page 52: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/52.jpg)
simulation
![Page 53: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/53.jpg)
HITL• Hardware in the loop
• Flight software runs on flight hardware
• Simulated sensor and control inputs
![Page 54: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/54.jpg)
SITL• Software in the loop
• Flight software runs on (Linux) desktop
• Simulated sensor and control inputs and HAL
![Page 55: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/55.jpg)
![Page 56: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/56.jpg)
![Page 57: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/57.jpg)
![Page 58: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/58.jpg)
–Johnny Appleseed
“Type a quote here.”
“In theory there is no difference between theory and practice.
In practice there is.” !
~ Yogi Berra
![Page 59: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/59.jpg)
Practical Considerations
![Page 60: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/60.jpg)
![Page 61: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/61.jpg)
Connections• UART recommended
• Requires 6-pin DF-13, possibly a level shifter
• USB works for me
• Use hot glue gun
• sudo apt-‐get remove modemmanager
![Page 62: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/62.jpg)
Power5V 5A UBEC
!ODROID
+ USB camera
+ WiFi
+ 3S LiPo
= 5 hours
![Page 63: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/63.jpg)
Launch files• ROS feature that makes it easy to start and manage
multiple nodes and their parameters
• roslaunch lander lander.launch
![Page 64: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/64.jpg)
Startup• Use ubuntu’s upstart to launch ROS + mavros +
application nodes
• rosrun robot_upstart install \ lander/launch/lander.launch
![Page 65: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/65.jpg)
Telemetry• MAVLink + 3DR radio
• WiFi
• Ad-Hoc mode (man wireless)
• Need high-gain antenna and a tracker (helper)
• sudo apt-‐get remove wpasupplicant
• GSM?
![Page 66: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/66.jpg)
Coordinate Frames• Global / Local
• NED
• ENU
• Body-fixed
• tf library
![Page 67: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/67.jpg)
In closing…
![Page 68: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/68.jpg)
![Page 69: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/69.jpg)
What will you make?
![Page 70: Flying Penguins copy - Dronecode › _media › elc05.flying_penguins... · 2015-04-13 · ODROID-XU3 Lite • Samsung Exynos5422 octa core • 4x Cortex™-A15 2.0GHz • 4x Cortex™-A7](https://reader034.fdocuments.net/reader034/viewer/2022042407/5f210ef90742434066461221/html5/thumbnails/70.jpg)
For more information…
ros.org ardupilot.com pixhawk.org/start pixhawk.ethz.ch/mavlink github.com/mavlink/mavros github.com/claymation/lander