ros-naoqi/naoqi_driver

ROS in (virtual) NAOV6 simulation

ysys98 opened this issue · 3 comments

Hello, I haven't started school yet, so I don't have a physical NAO around me. How can I connect a virtual NAO on my computer and conduct simulation just like connecting a physical NAO?

I follow these to try connect a virtual NAO
#134
#144
http://wiki.ros.org/nao/Tutorials/Getting-Started

I ran the following instructions as recommended by the authorities in ROS wiki
微信图片_20220309204816

And then I follow #134 #144 run :
roslaunch naoqi_driver naoqi_driver.launch nao_ip:=127.0.0.1 network_interface:=enp0s3

But I got an error:
666

it said :
Receiving information about robot model
terminate called after throwing an instance of 'qi::FutureUserException'
what(): ALMemory::getData
Data not found RobotConfig/Body/Type

So what should I do next?

mbusy commented

Hi @ysys98, did you take a look at that repo ? More specifically the ROS wiki page and the ROS example script. That might help you to simulate a NAO and to connect it to the driver

@ysys98,你看过那个回购了吗?更具体地说,ROS wiki 页面ROS 示例脚本。这可能会帮助您模拟 NAO 并将其连接到驱动程序

Thank you! @mbusy
Thank you and I've done it this way
But I have some questions,
When I run some examples according to the qibullet tutorial,
4

Then I started rviz
But I didn't find Odom in the fixed frame

Another question I have is that when I simulate a Nao in qibullet, he is standing in pybullet, but when I open rviz, he is half embedded in the map, that is, he has no base_ Footprint, why? How can I solve these two problems
1
2

3

  1. I can't find Odom in the fixed frame
  2. There is no base in the fixed frame in rviz_ footprint
mbusy commented

You're welcome! If you launch the ROS example, the odom frame should appear in RViz: the qiBullet ROS wrapper is used and publishes the odom frame for all virtual robots (this method is used). If you launch a classical example, (like this one for instance) the ROS wrapper isn't used and no extra frames will be published. To be clear, qiBullet doesn't launch naoqi_driver, but uses its own ROS wrapper to emulate naoqi_driver's functionalities.

To be even more precise: real robot + naoqi_driver = simulated qibullet robot + qibullet ROS wrapper. In terms of topics and frames, the usage should be transparent. So make sure that a ROS wrapper is launched, like in the qibullet ROS example.

Regarding your second problem, solve your first problem and then use odom as a fixed frame in RViz. The robot won't be embedded in the ground anymore. (The base link of NAO is located in its torso, that's why it appears embedded in the ground)

Since this issue is starting to discuss content related to qiBullet and not naoqi_driver, I'll close this issue. If you need any additional information on that specific issue, you can of course open an issue or a discussion in the qiBullet repo, and we'll continue the discussion there!