question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Drake Visualizer with multiple robots

See original GitHub issue

I’ve run into an issue that’s pretty hard to get around with the way drake-visualizer is currently set up. Specifically, I would like to:

  • load robot A in drake visualizer once
  • at each iteration of my function:
    • draw robot A in a configuration
    • load and draw another robot B (whose geometry changes at every iteration)

I can’t currently do that, because loading robot B deletes all robots from the visualizer. I could do:

  • at each iteration:
    • load robots A and B
    • draw robot A
    • draw robot B

but it’s computationally wasteful, since it loads robot A every time (which might be expensive, if robot A has fancy meshes), and it’s inconvenient.

@patmarion I think we chatted about whether to have the LOAD_ROBOT command only delete any existing robot with the same robot ID number, rather than all robots. At the time, that seemed like a bad idea, because it leaves additional state in the visualizer. But I’m starting to wonder if it might be the right thing to do. It would certainly fix my immediate problem.

But perhaps someone else has a better idea, or another use case we need to address?

How about it? Is anyone else trying to visualize multiple robots simultaneously in the drake-visualizer?

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:13 (9 by maintainers)

github_iconTop GitHub Comments

2reactions
rdeitscommented, Nov 30, 2016

@david-german-tri I agree that as far as I know, no one (except me) is currently using drake-visualizer with more than one robot ID number. That’s because we’ve always used the trick that @liangfok mentioned in which we combined multiple robots into a singe rigid body tree/manipulator.

1reaction
rdeitscommented, Nov 30, 2016

The benefit of using a channel instead of adding a flag to the message is that it does not break backwards compatibility for users of the old message type.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Drake: Model-Based Design and Verification for Robotics
Drake ("dragon" in Middle English) is a C++ toolbox started by the Robot ... It is a collection of tools for analyzing the...
Read more >
drake - Visualising the motion of multiple robots - Stack Overflow
I am trying to add multiple robot instances and visualising their motions. I tried a couple of ways to do this and I...
Read more >
Drake Simulation
To visualize the robot, MultibodyPlant should be registered to the SceneGraph . The SceneGraph would then send rendering message to another process called ......
Read more >
Lec 6: Tutorial of Drake Simulation for Robotics and Control ...
Introduction to the Drake simulator and Python examples for control system simulation using DrakeLecture 6 of SUSTech ME424 Modern Control ...
Read more >
Some Notes on Drake: A Robotic Control ToolBox
Drake aims to simulate even very complex dynamics of robots (e.g. ... Finally, we hope Drake provides many compelling examples that can help ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found