blimple_as_that

simple coppleiasim blimp, interface with ROS

https://github.com/pranavraj575/blimple_as_that

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

simple coppleiasim blimp, interface with ROS

Basic Info
  • Host: GitHub
  • Owner: pranavraj575
  • Language: Lua
  • Default Branch: master
  • Size: 4.03 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Citation

README.md

Blimp Swarm

Create a base case blimp environment to build upon for other experimetns in CoppeliaSim

Tested on Windows WSL2 running Ubuntu 22.04 with CoppeliaSim v4.6.0-rev18, Python 3.8, and ROS2 Humble

Installation

  1. ### Install Coppeliasim
* sudo apt-get update && apt-get upgrade
* sudo apt-get install libgl1
* sudo apt-get install python3 pip
* sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
* python3 -m pip install pyzmq cbor2
* wget https://downloads.coppeliarobotics.com/V4_6_0_rev16/CoppeliaSim_Edu_V4_6_0_rev18_Ubuntu22_04.tar.xz
* tar -xvf CoppeliaSim_Edu_V4_6_0_rev16_Ubuntu22_04.tar.xz
* ./copelliaSim.sh

Update your ```.bashrc``` with the following (the alias is not required, it just makes it easier to run Coppeliasim)

Replace ```<path to coppelia folder>``` with the path. In our case, it was ```/home/<username>/Downloads/CoppeliaSim_Edu_V4_6_0_rev18_Ubuntu22_04```. Unfortunately it looks like using ```~``` does not work for later build commands, so you need to put the full directory.
```bash
export COPPELIASIM_ROOT_DIR="<path to coppelia folder>"
alias coppeliaSim="$COPPELIASIM_ROOT_DIR/coppeliaSim.sh"
```

**Update Copellia Sim Configuration settings:**
*  Locate the usrset.txt settings file. For me it was in ```<coppelia folder path>/system/usrset.txt```
* Change the following parameters
    * doNotShowCrashRecoveryMessage = 'true' (To remove the annoying error messages on setup).
    * additionalLuaPath =  "~/sim/blimpFlow/lua" (To find model lua files)
  1. Install ROS2

    Tested with ROS2 Humble on Ubuntu 22.04

    Make sure the following line is in the .bashrc file, or is run every terminal (with <distro> replaced by ROS distribution, e.g. foxy)

    bash source /opt/ros/<distro>/setup.bash Remember to source the bashrc file after:

    bash source ~/.bashrc

  2. Set up the ZMQ package into Coppeliasim

    bash pip3 install pyzmq cbor Then add the following to your .bashrc. Note: since this references COPPELIASIMROOTDIR, it must be on a line after the definition made in step 1 bash export PYTHONPATH="$PYTHONPATH:$COPPELIASIM_ROOT_DIR/programming/zmqRemoteApi/clients/python" Again, remember to source the bashrc file after:

    bash source ~/.bashrc

  3. Clone this directory

    bash git clone https://github.com/pranavraj575/blimple_as_that

  4. Install the ROS2 Coppelia package "according to the tutorial"

    However, the tutorial sucks, so following the directions below will work

* Install dependencies
  ```bash
  sudo apt update
  sudo apt-get install xsltproc
  pip3 install xmlschema
  ```
* make a ROS2 workspace (the name can probably be different)
  ```bash
  cd ~
  mkdir -p ros2_ws/src
  ```
* clone the [sim_ros2_interface](https://github.com/CoppeliaRobotics/simExtROS2) directory and install dependencies.
  * The best way to do this is with the folder we made
      ```bash
      cp -r /<path to blimple_as_that>/setup_files/sim_ros2_interface ros2_ws/src
      ```
  * However, you can try setting up according to the [tutorial](https://www.coppeliarobotics.com/helpFiles/en/ros2Tutorial.htm) like this
      ```bash
      cd ros2_ws/src
      git clone https://github.com/CoppeliaRobotics/simExtROS2
      cd sim_ros2_interface
      git checkout coppeliasim-<your-version-of-coppeliasim>
      ```
* Build the ROS2 package (note: should be run from the workspace directory)
  * Note: this command is buggy, if it fails try looking at the compile instructions in the [github tutorial](https://github.com/CoppeliaRobotics/simROS2)
    ```bash
    cd ~/ros2_ws
    colcon build --symlink-install
    ```
  * The following alternate build command works better in cases where there are a lot of compiled interfaces for some reason
    ```bash
    cd ~/ros2_ws
    sudo apt install clang
    export CXX=clang++
    colcon build --symlink-install
    ```

  * Note: if using a conda environment, you might get an error like [this](https://github.com/colcon/colcon-ros/issues/118)

    running the following might help:
    ```bash
    conda install -c conda-forge catkin_pkg empy lark
    ```
  1. Install Python Packages for this Project

    Clone this directory, copy all the .lua files into the correct place (replace <path to coppelia> with the path to the Coppeliasim folder). This should be run from wherever you want the repo to be.

    bash pip3 install -e .

Examples

  • ### Coppelia installation test The obvious test to see if Coppeliasim is actually installed: bash coppeliaSim This will open the coppelia simulator. Use the -h argument to test headless mode.

Note: if you did not alias in installation step 1, you need to type in the path to the coppeliaSim.sh file * ### ZMQ test Tests if the python coppelia interface works

First open any coppelia scene with the coppelia command. Though not necessary, it might be useful to spawn some objects to see the physics work.

Then run the following file from the blimple_as_that directory bash python3 tests/testZeroMQRemoteAPI.py This will just play the scene, wait a bit, then pause.

  • ### ROS blimp control test (Pranav) Tests if coppelia ROS package is set up properly using Pranav's blimp

bash python3 src/blimp_agent.py This test will spawn a blimp, then move the blimp up, then after three seconds stop the scene.

  • ROS Keyboard blimp control test (Tristan)

    Runs a wall climbing simulation using Tristan's Blimp Model bash python3 runExperiment.py -a 10 -st n -mt 20 -et 300

  • ROS blimp control test (Cameron)

    Runs a wall climbing simulation using Cameron's Blimp Model bash python3 runExperiment.py -a 10 -st n -mt 20 -et 300

Owner

  • Login: pranavraj575
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Rajbhandari"
  given-names: "Pranav"
  orcid: "https://orcid.org/0009-0004-4933-5204"
title: "Swarm Coppeliasim"
version: 4.20.69
date-released: 2023-07-01
url: "https://github.com/pranavraj575/swarm_coppeliasim"

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • cbor *
  • matplotlib *
  • neat-python ==0.92
  • numpy *
  • psutil *
  • zmq *
setup.py pypi
  • cbor *
  • numpy *
  • psutil *
  • zmq *