SlideShare a Scribd company logo
1 of 16
Download to read offline
Marco Polo
World Renowned Intrepid
Adventuring Robot
ECE 578 Fall 2019
Josiah Sweeney, Robert Holt, Christopher Neighbor
Overview/Goals/Requirements
● Marco Polo can localize and map simultaneously.
● Marco Polo can move autonomously.
● Marco Polo can recognize a red cube.
● Marco Polo can detect and display relative distance to recorded objects.
● Marco Polo can respond via speech synthesis.
● Marco Polo can transcribe words spoken to him.
● Marco Polo can abandon exploration and move to the found object.
● Marco Polo can pick up the found object.
ROS Project
Marco Polo was split up into several nodes:
● “Marco Overlord” state machine
● RTAB-Map SLAM
● Frontier Exploration
● Object Recognition
● Object Depth Finding
● Speech Synthesis
● Speech Transcription
● Movement Manager
● Arm Control
Marco Polo State Machine
- Assumes that cube doesn't change locations.
- Relies on user addressing Marco before asking about the
location of the ball
Mapping/Localization
In Marco Polo, we utilized RTAB-Map
● RTAB-Map is a specific GraphSLAM approach to SLAM that is based on an
incremental appearance-based loop closure detector.
● The loop closure utilizes a “bag-of-words” approach to
determine how likely a new image comes from a
previous location or a new location.
● When a loop closure hypothesis is accepted, a new
constraint is added to the map’s graph, then a graph
optimizer minimizes the error in the map.
Autonomous Exploration
In this project, a frontier based autonomous exploration approach was
integrated into the robot.
● Frontier based autonomous exploration means that the robot is given a
“frontier”, or unexplored area to explore and map out.
● This is achieved with Marco Polo by “drawing” a
polygon in RVIZ on top of the area that Marco
polo is in.
● The polygon is created by clicking on the screen
creating a series of connected points until the
shape is closed.
Objection Recognition
Steps:
● Capture video frame from ROS topic node
● Convert to OpenCV image using cv_bridge. Frame is now 3D numpy array in BGR
● Convert image to HSV values for improved differentiation and clustering using cuboids
Objection Recognition
Next Steps:
● Filter for red hues which are not extremely light or dark.
● Check object to see if it is big enough and squarish in shape
● If red circular object detected, publish the coordinates of the center of the cube, ex. [1, 320, 240]
Objection Recognition: Deep Learning
Future work could involve using a PyTorch model which has been
trained on the COCO object segmentation dataset for localization
and detection of objects. This makes the model more robust than
merely detecting objects by their color and shape.
These labels and location could be sent to the robot and be
incorporated into the speech and mapping. Issues with speed,
memory, and confidence values will need to be resolved.
STAY!
Object Depth Finding
Marco Polo looks for the cube and attempts to add the ball to the world frame.
● This is achieved by receiving a center-point pixel value from the object
recognition node, using that pixel value U,V to map it to a XYZ value from a
pointcloud generated by the RGB-D camera on the robot.
● The XYZ values are transposed from the frame of the robot’s
world pose at the time of the ball object recognition.
● This is done utilizing the transform library in ROS, which
stores and calculates the transforms of different robot
objects, stationary and mobile, storing their relative
translation and quaternion rotation transforms.
Movement Manager
● The second half of the project includes the creation of the “movement
manager” ROS node which brought autonomy to the mapping process,
and more importantly, handles the transition to a pursuit mode of the
cube.
● The movement manager has an interface for receiving a “pursuit request”
from the Marco Overlord. When this request comes in, the current
Frontier Exploration task is aborted via the Frontier Exploration
SimpleActionClient.
● Once the position determined above has been reached (i.e. the
move_base action server indicates that the goal is complete) , the arm
actuation takes place and the pickup attempt occurs.
Robot Arm Movement
● In the second half of the project, we added in the capability
of the robot to grab the sensed object in front of it, based
on the dead reckoning of the robot’s movement toward the sensed object.
● This was achieved by adding in functionality from the phantomx arm library
and programming a node in ROS to move each joint when prompted when
the robot reached its goal.
● If we had more time, improvements could have been done on the robot to
increase the reliability of the arm. We could have incorporated the second
camera to actively adjust the servos on the arm to grab to cube, allowing it
to adjust to the innactuarace and drift of the robot after it approaches the
cube
Speech Synthesis
- Utilized Amazon Polly API due to scalability, ease
of use, and fast synthesis
- Synthesis performed for location of the ball when
Marco is addressed verbally
- Synthesis based on two options:
- Standard TTS - Phoneme concatenation
- Amazon “Neural TTS” - Sequence of spectrograms created
via neural network which uses sequence of phonemes as
input.
- Adds context awareness from trained nuance of
speech
Speech Transcription
- Utilized Google Cloud Speech-to-Text due to
scalability, live streaming capability, and
confidence/stability tradeoff metrics
- Examples
- results { alternatives { transcript: "tube" } stability: 0.01 }
- results { alternatives { transcript: "to be a" } stability: 0.01 }
- results { alternatives { transcript: "to be" } stability: 0.9 } results { alternatives {
transcript: " or not to be" } stability: 0.01 }
- results { alternatives { transcript: "to be or not to be" confidence: 0.92 }
alternatives { transcript: "to bee or not to bee" } is_final: true }
- results { alternatives { transcript: " that's" } stability: 0.01 }
- results { alternatives { transcript: " that is" } stability: 0.9 } results { alternatives {
transcript: " the question" } stability: 0.01 }
- results { alternatives { transcript: " that is the question" confidence: 0.98 }
alternatives { transcript: " that was the question" } is_final: true }
Challenges
● Gathering the required parts took days, and some parts, such as a USB
Hub and wiring to the Kobuki base were missing, along with several
necessary power adapters.
● Linux kernel on the Joule was corrupted and necessitated a full build-up
of the robot from the ground up.
● Lack of a combination of internet connection and ability to ssh into Marco
Polo.
● Different flavors of ROS and Ubuntu and joining code.
● State of the Robot Arm (incorrect baud rate and false hardware limits)
● More missing parts for project 2 including FTDI cable
● Size of the object in project 2 made finding the cube VERY challenging.
Lessons Learned
- The ROS framework offered flexibility in interfaces which enabled
modular development
- Reliance on PSU WiFi infrastructure is challenging, PSU CAT is
unresponsive or unwilling to help with challenges
- Late integration caused inevitable unforseen misunderstandings
- The robot cannot reliably enough dead reckon for the robot arm.
- More filters on the object recognition will allow for a more robust finding
of the smaller cube.

