Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

README.md

Blame
  • Omnibot.jl

    Description

    A julia package for setting up client-side connection with Omnibots. Currently this is implemented via TCP-sockets. Note that for information on how to configure the server-side of this connection, you find information at https://gitlab.control.lth.se/processes/omnibot/omnibotserver.py.

    Installation

    using Pkg
    Pkg.add(url = "https://gitlab.control.lth.se/processes/omnibot/omnibot.jl")

    Usage

    Code

    Use connectomnibot to create a TCP-connection. Whenever your script is done or you catch an error, close the connection with close. You can achieve the same result using do x syntax.

    Example: Make the robot go in a circle and print all available coordinates

    using Omnibot
    
    host = ...
    port = ...
    bot = connectomnibot(host, port)
    
    for i = 1:100
        setspeeds(bot,[100,100,100])
        println("x:"*getx(bot))
        println("y:"*gety(bot))
        println("z:"*getz(bot))
        println("theta:"*gettheta(bot))
        sleep(0.1)
    end
    
    close(bot)

    Example: Read the maximum set-point for servo speed

    using Omnibot
    
    host = ...
    port = ...
    bot = connectomnibot(host, port)
    
    println(getmaxspeed(bot))
    
    close(bot)

    Example: do x syntax

    The following example does practically the same as the first example.

    using Omnibot
    
    host = ...
    port = ...
    connectomnibot(host, port) do bot
    
        for i = 1:100
            setspeeds(bot,[100,100,100])
            println("x:"*getx(bot))
            println("y:"*gety(bot))
            println("z:"*getz(bot))
            println("theta:"*gettheta(bot))
            sleep(0.1)
        end
    
    end

    Network

    At the department of automatic control, you should be connected to the omnibots via the same router. Currently this has been done with the router with name robotlab. IP and port conventions: Robot with name omniX has IP 192.168.0.10X and port 900X e.g.. omnibot omni10 has IP 192.168.0.110and port 9010.

    Support

    felix.agner@control.lth.se

    Contributing

    Contributions and extensions are welcome. If you make any changes in the communication between server-and-client-side, make sure these changes are also extended to the server side package and the python client package.

    License

    MIT-license

    Project status

    Sporadically updated.