qcr / benchbot

BenchBot is a tool for seamlessly testing & evaluating semantic scene understanding tools in both realistic 3D simulation & on real robots
BSD 3-Clause "New" or "Revised" License
110 stars 12 forks source link

KeyError when using votenet to do the detections. #68

Closed ZhiyeTang closed 2 years ago

ZhiyeTang commented 2 years ago

Sorry for bothering you again. I was trying to build my first agent according to your tutorial, a KeyError occurred showing that there is no key called 'camera' in the dictionary observations['poses']: 1653569146(1) I think it might be caused by some API mistakes, while there is actually no mention for a key 'camera' according to the README file in benchbot_api repository.

btalb commented 2 years ago

That's a good pickup @TongChiYip ; thanks for that.

This is actually a bug in our updated controller code. The pose 'camera' should exist in that object.

I'll make a fix and push out a new release later today.

btalb commented 2 years ago

Above commit should fix this. Let me know if updating BenchBot doesn't resolve the issue.

ZhiyeTang commented 2 years ago

Thanks @btalb . Is a complete reinstallation needed? Or we just need to rebuild the Docker images related?

btalb commented 2 years ago

If you just re-run benchbot_install it will go through all the steps, skipping whatever is already installed and reusing cached Docker layers.

ZhiyeTang commented 2 years ago

Due to the firewall set by our government, a re-run of benchbot_install might be annoying, which makes me installed benchbot in a "semi-manual way" previously. If a simple re-building for related Docker images is all what I need, that would save my time.

btalb commented 2 years ago

Ah I see, no worries.

In that case, yes updating the Docker images should be all you need (mainly Git pulling the repo in /benchbot/benchbot_robot_controller/ directory, then committing the ).

You may also want to pull the latest API in the benchbot/api directory outside of Docker as well.

ZhiyeTang commented 2 years ago

So the updates are only related to Git repos benchbot_api and benchbot_robot_controller?

btalb commented 2 years ago

That's correct.

ZhiyeTang commented 2 years ago

I've rebuilt the related backend image and simulator image. But when I try benchbot_run, another error occurred showing that the BenchBot Robot Controller container exited unexpectedly due to file /benchbot/ros_ws/src/benchbot_robot_controller/nodes/benchbot_robot_controller is not executable. This error haven't happened in previous versions. Could this be caused by the catkin compilation? Or just my mistakes? I'm not sure.

btalb commented 2 years ago

That I would believe be an error somewhere in the manual process you've taken @TongChiYip.

That file's existed for a long time, and not been changed in any recent updates. If you're re-building with Catkin manually, you should just have to source /benchbot/ros_ws/develop/setup.bash, re-run catkin_make, and then Docker commit the results.

Sorry I can't offer anything more concrete, supporting manual building is a bit outside of our scope.