Notifications
Clear all

How to control Qbo using ROS

6 Posts
3 Users
3 Reactions
1,171 Views
caju
 caju
(@caju)
Member
Joined: 4 years ago
Posts: 22
Topic starter  

Hello!

I have managed to control Qbo using ROS and I want to use this topic to explain how to do it. First of all, you must have an operational version of Qbo. You can use the original raspbian image or you can start from zero (I recommend this option, although you may have some problems to install and have everything working.) You can use the attached installing file provided by @chrisbuy ("QBO_Installer_09.sh").

To install it, you must use the following, or older, Raspbian image:

http://downloads.raspberrypi.org/raspbian/images/raspbian-2019-04-09/

To check that the serial configuration works properly, you can execute the attached file "test.py" placed in the same folder than the file "QboCmd.py". The next should happen:

- Nose switched on in blue color

- X motor moves (right - left)

- Y motor moves (up - down)

- Smile in the mouth

- Center head

- Switch off nose

- Switch off mouth

 

Once you have checked that everything is working, you must install ROS and use the next ROS package that I have created: 

https://github.com/carlosjdd/qbo_control

You can find all the steps needed in the README file.

 

Hope this brief tutorial is useful and you can manage to control the robot using ROS.


   
Quote
Niko
 Niko
(@niko)
Eminent Member
Joined: 6 years ago
Posts: 39
 

this weekend i will try to install in my Q.bo and revert on you...good job! & Congrats


   
caju, caju and caju reacted
ReplyQuote
caju
 caju
(@caju)
Member
Joined: 4 years ago
Posts: 22
Topic starter  

I just want to add a simple video where you can see how Qbo reacts to the different topics received. Hope you like!


   
ReplyQuote
Niko
 Niko
(@niko)
Eminent Member
Joined: 6 years ago
Posts: 39
 
Posted by: @caju

I just want to add a simple video where you can see how Qbo reacts to the different topics received. Hope you like!

@caju good job 👍 

where can we download each package?. I suggest to open, for each package, a "thread"  with the download link in order other users can comment independently each package. It´s only my opinion ;)

@caju are you using a new PID for the head movement?

Warm regards.


   
ReplyQuote
caju
 caju
(@caju)
Member
Joined: 4 years ago
Posts: 22
Topic starter  

Hi Niko, 

To control Qbo I only use one package that I created, and is the one that I mention above: https://github.com/carlosjdd/qbo_control

In the package, inside src folder, you can see the four nodes that allows to control every part. Every node is subscribed to one topic (the node for the mouth to two topics), and you can find all the information related to the package usage in the README file. However, take a look to the considerations I explain in the first message of this thread. 

As you mention, I will create a new thread for the package (for the moment, only one thread because there is only one package), but if anyone create new ROS packages to integrate more functions into qbo, it is good to have one thread for every ROS package compatible with Qbo.

Please, if following the instructions explained in the first message of this thread and in the README of the ROS package you have any doubt, let me know, you can use the new thread for the "qbo_control" ROS package. Here you have the link

Lastly, I do not use any new PID for the head movements, I just call the function of the library QboCmd.py with the value of the motor that I want to move, the objective angle (altough I scaled it between -100 and 100 for the ROS message) and the speed.

Let me know if you have more problems or doubts


   
ReplyQuote
(@romeo)
Member
Joined: 6 years ago
Posts: 76
 

https://www.amazon.com/ROBOTICS-EDUCATION-CODING-English-version/dp/B0BRMT29KC/ref=sr_1_1?crid=3HLX2FOV83UZV&keywords=qbo+coding+for+stem&qid=1679435736&s=books&sprefix=qbo+coding+for+stem%2Cstripbooks-intl-ship%2C195&sr=1-1

I advise you to read my textbook to implement Q.BO STEM or Q.BO One at the latest version, with which you can also make it play with chat-gpt.


   
ReplyQuote
Share: