# GSoC 2020: Project discussion

**URL:** <https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344>\
**Category:** Projects\
**Tags:** ignition, helloworld\
**Created:** [February 23, 2020, 6:57pm UTC](https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344 "2020-02-23T18:57:58Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jiban\_Panda](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jiban_panda/32/3583_2.png) [@Jiban\_Panda](https://discourse.openrobotics.org/u/Jiban_Panda)\
**Post date:** [February 23, 2020, 6:57pm UTC](https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344/1 "2020-02-23T18:57:58Z")

</div>

Dear Gazebo community,  
I am Jivan and I am a third year Computer Science undergrad at the CET Bhubaneswar in India. I am interested in contributing to Ignition through GSoC program 2020 and specially in the idea proposed as “Demos for Ignition knowledge base”.  
I am well acquainted with version control and linux and my primary programming knowledge is python but by choosing this project I can improve my C++ skills as well. I would like to get some feedback so that I can start working on this project. Currenlty, I am going through the documentation of Ignition. @chapulina can give me some feedback on this maybe.

---

<div class="post-metadata">

**Author:** ![chapulina\_gazebo](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chapulina_gazebo/32/1637_2.png) [@chapulina\_gazebo](https://discourse.openrobotics.org/u/chapulina_gazebo)\
**Post date:** [February 24, 2020, 5:52pm UTC](https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344/2 "2020-02-24T17:52:17Z")

</div>

Hi Jivan,

Thank you for the interest in the project!

I’d recommend you go through some [Ignition Gazebo](https://ignitionrobotics.org/api/gazebo/3.0/tutorials.html) tutorials to get familiar with the simulator. The goal of this project is to create several small demos showcasing other features, which may or may not be things like:

- Create a differential drive robot and teleoperate it with the keyboard
- Write your own plugin that spawns spheres into simulation
- Create a custom component and visualize it with a custom GUI plugin

The exact demos will be defined as the project is happening. The student will be responsible for writing the C++ plugin code, as well as necessary world and model files, and then creating documentation for it - all with the help of the mentors.

@marya, feel free to add anything.

Cheers

---

<div class="post-metadata">

**Author:** ![Jiban\_Panda](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jiban_panda/32/3583_2.png) [@Jiban\_Panda](https://discourse.openrobotics.org/u/Jiban_Panda)\
**Post date:** [March 12, 2020, 12:59pm UTC](https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344/3 "2020-03-12T12:59:11Z")

</div>

Hello @chapulina,

I had read the documentation of Ignition Gazebo. Can you tell me what should I do next?

Regards,  
Jiban

---

<div class="post-metadata">

**Author:** ![chapulina\_gazebo](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chapulina_gazebo/32/1637_2.png) [@chapulina\_gazebo](https://discourse.openrobotics.org/u/chapulina_gazebo)\
**Post date:** [March 16, 2020, 12:56am UTC](https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344/4 "2020-03-16T00:56:13Z")

</div>

That’s great to hear!

One thing you could try now would be writing a short tutorial about a topic of your choice to get a feeling of how that would work.

One idea would be to write a demo / tutorial similar to [this one](http://gazebosim.org/tutorials?tut=gui_overlay&cat=user_input#Example1:Spawnspheres). It’s about spawning spheres in simulation by pressing a custom GUI button.

Some helpful resources:

- [Example GUI plugin that creates a button](https://bitbucket.org/ignitionrobotics/ign-gui/src/ign-gui2/examples/plugin/hello_plugin/)
- [Example code calling the ~/create service](https://bitbucket.org/ignitionrobotics/ign-gazebo/src/dd4ff2a4c1112a8727c12a2e927e87ca64392611/test/integration/user_commands.cc#lines-169)

The tutorial would go [here](https://bitbucket.org/ignitionrobotics/ign-gazebo/src/default/tutorials/).

Cheers

---

<div class="post-metadata">

**Author:** ![Jiban\_Panda](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jiban_panda/32/3583_2.png) [@Jiban\_Panda](https://discourse.openrobotics.org/u/Jiban_Panda)\
**Post date:** [March 21, 2020, 5:12am UTC](https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344/5 "2020-03-21T05:12:25Z")

</div>

Hello @chapulina.

So, I have to write the tutorial using ignition gazebo that you’ve mentioned in the earlier message. I am working on it also, I am writing proposal for the same. If you can suggest some points then it will be great.

---

<div class="post-metadata">

**Author:** ![chapulina\_gazebo](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chapulina_gazebo/32/1637_2.png) [@chapulina\_gazebo](https://discourse.openrobotics.org/u/chapulina_gazebo)\
**Post date:** [March 23, 2020, 4:51pm UTC](https://discourse.openrobotics.org/t/gsoc-2020-project-discussion/48344/6 "2020-03-23T16:51:28Z")

</div>

> [@Jiban\_Panda](#):
>
> So, I have to write the tutorial

Sorry, that’s not what I meant. You’re not required to write a tutorial. Since you said you had already gone through the documentation, I recommended writing a tutorial in case you wanted to get a feeling about how the project would go. But that’s just a suggestion 😉

> [@Jiban\_Panda](#):
>
> If you can suggest some points then it will be great.

Writing a tutorial is just one suggestion. Other ways to start getting a feeling for the project:

- Try writing your own plugin, even if you don’t contribute it back, to see how comfortable you’re with Ignition and get some ideas.
- Open a pull request fixing some issue you can find on the current documentation. That’s a great way to see how comfortable you are with the tutorials infrastructure.
- Open a pull request fixing some small bug on any Ignition library. This way you get a feeling for how the code contribution process goes.

This project is about creating demos and documentation for a project lacking both, so expect it to be tough to get started. So you’re encouraged to poke around as much as you can, because that’s what you’d be doing during the internship.
