Using Bullet as a Collision Checker#337
Conversation
|
Thanks for helping in improving MoveIt! |
c9618f9 to
3ca2e43
Compare
3ca2e43 to
6feb67b
Compare
| moveit_visual_tools::MoveItVisualTools visual_tools("panda_link0"); | ||
| ros::Publisher robot_state_publisher(node_handle.advertise<moveit_msgs::DisplayRobotState>("interactive_robot_state", 1)); | ||
| ros::Publisher robot_state_publisher_2(node_handle.advertise<moveit_msgs::DisplayRobotState>("robot_state_before", 1)); | ||
| ros::Publisher world_state_publisher(node_handle.advertise<visualization_msgs::Marker>("interactive_robot_markers", 100)); |
There was a problem hiding this comment.
a Marker publisher is already included in MoveItVisualTools (see rviz_visual_tools, the parent class), so you should not need this.
There was a problem hiding this comment.
if I use the one from MoveItVisualTools, then all topic names get prefixed by bullet_collision_detection which means that I can't use the same topic as the interactive robot uses. This means that I can't show both markers / robot states through the same visualization because they need different topics.
| spinner.start(); | ||
|
|
||
| moveit_visual_tools::MoveItVisualTools visual_tools("panda_link0"); | ||
| ros::Publisher robot_state_publisher(node_handle.advertise<moveit_msgs::DisplayRobotState>("interactive_robot_state", 1)); |
There was a problem hiding this comment.
a DisplayRobotState publisher is already included in MoveItVisualTools, so you should not need this unless you need three of those publishers...
There was a problem hiding this comment.
Same as above comment
mamoll
left a comment
There was a problem hiding this comment.
I made some small suggestions to use std::make_shared in two places. There may be more places you could do this. See https://stackoverflow.com/questions/20895648/difference-in-make-shared-and-normal-shared-ptr-in-c on detailed info on why this is generally a good idea.
6feb67b to
2cf6bfc
Compare
|
I addressed the review comments. However, this PR still requires Bullet to be merged via the feature branch before. |
|
Which PRs have to be merged in the moveit repo before this PR can be merged? |
|
The feature branch |
|
Can you create a PR for that? Or do your existing PRs contain the same commits? |
| // BEGIN_TUTORIAL | ||
| // The code starts with creating an interactive robot and a new planning scene. | ||
| InteractiveRobot interactive_robot; | ||
| g_planning_scene = new planning_scene::PlanningScene(interactive_robot.robotModel()); |
There was a problem hiding this comment.
Is there a reason to use raw pointers here?
There was a problem hiding this comment.
Either use smart pointer or give a reason why we are using raw pointers here
There was a problem hiding this comment.
I adapted the code from the visualizing tutorial for this tutorial and as it uses raw pointers I thought it would be fine.
There was a problem hiding this comment.
I replaced all raw pointers with smart ones.
We first have to discuss how we deal with the fact that the Bullet version available through |
In the issue you linked, the proposed solution was to check the bullet versions at compile time and just disable the feature if bullet is too old. Personally, I don't see the problem with that. |
|
So this means enabling/disabling this in the cmake files right? Then I can provide a PR for this. |
Yes, typically, you'd have something like this: If Bullet doesn't include cmake config files or doesn't support version number checking, you have to somehow get the version some other way. |
|
Thanks Mark!
Mark Moll <notifications@github.com> schrieb am Mo., 18. Nov. 2019, 17:15:
… So this means enabling/disabling this in the cmake files right? Then I can
provide a PR for this.
Yes, typically, you'd have something like this:
find_package(bullet 2.88)
set(MOVEIT_HAVE_BULLET bullet_FOUND)
# this file contains: \cmakedefine01 MOVEIT_HAVE_BULLET
configure_file(some_header.h.in some_header.h)
If Bullet doesn't include cmake config files or doesn't support version
number checking, you have to somehow get the version some other way.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#337>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AETC5JRKPDOGMD4PPA6Z77LQUK5RRANCNFSM4HYI7GUA>
.
|
|
Bullet does |
|
All further discussions concerning Bullet and cmake happening here. |
|
Would be too bad if this was left by the roadside. It has had a birthday already. Do you think you can give this another push @j-petit ? |
|
wups, completely missed that this is still pending. Thanks for reminding me Felix! I'll try fixing those loose ends in the near future. As I am not working in the ROS environment anymore, it's hard to get started again... |
b3a4fe0 to
ef67cfb
Compare
mamoll
left a comment
There was a problem hiding this comment.
This looks good to me. Let's get this merged (finally!).
01fbcc3 to
415a87b
Compare
|
Fixed Travis, can we get this merged, @mamoll ? |
IMO, yes. I'd like to get the approval from anther maintainer. @davetcoleman or @felixvd, perhaps? |
|
Or @mlautman ? |
|
I would like to actually test it before I approve it, but I probably won't get around to it before ROS World :( |
|
That's fine, I think it would be great if someone is actually testing it beforehand! |
* use copy of visualizing collisions tutorial * adapted copied tutorial for Bullet * added CCD demonstration to tutorial
f2cfa24 to
6a541ac
Compare
|
As you know, I've started using Bullet recently. It's great so far! I downloaded the tutorial, built the webpage, and ran it. It all looks good. Let's finally get this merged. |
|
Thanks Andy! |
Description
This tutorial demonstrate how to use Bullet as a collision checker and is part of the GSoC 2019. It shows normal collision detection as well as continuous collision detection. I am using a lot of code from the
Visualizing Collisionstutorial to have the same interactive robot setup with the visualized collisions.This does not build and pass yet, as the feature branch has to be merged into master first.