More Related Content

Similar to Robotics presentation

nd209_Robo_syllabus_v2.pdf
nd209_Robo_syllabus_v2.pdfnd209_Robo_syllabus_v2.pdf
nd209_Robo_syllabus_v2.pdfRIchardFRuiz
 
RMV robot programming
RMV robot programmingRMV robot programming
RMV robot programminganand hd
 
Object Detection is a very powerful field.pptx
Object Detection is a very powerful field.pptxObject Detection is a very powerful field.pptx
Object Detection is a very powerful field.pptxusmanyaseen16
 
10 Programming in Robotics.ppt
10 Programming in Robotics.ppt10 Programming in Robotics.ppt
10 Programming in Robotics.pptNakulR4
 
LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)Yu Huang
 
Taster of Research Poster
Taster of Research PosterTaster of Research Poster
Taster of Research PosterJoe Jiang
 
A visual compass for robot soccer
A visual compass for robot soccerA visual compass for robot soccer
A visual compass for robot soccerAdil_Mahmood
 
ROS Workshop Proposal
ROS Workshop ProposalROS Workshop Proposal
ROS Workshop Proposalcodingstudio
 
Road signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencvRoad signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencvMohdSalim34
 
fyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptxfyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptxIIEE - NEDUET
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudeAugmentedWorldExpo
 

Similar to Robotics presentation (20)

nd209_Robo_syllabus_v2.pdf
nd209_Robo_syllabus_v2.pdfnd209_Robo_syllabus_v2.pdf
nd209_Robo_syllabus_v2.pdf
 
RMV robot programming
RMV robot programmingRMV robot programming
RMV robot programming
 
