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

Daniel's agent evolution M2 Scratchpad #398

Closed
25 of 37 tasks
stonier opened this issue May 9, 2018 · 4 comments
Closed
25 of 37 tasks

Daniel's agent evolution M2 Scratchpad #398

stonier opened this issue May 9, 2018 · 4 comments
Assignees
Milestone

Comments

@stonier
Copy link
Collaborator

stonier commented May 9, 2018

Working notes.

Has-A Agents

Non-Dynamically Loaded Agents

ToDo

  • Still need AutomotiveSimulator::InitializeSimpleCar? ⇨ Still need AutomotiveSimulator<T>::InitializeSimpleCars()? #397
  • Drop DrakeLcmInterface as an arg to LoadableAgent::ConfigureHas-a drake agents #404
  • Why is initial_lane_direction for RailCar not a parameter? It's not a context variable
  • Drop the template param from AgentBase? (it's no longer a system), no - hypothetically useful for the templated AutomotiveSimulator class in some future
  • AutomotiveSimulator::get_lcm(), lcm_ can disappear? Yes ⇨ [infra] drop the unused lcm interface #408
  • Store loadable_agent_initial_states_ in the agents instead of the simulator ⇨ Python bound trajectory agent #417, Python bound agents Part II #425
  • Move all diagram / configuration work to the loadable agents (currently split)?
  • Override DefaultContext methods instead of an Initialize method?
  • Drop get_system usage in AutomotiveSimulator::InitializeAgents`, we have n-system agents
  • Refactor unused? AutomotiveSimulator::ConnectCarOutputsAndPriusVis
  • Drop get_system usage from AgentBase
  • SimpleCar -> TeleopCar?
  • Teleop id -> name?
  • (drake) refactor out lanedirection, it's discombabulating
  • a unique id in AgentBase actually necessary?
  • move FindLane -> maliput::FindLane convenience library
  • asserts in AddAgent should probably be just checks, err msg and return -1
  • exceptions by CheckNameUniqueness in AddAgent shouldn't be exceptions

Stretch

  • Agents that can load anytime -> get inserted between updates
  • Use SceneGraph instead of the aggregator
  • Parameters streaming/publishing

TrajectoryAgent

  • Dump AgentType/AgentData from TrajectoryAgent (should be handled separately?)
  • Rename to TrajectoryFollower (system, not an agent)
  • Unwind if(plugin_library_name != "trajectory-agent") when loadable_initial_states_ goes away

Python

  • replace robot_id with human readable names

Architecture Thoughts

  • Systems, Diagrams and then agents

NotDo

  • Agentcounter automagically from AgentPluginBase? No, necessary for uniquely id'ing a port to the aggregator. There may be other systems to be id'd, not just agents. Threading issues can also be a problem, better to have a single instance generating them.
@stonier stonier added this to the Milestone #2 milestone May 9, 2018
@stonier stonier self-assigned this May 9, 2018
This was referenced May 10, 2018
@stonier stonier changed the title Loadable agents has-a scratchpad Daniel's agent evolution scratchpad May 24, 2018
@stonier
Copy link
Collaborator Author

stonier commented May 24, 2018

@basicNew renamed the title as this is mostly a private scratchpad - I'm keen to get very familiar with the agent development, here and back in drake so we can better support our needs across the different sims at TRI.

@stonier
Copy link
Collaborator Author

stonier commented May 24, 2018

I'll farm out work if I want assistance on these things, but feel free to pick up on some if you don't have anything else to tackle or it's an itch for you as well.

@basicNew
Copy link

+1, thanks!

@stonier stonier changed the title Daniel's agent evolution scratchpad Daniel's agent evolution M2 Scratchpad Jun 6, 2018
@stonier
Copy link
Collaborator Author

stonier commented Jun 6, 2018

I'll rebuild this for M3

@stonier stonier closed this as completed Jun 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants