Code Monkey home page Code Monkey logo

naoqi_webots's Introduction

Logo naoqi_webots

naoqi_webots

This repository is a refactored version of the controller named naoqisim: https://github.com/cyberbotics/naoqisim

It aims to solve bugs and outdated pieces of code of the deprecated naoqi-c++-sdk used in it.

The differences between that and this are showed in the folder what_was_refactored.

It works as a middleware allowing that Choregraphe and any code using "naoqi SDK SoftBank Robotics" to be used with the simulated robot NAO in Webots.

Features

  1. Program robot NAO using a standard SDK developed by its current developer SoftBank Robotics.

  2. Use the robot in a well known robotic simulator, Webots.

    Save time and your robot of falling by researching in a simulator.

Versioning

beta-0.2, 422,7 MB (zip packed, included naoqi-c++-sdk)

Getting started

Dependences

  • Operating System: Linux.

    This refactored version works only on Linux. The support for Windows and OSX were temporarily removed in order to improve readability and maintenance of the code.

  • Compiler: Standard GCC compiler suite.

  • Webots: https://cyberbotics.com/

    Set the WEBOTS_HOME environment variable to point to the Webots installation folder, as documented in the Webots user guide. Also add WEBOTS_HOME/lib to your library path through the terminal:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$WEBOTS_HOME/lib

  • Choregraphe: https://developer.softbankrobotics.com/nao6/downloads/nao6-downloads-linux

    The last version of Webots (R2020b in August 2020) has a model of NAOv5. NAOv6 is not supported. So you should use NAOv5 in Choregraphe too. Modify that in Choregraphe: Edit -> Preferences -> Virtual Robot, in the field "Robot model" select "NAO H25 (V50)".

    naov5

Last execution done in:

  • Ubuntu 18.04.4
  • Webots R2020a revision 1
  • Choregraphe Version 2.8.6.23

...but it is supposed to work in newer versions too.

Build

  1. Download this current repository: https://github.com/fernandozuher/naoqi_webots/archive/master.zip

  2. Unpack it in a preferred working directory.

  3. Compile the naoqi_webots controller: type "make" in the "naoqi_webots/controllers/naoqi_webots" folder.

    make screen

What the controller does inside itself:

  1. Initializes naoqi process located in the folder "old_aldebaran_cplusplus_sdk".
  2. Initializes Webots simulation.
  3. Creates an abstract robot NAO that is connected to naoqi and Webots.

How to use

  1. Start Webots. Open the "naoqi_webots/worlds/naoqi_webots.wbt" world file.

    Opened Webots

    Initialized naoqi_webots

  2. Start Choregraphe. Choose "Connection" > "Connect to" or click the "Connect to" button. (Yes, OK that)

    naov5

    Click the "Wake Up" button (sun-like icon on the top right corner of the Choregraphe window) to make sure the stiffness is on.

    naov5

  3. Play with the change of the NAO postures in "Pose library" (top right side) or any box that doesn't execute movement with the legs of NAO (current bug coming from the "old Aldebaran C++ SDK").

Links

Authors

Thank you for visiting and good coding!

naoqi_webots's People

Contributors

fernandozuher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

naoqi_webots's Issues

Compiling new SDK

Hello Fernando,
Were you able to get to know how to replace the old SDK with the recent one in order to make it work on Linux? I guess for motion and vision, both V5 and V6 are compatible. I hold no clue about the migration of the code to V6.

Naoqi simulator sdk

I am relatively new to this field. Do u have any idea on how do we access naoqi simulator sdk library packages. They seem to be deprecated. Any alternative for it?

Compilation Error

compiling Inertial_Unit.cpp

./nao/01_sensors/Inertial_Unit.cpp: In member function ‘virtual void Inertial_Unit::update()’:
./nao/01_sensors/Inertial_Unit.cpp:49:17: error: missing template arguments before ‘angles’
std::vector angles {&angle_X, &angle_Y, &acc_X, &acc_Y, &acc_Z, &gyr_X, &gy
^
./nao/01_sensors/Inertial_Unit.cpp:58:41: error: ‘angles’ was not declared in this scope
m_filters[i]->append_raw_value(*angles[i]);
^
/usr/local/webots/resources/Makefile.include:532: recipe for target 'build/release/Inertial_Unit.o' failed
make: *** [build/release/Inertial_Unit.o] Error 1

This error appears when i am trying to compile running make in the naoqi_webots_master folder. I am using Ubuntu 16. Do you have any idea of how to solve it? Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.