INTERVAL representation for result sets.
| Methods |
| static Interval |
ofDays(long days)
Creates a new INTERVAL DAY.
|
| static Interval |
ofDays(long days)
Creates a new INTERVAL DAY.
Parameters:
days - days, |days|<1018
Returns:
INTERVAL DAY
|
| static Interval |
ofDaysHours(long days, int hours)
Creates a new INTERVAL DAY TO HOUR.
|
| static Interval |
ofDaysHours(long days, int hours)
Creates a new INTERVAL DAY TO HOUR.
If both arguments are not equal to zero they should have the same sign.
Parameters:
days - days, |days|<1018
hours - hours, |hours|<24
Returns:
INTERVAL DAY TO HOUR
|
| static Interval |
ofDaysHoursMinutes(long days, int hours, int minutes)
Creates a new INTERVAL DAY TO MINUTE.
|
| static Interval |
ofDaysHoursMinutes(long days, int hours, int minutes)
Creates a new INTERVAL DAY TO MINUTE.
Non-zero arguments should have the same sign.
Parameters:
days - days, |days|<1018
hours - hours, |hours|<24
minutes - minutes, |minutes|<60
Returns:
INTERVAL DAY TO MINUTE
|
| static Interval |
ofDaysHoursMinutesNanos(long days, int hours, int minutes, long nanos)
Creates a new INTERVAL DAY TO SECOND.
|
| static Interval |
ofDaysHoursMinutesNanos(long days, int hours, int minutes, long nanos)
Creates a new INTERVAL DAY TO SECOND.
Non-zero arguments should have the same sign.
Parameters:
days - days, |days|<1018
hours - hours, |hours|<24
minutes - minutes, |minutes|<60
nanos - nanoseconds, |nanos|<60,000,000,000
Returns:
INTERVAL DAY TO SECOND
|
| static Interval |
ofDaysHoursMinutesSeconds(long days, int hours, int minutes, int seconds)
Creates a new INTERVAL DAY TO SECOND.
|
| static Interval |
ofDaysHoursMinutesSeconds(long days, int hours, int minutes, int seconds)
Creates a new INTERVAL DAY TO SECOND.
Non-zero arguments should have the same sign.
Parameters:
days - days, |days|<1018
hours - hours, |hours|<24
minutes - minutes, |minutes|<60
seconds - seconds, |seconds|<60
Returns:
INTERVAL DAY TO SECOND
|
| static Interval |
ofHours(long hours)
Creates a new INTERVAL HOUR.
|
| static Interval |
ofHours(long hours)
Creates a new INTERVAL HOUR.
Parameters:
hours - hours, |hours|<1018
Returns:
INTERVAL HOUR
|
| static Interval |
ofHoursMinutes(long hours, int minutes)
Creates a new INTERVAL HOUR TO MINUTE.
|
| static Interval |
ofHoursMinutes(long hours, int minutes)
Creates a new INTERVAL HOUR TO MINUTE.
If both arguments are not equal to zero they should have the same sign.
Parameters:
hours - hours, |hours|<1018
minutes - minutes, |minutes|<60
Returns:
INTERVAL HOUR TO MINUTE
|
| static Interval |
ofHoursMinutesNanos(long hours, int minutes, long nanos)
Creates a new INTERVAL HOUR TO SECOND.
|
| static Interval |
ofHoursMinutesNanos(long hours, int minutes, long nanos)
Creates a new INTERVAL HOUR TO SECOND.
Non-zero arguments should have the same sign.
Parameters:
hours - hours, |hours|<1018
minutes - minutes, |minutes|<60
nanos - nanoseconds, |seconds|<60,000,000,000
Returns:
INTERVAL HOUR TO SECOND
|
| static Interval |
ofHoursMinutesSeconds(long hours, int minutes, int seconds)
Creates a new INTERVAL HOUR TO SECOND.
|
| static Interval |
ofHoursMinutesSeconds(long hours, int minutes, int seconds)
Creates a new INTERVAL HOUR TO SECOND.
Non-zero arguments should have the same sign.
Parameters:
hours - hours, |hours|<1018
minutes - minutes, |minutes|<60
seconds - seconds, |seconds|<60
Returns:
INTERVAL HOUR TO SECOND
|
| static Interval |
ofMinutes(long minutes)
Creates a new INTERVAL MINUTE.
|
| static Interval |
ofMinutes(long minutes)
Creates a new INTERVAL MINUTE.
Parameters:
minutes - minutes, |minutes|<1018
Returns:
interval
|
| static Interval |
ofMinutesNanos(long minutes, long nanos)
Creates a new INTERVAL MINUTE TO SECOND.
|
| static Interval |
ofMinutesNanos(long minutes, long nanos)
Creates a new INTERVAL MINUTE TO SECOND.
If both arguments are not equal to zero they should have the same sign.
Parameters:
minutes - minutes, |minutes|<1018
nanos - nanoseconds, |nanos|<60,000,000,000
Returns:
INTERVAL MINUTE TO SECOND
|
| static Interval |
ofMinutesSeconds(long minutes, int seconds)
Creates a new INTERVAL MINUTE TO SECOND.
|
| static Interval |
ofMinutesSeconds(long minutes, int seconds)
Creates a new INTERVAL MINUTE TO SECOND.
If both arguments are not equal to zero they should have the same sign.
Parameters:
minutes - minutes, |minutes|<1018
seconds - seconds, |seconds|<60
Returns:
INTERVAL MINUTE TO SECOND
|
| static Interval |
ofMonths(long months)
Creates a new INTERVAL MONTH.
|
| static Interval |
ofMonths(long months)
Creates a new INTERVAL MONTH.
Parameters:
months - months, |months|<1018
Returns:
INTERVAL MONTH
|
| static Interval |
ofNanos(long nanos)
Creates a new INTERVAL SECOND.
|
| static Interval |
ofNanos(long nanos)
Creates a new INTERVAL SECOND.
Parameters:
nanos - nanoseconds (including seconds)
Returns:
INTERVAL SECOND
|
| static Interval |
ofSeconds(long seconds)
Creates a new INTERVAL SECOND.
|
| static Interval |
ofSeconds(long seconds)
Creates a new INTERVAL SECOND.
Parameters:
seconds - seconds, |seconds|<1018
Returns:
INTERVAL SECOND
|
| static Interval |
ofSeconds(long seconds, int nanos)
Creates a new INTERVAL SECOND.
|
| static Interval |
ofSeconds(long seconds, int nanos)
Creates a new INTERVAL SECOND.
If both arguments are not equal to zero they should have the same sign.
Parameters:
seconds - seconds, |seconds|<1018
nanos - nanoseconds, |nanos|<1,000,000,000
Returns:
INTERVAL SECOND
|
| static Interval |
ofYears(long years)
Creates a new INTERVAL YEAR.
|
| static Interval |
ofYears(long years)
Creates a new INTERVAL YEAR.
Parameters:
years - years, |years|<1018
Returns:
INTERVAL YEAR
|
| static Interval |
ofYearsMonths(long years, int months)
Creates a new INTERVAL YEAR TO MONTH.
|
| static Interval |
ofYearsMonths(long years, int months)
Creates a new INTERVAL YEAR TO MONTH.
If both arguments are not equal to zero they should have the same sign.
Parameters:
years - years, |years|<1018
months - months, |months|<12
Returns:
INTERVAL YEAR TO MONTH
|
|
Interval(IntervalQualifier qualifier, boolean negative, long leading, long remaining)
Creates a new interval.
|
|
Interval(IntervalQualifier qualifier, boolean negative, long leading, long remaining)
Creates a new interval. Do not use this constructor, use static methods
instead.
Parameters:
qualifier - qualifier
negative - whether interval is negative
leading - value of leading field
remaining - combined value of all remaining fields
|
| boolean |
equals(Object obj)
|
| boolean |
equals(Object obj)
|
| long |
getDays()
Returns days value, if any.
|
| long |
getDays()
Returns days value, if any.
Returns:
days, or 0
|
| long |
getHours()
Returns hours value, if any.
|
| long |
getHours()
Returns hours value, if any.
Returns:
hours, or 0
|
| long |
getLeading()
Returns value of leading field of this interval.
|
| long |
getLeading()
Returns value of leading field of this interval. For {@code SECOND}
intervals returns integer part of seconds.
Returns:
value of leading field
|
| long |
getMinutes()
Returns minutes value, if any.
|
| long |
getMinutes()
Returns minutes value, if any.
Returns:
minutes, or 0
|
| long |
getMonths()
Returns months value, if any.
|
| long |
getMonths()
Returns months value, if any.
Returns:
months, or 0
|
| long |
getNanosOfSecond()
Returns value of fractional part of seconds (in nanoseconds), if any.
|
| long |
getNanosOfSecond()
Returns value of fractional part of seconds (in nanoseconds), if any.
Returns:
nanoseconds, or 0
|
| IntervalQualifier |
getQualifier()
Returns qualifier of this interval.
|
| IntervalQualifier |
getQualifier()
Returns qualifier of this interval.
Returns:
qualifier
|
| long |
getRemaining()
Returns combined value of remaining fields of this interval.
|
| long |
getRemaining()
Returns combined value of remaining fields of this interval. For
{@code SECOND} intervals returns nanoseconds.
Returns:
combined value of remaining fields
|
| long |
getSeconds()
Returns value of integer part of seconds, if any.
|
| long |
getSeconds()
Returns value of integer part of seconds, if any.
Returns:
seconds, or 0
|
| long |
getSecondsAndNanos()
Returns seconds value measured in nanoseconds, if any.
|
| long |
getSecondsAndNanos()
Returns seconds value measured in nanoseconds, if any.
This method returns a long value that cannot fit all possible values of
INTERVAL SECOND. For a very large intervals of this type use
{@link #getSeconds()} and {@link #getNanosOfSecond()} instead. This
method can be safely used for intervals of other day-time types.
Returns:
nanoseconds (including seconds), or 0
|
| long |
getYears()
Returns years value, if any.
|
| long |
getYears()
Returns years value, if any.
Returns:
years, or 0
|
| int |
hashCode()
|
| int |
hashCode()
|
| boolean |
isNegative()
Returns where the interval is negative.
|
| boolean |
isNegative()
Returns where the interval is negative.
Returns:
where the interval is negative
|
| String |
toString()
|
| String |
toString()
|


Installing Libra
There are several ways to begin working with the API. Below, a step-by-step guide to different options are highlighted. If you're already familiar with python and PyPi, feel free to skip ahead and just do
pip install libra
Setting up your local enviroment
- Install Python 3.6+ directly onto your local machine. Anything lower then 3.6 WILL not work.
- For Libra, and other libraries, pip is the best option for installing libraries. Install the most recent version.
- If you're looking for an IDE we reccomend installing PyCharm
- You should now be able to do pip install libra in your terminal. If you want to setup a local enviroment, follow this guide and then run the command.
Now you're ready to code! Open up a notebook/terminal import libra and start working!
Work in an online preconfigured enviroment
We recommend using Google Collaboratory, as it supports intensive processing and configures an enviroment for you.
- Make sure you have a google account and open up a notebook in collab.
- Use !pip install libra to get all the package information You're ready to go! Note that here you'll have to upload your files for storage manually.
Understanding the API's structure
There's two structural principles that a user should understand about libra
- Everything is built around the client object. You can call different queries on it and everything will be stored under the models field of the object.
- You can access all the information as a dictionary. Doing client_object.models['svm'] gets you all the information generated for the svm query.
- Your latest model called will automatically be the default. If you call client_object.plots() and don't specify a model, the model for the most recent query that you've called WILL be used. Currently only one model of each type is supported by libra. Direct any other questions to the Github or<EMAIL_ADDRESS>Learning Resources
With a strong core team and mentorship opportunities, Libra offers many sockets to find success.
Join our slack group, where the founding developers are constantly asking questions about the library.
If you're an organization, fill out our form today and we'll hold either live or online instruction on how to use our tools.
Tutorial Notebook on Collaboratory
An example notebook for you to understand the process of working with libra
Join our Slack Channel
Ask your questions to core developers and get access to more information.
Get Started with a Step-by-Step Guide
Learn how to use libra with a descriptive guide for beginners.
Get in touch with us!
- Shoot us an email at<EMAIL_ADDRESS>- Join our slack group and ask questions in the #general channel
- Connect with the founder, Palash Shah, on linkedin and send him a DM!


This course covers state-of-the-art practices for doing million-CPU-hour computational experiments on the cloud in a pain-free and reproducible manner. In addition to giving students a hands-on experience with cluster computing, the course features few guest lectures by renowned scientists in the field of Data Science.


This document was written by using TeXmacs[25], a structured wysiwyw (what you see is what you want) editor for scientists. The HTML version of this document is generated by ﬁrst converting the TeXmacs ﬁle to TeX format and then using htlatex to convert the TeX ﬁle to HTML format.


“Upāsitā sappurisā,
sutā dhammā abhiṇhaso;
Sutvāna paṭipajjissaṁ,
añjasaṁ amatogadhaṁ.
I regularly sat close by good people
and learnt the teaching.
What I learned, I practiced,
the direct route that culminates in the deathless.
Bhavarāgahatassa me sato,
Bhavarāgo puna me na vijjati;
Na cāhu na ca me bhavissati,
Na ca me etarahi vijjatī”ti.
…
Kaṇhadinno thero ….
vaggo tatiyo.
Tassuddānaṁ
I’ve slain the desire to be reborn,
it won’t be found in me again.
It was not, and it won’t be in me,
and it isn’t found in me now.
Uttaro bhaddajitthero,
sobhito valliyo isi;
Vītasoko ca yo thero,
puṇṇamāso ca nandako;
Bharato bhāradvājo ca,
kaṇhadinno mahāmunīti.


|
My Project
|
AStar class Class for the implementation of A* algorithm. More...
#include <AStar.hpp>
Public Member Functions | |
| AStar () | |
| Default constructor of AStar class. More... | |
| AStar (double rpm1Val, double rpm2Val, double dtVal) | |
| Constructor of AStar class. More... | |
| ~AStar () | |
| Destructor of AStar class. More... | |
| std::vector< std::vector< std::vector< double > > > | backTrack (std::vector< std::vector< std::vector< double >>> backList) |
| backtrack - Function which implements the backtracking More... | |
| std::vector< std::vector< double > > | motionModel () |
| motionModel - Function which describes the motion of robot More... | |
| std::vector< std::vector< std::vector< double > > > | aStar (std::vector< double > startPoint, std::vector< double > goalPoint) |
| motionModel - Function which implements the A* algorithm More... | |
| void | rosTurtle (std::vector< std::vector< std::vector< double >>> rosInputs) |
| motionModel - Function for publlishing to ROS topic More... | |
AStar class Class for the implementation of A* algorithm.
| AStar::AStar | ( | ) |
Default constructor of AStar class.
| none |
| AStar::AStar | ( | double | rpm1Val, |
| double | rpm2Val, | ||
| double | dtVal | ||
| ) |
Constructor of AStar class.
| rpm1Val | of type double |
| rpm2Val | of type double |
| dtVal | of type double |
Setting the values of member variables
| AStar::~AStar | ( | ) |
| nestVector AStar::aStar | ( | std::vector< double > | startPoint, |
| std::vector< double > | goalPoint | ||
| ) |
motionModel - Function which implements the A* algorithm
| startPoint | - coordinates of startPoint |
| goalPoint | - coordinates of goalPoint |
defining struct to implement the priority queue
declaring the variables for storing unvisited and visited nodes
defining the startNode
defining the endNode
setting the radius of robot
Creating costMap for node exploration
storing the node with least cost in currentNode
removing the node from unvisited
adding the node in visited
defining the threshold for reaching destination
Checking whether the destination is reached
calling the motionModel() function
Exploring all the neighbor nodes
setting the member variables of nodes through setters
setting the member variables of nodes through setters
setting the member variables of nodes through setters
setting the member variables of nodes through setters
setting the member variables of nodes through setters
setting the member variables of nodes through setters
checking if the explored node is within boundaries
checking if the explored node is not hitting the obstacle
updating the costMap
Adding the explored node to unvisited
| nestVector AStar::backTrack | ( | std::vector< std::vector< std::vector< double >>> | backList | ) |
backtrack - Function which implements the backtracking
| backList | - contains currentNode, parentNode, velocity and angle for nodes |
storing the currentPos of node
appending velocity and angle
getting the parent from backList
checking if parent found
appending velocity and angle in rosInputs
reversing the data stored in path and rosInputs
| std::vector< std::vector< double > > AStar::motionModel | ( | ) |
motionModel - Function which describes the motion of robot
| none |
defining the distance between wheels of Turtlebot3
defining the radius of wheels of Turtlebot3
8 possible action states for a node based on rpm's
defining ur, ul and thetadot based on differential drive model
calculating change in angle
setting the dx for node
setting the dy for node
setting the cost
setting velocity magnitude
| void AStar::rosTurtle | ( | std::vector< std::vector< std::vector< double >>> | rosInputs | ) |
motionModel - Function for publlishing to ROS topic
| rosInputs | - variable having velocities and angles from backTrack function |
This function creates a ROS node, which publishes the velocities and angles to the cmd_vel topic, which Turtlebot uses to navigate on the path returned by A* algorithm
Defining the publisher for cmd_vel topic
Declaring the object of geometry_msgs::Twist
setting the publishing rate to 10HZ
stop the robot if goal is reached
Setting the linear and angular velocities
Publishing the msg on topic


A Design System is the single source of truth which groups all the elements that will allow the teams to design, realize and develop a product.
There are a number of different areas needing needing designed and documented within any digital product. These include;
This must be at an abstract level;
Ideally this will be tethered to the main code base so the style in the documentation updates in real time with the development and cannot branch away from it through time
Again tethered to the main code base and able to act as a Sandbox for crafting Modular & Maintainable Components that will work in multiple instance in the system. Storybook can do this with a change of focus from managing Vue (Code) Components to documenting of UI Components (Code and Design)
The "things" being documented are very different in their nature and hence benefit from being documented in differing ways
Without a coherent strategy for where each piece of documentation 'lives', it quickly becomes un-manageable - patchy, featuring duplication & requiring too much effort for proper engagement from other stakeholders
Not if we are Post design, but we're not.
But is potentially re-inventing the wheel, if its not obvious the wheel already exists. IE - there is no documented solution in at least a Styleguide or a Component in the Figma library.
But because there was no clear solution (wheel), develops their own in a Vue Component;
Introducing potential issues;
Because the style in a Vue Component, it can't be re-used without creating a copy (another source of truth).
And be can't documented as there is no way of tying the CSS to Docs
"The road to hell is paved with good intentions"
Because we can address many of the previous issues in 1 go, including;