Robocup2006
Robocup2006Robocup2006
Robocup2006
 
Object Detection is a very powerful field.pptx
Object Detection is a very powerful field.pptxObject Detection is a very powerful field.pptx
Object Detection is a very powerful field.pptx
 
RobotStudiopp.ppt
RobotStudiopp.pptRobotStudiopp.ppt
RobotStudiopp.ppt
 
ie450RobotStudio.ppt
ie450RobotStudio.pptie450RobotStudio.ppt
ie450RobotStudio.ppt
 
UNIT IV.ppt
UNIT IV.pptUNIT IV.ppt
UNIT IV.ppt
 
10 Programming in Robotics.ppt
10 Programming in Robotics.ppt10 Programming in Robotics.ppt
10 Programming in Robotics.ppt
 
LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)
 
Taster of Research Poster
Taster of Research PosterTaster of Research Poster
Taster of Research Poster
 
Rovers
RoversRovers
Rovers
 
A visual compass for robot soccer
A visual compass for robot soccerA visual compass for robot soccer
A visual compass for robot soccer
 
Mmpaper draft10
Mmpaper draft10Mmpaper draft10
Mmpaper draft10
 
Mmpaper draft10
Mmpaper draft10Mmpaper draft10
Mmpaper draft10
 
ROS Workshop Proposal
ROS Workshop ProposalROS Workshop Proposal
ROS Workshop Proposal
 
Road signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencvRoad signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencv
 
fyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptxfyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptx
 
Nasa final report
Nasa final reportNasa final report
Nasa final report
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with Wikitude
 
