Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: taxi demo #250

Merged
merged 2 commits into from
Oct 3, 2024
Merged

feat: taxi demo #250

merged 2 commits into from
Oct 3, 2024

Conversation

maciejmajek
Copy link
Member

@maciejmajek maciejmajek commented Sep 27, 2024

Purpose

This PR introduces a new taxi demo example showcasing RAI's adaptability to new platforms and use cases.

Story:
It's 2026
You've just hailed an autonomous taxi.
You get in and tell the taxi where you would like to go.

  • You don't need to know the address, you can describe where you would like to go or ask for suggestions (e.g. best restaurant in Warsaw)

Proposed Changes

  • Adds a new taxi demo example

Issues

  • Links to relevant issues

Testing

Important

This demo expects Tavily api key as well as google maps api key. You can contact me for these

Silent testing
Terminal 1

python examples/taxi-demo.py

Terminal 2

ros2 topic echo /to_human std_msgs/msg/String

Terminal 3

ros2 topic pub /from_human std_msgs/msg/String "data: 'The tallest building in the warsaw please'" --once --qos-durability transient_local --qos-reliability reliable

Alternatively
Terminal 1

python examples/taxi-demo.py

Terminal 2

ros2 launch rai_bringup voice.launch.py keep_speaker_busy:=false recording_device:=3 silence_grace_period:=0.5 asr_vendor:=whisper 
image

@maciejmajek maciejmajek marked this pull request as ready for review September 27, 2024 19:28
@adamdbrw
Copy link
Member

Looking through this PR, it is mostly not about a particular use-cases, but some refactoring. Could we make it a 2 separate PRs where one is only the demo?

@maciejmajek
Copy link
Member Author

maciejmajek commented Sep 30, 2024

@adamdbrw Good call. Here is the refactoring PR: #256. Here is feature PR: #257

@maciejmajek maciejmajek marked this pull request as draft September 30, 2024 11:55
@maciejmajek maciejmajek force-pushed the feat/taxi-demo branch 2 times, most recently from d35fbfb to 5d44552 Compare September 30, 2024 13:28
@maciejmajek maciejmajek marked this pull request as ready for review September 30, 2024 13:28
@maciejmajek maciejmajek force-pushed the feat/taxi-demo branch 4 times, most recently from c077cac to de71812 Compare September 30, 2024 20:37
@boczekbartek
Copy link
Member

boczekbartek commented Oct 1, 2024

Errors:

  • Please install it with pip install googlemaps.
  • faiss error:
(rai-py3.12) robo-pc-005 ➜  12_rai git:(feat/taxi-demo) ✗ python examples/taxi-demo.py                                 
[WARN] [1727767323.981294829] [taxi_demo_node]: Robot description package not set, using empty identity and constitution.
[ERROR] [1727767323.981615142] [taxi_demo_node]: Could not load FAISS index from robot description package. Error: 
'' is not a valid package name
  • I tried:
ros2 topic pub /from_human std_msgs/msg/String "data: 'The tallest building in the warsaw please'" --once --qos-durability transient_local --qos-reliability reliable
ros2 topic pub /from_human std_msgs/msg/String "data: 'Nice park close to the city center'" --once --qos-durability transient_local --qos-reliability reliable
ros2 topic pub /from_human std_msgs/msg/String "data: 'A park close to the WUT'" --once --qos-durability transient_local --qos-reliability reliable
ros2 topic pub /from_human std_msgs/msg/String "data: 'A park with a ski lift in warsaw'" --once --qos-durability transient_local --qos-reliability reliable
ros2 topic pub /from_human std_msgs/msg/String "data: 'A big green area close to warsaw university of technology'" --once --qos-durability transient_local --qos-reliability reliable
ros2 topic pub /from_human std_msgs/msg/String "data: 'A big green area close to warsaw university of technology with field word in the name'" --once --qos-durability transient_local --qos-reliability reliable
ros2 topic pub /from_human std_msgs/msg/String "data: 'pole mokotowskie'" --once --qos-durability transient_local --qos-reliability reliable
ros2 topic pub /from_human std_msgs/msg/String "data: 'The headquarters of robotec.ai'" --once --qos-durability transient_local --qos-reliability reliable

Besides failing to get the park close to WUT as Pole Mokotowskie it worked very well!

@maciejmajek
Copy link
Member Author

maciejmajek commented Oct 1, 2024

@boczekbartek thank you for testing.
I've added the googlemaps to the poetry environment.

I wasn't planning on doing anything with the faiss error. It's caused by the lack of whoami configuration package for the taxi demo.
I see two solutions:

  • Lower the severity of this error to warn (just like with identity and constitution)
  • Create a whoami package for the taxi demo -> this will add a new command that will have to be run for the demo to work

@maciejmajek maciejmajek force-pushed the feat/taxi-demo branch 2 times, most recently from 3135d07 to f098397 Compare October 1, 2024 14:22
@boczekbartek boczekbartek self-requested a review October 2, 2024 12:03
Copy link
Member

@boczekbartek boczekbartek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@maciejmajek Thank you for updating. LGTM!

@maciejmajek maciejmajek merged commit 399406e into development Oct 3, 2024
4 checks passed
@maciejmajek maciejmajek deleted the feat/taxi-demo branch October 3, 2024 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants