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

omnibot.jl

  • Clone with SSH
  • Clone with HTTPS
  • Name Last commit Last update
    src
    test
    LICENSE
    Manifest.toml
    Project.toml
    README.md

    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("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.

    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)

    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 9006.

    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.