RIPS RoboCup@home 2013, The Netherlands
RIPS RoboCup@home 2013, The NetherlandsRIPS RoboCup@home 2013, The Netherlands
RIPS RoboCup@home 2013, The Netherlands
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Robotics presentation

  • 1. Marco Polo World Renowned Intrepid Adventuring Robot ECE 578 Fall 2019 Josiah Sweeney, Robert Holt, Christopher Neighbor
  • 2. Overview/Goals/Requirements ● Marco Polo can localize and map simultaneously. ● Marco Polo can move autonomously. ● Marco Polo can recognize a red cube. ● Marco Polo can detect and display relative distance to recorded objects. ● Marco Polo can respond via speech synthesis. ● Marco Polo can transcribe words spoken to him. ● Marco Polo can abandon exploration and move to the found object. ● Marco Polo can pick up the found object.
  • 3. ROS Project Marco Polo was split up into several nodes: ● “Marco Overlord” state machine ● RTAB-Map SLAM ● Frontier Exploration ● Object Recognition ● Object Depth Finding ● Speech Synthesis ● Speech Transcription ● Movement Manager ● Arm Control
  • 4. Marco Polo State Machine - Assumes that cube doesn't change locations. - Relies on user addressing Marco before asking about the location of the ball
  • 5. Mapping/Localization In Marco Polo, we utilized RTAB-Map ● RTAB-Map is a specific GraphSLAM approach to SLAM that is based on an incremental appearance-based loop closure detector. ● The loop closure utilizes a “bag-of-words” approach to determine how likely a new image comes from a previous location or a new location. ● When a loop closure hypothesis is accepted, a new constraint is added to the map’s graph, then a graph optimizer minimizes the error in the map.
  • 6. Autonomous Exploration In this project, a frontier based autonomous exploration approach was integrated into the robot. ● Frontier based autonomous exploration means that the robot is given a “frontier”, or unexplored area to explore and map out. ● This is achieved with Marco Polo by “drawing” a polygon in RVIZ on top of the area that Marco polo is in. ● The polygon is created by clicking on the screen creating a series of connected points until the shape is closed.
  • 7. Objection Recognition Steps: ● Capture video frame from ROS topic node ● Convert to OpenCV image using cv_bridge. Frame is now 3D numpy array in BGR ● Convert image to HSV values for improved differentiation and clustering using cuboids
  • 8. Objection Recognition Next Steps: ● Filter for red hues which are not extremely light or dark. ● Check object to see if it is big enough and squarish in shape ● If red circular object detected, publish the coordinates of the center of the cube, ex. [1, 320, 240]
  • 9. Objection Recognition: Deep Learning Future work could involve using a PyTorch model which has been trained on the COCO object segmentation dataset for localization and detection of objects. This makes the model more robust than merely detecting objects by their color and shape. These labels and location could be sent to the robot and be incorporated into the speech and mapping. Issues with speed, memory, and confidence values will need to be resolved. STAY!
  • 10. Object Depth Finding Marco Polo looks for the cube and attempts to add the ball to the world frame. ● This is achieved by receiving a center-point pixel value from the object recognition node, using that pixel value U,V to map it to a XYZ value from a pointcloud generated by the RGB-D camera on the robot. ● The XYZ values are transposed from the frame of the robot’s world pose at the time of the ball object recognition. ● This is done utilizing the transform library in ROS, which stores and calculates the transforms of different robot objects, stationary and mobile, storing their relative translation and quaternion rotation transforms.
  • 11. Movement Manager ● The second half of the project includes the creation of the “movement manager” ROS node which brought autonomy to the mapping process, and more importantly, handles the transition to a pursuit mode of the cube. ● The movement manager has an interface for receiving a “pursuit request” from the Marco Overlord. When this request comes in, the current Frontier Exploration task is aborted via the Frontier Exploration SimpleActionClient. ● Once the position determined above has been reached (i.e. the move_base action server indicates that the goal is complete) , the arm actuation takes place and the pickup attempt occurs.
  • 12. Robot Arm Movement ● In the second half of the project, we added in the capability of the robot to grab the sensed object in front of it, based on the dead reckoning of the robot’s movement toward the sensed object. ● This was achieved by adding in functionality from the phantomx arm library and programming a node in ROS to move each joint when prompted when the robot reached its goal. ● If we had more time, improvements could have been done on the robot to increase the reliability of the arm. We could have incorporated the second camera to actively adjust the servos on the arm to grab to cube, allowing it to adjust to the innactuarace and drift of the robot after it approaches the cube
  • 13. Speech Synthesis - Utilized Amazon Polly API due to scalability, ease of use, and fast synthesis - Synthesis performed for location of the ball when Marco is addressed verbally - Synthesis based on two options: - Standard TTS - Phoneme concatenation - Amazon “Neural TTS” - Sequence of spectrograms created via neural network which uses sequence of phonemes as input. - Adds context awareness from trained nuance of speech
  • 14. Speech Transcription - Utilized Google Cloud Speech-to-Text due to scalability, live streaming capability, and confidence/stability tradeoff metrics - Examples - results { alternatives { transcript: "tube" } stability: 0.01 } - results { alternatives { transcript: "to be a" } stability: 0.01 } - results { alternatives { transcript: "to be" } stability: 0.9 } results { alternatives { transcript: " or not to be" } stability: 0.01 } - results { alternatives { transcript: "to be or not to be" confidence: 0.92 } alternatives { transcript: "to bee or not to bee" } is_final: true } - results { alternatives { transcript: " that's" } stability: 0.01 } - results { alternatives { transcript: " that is" } stability: 0.9 } results { alternatives { transcript: " the question" } stability: 0.01 } - results { alternatives { transcript: " that is the question" confidence: 0.98 } alternatives { transcript: " that was the question" } is_final: true }
  • 15. Challenges ● Gathering the required parts took days, and some parts, such as a USB Hub and wiring to the Kobuki base were missing, along with several necessary power adapters. ● Linux kernel on the Joule was corrupted and necessitated a full build-up of the robot from the ground up. ● Lack of a combination of internet connection and ability to ssh into Marco Polo. ● Different flavors of ROS and Ubuntu and joining code. ● State of the Robot Arm (incorrect baud rate and false hardware limits) ● More missing parts for project 2 including FTDI cable ● Size of the object in project 2 made finding the cube VERY challenging.
  • 16. Lessons Learned - The ROS framework offered flexibility in interfaces which enabled modular development - Reliance on PSU WiFi infrastructure is challenging, PSU CAT is unresponsive or unwilling to help with challenges - Late integration caused inevitable unforseen misunderstandings - The robot cannot reliably enough dead reckon for the robot arm. - More filters on the object recognition will allow for a more robust finding of the smaller cube.