Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
<p>C++ as a programming language comes in handy in case of performance oriented applications for example: a simulator. But when it comes to rapidly prototyping of applications and ease of use of APIs, it lags behind other languages like python which is one of the most widely used languages just because of this reason and also due to the plethora of libraries that it provides. So, binding the C++ APIs and exposing them to the python interface can be helpful in extending the use of innermodel lib to beginner developers with minimal knowledge of programming. By exposing C++ APIs to python we are achieving two things at the same time: getting the performance from C++ and ease of use through python, which can also increase contributions from the dev community and later help in the development of innermodel lib or robocomp in general.</p>
Reinforcement learning is an established discipline for the automatic acquisition of control programs from a reward signal. Some early limitations arising from the necessary limited dimension of sensor spaces have been overcome with the integration of DNN as efficient reducers of large input data. In this project we want to apply RL as an online method to improve an existing grasping algorithm. Using a Kinova Gen3 arm simulated in CoppeliaSIm, that already performs a pick and place operation using a gripper with multiple force and distance sensors, the goal is to improve the current grasping performance by running RL algorithms that learn from the existing algorithm and, eventually, replace it to continue is adaptation to the specificities of the environment. If the experiments proceeds as expected, a second stage will try to transfer the learned controller to the grasping of a new target object in the scene, for example, from a block to a cup. All the experiments will be performed with RoboComp’s robotics cognitive architecture CORTEX, and the tools and existing agents already developed and tested.
<p>The detection of risk situations during the navigation of mobile robots is an essential task for future applications. The goal is to create a software agent in Robocomp with the aim of improving vehicle driving, using deep learning and computer vision techniques.</p> <p>The main idea is to use one or several RGB cameras placed in a vehicle for lane detection, pedestrian detection, vehicle detection, sign detection and more elements that affect driving. To perform this task, it is possible to work either with real datasets of cameras placed in vehicles or to use the Carla vehicle driving simulator.</p>
<p>RoboComp’s existing simulator, RCIS, is based on OpenSceneGraph technology and custom made actuators and sensor. This project is to build prototypes of robotics simulation using V-REP and use its APIs to connect them to RoboComp ecosystem. Specifically, the project consists of implementing RoboComp omnirobot, joint motor, laser, RGBD interfaces and create a model of other RoboComp’s robots in V-REP.</p>
<p>Aim of this project is to introduce machine learning methods to learn about the surroundings for a robot’s navigation, we want to develop an agent which will learn all the corner cases and conditions which it needs, to properly navigate, without stating some predefined rules. The whole process of learning will be carried out by using the data it will get fed in such surroundings during real life scenarios. This project will be an expansion of the previous work “Learning socially acceptable behavior using machine learning techniques on graph data” (<a href="https://github.com/robocomp/sngnn" target="_blank">https://github.com/robocomp/sngnn</a>) in that project algorithms were developed to produce a single score for the robot to navigate, but it required high number of queries to work. This time we are aiming for generating these scores as a heatmap(such as the heat maps shown in <a href="https://ljmanso.com/sngnn" target="_blank">https://ljmanso.com/sngnn</a>) which can produce all the scores at once, this will be more efficient and faster than the previous work done. To solve this issue of generating all the scores at once we will try to generate a bitmap image using CNNs. As we are dealing with graphs of scenarios here we will be using GNNs.</p>
<p>My proposal consists on transform the fixed personal space used actually in Robocomp into an adaptive space, depending of the spatial context (there is difference, for instance, between a narrow corridor and a room). The main idea is to change the values that defines the personal space function in order to adapt the personal space to allow the robot to navigate around the person without problems, adapting it to the spatial context. Besides, I would like to extend the social navigation agent, including other typical social behaviors: crossing people in corridors, approaching to humans in human-robot interaction, etc. In this respect, it would be interesting to study how these algorithms are also integrated into the planner and mission agents, and how define the priority between these missions by defining a social behavior planner.</p>
I am proposing the use of Convex Inner Approximations to plan the trajectories. The Convex Inner Approximation method finds kinodynamically feasible trajectories that guarantees collision avoidance. It also finds the trajectories in fewer iterations and as a result is much faster than traditional obstacle avoidance constraints.
<p>The field of Model Predictive Control (MPC) has seen tremendous progress. The algorithms and high-level software available to solve challenging nonlinear optimal control problems are significantly used in mobile robots to optimize in real-time their path following and navigation. In order to solve Non-Linear Programming Problems (NLP) – which is considered the general form –, we will use CasADi, an open-source tool to solve non-linear optimization problems. Also, the robot should be able to avoid obstacles in real-time by taking into consideration some constraints and penalizing the control values. In practice, previous maps and laser values are combined to create a list of convexified obstacle-free regions. To comply with the real-time requirements of a physical robot, the algorithm will be able to adapt – also in real-time –to the current situation by trading off between execution time and the number of constraints.</p>
<p>Simulation plays an important role in robotics. Through simulation we can save valuable time and resources to test our algorithms. Often robotics require expensive sensors and hardware which is not accessible to everyone.</p> <p>Currently RoboComp uses RoboComp Innermodel Simulator (RCIS), an inbuilt simulator, to check its applications and algorithms. It provides a lot of basic tools and features to easily test and verify an application developed by a developer. But it has some shortcomings.</p> <p>To my understanding, the aim of this project is to provide a platform for the developers to quickly check the changes and validity of the application developed by them. To integrate the RoboComp framework and Gazebo simulator in such a way that it inherits the structure of RoboComp interface, uses the features provided by Gazebo to its fullest and is able to fulfill the needs of developer in the most efficient way.</p>
<p>Building an interactive robotic simulator in order to simulate the complex real world. As real worlds are dynamic in nature we need a simulator where these type of environment can be provided to the robot.</p>
<p>Depth Estimation is one of the attractive research areas in computer vision. The motivation of this project is to estimate depth without the use of LIDAR sensors or other related costly setups. And it also makes the robot more robust and efficient to carry out any task.</p>
<p>The navigation of a robot in an environment with humans is a subject with enormous interest in the last years. To be accepted in these types of scenarios, it is important that the robot navigate respecting social norms, for example, avoiding getting too close to humans, avoiding interrupting a conversation or asking permission to pass through a blocked path. This project aims to describe the dialogue manager, besides the corpus that allows establishing dialogues between the robot and the humans in real situations to improve the behavior of the robot navigation system, making it more socially accepted. The dialogue manager will be a RoboComp agent, which reads information from the robot’s world representation (a graph) and adapts the conversation to the current situation (e.g, according to the age of people, genre, etc).</p>
<p>This is a proposal for no. 15 project idea - "Webots integration with RoboComp". As the title indicates, the project aims at integrating RoboComp with Webots and making it possible to open simulations created in RoboComp on Webots simulator. To achieve it we need to get very good understanding of the .proto and .wbt extensions made in Webots and somehow reconstruct the logic from RoboComp to make it understandable for Webots. We can do that using Python classes and objects to interact between the files and programs.</p>
<p>The existing RCIS simulator is not very efficient when our robot get more complex so we need more advanced functions in RCIS. This project is to improve the current RCIS with new functions dealing with contact physics. Currently RCIS has only collision detection feature. We have to add more functionalities like what happen after collision with the help of collision angle, gravity and contact physics.</p>
This project focuses on improving the overall user experience and feature completeness in Zulip’s settings panel, search filters, and UI components. By addressing a curated set of issues that have been prioritized by the community and where I already have hands-on experience, I aim to deliver impactful and user-focused enhancements. Key areas include redesigning and refactoring parts of the settings interface (such as the creation of an Imported Users settings panel, phone number custom profile fields, and making self-role management possible for admins), improving search and filtering capabilities (by adding filters like resolved/unresolved in Inbox and stream filters in Recent Topics), and making Zulip more customizable (e.g., default link preview visibility, hiding spammer emails from non-admins, and flexible name change permissions). Additionally, the project involves UI/UX improvements like migrating all buttons to the modern action-button framework and extending the messages_overlay system for advanced message movement interactions.
<h3>Enhancement to P2PSP simulator</h3> <h5>Abstract</h5> <ul> <li><strong>Translating Unix socket to internet socket</strong> would make the testing a lot more easier. As P2PSP core implementation is in C++ which is quite fast, but making any changes can be quite challenging. Making a simulator would help us to visualize any changes made in algorithms and protocols. If we can replace Unix sockets with internet socket, then it will become quite easier to make changes in actual production code.</li> <li><strong>Use of pyqtgraph library as an alternative to matplotlib</strong>. Use of matplotlib for real-time plotting is such a mess. PyQtGraph could be a very good alternative for all the plotting purposes. As main motive of pyqtgraph library is to enhancing the speed for real-time plotting.</li> </ul> <p>This project would be a milestone for other production projects. As it would make visualisation of ideas a lot easier.</p>
For my GSoC project I wish to move onto implementing bigger full stack features, while continuing to investigate and fix bugs in the areas I’m familiar with, that is the compose box and the typeahead system. The issues I specifically aim to solve this summer are: - Paste URL to create a named link - Show profile pictures in search auto-complete suggestions - Use additional characters as separators for stream filtering - @mention lists should be scrollable - Add support for unmuting certain topics within a muted stream - Subscribing to topics within a stream for push notifications - Make it easier to insert numbered and bulleted lists - Create a UI for inserting polls
<p>This project aims at making Zulip better by working on features which users in large, high-traffic organizations will find valuable. This mainly involves fixing bugs and implementing and/or completing new features in <a href="https://github.com/zulip/zulip" target="_blank">zulip server project</a> in the <a href="https://github.com/zulip/zulip/issues?q=is%3Aissue+is%3Aopen+label%3A%22area%3A+notifications+%28messages%29%22" target="_blank">notifications</a> and <a href="https://github.com/zulip/zulip/issues?q=is%3Aopen+is%3Aissue+label%3A%22area%3A+stream+settings%22" target="_blank">stream-settings</a> area.</p>
Moving towards enforcing stricter types for the django backend endpoints by using @typed_endpoint decorator instead of the current @has_request_variables. Transitioning to pydantic's data validation provides much more flexibility with the availability of base models as well as different validators. Defining more coherent data classes and base models for complex parameters like 'narrow' will help improve the overall usage experience of these parameters in the entire codebase. Proposed Solution I would start by prioritizing the data driven endpoints, especially those involving authentication and user profile creation and updation as these endpoints deal with a lot of sensitive data and will benefit the most from data validation. My next focus would be the message endpoints because these endpoints deal with large amounts of traffic and need to have robust types in order to avoid any issues with sending/updating messages, their flags and reactions, etc. Switching the streams and dms over to @typed_endpoint will help better manage the streams and make them ready to easily implement the changes proposed in migrating Zulip’s direct message recipient data structures along with any other future plans for these sections. While migrating these endpoints, I will simultaneously add more robust test cases to test all the different data validators.
The main goal of this project is to improve the user experience of Zulip Terminal by porting features from Zulip web which are not already implemented in ZT. The features to be implemented include supporting unsubscribed streams, direct message side panel and custom profile fields, while also improving unread cycle algorithms and topic matching.
This project proposal aims towards implementing a cluster of diverse high priority features in the 'Zulip server and web application' project. The issues I specifically aim to solve this summer are: ➔ Providing a way to temporarily suppress notifications for all streams. ➔ Timed Mutes ➔ Managing resolve topics independently ➔ Cluster of features around message flagging and reporting of users ➔ Provide a way to convert direct message threads to topics
For GSoC with Zulip, I aim to address completion candidate PRs, enhancing features and user experience. With a background in web development, I'll dedicate 25-35 hours per week over 12 weeks to tasks such as notifying users about unread messages, editing stream details, filtering users, customizing notifications, managing message moves, displaying profile images, adding anonymous polls, and allowing link preview removal. I'll leverage my skills and community support to deliver impactful contributions while prioritizing code quality and collaboration.
<p>This project involved improving the mobile app. Primarily, the work was on developing high-priority features for the app. Apart from this, the project also focused on fixing bugs, migrating to new APIs, and improving unit test coverage and documentation, while at the same time ensuring compatibility with older versions of the Zulip server. The overall aim was to provide an experience similar to the web app, both in terms of features and stability.</p> <p>Areas I worked on included:</p> <ul> <li>Adding support for rendering new markdown elements.</li> <li>Developing the 'share from other apps feature' - this also involved working on Kotlin to develop Android-native features and interacting with the React Native bridge.</li> <li>Improving the architecture of some regions of the app, such as the edit message state.</li> <li>Fixing several high-priority bugs and making UI improvements.</li> </ul>
<p>A major component of the Fedora Server is the Cockpit Project, a web-based management console for servers. Systemd provides timer support for system services. I would like to implement a module in Cockpit that manages scheduled tasks using systemd timers. This project is also mentioned in the TODO-list of the Cockpit feature roadmap page.</p>